jekyll-chalk 0.1.0 → 0.1.1
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.
- checksums.yaml +4 -4
- data/LICENSE.txt +21 -0
- data/README.md +89 -0
- data/_includes/footer.html +7 -0
- data/_includes/head.html +33 -0
- data/_includes/image.html +3 -0
- data/_includes/javascripts.html +21 -0
- data/_includes/navigation.html +75 -0
- data/_layouts/articles_by_tag.html +38 -0
- data/_layouts/default.html +16 -0
- data/_layouts/page.html +5 -0
- data/_layouts/post.html +71 -0
- data/assets/bower/fluidbox/.bower.json +44 -0
- data/assets/bower/fluidbox/Gruntfile.js +8 -0
- data/assets/bower/fluidbox/LICENSE.md +23 -0
- data/assets/bower/fluidbox/README.md +396 -0
- data/assets/bower/fluidbox/bower.json +35 -0
- data/assets/bower/fluidbox/demo/css/styles.min.css +2 -0
- data/assets/bower/fluidbox/demo/css/styles.min.css.map +1 -0
- data/assets/bower/fluidbox/demo/fonts/BLOKKRegular.eot +0 -0
- data/assets/bower/fluidbox/demo/fonts/BLOKKRegular.svg +233 -0
- data/assets/bower/fluidbox/demo/fonts/BLOKKRegular.ttf +0 -0
- data/assets/bower/fluidbox/demo/fonts/BLOKKRegular.woff +0 -0
- data/assets/bower/fluidbox/demo/fonts/fontello.eot +0 -0
- data/assets/bower/fluidbox/demo/fonts/fontello.svg +13 -0
- data/assets/bower/fluidbox/demo/fonts/fontello.ttf +0 -0
- data/assets/bower/fluidbox/demo/fonts/fontello.woff +0 -0
- data/assets/bower/fluidbox/demo/index.html +758 -0
- data/assets/bower/fluidbox/demo/src/css/styles.scss +1131 -0
- data/assets/bower/fluidbox/dist/css/fluidbox.min.css +2 -0
- data/assets/bower/fluidbox/dist/css/fluidbox.min.css.map +1 -0
- data/assets/bower/fluidbox/dist/js/jquery.fluidbox.min.js +1 -0
- data/assets/bower/fluidbox/grunt/aliases.yaml +20 -0
- data/assets/bower/fluidbox/grunt/clean.js +5 -0
- data/assets/bower/fluidbox/grunt/concurrent.js +33 -0
- data/assets/bower/fluidbox/grunt/jshint.js +10 -0
- data/assets/bower/fluidbox/grunt/postcss.js +47 -0
- data/assets/bower/fluidbox/grunt/sass.js +42 -0
- data/assets/bower/fluidbox/grunt/uglify.js +7 -0
- data/assets/bower/fluidbox/grunt/watch.js +28 -0
- data/assets/bower/fluidbox/index.html +8 -0
- data/assets/bower/fluidbox/license.txt +21 -0
- data/assets/bower/fluidbox/src/css/_fluidbox.scss +95 -0
- data/assets/bower/fluidbox/src/css/fluidbox.scss +2 -0
- data/assets/bower/fluidbox/src/js/jquery.fluidbox.js +722 -0
- data/assets/bower/jquery/.bower.json +25 -0
- data/assets/bower/jquery/AUTHORS.txt +295 -0
- data/assets/bower/jquery/LICENSE.txt +36 -0
- data/assets/bower/jquery/README.md +65 -0
- data/assets/bower/jquery/bower.json +14 -0
- data/assets/bower/jquery/dist/core.js +482 -0
- data/assets/bower/jquery/dist/jquery.js +10220 -0
- data/assets/bower/jquery/dist/jquery.min.js +4 -0
- data/assets/bower/jquery/dist/jquery.min.map +1 -0
- data/assets/bower/jquery/dist/jquery.slim.js +8107 -0
- data/assets/bower/jquery/dist/jquery.slim.min.js +4 -0
- data/assets/bower/jquery/dist/jquery.slim.min.map +1 -0
- data/assets/bower/jquery/external/sizzle/LICENSE.txt +36 -0
- data/assets/bower/jquery/external/sizzle/dist/sizzle.js +2272 -0
- data/assets/bower/jquery/external/sizzle/dist/sizzle.min.js +3 -0
- data/assets/bower/jquery/external/sizzle/dist/sizzle.min.map +1 -0
- data/assets/bower/jquery/src/.eslintrc.json +18 -0
- data/assets/bower/jquery/src/ajax.js +855 -0
- data/assets/bower/jquery/src/ajax/jsonp.js +102 -0
- data/assets/bower/jquery/src/ajax/load.js +76 -0
- data/assets/bower/jquery/src/ajax/parseXML.js +30 -0
- data/assets/bower/jquery/src/ajax/script.js +77 -0
- data/assets/bower/jquery/src/ajax/var/location.js +5 -0
- data/assets/bower/jquery/src/ajax/var/nonce.js +7 -0
- data/assets/bower/jquery/src/ajax/var/rquery.js +5 -0
- data/assets/bower/jquery/src/ajax/xhr.js +169 -0
- data/assets/bower/jquery/src/attributes.js +13 -0
- data/assets/bower/jquery/src/attributes/attr.js +140 -0
- data/assets/bower/jquery/src/attributes/classes.js +174 -0
- data/assets/bower/jquery/src/attributes/prop.js +143 -0
- data/assets/bower/jquery/src/attributes/support.js +33 -0
- data/assets/bower/jquery/src/attributes/val.js +188 -0
- data/assets/bower/jquery/src/callbacks.js +234 -0
- data/assets/bower/jquery/src/core.js +482 -0
- data/assets/bower/jquery/src/core/DOMEval.js +16 -0
- data/assets/bower/jquery/src/core/access.js +70 -0
- data/assets/bower/jquery/src/core/init.js +127 -0
- data/assets/bower/jquery/src/core/parseHTML.js +65 -0
- data/assets/bower/jquery/src/core/ready-no-deferred.js +105 -0
- data/assets/bower/jquery/src/core/ready.js +95 -0
- data/assets/bower/jquery/src/core/readyException.js +13 -0
- data/assets/bower/jquery/src/core/stripAndCollapse.js +14 -0
- data/assets/bower/jquery/src/core/support.js +20 -0
- data/assets/bower/jquery/src/core/var/rsingleTag.js +6 -0
- data/assets/bower/jquery/src/css.js +426 -0
- data/assets/bower/jquery/src/css/addGetHookIf.js +26 -0
- data/assets/bower/jquery/src/css/adjustCSS.js +71 -0
- data/assets/bower/jquery/src/css/curCSS.js +59 -0
- data/assets/bower/jquery/src/css/hiddenVisibleSelectors.js +15 -0
- data/assets/bower/jquery/src/css/showHide.js +105 -0
- data/assets/bower/jquery/src/css/support.js +89 -0
- data/assets/bower/jquery/src/css/var/cssExpand.js +5 -0
- data/assets/bower/jquery/src/css/var/getStyles.js +17 -0
- data/assets/bower/jquery/src/css/var/isHiddenWithinTree.js +34 -0
- data/assets/bower/jquery/src/css/var/rmargin.js +5 -0
- data/assets/bower/jquery/src/css/var/rnumnonpx.js +7 -0
- data/assets/bower/jquery/src/css/var/swap.js +26 -0
- data/assets/bower/jquery/src/data.js +179 -0
- data/assets/bower/jquery/src/data/Data.js +161 -0
- data/assets/bower/jquery/src/data/var/acceptData.js +19 -0
- data/assets/bower/jquery/src/data/var/dataPriv.js +7 -0
- data/assets/bower/jquery/src/data/var/dataUser.js +7 -0
- data/assets/bower/jquery/src/deferred.js +389 -0
- data/assets/bower/jquery/src/deferred/exceptionHook.js +21 -0
- data/assets/bower/jquery/src/deprecated.js +30 -0
- data/assets/bower/jquery/src/dimensions.js +56 -0
- data/assets/bower/jquery/src/effects.js +693 -0
- data/assets/bower/jquery/src/effects/Tween.js +123 -0
- data/assets/bower/jquery/src/effects/animatedSelector.js +15 -0
- data/assets/bower/jquery/src/event.js +745 -0
- data/assets/bower/jquery/src/event/ajax.js +22 -0
- data/assets/bower/jquery/src/event/alias.js +29 -0
- data/assets/bower/jquery/src/event/focusin.js +55 -0
- data/assets/bower/jquery/src/event/support.js +11 -0
- data/assets/bower/jquery/src/event/trigger.js +185 -0
- data/assets/bower/jquery/src/exports/amd.js +26 -0
- data/assets/bower/jquery/src/exports/global.js +34 -0
- data/assets/bower/jquery/src/jquery.js +41 -0
- data/assets/bower/jquery/src/manipulation.js +486 -0
- data/assets/bower/jquery/src/manipulation/_evalUrl.js +23 -0
- data/assets/bower/jquery/src/manipulation/buildFragment.js +104 -0
- data/assets/bower/jquery/src/manipulation/getAll.js +31 -0
- data/assets/bower/jquery/src/manipulation/setGlobalEval.js +22 -0
- data/assets/bower/jquery/src/manipulation/support.js +35 -0
- data/assets/bower/jquery/src/manipulation/var/rcheckableType.js +5 -0
- data/assets/bower/jquery/src/manipulation/var/rscriptType.js +5 -0
- data/assets/bower/jquery/src/manipulation/var/rtagName.js +5 -0
- data/assets/bower/jquery/src/manipulation/wrapMap.js +29 -0
- data/assets/bower/jquery/src/offset.js +232 -0
- data/assets/bower/jquery/src/queue.js +145 -0
- data/assets/bower/jquery/src/queue/delay.js +24 -0
- data/assets/bower/jquery/src/selector-native.js +237 -0
- data/assets/bower/jquery/src/selector-sizzle.js +19 -0
- data/assets/bower/jquery/src/selector.js +3 -0
- data/assets/bower/jquery/src/serialize.js +130 -0
- data/assets/bower/jquery/src/traversing.js +178 -0
- data/assets/bower/jquery/src/traversing/findFilter.js +106 -0
- data/assets/bower/jquery/src/traversing/var/dir.js +22 -0
- data/assets/bower/jquery/src/traversing/var/rneedsContext.js +8 -0
- data/assets/bower/jquery/src/traversing/var/siblings.js +17 -0
- data/assets/bower/jquery/src/var/ObjectFunctionString.js +7 -0
- data/assets/bower/jquery/src/var/arr.js +5 -0
- data/assets/bower/jquery/src/var/class2type.js +6 -0
- data/assets/bower/jquery/src/var/concat.js +7 -0
- data/assets/bower/jquery/src/var/document.js +5 -0
- data/assets/bower/jquery/src/var/documentElement.js +7 -0
- data/assets/bower/jquery/src/var/fnToString.js +7 -0
- data/assets/bower/jquery/src/var/getProto.js +5 -0
- data/assets/bower/jquery/src/var/hasOwn.js +7 -0
- data/assets/bower/jquery/src/var/indexOf.js +7 -0
- data/assets/bower/jquery/src/var/pnum.js +5 -0
- data/assets/bower/jquery/src/var/push.js +7 -0
- data/assets/bower/jquery/src/var/rcssNum.js +9 -0
- data/assets/bower/jquery/src/var/rnothtmlwhite.js +8 -0
- data/assets/bower/jquery/src/var/slice.js +7 -0
- data/assets/bower/jquery/src/var/support.js +6 -0
- data/assets/bower/jquery/src/var/toString.js +7 -0
- data/assets/bower/jquery/src/wrap.js +77 -0
- data/assets/bower/scrollreveal/.bower.json +36 -0
- data/assets/bower/scrollreveal/CHANGELOG.md +268 -0
- data/assets/bower/scrollreveal/LICENSE.md +12 -0
- data/assets/bower/scrollreveal/README.md +413 -0
- data/assets/bower/scrollreveal/bower.json +24 -0
- data/assets/bower/scrollreveal/dist/scrollreveal.js +860 -0
- data/assets/bower/scrollreveal/dist/scrollreveal.min.js +1 -0
- data/assets/bower/turbolinks5/.blade.yml +15 -0
- data/assets/bower/turbolinks5/.bower.json +14 -0
- data/assets/bower/turbolinks5/.gitignore +2 -0
- data/assets/bower/turbolinks5/CONDUCT.md +79 -0
- data/assets/bower/turbolinks5/Gemfile +9 -0
- data/assets/bower/turbolinks5/LICENSE +20 -0
- data/assets/bower/turbolinks5/README.md +435 -0
- data/assets/bower/turbolinks5/bin/blade +16 -0
- data/assets/bower/turbolinks5/bin/rackup +16 -0
- data/assets/bower/turbolinks5/config.ru +8 -0
- data/assets/bower/turbolinks5/dist/turbolinks.js +6 -0
- data/assets/bower/turbolinks5/package.json +31 -0
- data/assets/bower/turbolinks5/src/turbolinks/BANNER.js.erb +4 -0
- data/assets/bower/turbolinks5/src/turbolinks/VERSION +1 -0
- data/assets/bower/turbolinks5/src/turbolinks/browser_adapter.coffee +61 -0
- data/assets/bower/turbolinks5/src/turbolinks/compatibility.coffee +30 -0
- data/assets/bower/turbolinks5/src/turbolinks/controller.coffee +239 -0
- data/assets/bower/turbolinks5/src/turbolinks/error_renderer.coffee +21 -0
- data/assets/bower/turbolinks5/src/turbolinks/head_details.coffee +51 -0
- data/assets/bower/turbolinks5/src/turbolinks/helpers.coffee +51 -0
- data/assets/bower/turbolinks5/src/turbolinks/history.coffee +46 -0
- data/assets/bower/turbolinks5/src/turbolinks/http_request.coffee +88 -0
- data/assets/bower/turbolinks5/src/turbolinks/index.coffee +16 -0
- data/assets/bower/turbolinks5/src/turbolinks/location.coffee +70 -0
- data/assets/bower/turbolinks5/src/turbolinks/progress_bar.coffee +83 -0
- data/assets/bower/turbolinks5/src/turbolinks/renderer.coffee +27 -0
- data/assets/bower/turbolinks5/src/turbolinks/scroll_manager.coffee +27 -0
- data/assets/bower/turbolinks5/src/turbolinks/snapshot.coffee +47 -0
- data/assets/bower/turbolinks5/src/turbolinks/snapshot_cache.coffee +43 -0
- data/assets/bower/turbolinks5/src/turbolinks/snapshot_renderer.coffee +88 -0
- data/assets/bower/turbolinks5/src/turbolinks/start.coffee +18 -0
- data/assets/bower/turbolinks5/src/turbolinks/view.coffee +34 -0
- data/assets/bower/turbolinks5/src/turbolinks/visit.coffee +162 -0
- data/assets/bower/turbolinks5/test/src/fixtures/additional_assets.html +12 -0
- data/assets/bower/turbolinks5/test/src/fixtures/body_script.html +18 -0
- data/assets/bower/turbolinks5/test/src/fixtures/eval_false_script.html +18 -0
- data/assets/bower/turbolinks5/test/src/fixtures/head_script.html +18 -0
- data/assets/bower/turbolinks5/test/src/fixtures/navigation.html +21 -0
- data/assets/bower/turbolinks5/test/src/fixtures/one.html +12 -0
- data/assets/bower/turbolinks5/test/src/fixtures/rendering.html +20 -0
- data/assets/bower/turbolinks5/test/src/fixtures/tracked_asset_change.html +11 -0
- data/assets/bower/turbolinks5/test/src/fixtures/visit.html +14 -0
- data/assets/bower/turbolinks5/test/src/head.html.erb +1 -0
- data/assets/bower/turbolinks5/test/src/helpers/replicant_helpers.coffee +18 -0
- data/assets/bower/turbolinks5/test/src/modules/navigation_tests.coffee +75 -0
- data/assets/bower/turbolinks5/test/src/modules/rendering_tests.coffee +123 -0
- data/assets/bower/turbolinks5/test/src/modules/visit_tests.coffee +49 -0
- data/assets/bower/turbolinks5/test/src/test.coffee +4 -0
- data/assets/bower/turbolinks5/test/src/test.css +20 -0
- data/assets/bower/turbolinks5/test/vendor/replicant.js +10 -0
- data/assets/fonts/cormorant-garamond/Cormorant-Garamond-700.eot +0 -0
- data/assets/fonts/cormorant-garamond/Cormorant-Garamond-700.ttf +0 -0
- data/assets/fonts/cormorant-garamond/Cormorant-Garamond-700.woff +0 -0
- data/assets/fonts/cormorant-garamond/Cormorant-Garamond-700.woff2 +0 -0
- data/assets/fonts/ionicons/ionicons.eot +0 -0
- data/assets/fonts/ionicons/ionicons.svg +2232 -0
- data/assets/fonts/ionicons/ionicons.ttf +0 -0
- data/assets/fonts/ionicons/ionicons.woff +0 -0
- data/assets/fonts/lato/Lato-300.eot +0 -0
- data/assets/fonts/lato/Lato-300.ttf +0 -0
- data/assets/fonts/lato/Lato-300.woff +0 -0
- data/assets/fonts/lato/Lato-300.woff2 +0 -0
- data/assets/fonts/lato/Lato-700.eot +0 -0
- data/assets/fonts/lato/Lato-700.ttf +0 -0
- data/assets/fonts/lato/Lato-700.woff +0 -0
- data/assets/fonts/lato/Lato-700.woff2 +0 -0
- data/assets/fonts/lato/Lato-regular.eot +0 -0
- data/assets/fonts/lato/Lato-regular.ttf +0 -0
- data/assets/fonts/lato/Lato-regular.woff +0 -0
- data/assets/fonts/lato/Lato-regular.woff2 +0 -0
- data/assets/images/about.jpg +0 -0
- data/assets/images/about@2x.jpg +0 -0
- data/assets/images/apple-touch-icon.png +0 -0
- data/assets/images/documentation/chalk-intro.png +0 -0
- data/assets/images/documentation/chalk-intro@2x.png +0 -0
- data/assets/images/documentation/enlarge.gif +0 -0
- data/assets/images/documentation/enlarge@2x.gif +0 -0
- data/assets/images/documentation/sample-image.jpg +0 -0
- data/assets/images/documentation/sample-image@2x.jpg +0 -0
- data/assets/images/og-image.jpg +0 -0
- data/assets/javascripts/application.js +24 -0
- data/assets/javascripts/vendor.js +6 -0
- data/assets/javascripts/vendor/jquery-throttle-debounce.js +9 -0
- data/assets/javascripts/vendor/retina.js +182 -0
- data/assets/stylesheets/.csscomb.json +197 -0
- data/assets/stylesheets/.scss-lint.yml +33 -0
- data/assets/stylesheets/_base.scss +151 -0
- data/assets/stylesheets/_mixins.scss +28 -0
- data/assets/stylesheets/_variables.scss +47 -0
- data/assets/stylesheets/dark.scss +70 -0
- data/assets/stylesheets/fonts.scss +63 -0
- data/assets/stylesheets/layouts/_footer.scss +17 -0
- data/assets/stylesheets/layouts/_grid.scss +102 -0
- data/assets/stylesheets/light.scss +70 -0
- data/assets/stylesheets/modules/_about.scss +10 -0
- data/assets/stylesheets/modules/_articles.scss +211 -0
- data/assets/stylesheets/modules/_embed.scss +31 -0
- data/assets/stylesheets/modules/_header.scss +57 -0
- data/assets/stylesheets/modules/_highlights-dark.scss +415 -0
- data/assets/stylesheets/modules/_highlights-light.scss +409 -0
- data/assets/stylesheets/modules/_icons.scss +2967 -0
- data/assets/stylesheets/notfound-dark.scss +90 -0
- data/assets/stylesheets/notfound-light.scss +90 -0
- data/assets/stylesheets/vendor/_normalize.scss +461 -0
- metadata +276 -3
@@ -0,0 +1,123 @@
|
|
1
|
+
define( [
|
2
|
+
"../core",
|
3
|
+
"../css"
|
4
|
+
], function( jQuery ) {
|
5
|
+
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
function Tween( elem, options, prop, end, easing ) {
|
9
|
+
return new Tween.prototype.init( elem, options, prop, end, easing );
|
10
|
+
}
|
11
|
+
jQuery.Tween = Tween;
|
12
|
+
|
13
|
+
Tween.prototype = {
|
14
|
+
constructor: Tween,
|
15
|
+
init: function( elem, options, prop, end, easing, unit ) {
|
16
|
+
this.elem = elem;
|
17
|
+
this.prop = prop;
|
18
|
+
this.easing = easing || jQuery.easing._default;
|
19
|
+
this.options = options;
|
20
|
+
this.start = this.now = this.cur();
|
21
|
+
this.end = end;
|
22
|
+
this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
|
23
|
+
},
|
24
|
+
cur: function() {
|
25
|
+
var hooks = Tween.propHooks[ this.prop ];
|
26
|
+
|
27
|
+
return hooks && hooks.get ?
|
28
|
+
hooks.get( this ) :
|
29
|
+
Tween.propHooks._default.get( this );
|
30
|
+
},
|
31
|
+
run: function( percent ) {
|
32
|
+
var eased,
|
33
|
+
hooks = Tween.propHooks[ this.prop ];
|
34
|
+
|
35
|
+
if ( this.options.duration ) {
|
36
|
+
this.pos = eased = jQuery.easing[ this.easing ](
|
37
|
+
percent, this.options.duration * percent, 0, 1, this.options.duration
|
38
|
+
);
|
39
|
+
} else {
|
40
|
+
this.pos = eased = percent;
|
41
|
+
}
|
42
|
+
this.now = ( this.end - this.start ) * eased + this.start;
|
43
|
+
|
44
|
+
if ( this.options.step ) {
|
45
|
+
this.options.step.call( this.elem, this.now, this );
|
46
|
+
}
|
47
|
+
|
48
|
+
if ( hooks && hooks.set ) {
|
49
|
+
hooks.set( this );
|
50
|
+
} else {
|
51
|
+
Tween.propHooks._default.set( this );
|
52
|
+
}
|
53
|
+
return this;
|
54
|
+
}
|
55
|
+
};
|
56
|
+
|
57
|
+
Tween.prototype.init.prototype = Tween.prototype;
|
58
|
+
|
59
|
+
Tween.propHooks = {
|
60
|
+
_default: {
|
61
|
+
get: function( tween ) {
|
62
|
+
var result;
|
63
|
+
|
64
|
+
// Use a property on the element directly when it is not a DOM element,
|
65
|
+
// or when there is no matching style property that exists.
|
66
|
+
if ( tween.elem.nodeType !== 1 ||
|
67
|
+
tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
|
68
|
+
return tween.elem[ tween.prop ];
|
69
|
+
}
|
70
|
+
|
71
|
+
// Passing an empty string as a 3rd parameter to .css will automatically
|
72
|
+
// attempt a parseFloat and fallback to a string if the parse fails.
|
73
|
+
// Simple values such as "10px" are parsed to Float;
|
74
|
+
// complex values such as "rotate(1rad)" are returned as-is.
|
75
|
+
result = jQuery.css( tween.elem, tween.prop, "" );
|
76
|
+
|
77
|
+
// Empty strings, null, undefined and "auto" are converted to 0.
|
78
|
+
return !result || result === "auto" ? 0 : result;
|
79
|
+
},
|
80
|
+
set: function( tween ) {
|
81
|
+
|
82
|
+
// Use step hook for back compat.
|
83
|
+
// Use cssHook if its there.
|
84
|
+
// Use .style if available and use plain properties where available.
|
85
|
+
if ( jQuery.fx.step[ tween.prop ] ) {
|
86
|
+
jQuery.fx.step[ tween.prop ]( tween );
|
87
|
+
} else if ( tween.elem.nodeType === 1 &&
|
88
|
+
( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
|
89
|
+
jQuery.cssHooks[ tween.prop ] ) ) {
|
90
|
+
jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
|
91
|
+
} else {
|
92
|
+
tween.elem[ tween.prop ] = tween.now;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
};
|
97
|
+
|
98
|
+
// Support: IE <=9 only
|
99
|
+
// Panic based approach to setting things on disconnected nodes
|
100
|
+
Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
|
101
|
+
set: function( tween ) {
|
102
|
+
if ( tween.elem.nodeType && tween.elem.parentNode ) {
|
103
|
+
tween.elem[ tween.prop ] = tween.now;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
};
|
107
|
+
|
108
|
+
jQuery.easing = {
|
109
|
+
linear: function( p ) {
|
110
|
+
return p;
|
111
|
+
},
|
112
|
+
swing: function( p ) {
|
113
|
+
return 0.5 - Math.cos( p * Math.PI ) / 2;
|
114
|
+
},
|
115
|
+
_default: "swing"
|
116
|
+
};
|
117
|
+
|
118
|
+
jQuery.fx = Tween.prototype.init;
|
119
|
+
|
120
|
+
// Back compat <1.8 extension point
|
121
|
+
jQuery.fx.step = {};
|
122
|
+
|
123
|
+
} );
|
@@ -0,0 +1,15 @@
|
|
1
|
+
define( [
|
2
|
+
"../core",
|
3
|
+
"../selector",
|
4
|
+
"../effects"
|
5
|
+
], function( jQuery ) {
|
6
|
+
|
7
|
+
"use strict";
|
8
|
+
|
9
|
+
jQuery.expr.pseudos.animated = function( elem ) {
|
10
|
+
return jQuery.grep( jQuery.timers, function( fn ) {
|
11
|
+
return elem === fn.elem;
|
12
|
+
} ).length;
|
13
|
+
};
|
14
|
+
|
15
|
+
} );
|
@@ -0,0 +1,745 @@
|
|
1
|
+
define( [
|
2
|
+
"./core",
|
3
|
+
"./var/document",
|
4
|
+
"./var/documentElement",
|
5
|
+
"./var/rnothtmlwhite",
|
6
|
+
"./var/slice",
|
7
|
+
"./data/var/dataPriv",
|
8
|
+
|
9
|
+
"./core/init",
|
10
|
+
"./selector"
|
11
|
+
], function( jQuery, document, documentElement, rnothtmlwhite, slice, dataPriv ) {
|
12
|
+
|
13
|
+
"use strict";
|
14
|
+
|
15
|
+
var
|
16
|
+
rkeyEvent = /^key/,
|
17
|
+
rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
|
18
|
+
rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
|
19
|
+
|
20
|
+
function returnTrue() {
|
21
|
+
return true;
|
22
|
+
}
|
23
|
+
|
24
|
+
function returnFalse() {
|
25
|
+
return false;
|
26
|
+
}
|
27
|
+
|
28
|
+
// Support: IE <=9 only
|
29
|
+
// See #13393 for more info
|
30
|
+
function safeActiveElement() {
|
31
|
+
try {
|
32
|
+
return document.activeElement;
|
33
|
+
} catch ( err ) { }
|
34
|
+
}
|
35
|
+
|
36
|
+
function on( elem, types, selector, data, fn, one ) {
|
37
|
+
var origFn, type;
|
38
|
+
|
39
|
+
// Types can be a map of types/handlers
|
40
|
+
if ( typeof types === "object" ) {
|
41
|
+
|
42
|
+
// ( types-Object, selector, data )
|
43
|
+
if ( typeof selector !== "string" ) {
|
44
|
+
|
45
|
+
// ( types-Object, data )
|
46
|
+
data = data || selector;
|
47
|
+
selector = undefined;
|
48
|
+
}
|
49
|
+
for ( type in types ) {
|
50
|
+
on( elem, type, selector, data, types[ type ], one );
|
51
|
+
}
|
52
|
+
return elem;
|
53
|
+
}
|
54
|
+
|
55
|
+
if ( data == null && fn == null ) {
|
56
|
+
|
57
|
+
// ( types, fn )
|
58
|
+
fn = selector;
|
59
|
+
data = selector = undefined;
|
60
|
+
} else if ( fn == null ) {
|
61
|
+
if ( typeof selector === "string" ) {
|
62
|
+
|
63
|
+
// ( types, selector, fn )
|
64
|
+
fn = data;
|
65
|
+
data = undefined;
|
66
|
+
} else {
|
67
|
+
|
68
|
+
// ( types, data, fn )
|
69
|
+
fn = data;
|
70
|
+
data = selector;
|
71
|
+
selector = undefined;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
if ( fn === false ) {
|
75
|
+
fn = returnFalse;
|
76
|
+
} else if ( !fn ) {
|
77
|
+
return elem;
|
78
|
+
}
|
79
|
+
|
80
|
+
if ( one === 1 ) {
|
81
|
+
origFn = fn;
|
82
|
+
fn = function( event ) {
|
83
|
+
|
84
|
+
// Can use an empty set, since event contains the info
|
85
|
+
jQuery().off( event );
|
86
|
+
return origFn.apply( this, arguments );
|
87
|
+
};
|
88
|
+
|
89
|
+
// Use same guid so caller can remove using origFn
|
90
|
+
fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
|
91
|
+
}
|
92
|
+
return elem.each( function() {
|
93
|
+
jQuery.event.add( this, types, fn, data, selector );
|
94
|
+
} );
|
95
|
+
}
|
96
|
+
|
97
|
+
/*
|
98
|
+
* Helper functions for managing events -- not part of the public interface.
|
99
|
+
* Props to Dean Edwards' addEvent library for many of the ideas.
|
100
|
+
*/
|
101
|
+
jQuery.event = {
|
102
|
+
|
103
|
+
global: {},
|
104
|
+
|
105
|
+
add: function( elem, types, handler, data, selector ) {
|
106
|
+
|
107
|
+
var handleObjIn, eventHandle, tmp,
|
108
|
+
events, t, handleObj,
|
109
|
+
special, handlers, type, namespaces, origType,
|
110
|
+
elemData = dataPriv.get( elem );
|
111
|
+
|
112
|
+
// Don't attach events to noData or text/comment nodes (but allow plain objects)
|
113
|
+
if ( !elemData ) {
|
114
|
+
return;
|
115
|
+
}
|
116
|
+
|
117
|
+
// Caller can pass in an object of custom data in lieu of the handler
|
118
|
+
if ( handler.handler ) {
|
119
|
+
handleObjIn = handler;
|
120
|
+
handler = handleObjIn.handler;
|
121
|
+
selector = handleObjIn.selector;
|
122
|
+
}
|
123
|
+
|
124
|
+
// Ensure that invalid selectors throw exceptions at attach time
|
125
|
+
// Evaluate against documentElement in case elem is a non-element node (e.g., document)
|
126
|
+
if ( selector ) {
|
127
|
+
jQuery.find.matchesSelector( documentElement, selector );
|
128
|
+
}
|
129
|
+
|
130
|
+
// Make sure that the handler has a unique ID, used to find/remove it later
|
131
|
+
if ( !handler.guid ) {
|
132
|
+
handler.guid = jQuery.guid++;
|
133
|
+
}
|
134
|
+
|
135
|
+
// Init the element's event structure and main handler, if this is the first
|
136
|
+
if ( !( events = elemData.events ) ) {
|
137
|
+
events = elemData.events = {};
|
138
|
+
}
|
139
|
+
if ( !( eventHandle = elemData.handle ) ) {
|
140
|
+
eventHandle = elemData.handle = function( e ) {
|
141
|
+
|
142
|
+
// Discard the second event of a jQuery.event.trigger() and
|
143
|
+
// when an event is called after a page has unloaded
|
144
|
+
return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
|
145
|
+
jQuery.event.dispatch.apply( elem, arguments ) : undefined;
|
146
|
+
};
|
147
|
+
}
|
148
|
+
|
149
|
+
// Handle multiple events separated by a space
|
150
|
+
types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
|
151
|
+
t = types.length;
|
152
|
+
while ( t-- ) {
|
153
|
+
tmp = rtypenamespace.exec( types[ t ] ) || [];
|
154
|
+
type = origType = tmp[ 1 ];
|
155
|
+
namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
|
156
|
+
|
157
|
+
// There *must* be a type, no attaching namespace-only handlers
|
158
|
+
if ( !type ) {
|
159
|
+
continue;
|
160
|
+
}
|
161
|
+
|
162
|
+
// If event changes its type, use the special event handlers for the changed type
|
163
|
+
special = jQuery.event.special[ type ] || {};
|
164
|
+
|
165
|
+
// If selector defined, determine special event api type, otherwise given type
|
166
|
+
type = ( selector ? special.delegateType : special.bindType ) || type;
|
167
|
+
|
168
|
+
// Update special based on newly reset type
|
169
|
+
special = jQuery.event.special[ type ] || {};
|
170
|
+
|
171
|
+
// handleObj is passed to all event handlers
|
172
|
+
handleObj = jQuery.extend( {
|
173
|
+
type: type,
|
174
|
+
origType: origType,
|
175
|
+
data: data,
|
176
|
+
handler: handler,
|
177
|
+
guid: handler.guid,
|
178
|
+
selector: selector,
|
179
|
+
needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
|
180
|
+
namespace: namespaces.join( "." )
|
181
|
+
}, handleObjIn );
|
182
|
+
|
183
|
+
// Init the event handler queue if we're the first
|
184
|
+
if ( !( handlers = events[ type ] ) ) {
|
185
|
+
handlers = events[ type ] = [];
|
186
|
+
handlers.delegateCount = 0;
|
187
|
+
|
188
|
+
// Only use addEventListener if the special events handler returns false
|
189
|
+
if ( !special.setup ||
|
190
|
+
special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
|
191
|
+
|
192
|
+
if ( elem.addEventListener ) {
|
193
|
+
elem.addEventListener( type, eventHandle );
|
194
|
+
}
|
195
|
+
}
|
196
|
+
}
|
197
|
+
|
198
|
+
if ( special.add ) {
|
199
|
+
special.add.call( elem, handleObj );
|
200
|
+
|
201
|
+
if ( !handleObj.handler.guid ) {
|
202
|
+
handleObj.handler.guid = handler.guid;
|
203
|
+
}
|
204
|
+
}
|
205
|
+
|
206
|
+
// Add to the element's handler list, delegates in front
|
207
|
+
if ( selector ) {
|
208
|
+
handlers.splice( handlers.delegateCount++, 0, handleObj );
|
209
|
+
} else {
|
210
|
+
handlers.push( handleObj );
|
211
|
+
}
|
212
|
+
|
213
|
+
// Keep track of which events have ever been used, for event optimization
|
214
|
+
jQuery.event.global[ type ] = true;
|
215
|
+
}
|
216
|
+
|
217
|
+
},
|
218
|
+
|
219
|
+
// Detach an event or set of events from an element
|
220
|
+
remove: function( elem, types, handler, selector, mappedTypes ) {
|
221
|
+
|
222
|
+
var j, origCount, tmp,
|
223
|
+
events, t, handleObj,
|
224
|
+
special, handlers, type, namespaces, origType,
|
225
|
+
elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
|
226
|
+
|
227
|
+
if ( !elemData || !( events = elemData.events ) ) {
|
228
|
+
return;
|
229
|
+
}
|
230
|
+
|
231
|
+
// Once for each type.namespace in types; type may be omitted
|
232
|
+
types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
|
233
|
+
t = types.length;
|
234
|
+
while ( t-- ) {
|
235
|
+
tmp = rtypenamespace.exec( types[ t ] ) || [];
|
236
|
+
type = origType = tmp[ 1 ];
|
237
|
+
namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
|
238
|
+
|
239
|
+
// Unbind all events (on this namespace, if provided) for the element
|
240
|
+
if ( !type ) {
|
241
|
+
for ( type in events ) {
|
242
|
+
jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
|
243
|
+
}
|
244
|
+
continue;
|
245
|
+
}
|
246
|
+
|
247
|
+
special = jQuery.event.special[ type ] || {};
|
248
|
+
type = ( selector ? special.delegateType : special.bindType ) || type;
|
249
|
+
handlers = events[ type ] || [];
|
250
|
+
tmp = tmp[ 2 ] &&
|
251
|
+
new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
|
252
|
+
|
253
|
+
// Remove matching events
|
254
|
+
origCount = j = handlers.length;
|
255
|
+
while ( j-- ) {
|
256
|
+
handleObj = handlers[ j ];
|
257
|
+
|
258
|
+
if ( ( mappedTypes || origType === handleObj.origType ) &&
|
259
|
+
( !handler || handler.guid === handleObj.guid ) &&
|
260
|
+
( !tmp || tmp.test( handleObj.namespace ) ) &&
|
261
|
+
( !selector || selector === handleObj.selector ||
|
262
|
+
selector === "**" && handleObj.selector ) ) {
|
263
|
+
handlers.splice( j, 1 );
|
264
|
+
|
265
|
+
if ( handleObj.selector ) {
|
266
|
+
handlers.delegateCount--;
|
267
|
+
}
|
268
|
+
if ( special.remove ) {
|
269
|
+
special.remove.call( elem, handleObj );
|
270
|
+
}
|
271
|
+
}
|
272
|
+
}
|
273
|
+
|
274
|
+
// Remove generic event handler if we removed something and no more handlers exist
|
275
|
+
// (avoids potential for endless recursion during removal of special event handlers)
|
276
|
+
if ( origCount && !handlers.length ) {
|
277
|
+
if ( !special.teardown ||
|
278
|
+
special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
|
279
|
+
|
280
|
+
jQuery.removeEvent( elem, type, elemData.handle );
|
281
|
+
}
|
282
|
+
|
283
|
+
delete events[ type ];
|
284
|
+
}
|
285
|
+
}
|
286
|
+
|
287
|
+
// Remove data and the expando if it's no longer used
|
288
|
+
if ( jQuery.isEmptyObject( events ) ) {
|
289
|
+
dataPriv.remove( elem, "handle events" );
|
290
|
+
}
|
291
|
+
},
|
292
|
+
|
293
|
+
dispatch: function( nativeEvent ) {
|
294
|
+
|
295
|
+
// Make a writable jQuery.Event from the native event object
|
296
|
+
var event = jQuery.event.fix( nativeEvent );
|
297
|
+
|
298
|
+
var i, j, ret, matched, handleObj, handlerQueue,
|
299
|
+
args = new Array( arguments.length ),
|
300
|
+
handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
|
301
|
+
special = jQuery.event.special[ event.type ] || {};
|
302
|
+
|
303
|
+
// Use the fix-ed jQuery.Event rather than the (read-only) native event
|
304
|
+
args[ 0 ] = event;
|
305
|
+
|
306
|
+
for ( i = 1; i < arguments.length; i++ ) {
|
307
|
+
args[ i ] = arguments[ i ];
|
308
|
+
}
|
309
|
+
|
310
|
+
event.delegateTarget = this;
|
311
|
+
|
312
|
+
// Call the preDispatch hook for the mapped type, and let it bail if desired
|
313
|
+
if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
|
314
|
+
return;
|
315
|
+
}
|
316
|
+
|
317
|
+
// Determine handlers
|
318
|
+
handlerQueue = jQuery.event.handlers.call( this, event, handlers );
|
319
|
+
|
320
|
+
// Run delegates first; they may want to stop propagation beneath us
|
321
|
+
i = 0;
|
322
|
+
while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
|
323
|
+
event.currentTarget = matched.elem;
|
324
|
+
|
325
|
+
j = 0;
|
326
|
+
while ( ( handleObj = matched.handlers[ j++ ] ) &&
|
327
|
+
!event.isImmediatePropagationStopped() ) {
|
328
|
+
|
329
|
+
// Triggered event must either 1) have no namespace, or 2) have namespace(s)
|
330
|
+
// a subset or equal to those in the bound event (both can have no namespace).
|
331
|
+
if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
|
332
|
+
|
333
|
+
event.handleObj = handleObj;
|
334
|
+
event.data = handleObj.data;
|
335
|
+
|
336
|
+
ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
|
337
|
+
handleObj.handler ).apply( matched.elem, args );
|
338
|
+
|
339
|
+
if ( ret !== undefined ) {
|
340
|
+
if ( ( event.result = ret ) === false ) {
|
341
|
+
event.preventDefault();
|
342
|
+
event.stopPropagation();
|
343
|
+
}
|
344
|
+
}
|
345
|
+
}
|
346
|
+
}
|
347
|
+
}
|
348
|
+
|
349
|
+
// Call the postDispatch hook for the mapped type
|
350
|
+
if ( special.postDispatch ) {
|
351
|
+
special.postDispatch.call( this, event );
|
352
|
+
}
|
353
|
+
|
354
|
+
return event.result;
|
355
|
+
},
|
356
|
+
|
357
|
+
handlers: function( event, handlers ) {
|
358
|
+
var i, handleObj, sel, matchedHandlers, matchedSelectors,
|
359
|
+
handlerQueue = [],
|
360
|
+
delegateCount = handlers.delegateCount,
|
361
|
+
cur = event.target;
|
362
|
+
|
363
|
+
// Find delegate handlers
|
364
|
+
if ( delegateCount &&
|
365
|
+
|
366
|
+
// Support: IE <=9
|
367
|
+
// Black-hole SVG <use> instance trees (trac-13180)
|
368
|
+
cur.nodeType &&
|
369
|
+
|
370
|
+
// Support: Firefox <=42
|
371
|
+
// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
|
372
|
+
// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
|
373
|
+
// Support: IE 11 only
|
374
|
+
// ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
|
375
|
+
!( event.type === "click" && event.button >= 1 ) ) {
|
376
|
+
|
377
|
+
for ( ; cur !== this; cur = cur.parentNode || this ) {
|
378
|
+
|
379
|
+
// Don't check non-elements (#13208)
|
380
|
+
// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
|
381
|
+
if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
|
382
|
+
matchedHandlers = [];
|
383
|
+
matchedSelectors = {};
|
384
|
+
for ( i = 0; i < delegateCount; i++ ) {
|
385
|
+
handleObj = handlers[ i ];
|
386
|
+
|
387
|
+
// Don't conflict with Object.prototype properties (#13203)
|
388
|
+
sel = handleObj.selector + " ";
|
389
|
+
|
390
|
+
if ( matchedSelectors[ sel ] === undefined ) {
|
391
|
+
matchedSelectors[ sel ] = handleObj.needsContext ?
|
392
|
+
jQuery( sel, this ).index( cur ) > -1 :
|
393
|
+
jQuery.find( sel, this, null, [ cur ] ).length;
|
394
|
+
}
|
395
|
+
if ( matchedSelectors[ sel ] ) {
|
396
|
+
matchedHandlers.push( handleObj );
|
397
|
+
}
|
398
|
+
}
|
399
|
+
if ( matchedHandlers.length ) {
|
400
|
+
handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
|
401
|
+
}
|
402
|
+
}
|
403
|
+
}
|
404
|
+
}
|
405
|
+
|
406
|
+
// Add the remaining (directly-bound) handlers
|
407
|
+
cur = this;
|
408
|
+
if ( delegateCount < handlers.length ) {
|
409
|
+
handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
|
410
|
+
}
|
411
|
+
|
412
|
+
return handlerQueue;
|
413
|
+
},
|
414
|
+
|
415
|
+
addProp: function( name, hook ) {
|
416
|
+
Object.defineProperty( jQuery.Event.prototype, name, {
|
417
|
+
enumerable: true,
|
418
|
+
configurable: true,
|
419
|
+
|
420
|
+
get: jQuery.isFunction( hook ) ?
|
421
|
+
function() {
|
422
|
+
if ( this.originalEvent ) {
|
423
|
+
return hook( this.originalEvent );
|
424
|
+
}
|
425
|
+
} :
|
426
|
+
function() {
|
427
|
+
if ( this.originalEvent ) {
|
428
|
+
return this.originalEvent[ name ];
|
429
|
+
}
|
430
|
+
},
|
431
|
+
|
432
|
+
set: function( value ) {
|
433
|
+
Object.defineProperty( this, name, {
|
434
|
+
enumerable: true,
|
435
|
+
configurable: true,
|
436
|
+
writable: true,
|
437
|
+
value: value
|
438
|
+
} );
|
439
|
+
}
|
440
|
+
} );
|
441
|
+
},
|
442
|
+
|
443
|
+
fix: function( originalEvent ) {
|
444
|
+
return originalEvent[ jQuery.expando ] ?
|
445
|
+
originalEvent :
|
446
|
+
new jQuery.Event( originalEvent );
|
447
|
+
},
|
448
|
+
|
449
|
+
special: {
|
450
|
+
load: {
|
451
|
+
|
452
|
+
// Prevent triggered image.load events from bubbling to window.load
|
453
|
+
noBubble: true
|
454
|
+
},
|
455
|
+
focus: {
|
456
|
+
|
457
|
+
// Fire native event if possible so blur/focus sequence is correct
|
458
|
+
trigger: function() {
|
459
|
+
if ( this !== safeActiveElement() && this.focus ) {
|
460
|
+
this.focus();
|
461
|
+
return false;
|
462
|
+
}
|
463
|
+
},
|
464
|
+
delegateType: "focusin"
|
465
|
+
},
|
466
|
+
blur: {
|
467
|
+
trigger: function() {
|
468
|
+
if ( this === safeActiveElement() && this.blur ) {
|
469
|
+
this.blur();
|
470
|
+
return false;
|
471
|
+
}
|
472
|
+
},
|
473
|
+
delegateType: "focusout"
|
474
|
+
},
|
475
|
+
click: {
|
476
|
+
|
477
|
+
// For checkbox, fire native event so checked state will be right
|
478
|
+
trigger: function() {
|
479
|
+
if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {
|
480
|
+
this.click();
|
481
|
+
return false;
|
482
|
+
}
|
483
|
+
},
|
484
|
+
|
485
|
+
// For cross-browser consistency, don't fire native .click() on links
|
486
|
+
_default: function( event ) {
|
487
|
+
return jQuery.nodeName( event.target, "a" );
|
488
|
+
}
|
489
|
+
},
|
490
|
+
|
491
|
+
beforeunload: {
|
492
|
+
postDispatch: function( event ) {
|
493
|
+
|
494
|
+
// Support: Firefox 20+
|
495
|
+
// Firefox doesn't alert if the returnValue field is not set.
|
496
|
+
if ( event.result !== undefined && event.originalEvent ) {
|
497
|
+
event.originalEvent.returnValue = event.result;
|
498
|
+
}
|
499
|
+
}
|
500
|
+
}
|
501
|
+
}
|
502
|
+
};
|
503
|
+
|
504
|
+
jQuery.removeEvent = function( elem, type, handle ) {
|
505
|
+
|
506
|
+
// This "if" is needed for plain objects
|
507
|
+
if ( elem.removeEventListener ) {
|
508
|
+
elem.removeEventListener( type, handle );
|
509
|
+
}
|
510
|
+
};
|
511
|
+
|
512
|
+
jQuery.Event = function( src, props ) {
|
513
|
+
|
514
|
+
// Allow instantiation without the 'new' keyword
|
515
|
+
if ( !( this instanceof jQuery.Event ) ) {
|
516
|
+
return new jQuery.Event( src, props );
|
517
|
+
}
|
518
|
+
|
519
|
+
// Event object
|
520
|
+
if ( src && src.type ) {
|
521
|
+
this.originalEvent = src;
|
522
|
+
this.type = src.type;
|
523
|
+
|
524
|
+
// Events bubbling up the document may have been marked as prevented
|
525
|
+
// by a handler lower down the tree; reflect the correct value.
|
526
|
+
this.isDefaultPrevented = src.defaultPrevented ||
|
527
|
+
src.defaultPrevented === undefined &&
|
528
|
+
|
529
|
+
// Support: Android <=2.3 only
|
530
|
+
src.returnValue === false ?
|
531
|
+
returnTrue :
|
532
|
+
returnFalse;
|
533
|
+
|
534
|
+
// Create target properties
|
535
|
+
// Support: Safari <=6 - 7 only
|
536
|
+
// Target should not be a text node (#504, #13143)
|
537
|
+
this.target = ( src.target && src.target.nodeType === 3 ) ?
|
538
|
+
src.target.parentNode :
|
539
|
+
src.target;
|
540
|
+
|
541
|
+
this.currentTarget = src.currentTarget;
|
542
|
+
this.relatedTarget = src.relatedTarget;
|
543
|
+
|
544
|
+
// Event type
|
545
|
+
} else {
|
546
|
+
this.type = src;
|
547
|
+
}
|
548
|
+
|
549
|
+
// Put explicitly provided properties onto the event object
|
550
|
+
if ( props ) {
|
551
|
+
jQuery.extend( this, props );
|
552
|
+
}
|
553
|
+
|
554
|
+
// Create a timestamp if incoming event doesn't have one
|
555
|
+
this.timeStamp = src && src.timeStamp || jQuery.now();
|
556
|
+
|
557
|
+
// Mark it as fixed
|
558
|
+
this[ jQuery.expando ] = true;
|
559
|
+
};
|
560
|
+
|
561
|
+
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
|
562
|
+
// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
|
563
|
+
jQuery.Event.prototype = {
|
564
|
+
constructor: jQuery.Event,
|
565
|
+
isDefaultPrevented: returnFalse,
|
566
|
+
isPropagationStopped: returnFalse,
|
567
|
+
isImmediatePropagationStopped: returnFalse,
|
568
|
+
isSimulated: false,
|
569
|
+
|
570
|
+
preventDefault: function() {
|
571
|
+
var e = this.originalEvent;
|
572
|
+
|
573
|
+
this.isDefaultPrevented = returnTrue;
|
574
|
+
|
575
|
+
if ( e && !this.isSimulated ) {
|
576
|
+
e.preventDefault();
|
577
|
+
}
|
578
|
+
},
|
579
|
+
stopPropagation: function() {
|
580
|
+
var e = this.originalEvent;
|
581
|
+
|
582
|
+
this.isPropagationStopped = returnTrue;
|
583
|
+
|
584
|
+
if ( e && !this.isSimulated ) {
|
585
|
+
e.stopPropagation();
|
586
|
+
}
|
587
|
+
},
|
588
|
+
stopImmediatePropagation: function() {
|
589
|
+
var e = this.originalEvent;
|
590
|
+
|
591
|
+
this.isImmediatePropagationStopped = returnTrue;
|
592
|
+
|
593
|
+
if ( e && !this.isSimulated ) {
|
594
|
+
e.stopImmediatePropagation();
|
595
|
+
}
|
596
|
+
|
597
|
+
this.stopPropagation();
|
598
|
+
}
|
599
|
+
};
|
600
|
+
|
601
|
+
// Includes all common event props including KeyEvent and MouseEvent specific props
|
602
|
+
jQuery.each( {
|
603
|
+
altKey: true,
|
604
|
+
bubbles: true,
|
605
|
+
cancelable: true,
|
606
|
+
changedTouches: true,
|
607
|
+
ctrlKey: true,
|
608
|
+
detail: true,
|
609
|
+
eventPhase: true,
|
610
|
+
metaKey: true,
|
611
|
+
pageX: true,
|
612
|
+
pageY: true,
|
613
|
+
shiftKey: true,
|
614
|
+
view: true,
|
615
|
+
"char": true,
|
616
|
+
charCode: true,
|
617
|
+
key: true,
|
618
|
+
keyCode: true,
|
619
|
+
button: true,
|
620
|
+
buttons: true,
|
621
|
+
clientX: true,
|
622
|
+
clientY: true,
|
623
|
+
offsetX: true,
|
624
|
+
offsetY: true,
|
625
|
+
pointerId: true,
|
626
|
+
pointerType: true,
|
627
|
+
screenX: true,
|
628
|
+
screenY: true,
|
629
|
+
targetTouches: true,
|
630
|
+
toElement: true,
|
631
|
+
touches: true,
|
632
|
+
|
633
|
+
which: function( event ) {
|
634
|
+
var button = event.button;
|
635
|
+
|
636
|
+
// Add which for key events
|
637
|
+
if ( event.which == null && rkeyEvent.test( event.type ) ) {
|
638
|
+
return event.charCode != null ? event.charCode : event.keyCode;
|
639
|
+
}
|
640
|
+
|
641
|
+
// Add which for click: 1 === left; 2 === middle; 3 === right
|
642
|
+
if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
|
643
|
+
if ( button & 1 ) {
|
644
|
+
return 1;
|
645
|
+
}
|
646
|
+
|
647
|
+
if ( button & 2 ) {
|
648
|
+
return 3;
|
649
|
+
}
|
650
|
+
|
651
|
+
if ( button & 4 ) {
|
652
|
+
return 2;
|
653
|
+
}
|
654
|
+
|
655
|
+
return 0;
|
656
|
+
}
|
657
|
+
|
658
|
+
return event.which;
|
659
|
+
}
|
660
|
+
}, jQuery.event.addProp );
|
661
|
+
|
662
|
+
// Create mouseenter/leave events using mouseover/out and event-time checks
|
663
|
+
// so that event delegation works in jQuery.
|
664
|
+
// Do the same for pointerenter/pointerleave and pointerover/pointerout
|
665
|
+
//
|
666
|
+
// Support: Safari 7 only
|
667
|
+
// Safari sends mouseenter too often; see:
|
668
|
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
|
669
|
+
// for the description of the bug (it existed in older Chrome versions as well).
|
670
|
+
jQuery.each( {
|
671
|
+
mouseenter: "mouseover",
|
672
|
+
mouseleave: "mouseout",
|
673
|
+
pointerenter: "pointerover",
|
674
|
+
pointerleave: "pointerout"
|
675
|
+
}, function( orig, fix ) {
|
676
|
+
jQuery.event.special[ orig ] = {
|
677
|
+
delegateType: fix,
|
678
|
+
bindType: fix,
|
679
|
+
|
680
|
+
handle: function( event ) {
|
681
|
+
var ret,
|
682
|
+
target = this,
|
683
|
+
related = event.relatedTarget,
|
684
|
+
handleObj = event.handleObj;
|
685
|
+
|
686
|
+
// For mouseenter/leave call the handler if related is outside the target.
|
687
|
+
// NB: No relatedTarget if the mouse left/entered the browser window
|
688
|
+
if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
|
689
|
+
event.type = handleObj.origType;
|
690
|
+
ret = handleObj.handler.apply( this, arguments );
|
691
|
+
event.type = fix;
|
692
|
+
}
|
693
|
+
return ret;
|
694
|
+
}
|
695
|
+
};
|
696
|
+
} );
|
697
|
+
|
698
|
+
jQuery.fn.extend( {
|
699
|
+
|
700
|
+
on: function( types, selector, data, fn ) {
|
701
|
+
return on( this, types, selector, data, fn );
|
702
|
+
},
|
703
|
+
one: function( types, selector, data, fn ) {
|
704
|
+
return on( this, types, selector, data, fn, 1 );
|
705
|
+
},
|
706
|
+
off: function( types, selector, fn ) {
|
707
|
+
var handleObj, type;
|
708
|
+
if ( types && types.preventDefault && types.handleObj ) {
|
709
|
+
|
710
|
+
// ( event ) dispatched jQuery.Event
|
711
|
+
handleObj = types.handleObj;
|
712
|
+
jQuery( types.delegateTarget ).off(
|
713
|
+
handleObj.namespace ?
|
714
|
+
handleObj.origType + "." + handleObj.namespace :
|
715
|
+
handleObj.origType,
|
716
|
+
handleObj.selector,
|
717
|
+
handleObj.handler
|
718
|
+
);
|
719
|
+
return this;
|
720
|
+
}
|
721
|
+
if ( typeof types === "object" ) {
|
722
|
+
|
723
|
+
// ( types-object [, selector] )
|
724
|
+
for ( type in types ) {
|
725
|
+
this.off( type, selector, types[ type ] );
|
726
|
+
}
|
727
|
+
return this;
|
728
|
+
}
|
729
|
+
if ( selector === false || typeof selector === "function" ) {
|
730
|
+
|
731
|
+
// ( types [, fn] )
|
732
|
+
fn = selector;
|
733
|
+
selector = undefined;
|
734
|
+
}
|
735
|
+
if ( fn === false ) {
|
736
|
+
fn = returnFalse;
|
737
|
+
}
|
738
|
+
return this.each( function() {
|
739
|
+
jQuery.event.remove( this, types, fn, selector );
|
740
|
+
} );
|
741
|
+
}
|
742
|
+
} );
|
743
|
+
|
744
|
+
return jQuery;
|
745
|
+
} );
|