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.
Files changed (275) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +21 -0
  3. data/README.md +89 -0
  4. data/_includes/footer.html +7 -0
  5. data/_includes/head.html +33 -0
  6. data/_includes/image.html +3 -0
  7. data/_includes/javascripts.html +21 -0
  8. data/_includes/navigation.html +75 -0
  9. data/_layouts/articles_by_tag.html +38 -0
  10. data/_layouts/default.html +16 -0
  11. data/_layouts/page.html +5 -0
  12. data/_layouts/post.html +71 -0
  13. data/assets/bower/fluidbox/.bower.json +44 -0
  14. data/assets/bower/fluidbox/Gruntfile.js +8 -0
  15. data/assets/bower/fluidbox/LICENSE.md +23 -0
  16. data/assets/bower/fluidbox/README.md +396 -0
  17. data/assets/bower/fluidbox/bower.json +35 -0
  18. data/assets/bower/fluidbox/demo/css/styles.min.css +2 -0
  19. data/assets/bower/fluidbox/demo/css/styles.min.css.map +1 -0
  20. data/assets/bower/fluidbox/demo/fonts/BLOKKRegular.eot +0 -0
  21. data/assets/bower/fluidbox/demo/fonts/BLOKKRegular.svg +233 -0
  22. data/assets/bower/fluidbox/demo/fonts/BLOKKRegular.ttf +0 -0
  23. data/assets/bower/fluidbox/demo/fonts/BLOKKRegular.woff +0 -0
  24. data/assets/bower/fluidbox/demo/fonts/fontello.eot +0 -0
  25. data/assets/bower/fluidbox/demo/fonts/fontello.svg +13 -0
  26. data/assets/bower/fluidbox/demo/fonts/fontello.ttf +0 -0
  27. data/assets/bower/fluidbox/demo/fonts/fontello.woff +0 -0
  28. data/assets/bower/fluidbox/demo/index.html +758 -0
  29. data/assets/bower/fluidbox/demo/src/css/styles.scss +1131 -0
  30. data/assets/bower/fluidbox/dist/css/fluidbox.min.css +2 -0
  31. data/assets/bower/fluidbox/dist/css/fluidbox.min.css.map +1 -0
  32. data/assets/bower/fluidbox/dist/js/jquery.fluidbox.min.js +1 -0
  33. data/assets/bower/fluidbox/grunt/aliases.yaml +20 -0
  34. data/assets/bower/fluidbox/grunt/clean.js +5 -0
  35. data/assets/bower/fluidbox/grunt/concurrent.js +33 -0
  36. data/assets/bower/fluidbox/grunt/jshint.js +10 -0
  37. data/assets/bower/fluidbox/grunt/postcss.js +47 -0
  38. data/assets/bower/fluidbox/grunt/sass.js +42 -0
  39. data/assets/bower/fluidbox/grunt/uglify.js +7 -0
  40. data/assets/bower/fluidbox/grunt/watch.js +28 -0
  41. data/assets/bower/fluidbox/index.html +8 -0
  42. data/assets/bower/fluidbox/license.txt +21 -0
  43. data/assets/bower/fluidbox/src/css/_fluidbox.scss +95 -0
  44. data/assets/bower/fluidbox/src/css/fluidbox.scss +2 -0
  45. data/assets/bower/fluidbox/src/js/jquery.fluidbox.js +722 -0
  46. data/assets/bower/jquery/.bower.json +25 -0
  47. data/assets/bower/jquery/AUTHORS.txt +295 -0
  48. data/assets/bower/jquery/LICENSE.txt +36 -0
  49. data/assets/bower/jquery/README.md +65 -0
  50. data/assets/bower/jquery/bower.json +14 -0
  51. data/assets/bower/jquery/dist/core.js +482 -0
  52. data/assets/bower/jquery/dist/jquery.js +10220 -0
  53. data/assets/bower/jquery/dist/jquery.min.js +4 -0
  54. data/assets/bower/jquery/dist/jquery.min.map +1 -0
  55. data/assets/bower/jquery/dist/jquery.slim.js +8107 -0
  56. data/assets/bower/jquery/dist/jquery.slim.min.js +4 -0
  57. data/assets/bower/jquery/dist/jquery.slim.min.map +1 -0
  58. data/assets/bower/jquery/external/sizzle/LICENSE.txt +36 -0
  59. data/assets/bower/jquery/external/sizzle/dist/sizzle.js +2272 -0
  60. data/assets/bower/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  61. data/assets/bower/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  62. data/assets/bower/jquery/src/.eslintrc.json +18 -0
  63. data/assets/bower/jquery/src/ajax.js +855 -0
  64. data/assets/bower/jquery/src/ajax/jsonp.js +102 -0
  65. data/assets/bower/jquery/src/ajax/load.js +76 -0
  66. data/assets/bower/jquery/src/ajax/parseXML.js +30 -0
  67. data/assets/bower/jquery/src/ajax/script.js +77 -0
  68. data/assets/bower/jquery/src/ajax/var/location.js +5 -0
  69. data/assets/bower/jquery/src/ajax/var/nonce.js +7 -0
  70. data/assets/bower/jquery/src/ajax/var/rquery.js +5 -0
  71. data/assets/bower/jquery/src/ajax/xhr.js +169 -0
  72. data/assets/bower/jquery/src/attributes.js +13 -0
  73. data/assets/bower/jquery/src/attributes/attr.js +140 -0
  74. data/assets/bower/jquery/src/attributes/classes.js +174 -0
  75. data/assets/bower/jquery/src/attributes/prop.js +143 -0
  76. data/assets/bower/jquery/src/attributes/support.js +33 -0
  77. data/assets/bower/jquery/src/attributes/val.js +188 -0
  78. data/assets/bower/jquery/src/callbacks.js +234 -0
  79. data/assets/bower/jquery/src/core.js +482 -0
  80. data/assets/bower/jquery/src/core/DOMEval.js +16 -0
  81. data/assets/bower/jquery/src/core/access.js +70 -0
  82. data/assets/bower/jquery/src/core/init.js +127 -0
  83. data/assets/bower/jquery/src/core/parseHTML.js +65 -0
  84. data/assets/bower/jquery/src/core/ready-no-deferred.js +105 -0
  85. data/assets/bower/jquery/src/core/ready.js +95 -0
  86. data/assets/bower/jquery/src/core/readyException.js +13 -0
  87. data/assets/bower/jquery/src/core/stripAndCollapse.js +14 -0
  88. data/assets/bower/jquery/src/core/support.js +20 -0
  89. data/assets/bower/jquery/src/core/var/rsingleTag.js +6 -0
  90. data/assets/bower/jquery/src/css.js +426 -0
  91. data/assets/bower/jquery/src/css/addGetHookIf.js +26 -0
  92. data/assets/bower/jquery/src/css/adjustCSS.js +71 -0
  93. data/assets/bower/jquery/src/css/curCSS.js +59 -0
  94. data/assets/bower/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  95. data/assets/bower/jquery/src/css/showHide.js +105 -0
  96. data/assets/bower/jquery/src/css/support.js +89 -0
  97. data/assets/bower/jquery/src/css/var/cssExpand.js +5 -0
  98. data/assets/bower/jquery/src/css/var/getStyles.js +17 -0
  99. data/assets/bower/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  100. data/assets/bower/jquery/src/css/var/rmargin.js +5 -0
  101. data/assets/bower/jquery/src/css/var/rnumnonpx.js +7 -0
  102. data/assets/bower/jquery/src/css/var/swap.js +26 -0
  103. data/assets/bower/jquery/src/data.js +179 -0
  104. data/assets/bower/jquery/src/data/Data.js +161 -0
  105. data/assets/bower/jquery/src/data/var/acceptData.js +19 -0
  106. data/assets/bower/jquery/src/data/var/dataPriv.js +7 -0
  107. data/assets/bower/jquery/src/data/var/dataUser.js +7 -0
  108. data/assets/bower/jquery/src/deferred.js +389 -0
  109. data/assets/bower/jquery/src/deferred/exceptionHook.js +21 -0
  110. data/assets/bower/jquery/src/deprecated.js +30 -0
  111. data/assets/bower/jquery/src/dimensions.js +56 -0
  112. data/assets/bower/jquery/src/effects.js +693 -0
  113. data/assets/bower/jquery/src/effects/Tween.js +123 -0
  114. data/assets/bower/jquery/src/effects/animatedSelector.js +15 -0
  115. data/assets/bower/jquery/src/event.js +745 -0
  116. data/assets/bower/jquery/src/event/ajax.js +22 -0
  117. data/assets/bower/jquery/src/event/alias.js +29 -0
  118. data/assets/bower/jquery/src/event/focusin.js +55 -0
  119. data/assets/bower/jquery/src/event/support.js +11 -0
  120. data/assets/bower/jquery/src/event/trigger.js +185 -0
  121. data/assets/bower/jquery/src/exports/amd.js +26 -0
  122. data/assets/bower/jquery/src/exports/global.js +34 -0
  123. data/assets/bower/jquery/src/jquery.js +41 -0
  124. data/assets/bower/jquery/src/manipulation.js +486 -0
  125. data/assets/bower/jquery/src/manipulation/_evalUrl.js +23 -0
  126. data/assets/bower/jquery/src/manipulation/buildFragment.js +104 -0
  127. data/assets/bower/jquery/src/manipulation/getAll.js +31 -0
  128. data/assets/bower/jquery/src/manipulation/setGlobalEval.js +22 -0
  129. data/assets/bower/jquery/src/manipulation/support.js +35 -0
  130. data/assets/bower/jquery/src/manipulation/var/rcheckableType.js +5 -0
  131. data/assets/bower/jquery/src/manipulation/var/rscriptType.js +5 -0
  132. data/assets/bower/jquery/src/manipulation/var/rtagName.js +5 -0
  133. data/assets/bower/jquery/src/manipulation/wrapMap.js +29 -0
  134. data/assets/bower/jquery/src/offset.js +232 -0
  135. data/assets/bower/jquery/src/queue.js +145 -0
  136. data/assets/bower/jquery/src/queue/delay.js +24 -0
  137. data/assets/bower/jquery/src/selector-native.js +237 -0
  138. data/assets/bower/jquery/src/selector-sizzle.js +19 -0
  139. data/assets/bower/jquery/src/selector.js +3 -0
  140. data/assets/bower/jquery/src/serialize.js +130 -0
  141. data/assets/bower/jquery/src/traversing.js +178 -0
  142. data/assets/bower/jquery/src/traversing/findFilter.js +106 -0
  143. data/assets/bower/jquery/src/traversing/var/dir.js +22 -0
  144. data/assets/bower/jquery/src/traversing/var/rneedsContext.js +8 -0
  145. data/assets/bower/jquery/src/traversing/var/siblings.js +17 -0
  146. data/assets/bower/jquery/src/var/ObjectFunctionString.js +7 -0
  147. data/assets/bower/jquery/src/var/arr.js +5 -0
  148. data/assets/bower/jquery/src/var/class2type.js +6 -0
  149. data/assets/bower/jquery/src/var/concat.js +7 -0
  150. data/assets/bower/jquery/src/var/document.js +5 -0
  151. data/assets/bower/jquery/src/var/documentElement.js +7 -0
  152. data/assets/bower/jquery/src/var/fnToString.js +7 -0
  153. data/assets/bower/jquery/src/var/getProto.js +5 -0
  154. data/assets/bower/jquery/src/var/hasOwn.js +7 -0
  155. data/assets/bower/jquery/src/var/indexOf.js +7 -0
  156. data/assets/bower/jquery/src/var/pnum.js +5 -0
  157. data/assets/bower/jquery/src/var/push.js +7 -0
  158. data/assets/bower/jquery/src/var/rcssNum.js +9 -0
  159. data/assets/bower/jquery/src/var/rnothtmlwhite.js +8 -0
  160. data/assets/bower/jquery/src/var/slice.js +7 -0
  161. data/assets/bower/jquery/src/var/support.js +6 -0
  162. data/assets/bower/jquery/src/var/toString.js +7 -0
  163. data/assets/bower/jquery/src/wrap.js +77 -0
  164. data/assets/bower/scrollreveal/.bower.json +36 -0
  165. data/assets/bower/scrollreveal/CHANGELOG.md +268 -0
  166. data/assets/bower/scrollreveal/LICENSE.md +12 -0
  167. data/assets/bower/scrollreveal/README.md +413 -0
  168. data/assets/bower/scrollreveal/bower.json +24 -0
  169. data/assets/bower/scrollreveal/dist/scrollreveal.js +860 -0
  170. data/assets/bower/scrollreveal/dist/scrollreveal.min.js +1 -0
  171. data/assets/bower/turbolinks5/.blade.yml +15 -0
  172. data/assets/bower/turbolinks5/.bower.json +14 -0
  173. data/assets/bower/turbolinks5/.gitignore +2 -0
  174. data/assets/bower/turbolinks5/CONDUCT.md +79 -0
  175. data/assets/bower/turbolinks5/Gemfile +9 -0
  176. data/assets/bower/turbolinks5/LICENSE +20 -0
  177. data/assets/bower/turbolinks5/README.md +435 -0
  178. data/assets/bower/turbolinks5/bin/blade +16 -0
  179. data/assets/bower/turbolinks5/bin/rackup +16 -0
  180. data/assets/bower/turbolinks5/config.ru +8 -0
  181. data/assets/bower/turbolinks5/dist/turbolinks.js +6 -0
  182. data/assets/bower/turbolinks5/package.json +31 -0
  183. data/assets/bower/turbolinks5/src/turbolinks/BANNER.js.erb +4 -0
  184. data/assets/bower/turbolinks5/src/turbolinks/VERSION +1 -0
  185. data/assets/bower/turbolinks5/src/turbolinks/browser_adapter.coffee +61 -0
  186. data/assets/bower/turbolinks5/src/turbolinks/compatibility.coffee +30 -0
  187. data/assets/bower/turbolinks5/src/turbolinks/controller.coffee +239 -0
  188. data/assets/bower/turbolinks5/src/turbolinks/error_renderer.coffee +21 -0
  189. data/assets/bower/turbolinks5/src/turbolinks/head_details.coffee +51 -0
  190. data/assets/bower/turbolinks5/src/turbolinks/helpers.coffee +51 -0
  191. data/assets/bower/turbolinks5/src/turbolinks/history.coffee +46 -0
  192. data/assets/bower/turbolinks5/src/turbolinks/http_request.coffee +88 -0
  193. data/assets/bower/turbolinks5/src/turbolinks/index.coffee +16 -0
  194. data/assets/bower/turbolinks5/src/turbolinks/location.coffee +70 -0
  195. data/assets/bower/turbolinks5/src/turbolinks/progress_bar.coffee +83 -0
  196. data/assets/bower/turbolinks5/src/turbolinks/renderer.coffee +27 -0
  197. data/assets/bower/turbolinks5/src/turbolinks/scroll_manager.coffee +27 -0
  198. data/assets/bower/turbolinks5/src/turbolinks/snapshot.coffee +47 -0
  199. data/assets/bower/turbolinks5/src/turbolinks/snapshot_cache.coffee +43 -0
  200. data/assets/bower/turbolinks5/src/turbolinks/snapshot_renderer.coffee +88 -0
  201. data/assets/bower/turbolinks5/src/turbolinks/start.coffee +18 -0
  202. data/assets/bower/turbolinks5/src/turbolinks/view.coffee +34 -0
  203. data/assets/bower/turbolinks5/src/turbolinks/visit.coffee +162 -0
  204. data/assets/bower/turbolinks5/test/src/fixtures/additional_assets.html +12 -0
  205. data/assets/bower/turbolinks5/test/src/fixtures/body_script.html +18 -0
  206. data/assets/bower/turbolinks5/test/src/fixtures/eval_false_script.html +18 -0
  207. data/assets/bower/turbolinks5/test/src/fixtures/head_script.html +18 -0
  208. data/assets/bower/turbolinks5/test/src/fixtures/navigation.html +21 -0
  209. data/assets/bower/turbolinks5/test/src/fixtures/one.html +12 -0
  210. data/assets/bower/turbolinks5/test/src/fixtures/rendering.html +20 -0
  211. data/assets/bower/turbolinks5/test/src/fixtures/tracked_asset_change.html +11 -0
  212. data/assets/bower/turbolinks5/test/src/fixtures/visit.html +14 -0
  213. data/assets/bower/turbolinks5/test/src/head.html.erb +1 -0
  214. data/assets/bower/turbolinks5/test/src/helpers/replicant_helpers.coffee +18 -0
  215. data/assets/bower/turbolinks5/test/src/modules/navigation_tests.coffee +75 -0
  216. data/assets/bower/turbolinks5/test/src/modules/rendering_tests.coffee +123 -0
  217. data/assets/bower/turbolinks5/test/src/modules/visit_tests.coffee +49 -0
  218. data/assets/bower/turbolinks5/test/src/test.coffee +4 -0
  219. data/assets/bower/turbolinks5/test/src/test.css +20 -0
  220. data/assets/bower/turbolinks5/test/vendor/replicant.js +10 -0
  221. data/assets/fonts/cormorant-garamond/Cormorant-Garamond-700.eot +0 -0
  222. data/assets/fonts/cormorant-garamond/Cormorant-Garamond-700.ttf +0 -0
  223. data/assets/fonts/cormorant-garamond/Cormorant-Garamond-700.woff +0 -0
  224. data/assets/fonts/cormorant-garamond/Cormorant-Garamond-700.woff2 +0 -0
  225. data/assets/fonts/ionicons/ionicons.eot +0 -0
  226. data/assets/fonts/ionicons/ionicons.svg +2232 -0
  227. data/assets/fonts/ionicons/ionicons.ttf +0 -0
  228. data/assets/fonts/ionicons/ionicons.woff +0 -0
  229. data/assets/fonts/lato/Lato-300.eot +0 -0
  230. data/assets/fonts/lato/Lato-300.ttf +0 -0
  231. data/assets/fonts/lato/Lato-300.woff +0 -0
  232. data/assets/fonts/lato/Lato-300.woff2 +0 -0
  233. data/assets/fonts/lato/Lato-700.eot +0 -0
  234. data/assets/fonts/lato/Lato-700.ttf +0 -0
  235. data/assets/fonts/lato/Lato-700.woff +0 -0
  236. data/assets/fonts/lato/Lato-700.woff2 +0 -0
  237. data/assets/fonts/lato/Lato-regular.eot +0 -0
  238. data/assets/fonts/lato/Lato-regular.ttf +0 -0
  239. data/assets/fonts/lato/Lato-regular.woff +0 -0
  240. data/assets/fonts/lato/Lato-regular.woff2 +0 -0
  241. data/assets/images/about.jpg +0 -0
  242. data/assets/images/about@2x.jpg +0 -0
  243. data/assets/images/apple-touch-icon.png +0 -0
  244. data/assets/images/documentation/chalk-intro.png +0 -0
  245. data/assets/images/documentation/chalk-intro@2x.png +0 -0
  246. data/assets/images/documentation/enlarge.gif +0 -0
  247. data/assets/images/documentation/enlarge@2x.gif +0 -0
  248. data/assets/images/documentation/sample-image.jpg +0 -0
  249. data/assets/images/documentation/sample-image@2x.jpg +0 -0
  250. data/assets/images/og-image.jpg +0 -0
  251. data/assets/javascripts/application.js +24 -0
  252. data/assets/javascripts/vendor.js +6 -0
  253. data/assets/javascripts/vendor/jquery-throttle-debounce.js +9 -0
  254. data/assets/javascripts/vendor/retina.js +182 -0
  255. data/assets/stylesheets/.csscomb.json +197 -0
  256. data/assets/stylesheets/.scss-lint.yml +33 -0
  257. data/assets/stylesheets/_base.scss +151 -0
  258. data/assets/stylesheets/_mixins.scss +28 -0
  259. data/assets/stylesheets/_variables.scss +47 -0
  260. data/assets/stylesheets/dark.scss +70 -0
  261. data/assets/stylesheets/fonts.scss +63 -0
  262. data/assets/stylesheets/layouts/_footer.scss +17 -0
  263. data/assets/stylesheets/layouts/_grid.scss +102 -0
  264. data/assets/stylesheets/light.scss +70 -0
  265. data/assets/stylesheets/modules/_about.scss +10 -0
  266. data/assets/stylesheets/modules/_articles.scss +211 -0
  267. data/assets/stylesheets/modules/_embed.scss +31 -0
  268. data/assets/stylesheets/modules/_header.scss +57 -0
  269. data/assets/stylesheets/modules/_highlights-dark.scss +415 -0
  270. data/assets/stylesheets/modules/_highlights-light.scss +409 -0
  271. data/assets/stylesheets/modules/_icons.scss +2967 -0
  272. data/assets/stylesheets/notfound-dark.scss +90 -0
  273. data/assets/stylesheets/notfound-light.scss +90 -0
  274. data/assets/stylesheets/vendor/_normalize.scss +461 -0
  275. metadata +276 -3
@@ -0,0 +1,22 @@
1
+ define( [
2
+ "../core",
3
+ "../event"
4
+ ], function( jQuery ) {
5
+
6
+ "use strict";
7
+
8
+ // Attach a bunch of functions for handling common AJAX events
9
+ jQuery.each( [
10
+ "ajaxStart",
11
+ "ajaxStop",
12
+ "ajaxComplete",
13
+ "ajaxError",
14
+ "ajaxSuccess",
15
+ "ajaxSend"
16
+ ], function( i, type ) {
17
+ jQuery.fn[ type ] = function( fn ) {
18
+ return this.on( type, fn );
19
+ };
20
+ } );
21
+
22
+ } );
@@ -0,0 +1,29 @@
1
+ define( [
2
+ "../core",
3
+
4
+ "../event",
5
+ "./trigger"
6
+ ], function( jQuery ) {
7
+
8
+ "use strict";
9
+
10
+ jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
11
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
12
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
13
+ function( i, name ) {
14
+
15
+ // Handle event binding
16
+ jQuery.fn[ name ] = function( data, fn ) {
17
+ return arguments.length > 0 ?
18
+ this.on( name, null, data, fn ) :
19
+ this.trigger( name );
20
+ };
21
+ } );
22
+
23
+ jQuery.fn.extend( {
24
+ hover: function( fnOver, fnOut ) {
25
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
26
+ }
27
+ } );
28
+
29
+ } );
@@ -0,0 +1,55 @@
1
+ define( [
2
+ "../core",
3
+ "../data/var/dataPriv",
4
+ "./support",
5
+
6
+ "../event",
7
+ "./trigger"
8
+ ], function( jQuery, dataPriv, support ) {
9
+
10
+ "use strict";
11
+
12
+ // Support: Firefox <=44
13
+ // Firefox doesn't have focus(in | out) events
14
+ // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
15
+ //
16
+ // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
17
+ // focus(in | out) events fire after focus & blur events,
18
+ // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
19
+ // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
20
+ if ( !support.focusin ) {
21
+ jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
22
+
23
+ // Attach a single capturing handler on the document while someone wants focusin/focusout
24
+ var handler = function( event ) {
25
+ jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
26
+ };
27
+
28
+ jQuery.event.special[ fix ] = {
29
+ setup: function() {
30
+ var doc = this.ownerDocument || this,
31
+ attaches = dataPriv.access( doc, fix );
32
+
33
+ if ( !attaches ) {
34
+ doc.addEventListener( orig, handler, true );
35
+ }
36
+ dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
37
+ },
38
+ teardown: function() {
39
+ var doc = this.ownerDocument || this,
40
+ attaches = dataPriv.access( doc, fix ) - 1;
41
+
42
+ if ( !attaches ) {
43
+ doc.removeEventListener( orig, handler, true );
44
+ dataPriv.remove( doc, fix );
45
+
46
+ } else {
47
+ dataPriv.access( doc, fix, attaches );
48
+ }
49
+ }
50
+ };
51
+ } );
52
+ }
53
+
54
+ return jQuery;
55
+ } );
@@ -0,0 +1,11 @@
1
+ define( [
2
+ "../var/support"
3
+ ], function( support ) {
4
+
5
+ "use strict";
6
+
7
+ support.focusin = "onfocusin" in window;
8
+
9
+ return support;
10
+
11
+ } );
@@ -0,0 +1,185 @@
1
+ define( [
2
+ "../core",
3
+ "../var/document",
4
+ "../data/var/dataPriv",
5
+ "../data/var/acceptData",
6
+ "../var/hasOwn",
7
+
8
+ "../event"
9
+ ], function( jQuery, document, dataPriv, acceptData, hasOwn ) {
10
+
11
+ "use strict";
12
+
13
+ var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;
14
+
15
+ jQuery.extend( jQuery.event, {
16
+
17
+ trigger: function( event, data, elem, onlyHandlers ) {
18
+
19
+ var i, cur, tmp, bubbleType, ontype, handle, special,
20
+ eventPath = [ elem || document ],
21
+ type = hasOwn.call( event, "type" ) ? event.type : event,
22
+ namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
23
+
24
+ cur = tmp = elem = elem || document;
25
+
26
+ // Don't do events on text and comment nodes
27
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
28
+ return;
29
+ }
30
+
31
+ // focus/blur morphs to focusin/out; ensure we're not firing them right now
32
+ if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
33
+ return;
34
+ }
35
+
36
+ if ( type.indexOf( "." ) > -1 ) {
37
+
38
+ // Namespaced trigger; create a regexp to match event type in handle()
39
+ namespaces = type.split( "." );
40
+ type = namespaces.shift();
41
+ namespaces.sort();
42
+ }
43
+ ontype = type.indexOf( ":" ) < 0 && "on" + type;
44
+
45
+ // Caller can pass in a jQuery.Event object, Object, or just an event type string
46
+ event = event[ jQuery.expando ] ?
47
+ event :
48
+ new jQuery.Event( type, typeof event === "object" && event );
49
+
50
+ // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
51
+ event.isTrigger = onlyHandlers ? 2 : 3;
52
+ event.namespace = namespaces.join( "." );
53
+ event.rnamespace = event.namespace ?
54
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
55
+ null;
56
+
57
+ // Clean up the event in case it is being reused
58
+ event.result = undefined;
59
+ if ( !event.target ) {
60
+ event.target = elem;
61
+ }
62
+
63
+ // Clone any incoming data and prepend the event, creating the handler arg list
64
+ data = data == null ?
65
+ [ event ] :
66
+ jQuery.makeArray( data, [ event ] );
67
+
68
+ // Allow special events to draw outside the lines
69
+ special = jQuery.event.special[ type ] || {};
70
+ if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
71
+ return;
72
+ }
73
+
74
+ // Determine event propagation path in advance, per W3C events spec (#9951)
75
+ // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
76
+ if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
77
+
78
+ bubbleType = special.delegateType || type;
79
+ if ( !rfocusMorph.test( bubbleType + type ) ) {
80
+ cur = cur.parentNode;
81
+ }
82
+ for ( ; cur; cur = cur.parentNode ) {
83
+ eventPath.push( cur );
84
+ tmp = cur;
85
+ }
86
+
87
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
88
+ if ( tmp === ( elem.ownerDocument || document ) ) {
89
+ eventPath.push( tmp.defaultView || tmp.parentWindow || window );
90
+ }
91
+ }
92
+
93
+ // Fire handlers on the event path
94
+ i = 0;
95
+ while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
96
+
97
+ event.type = i > 1 ?
98
+ bubbleType :
99
+ special.bindType || type;
100
+
101
+ // jQuery handler
102
+ handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
103
+ dataPriv.get( cur, "handle" );
104
+ if ( handle ) {
105
+ handle.apply( cur, data );
106
+ }
107
+
108
+ // Native handler
109
+ handle = ontype && cur[ ontype ];
110
+ if ( handle && handle.apply && acceptData( cur ) ) {
111
+ event.result = handle.apply( cur, data );
112
+ if ( event.result === false ) {
113
+ event.preventDefault();
114
+ }
115
+ }
116
+ }
117
+ event.type = type;
118
+
119
+ // If nobody prevented the default action, do it now
120
+ if ( !onlyHandlers && !event.isDefaultPrevented() ) {
121
+
122
+ if ( ( !special._default ||
123
+ special._default.apply( eventPath.pop(), data ) === false ) &&
124
+ acceptData( elem ) ) {
125
+
126
+ // Call a native DOM method on the target with the same name as the event.
127
+ // Don't do default actions on window, that's where global variables be (#6170)
128
+ if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
129
+
130
+ // Don't re-trigger an onFOO event when we call its FOO() method
131
+ tmp = elem[ ontype ];
132
+
133
+ if ( tmp ) {
134
+ elem[ ontype ] = null;
135
+ }
136
+
137
+ // Prevent re-triggering of the same event, since we already bubbled it above
138
+ jQuery.event.triggered = type;
139
+ elem[ type ]();
140
+ jQuery.event.triggered = undefined;
141
+
142
+ if ( tmp ) {
143
+ elem[ ontype ] = tmp;
144
+ }
145
+ }
146
+ }
147
+ }
148
+
149
+ return event.result;
150
+ },
151
+
152
+ // Piggyback on a donor event to simulate a different one
153
+ // Used only for `focus(in | out)` events
154
+ simulate: function( type, elem, event ) {
155
+ var e = jQuery.extend(
156
+ new jQuery.Event(),
157
+ event,
158
+ {
159
+ type: type,
160
+ isSimulated: true
161
+ }
162
+ );
163
+
164
+ jQuery.event.trigger( e, null, elem );
165
+ }
166
+
167
+ } );
168
+
169
+ jQuery.fn.extend( {
170
+
171
+ trigger: function( type, data ) {
172
+ return this.each( function() {
173
+ jQuery.event.trigger( type, data, this );
174
+ } );
175
+ },
176
+ triggerHandler: function( type, data ) {
177
+ var elem = this[ 0 ];
178
+ if ( elem ) {
179
+ return jQuery.event.trigger( type, data, elem, true );
180
+ }
181
+ }
182
+ } );
183
+
184
+ return jQuery;
185
+ } );
@@ -0,0 +1,26 @@
1
+ define( [
2
+ "../core"
3
+ ], function( jQuery ) {
4
+
5
+ "use strict";
6
+
7
+ // Register as a named AMD module, since jQuery can be concatenated with other
8
+ // files that may use define, but not via a proper concatenation script that
9
+ // understands anonymous AMD modules. A named AMD is safest and most robust
10
+ // way to register. Lowercase jquery is used because AMD module names are
11
+ // derived from file names, and jQuery is normally delivered in a lowercase
12
+ // file name. Do this after creating the global so that if an AMD module wants
13
+ // to call noConflict to hide this version of jQuery, it will work.
14
+
15
+ // Note that for maximum portability, libraries that are not jQuery should
16
+ // declare themselves as anonymous modules, and avoid setting a global if an
17
+ // AMD loader is present. jQuery is a special case. For more information, see
18
+ // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
19
+
20
+ if ( typeof define === "function" && define.amd ) {
21
+ define( "jquery", [], function() {
22
+ return jQuery;
23
+ } );
24
+ }
25
+
26
+ } );
@@ -0,0 +1,34 @@
1
+ define( [
2
+ "../core"
3
+ ], function( jQuery, noGlobal ) {
4
+
5
+ "use strict";
6
+
7
+ var
8
+
9
+ // Map over jQuery in case of overwrite
10
+ _jQuery = window.jQuery,
11
+
12
+ // Map over the $ in case of overwrite
13
+ _$ = window.$;
14
+
15
+ jQuery.noConflict = function( deep ) {
16
+ if ( window.$ === jQuery ) {
17
+ window.$ = _$;
18
+ }
19
+
20
+ if ( deep && window.jQuery === jQuery ) {
21
+ window.jQuery = _jQuery;
22
+ }
23
+
24
+ return jQuery;
25
+ };
26
+
27
+ // Expose jQuery and $ identifiers, even in AMD
28
+ // (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
29
+ // and CommonJS for browser emulators (#13566)
30
+ if ( !noGlobal ) {
31
+ window.jQuery = window.$ = jQuery;
32
+ }
33
+
34
+ } );
@@ -0,0 +1,41 @@
1
+ define( [
2
+ "./core",
3
+ "./selector",
4
+ "./traversing",
5
+ "./callbacks",
6
+ "./deferred",
7
+ "./deferred/exceptionHook",
8
+ "./core/ready",
9
+ "./data",
10
+ "./queue",
11
+ "./queue/delay",
12
+ "./attributes",
13
+ "./event",
14
+ "./event/alias",
15
+ "./event/focusin",
16
+ "./manipulation",
17
+ "./manipulation/_evalUrl",
18
+ "./wrap",
19
+ "./css",
20
+ "./css/hiddenVisibleSelectors",
21
+ "./serialize",
22
+ "./ajax",
23
+ "./ajax/xhr",
24
+ "./ajax/script",
25
+ "./ajax/jsonp",
26
+ "./ajax/load",
27
+ "./event/ajax",
28
+ "./effects",
29
+ "./effects/animatedSelector",
30
+ "./offset",
31
+ "./dimensions",
32
+ "./deprecated",
33
+ "./exports/amd",
34
+ "./exports/global"
35
+ ], function( jQuery ) {
36
+
37
+ "use strict";
38
+
39
+ return jQuery;
40
+
41
+ } );
@@ -0,0 +1,486 @@
1
+ define( [
2
+ "./core",
3
+ "./var/concat",
4
+ "./var/push",
5
+ "./core/access",
6
+ "./manipulation/var/rcheckableType",
7
+ "./manipulation/var/rtagName",
8
+ "./manipulation/var/rscriptType",
9
+ "./manipulation/wrapMap",
10
+ "./manipulation/getAll",
11
+ "./manipulation/setGlobalEval",
12
+ "./manipulation/buildFragment",
13
+ "./manipulation/support",
14
+
15
+ "./data/var/dataPriv",
16
+ "./data/var/dataUser",
17
+ "./data/var/acceptData",
18
+ "./core/DOMEval",
19
+
20
+ "./core/init",
21
+ "./traversing",
22
+ "./selector",
23
+ "./event"
24
+ ], function( jQuery, concat, push, access,
25
+ rcheckableType, rtagName, rscriptType,
26
+ wrapMap, getAll, setGlobalEval, buildFragment, support,
27
+ dataPriv, dataUser, acceptData, DOMEval ) {
28
+
29
+ "use strict";
30
+
31
+ var
32
+
33
+ /* eslint-disable max-len */
34
+
35
+ // See https://github.com/eslint/eslint/issues/3229
36
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
37
+
38
+ /* eslint-enable */
39
+
40
+ // Support: IE <=10 - 11, Edge 12 - 13
41
+ // In IE/Edge using regex groups here causes severe slowdowns.
42
+ // See https://connect.microsoft.com/IE/feedback/details/1736512/
43
+ rnoInnerhtml = /<script|<style|<link/i,
44
+
45
+ // checked="checked" or checked
46
+ rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
47
+ rscriptTypeMasked = /^true\/(.*)/,
48
+ rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
49
+
50
+ function manipulationTarget( elem, content ) {
51
+ if ( jQuery.nodeName( elem, "table" ) &&
52
+ jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
53
+
54
+ return elem.getElementsByTagName( "tbody" )[ 0 ] || elem;
55
+ }
56
+
57
+ return elem;
58
+ }
59
+
60
+ // Replace/restore the type attribute of script elements for safe DOM manipulation
61
+ function disableScript( elem ) {
62
+ elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
63
+ return elem;
64
+ }
65
+ function restoreScript( elem ) {
66
+ var match = rscriptTypeMasked.exec( elem.type );
67
+
68
+ if ( match ) {
69
+ elem.type = match[ 1 ];
70
+ } else {
71
+ elem.removeAttribute( "type" );
72
+ }
73
+
74
+ return elem;
75
+ }
76
+
77
+ function cloneCopyEvent( src, dest ) {
78
+ var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
79
+
80
+ if ( dest.nodeType !== 1 ) {
81
+ return;
82
+ }
83
+
84
+ // 1. Copy private data: events, handlers, etc.
85
+ if ( dataPriv.hasData( src ) ) {
86
+ pdataOld = dataPriv.access( src );
87
+ pdataCur = dataPriv.set( dest, pdataOld );
88
+ events = pdataOld.events;
89
+
90
+ if ( events ) {
91
+ delete pdataCur.handle;
92
+ pdataCur.events = {};
93
+
94
+ for ( type in events ) {
95
+ for ( i = 0, l = events[ type ].length; i < l; i++ ) {
96
+ jQuery.event.add( dest, type, events[ type ][ i ] );
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ // 2. Copy user data
103
+ if ( dataUser.hasData( src ) ) {
104
+ udataOld = dataUser.access( src );
105
+ udataCur = jQuery.extend( {}, udataOld );
106
+
107
+ dataUser.set( dest, udataCur );
108
+ }
109
+ }
110
+
111
+ // Fix IE bugs, see support tests
112
+ function fixInput( src, dest ) {
113
+ var nodeName = dest.nodeName.toLowerCase();
114
+
115
+ // Fails to persist the checked state of a cloned checkbox or radio button.
116
+ if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
117
+ dest.checked = src.checked;
118
+
119
+ // Fails to return the selected option to the default selected state when cloning options
120
+ } else if ( nodeName === "input" || nodeName === "textarea" ) {
121
+ dest.defaultValue = src.defaultValue;
122
+ }
123
+ }
124
+
125
+ function domManip( collection, args, callback, ignored ) {
126
+
127
+ // Flatten any nested arrays
128
+ args = concat.apply( [], args );
129
+
130
+ var fragment, first, scripts, hasScripts, node, doc,
131
+ i = 0,
132
+ l = collection.length,
133
+ iNoClone = l - 1,
134
+ value = args[ 0 ],
135
+ isFunction = jQuery.isFunction( value );
136
+
137
+ // We can't cloneNode fragments that contain checked, in WebKit
138
+ if ( isFunction ||
139
+ ( l > 1 && typeof value === "string" &&
140
+ !support.checkClone && rchecked.test( value ) ) ) {
141
+ return collection.each( function( index ) {
142
+ var self = collection.eq( index );
143
+ if ( isFunction ) {
144
+ args[ 0 ] = value.call( this, index, self.html() );
145
+ }
146
+ domManip( self, args, callback, ignored );
147
+ } );
148
+ }
149
+
150
+ if ( l ) {
151
+ fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
152
+ first = fragment.firstChild;
153
+
154
+ if ( fragment.childNodes.length === 1 ) {
155
+ fragment = first;
156
+ }
157
+
158
+ // Require either new content or an interest in ignored elements to invoke the callback
159
+ if ( first || ignored ) {
160
+ scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
161
+ hasScripts = scripts.length;
162
+
163
+ // Use the original fragment for the last item
164
+ // instead of the first because it can end up
165
+ // being emptied incorrectly in certain situations (#8070).
166
+ for ( ; i < l; i++ ) {
167
+ node = fragment;
168
+
169
+ if ( i !== iNoClone ) {
170
+ node = jQuery.clone( node, true, true );
171
+
172
+ // Keep references to cloned scripts for later restoration
173
+ if ( hasScripts ) {
174
+
175
+ // Support: Android <=4.0 only, PhantomJS 1 only
176
+ // push.apply(_, arraylike) throws on ancient WebKit
177
+ jQuery.merge( scripts, getAll( node, "script" ) );
178
+ }
179
+ }
180
+
181
+ callback.call( collection[ i ], node, i );
182
+ }
183
+
184
+ if ( hasScripts ) {
185
+ doc = scripts[ scripts.length - 1 ].ownerDocument;
186
+
187
+ // Reenable scripts
188
+ jQuery.map( scripts, restoreScript );
189
+
190
+ // Evaluate executable scripts on first document insertion
191
+ for ( i = 0; i < hasScripts; i++ ) {
192
+ node = scripts[ i ];
193
+ if ( rscriptType.test( node.type || "" ) &&
194
+ !dataPriv.access( node, "globalEval" ) &&
195
+ jQuery.contains( doc, node ) ) {
196
+
197
+ if ( node.src ) {
198
+
199
+ // Optional AJAX dependency, but won't run scripts if not present
200
+ if ( jQuery._evalUrl ) {
201
+ jQuery._evalUrl( node.src );
202
+ }
203
+ } else {
204
+ DOMEval( node.textContent.replace( rcleanScript, "" ), doc );
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ }
211
+
212
+ return collection;
213
+ }
214
+
215
+ function remove( elem, selector, keepData ) {
216
+ var node,
217
+ nodes = selector ? jQuery.filter( selector, elem ) : elem,
218
+ i = 0;
219
+
220
+ for ( ; ( node = nodes[ i ] ) != null; i++ ) {
221
+ if ( !keepData && node.nodeType === 1 ) {
222
+ jQuery.cleanData( getAll( node ) );
223
+ }
224
+
225
+ if ( node.parentNode ) {
226
+ if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
227
+ setGlobalEval( getAll( node, "script" ) );
228
+ }
229
+ node.parentNode.removeChild( node );
230
+ }
231
+ }
232
+
233
+ return elem;
234
+ }
235
+
236
+ jQuery.extend( {
237
+ htmlPrefilter: function( html ) {
238
+ return html.replace( rxhtmlTag, "<$1></$2>" );
239
+ },
240
+
241
+ clone: function( elem, dataAndEvents, deepDataAndEvents ) {
242
+ var i, l, srcElements, destElements,
243
+ clone = elem.cloneNode( true ),
244
+ inPage = jQuery.contains( elem.ownerDocument, elem );
245
+
246
+ // Fix IE cloning issues
247
+ if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
248
+ !jQuery.isXMLDoc( elem ) ) {
249
+
250
+ // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
251
+ destElements = getAll( clone );
252
+ srcElements = getAll( elem );
253
+
254
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
255
+ fixInput( srcElements[ i ], destElements[ i ] );
256
+ }
257
+ }
258
+
259
+ // Copy the events from the original to the clone
260
+ if ( dataAndEvents ) {
261
+ if ( deepDataAndEvents ) {
262
+ srcElements = srcElements || getAll( elem );
263
+ destElements = destElements || getAll( clone );
264
+
265
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
266
+ cloneCopyEvent( srcElements[ i ], destElements[ i ] );
267
+ }
268
+ } else {
269
+ cloneCopyEvent( elem, clone );
270
+ }
271
+ }
272
+
273
+ // Preserve script evaluation history
274
+ destElements = getAll( clone, "script" );
275
+ if ( destElements.length > 0 ) {
276
+ setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
277
+ }
278
+
279
+ // Return the cloned set
280
+ return clone;
281
+ },
282
+
283
+ cleanData: function( elems ) {
284
+ var data, elem, type,
285
+ special = jQuery.event.special,
286
+ i = 0;
287
+
288
+ for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
289
+ if ( acceptData( elem ) ) {
290
+ if ( ( data = elem[ dataPriv.expando ] ) ) {
291
+ if ( data.events ) {
292
+ for ( type in data.events ) {
293
+ if ( special[ type ] ) {
294
+ jQuery.event.remove( elem, type );
295
+
296
+ // This is a shortcut to avoid jQuery.event.remove's overhead
297
+ } else {
298
+ jQuery.removeEvent( elem, type, data.handle );
299
+ }
300
+ }
301
+ }
302
+
303
+ // Support: Chrome <=35 - 45+
304
+ // Assign undefined instead of using delete, see Data#remove
305
+ elem[ dataPriv.expando ] = undefined;
306
+ }
307
+ if ( elem[ dataUser.expando ] ) {
308
+
309
+ // Support: Chrome <=35 - 45+
310
+ // Assign undefined instead of using delete, see Data#remove
311
+ elem[ dataUser.expando ] = undefined;
312
+ }
313
+ }
314
+ }
315
+ }
316
+ } );
317
+
318
+ jQuery.fn.extend( {
319
+ detach: function( selector ) {
320
+ return remove( this, selector, true );
321
+ },
322
+
323
+ remove: function( selector ) {
324
+ return remove( this, selector );
325
+ },
326
+
327
+ text: function( value ) {
328
+ return access( this, function( value ) {
329
+ return value === undefined ?
330
+ jQuery.text( this ) :
331
+ this.empty().each( function() {
332
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
333
+ this.textContent = value;
334
+ }
335
+ } );
336
+ }, null, value, arguments.length );
337
+ },
338
+
339
+ append: function() {
340
+ return domManip( this, arguments, function( elem ) {
341
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
342
+ var target = manipulationTarget( this, elem );
343
+ target.appendChild( elem );
344
+ }
345
+ } );
346
+ },
347
+
348
+ prepend: function() {
349
+ return domManip( this, arguments, function( elem ) {
350
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
351
+ var target = manipulationTarget( this, elem );
352
+ target.insertBefore( elem, target.firstChild );
353
+ }
354
+ } );
355
+ },
356
+
357
+ before: function() {
358
+ return domManip( this, arguments, function( elem ) {
359
+ if ( this.parentNode ) {
360
+ this.parentNode.insertBefore( elem, this );
361
+ }
362
+ } );
363
+ },
364
+
365
+ after: function() {
366
+ return domManip( this, arguments, function( elem ) {
367
+ if ( this.parentNode ) {
368
+ this.parentNode.insertBefore( elem, this.nextSibling );
369
+ }
370
+ } );
371
+ },
372
+
373
+ empty: function() {
374
+ var elem,
375
+ i = 0;
376
+
377
+ for ( ; ( elem = this[ i ] ) != null; i++ ) {
378
+ if ( elem.nodeType === 1 ) {
379
+
380
+ // Prevent memory leaks
381
+ jQuery.cleanData( getAll( elem, false ) );
382
+
383
+ // Remove any remaining nodes
384
+ elem.textContent = "";
385
+ }
386
+ }
387
+
388
+ return this;
389
+ },
390
+
391
+ clone: function( dataAndEvents, deepDataAndEvents ) {
392
+ dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
393
+ deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
394
+
395
+ return this.map( function() {
396
+ return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
397
+ } );
398
+ },
399
+
400
+ html: function( value ) {
401
+ return access( this, function( value ) {
402
+ var elem = this[ 0 ] || {},
403
+ i = 0,
404
+ l = this.length;
405
+
406
+ if ( value === undefined && elem.nodeType === 1 ) {
407
+ return elem.innerHTML;
408
+ }
409
+
410
+ // See if we can take a shortcut and just use innerHTML
411
+ if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
412
+ !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
413
+
414
+ value = jQuery.htmlPrefilter( value );
415
+
416
+ try {
417
+ for ( ; i < l; i++ ) {
418
+ elem = this[ i ] || {};
419
+
420
+ // Remove element nodes and prevent memory leaks
421
+ if ( elem.nodeType === 1 ) {
422
+ jQuery.cleanData( getAll( elem, false ) );
423
+ elem.innerHTML = value;
424
+ }
425
+ }
426
+
427
+ elem = 0;
428
+
429
+ // If using innerHTML throws an exception, use the fallback method
430
+ } catch ( e ) {}
431
+ }
432
+
433
+ if ( elem ) {
434
+ this.empty().append( value );
435
+ }
436
+ }, null, value, arguments.length );
437
+ },
438
+
439
+ replaceWith: function() {
440
+ var ignored = [];
441
+
442
+ // Make the changes, replacing each non-ignored context element with the new content
443
+ return domManip( this, arguments, function( elem ) {
444
+ var parent = this.parentNode;
445
+
446
+ if ( jQuery.inArray( this, ignored ) < 0 ) {
447
+ jQuery.cleanData( getAll( this ) );
448
+ if ( parent ) {
449
+ parent.replaceChild( elem, this );
450
+ }
451
+ }
452
+
453
+ // Force callback invocation
454
+ }, ignored );
455
+ }
456
+ } );
457
+
458
+ jQuery.each( {
459
+ appendTo: "append",
460
+ prependTo: "prepend",
461
+ insertBefore: "before",
462
+ insertAfter: "after",
463
+ replaceAll: "replaceWith"
464
+ }, function( name, original ) {
465
+ jQuery.fn[ name ] = function( selector ) {
466
+ var elems,
467
+ ret = [],
468
+ insert = jQuery( selector ),
469
+ last = insert.length - 1,
470
+ i = 0;
471
+
472
+ for ( ; i <= last; i++ ) {
473
+ elems = i === last ? this : this.clone( true );
474
+ jQuery( insert[ i ] )[ original ]( elems );
475
+
476
+ // Support: Android <=4.0 only, PhantomJS 1 only
477
+ // .get() because push.apply(_, arraylike) throws on ancient WebKit
478
+ push.apply( ret, elems.get() );
479
+ }
480
+
481
+ return this.pushStack( ret );
482
+ };
483
+ } );
484
+
485
+ return jQuery;
486
+ } );