utopia-wiki 0.2.0

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