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,33 @@
1
+ define( [
2
+ "../var/document",
3
+ "../var/support"
4
+ ], function( document, support ) {
5
+
6
+ "use strict";
7
+
8
+ ( function() {
9
+ var input = document.createElement( "input" ),
10
+ select = document.createElement( "select" ),
11
+ opt = select.appendChild( document.createElement( "option" ) );
12
+
13
+ input.type = "checkbox";
14
+
15
+ // Support: Android <=4.3 only
16
+ // Default value for a checkbox should be "on"
17
+ support.checkOn = input.value !== "";
18
+
19
+ // Support: IE <=11 only
20
+ // Must access selectedIndex to make default options select
21
+ support.optSelected = opt.selected;
22
+
23
+ // Support: IE <=11 only
24
+ // An input loses its value after becoming a radio
25
+ input = document.createElement( "input" );
26
+ input.value = "t";
27
+ input.type = "radio";
28
+ support.radioValue = input.value === "t";
29
+ } )();
30
+
31
+ return support;
32
+
33
+ } );
@@ -0,0 +1,188 @@
1
+ define( [
2
+ "../core",
3
+ "../core/stripAndCollapse",
4
+ "./support",
5
+ "../core/init"
6
+ ], function( jQuery, stripAndCollapse, support ) {
7
+
8
+ "use strict";
9
+
10
+ var rreturn = /\r/g;
11
+
12
+ jQuery.fn.extend( {
13
+ val: function( value ) {
14
+ var hooks, ret, isFunction,
15
+ elem = this[ 0 ];
16
+
17
+ if ( !arguments.length ) {
18
+ if ( elem ) {
19
+ hooks = jQuery.valHooks[ elem.type ] ||
20
+ jQuery.valHooks[ elem.nodeName.toLowerCase() ];
21
+
22
+ if ( hooks &&
23
+ "get" in hooks &&
24
+ ( ret = hooks.get( elem, "value" ) ) !== undefined
25
+ ) {
26
+ return ret;
27
+ }
28
+
29
+ ret = elem.value;
30
+
31
+ // Handle most common string cases
32
+ if ( typeof ret === "string" ) {
33
+ return ret.replace( rreturn, "" );
34
+ }
35
+
36
+ // Handle cases where value is null/undef or number
37
+ return ret == null ? "" : ret;
38
+ }
39
+
40
+ return;
41
+ }
42
+
43
+ isFunction = jQuery.isFunction( value );
44
+
45
+ return this.each( function( i ) {
46
+ var val;
47
+
48
+ if ( this.nodeType !== 1 ) {
49
+ return;
50
+ }
51
+
52
+ if ( isFunction ) {
53
+ val = value.call( this, i, jQuery( this ).val() );
54
+ } else {
55
+ val = value;
56
+ }
57
+
58
+ // Treat null/undefined as ""; convert numbers to string
59
+ if ( val == null ) {
60
+ val = "";
61
+
62
+ } else if ( typeof val === "number" ) {
63
+ val += "";
64
+
65
+ } else if ( jQuery.isArray( val ) ) {
66
+ val = jQuery.map( val, function( value ) {
67
+ return value == null ? "" : value + "";
68
+ } );
69
+ }
70
+
71
+ hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
72
+
73
+ // If set returns undefined, fall back to normal setting
74
+ if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
75
+ this.value = val;
76
+ }
77
+ } );
78
+ }
79
+ } );
80
+
81
+ jQuery.extend( {
82
+ valHooks: {
83
+ option: {
84
+ get: function( elem ) {
85
+
86
+ var val = jQuery.find.attr( elem, "value" );
87
+ return val != null ?
88
+ val :
89
+
90
+ // Support: IE <=10 - 11 only
91
+ // option.text throws exceptions (#14686, #14858)
92
+ // Strip and collapse whitespace
93
+ // https://html.spec.whatwg.org/#strip-and-collapse-whitespace
94
+ stripAndCollapse( jQuery.text( elem ) );
95
+ }
96
+ },
97
+ select: {
98
+ get: function( elem ) {
99
+ var value, option, i,
100
+ options = elem.options,
101
+ index = elem.selectedIndex,
102
+ one = elem.type === "select-one",
103
+ values = one ? null : [],
104
+ max = one ? index + 1 : options.length;
105
+
106
+ if ( index < 0 ) {
107
+ i = max;
108
+
109
+ } else {
110
+ i = one ? index : 0;
111
+ }
112
+
113
+ // Loop through all the selected options
114
+ for ( ; i < max; i++ ) {
115
+ option = options[ i ];
116
+
117
+ // Support: IE <=9 only
118
+ // IE8-9 doesn't update selected after form reset (#2551)
119
+ if ( ( option.selected || i === index ) &&
120
+
121
+ // Don't return options that are disabled or in a disabled optgroup
122
+ !option.disabled &&
123
+ ( !option.parentNode.disabled ||
124
+ !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
125
+
126
+ // Get the specific value for the option
127
+ value = jQuery( option ).val();
128
+
129
+ // We don't need an array for one selects
130
+ if ( one ) {
131
+ return value;
132
+ }
133
+
134
+ // Multi-Selects return an array
135
+ values.push( value );
136
+ }
137
+ }
138
+
139
+ return values;
140
+ },
141
+
142
+ set: function( elem, value ) {
143
+ var optionSet, option,
144
+ options = elem.options,
145
+ values = jQuery.makeArray( value ),
146
+ i = options.length;
147
+
148
+ while ( i-- ) {
149
+ option = options[ i ];
150
+
151
+ /* eslint-disable no-cond-assign */
152
+
153
+ if ( option.selected =
154
+ jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
155
+ ) {
156
+ optionSet = true;
157
+ }
158
+
159
+ /* eslint-enable no-cond-assign */
160
+ }
161
+
162
+ // Force browsers to behave consistently when non-matching value is set
163
+ if ( !optionSet ) {
164
+ elem.selectedIndex = -1;
165
+ }
166
+ return values;
167
+ }
168
+ }
169
+ }
170
+ } );
171
+
172
+ // Radios and checkboxes getter/setter
173
+ jQuery.each( [ "radio", "checkbox" ], function() {
174
+ jQuery.valHooks[ this ] = {
175
+ set: function( elem, value ) {
176
+ if ( jQuery.isArray( value ) ) {
177
+ return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
178
+ }
179
+ }
180
+ };
181
+ if ( !support.checkOn ) {
182
+ jQuery.valHooks[ this ].get = function( elem ) {
183
+ return elem.getAttribute( "value" ) === null ? "on" : elem.value;
184
+ };
185
+ }
186
+ } );
187
+
188
+ } );
@@ -0,0 +1,234 @@
1
+ define( [
2
+ "./core",
3
+ "./var/rnothtmlwhite"
4
+ ], function( jQuery, rnothtmlwhite ) {
5
+
6
+ "use strict";
7
+
8
+ // Convert String-formatted options into Object-formatted ones
9
+ function createOptions( options ) {
10
+ var object = {};
11
+ jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
12
+ object[ flag ] = true;
13
+ } );
14
+ return object;
15
+ }
16
+
17
+ /*
18
+ * Create a callback list using the following parameters:
19
+ *
20
+ * options: an optional list of space-separated options that will change how
21
+ * the callback list behaves or a more traditional option object
22
+ *
23
+ * By default a callback list will act like an event callback list and can be
24
+ * "fired" multiple times.
25
+ *
26
+ * Possible options:
27
+ *
28
+ * once: will ensure the callback list can only be fired once (like a Deferred)
29
+ *
30
+ * memory: will keep track of previous values and will call any callback added
31
+ * after the list has been fired right away with the latest "memorized"
32
+ * values (like a Deferred)
33
+ *
34
+ * unique: will ensure a callback can only be added once (no duplicate in the list)
35
+ *
36
+ * stopOnFalse: interrupt callings when a callback returns false
37
+ *
38
+ */
39
+ jQuery.Callbacks = function( options ) {
40
+
41
+ // Convert options from String-formatted to Object-formatted if needed
42
+ // (we check in cache first)
43
+ options = typeof options === "string" ?
44
+ createOptions( options ) :
45
+ jQuery.extend( {}, options );
46
+
47
+ var // Flag to know if list is currently firing
48
+ firing,
49
+
50
+ // Last fire value for non-forgettable lists
51
+ memory,
52
+
53
+ // Flag to know if list was already fired
54
+ fired,
55
+
56
+ // Flag to prevent firing
57
+ locked,
58
+
59
+ // Actual callback list
60
+ list = [],
61
+
62
+ // Queue of execution data for repeatable lists
63
+ queue = [],
64
+
65
+ // Index of currently firing callback (modified by add/remove as needed)
66
+ firingIndex = -1,
67
+
68
+ // Fire callbacks
69
+ fire = function() {
70
+
71
+ // Enforce single-firing
72
+ locked = options.once;
73
+
74
+ // Execute callbacks for all pending executions,
75
+ // respecting firingIndex overrides and runtime changes
76
+ fired = firing = true;
77
+ for ( ; queue.length; firingIndex = -1 ) {
78
+ memory = queue.shift();
79
+ while ( ++firingIndex < list.length ) {
80
+
81
+ // Run callback and check for early termination
82
+ if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
83
+ options.stopOnFalse ) {
84
+
85
+ // Jump to end and forget the data so .add doesn't re-fire
86
+ firingIndex = list.length;
87
+ memory = false;
88
+ }
89
+ }
90
+ }
91
+
92
+ // Forget the data if we're done with it
93
+ if ( !options.memory ) {
94
+ memory = false;
95
+ }
96
+
97
+ firing = false;
98
+
99
+ // Clean up if we're done firing for good
100
+ if ( locked ) {
101
+
102
+ // Keep an empty list if we have data for future add calls
103
+ if ( memory ) {
104
+ list = [];
105
+
106
+ // Otherwise, this object is spent
107
+ } else {
108
+ list = "";
109
+ }
110
+ }
111
+ },
112
+
113
+ // Actual Callbacks object
114
+ self = {
115
+
116
+ // Add a callback or a collection of callbacks to the list
117
+ add: function() {
118
+ if ( list ) {
119
+
120
+ // If we have memory from a past run, we should fire after adding
121
+ if ( memory && !firing ) {
122
+ firingIndex = list.length - 1;
123
+ queue.push( memory );
124
+ }
125
+
126
+ ( function add( args ) {
127
+ jQuery.each( args, function( _, arg ) {
128
+ if ( jQuery.isFunction( arg ) ) {
129
+ if ( !options.unique || !self.has( arg ) ) {
130
+ list.push( arg );
131
+ }
132
+ } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
133
+
134
+ // Inspect recursively
135
+ add( arg );
136
+ }
137
+ } );
138
+ } )( arguments );
139
+
140
+ if ( memory && !firing ) {
141
+ fire();
142
+ }
143
+ }
144
+ return this;
145
+ },
146
+
147
+ // Remove a callback from the list
148
+ remove: function() {
149
+ jQuery.each( arguments, function( _, arg ) {
150
+ var index;
151
+ while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
152
+ list.splice( index, 1 );
153
+
154
+ // Handle firing indexes
155
+ if ( index <= firingIndex ) {
156
+ firingIndex--;
157
+ }
158
+ }
159
+ } );
160
+ return this;
161
+ },
162
+
163
+ // Check if a given callback is in the list.
164
+ // If no argument is given, return whether or not list has callbacks attached.
165
+ has: function( fn ) {
166
+ return fn ?
167
+ jQuery.inArray( fn, list ) > -1 :
168
+ list.length > 0;
169
+ },
170
+
171
+ // Remove all callbacks from the list
172
+ empty: function() {
173
+ if ( list ) {
174
+ list = [];
175
+ }
176
+ return this;
177
+ },
178
+
179
+ // Disable .fire and .add
180
+ // Abort any current/pending executions
181
+ // Clear all callbacks and values
182
+ disable: function() {
183
+ locked = queue = [];
184
+ list = memory = "";
185
+ return this;
186
+ },
187
+ disabled: function() {
188
+ return !list;
189
+ },
190
+
191
+ // Disable .fire
192
+ // Also disable .add unless we have memory (since it would have no effect)
193
+ // Abort any pending executions
194
+ lock: function() {
195
+ locked = queue = [];
196
+ if ( !memory && !firing ) {
197
+ list = memory = "";
198
+ }
199
+ return this;
200
+ },
201
+ locked: function() {
202
+ return !!locked;
203
+ },
204
+
205
+ // Call all callbacks with the given context and arguments
206
+ fireWith: function( context, args ) {
207
+ if ( !locked ) {
208
+ args = args || [];
209
+ args = [ context, args.slice ? args.slice() : args ];
210
+ queue.push( args );
211
+ if ( !firing ) {
212
+ fire();
213
+ }
214
+ }
215
+ return this;
216
+ },
217
+
218
+ // Call all the callbacks with the given arguments
219
+ fire: function() {
220
+ self.fireWith( this, arguments );
221
+ return this;
222
+ },
223
+
224
+ // To know if the callbacks have already been called at least once
225
+ fired: function() {
226
+ return !!fired;
227
+ }
228
+ };
229
+
230
+ return self;
231
+ };
232
+
233
+ return jQuery;
234
+ } );