rails_modular_admin 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1416) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/list.txt +23 -0
  3. data/app/assets/javascripts/rails_modular_admin/vendor.js +60351 -60351
  4. data/app/assets/javascripts/rails_modular_admin.js +1 -0
  5. data/app/assets/node_modules/animate.css/LICENSE +21 -0
  6. data/app/assets/node_modules/animate.css/README.md +233 -0
  7. data/app/assets/node_modules/animate.css/animate-config.json +120 -0
  8. data/app/assets/node_modules/animate.css/animate.css +3494 -0
  9. data/app/assets/node_modules/animate.css/animate.min.css +11 -0
  10. data/app/assets/node_modules/animate.css/bower.json +5 -0
  11. data/app/assets/node_modules/animate.css/gulpfile.js +107 -0
  12. data/app/assets/node_modules/animate.css/package.json +54 -0
  13. data/app/assets/node_modules/animate.css/source/_base.css +8 -0
  14. data/app/assets/node_modules/animate.css/source/attention_seekers/bounce.css +30 -0
  15. data/app/assets/node_modules/animate.css/source/attention_seekers/flash.css +16 -0
  16. data/app/assets/node_modules/animate.css/source/attention_seekers/headShake.css +30 -0
  17. data/app/assets/node_modules/animate.css/source/attention_seekers/jello.css +40 -0
  18. data/app/assets/node_modules/animate.css/source/attention_seekers/pulse.css +19 -0
  19. data/app/assets/node_modules/animate.css/source/attention_seekers/rubberBand.css +33 -0
  20. data/app/assets/node_modules/animate.css/source/attention_seekers/shake.css +25 -0
  21. data/app/assets/node_modules/animate.css/source/attention_seekers/swing.css +26 -0
  22. data/app/assets/node_modules/animate.css/source/attention_seekers/tada.css +31 -0
  23. data/app/assets/node_modules/animate.css/source/attention_seekers/wobble.css +35 -0
  24. data/app/assets/node_modules/animate.css/source/bouncing_entrances/bounceIn.css +42 -0
  25. data/app/assets/node_modules/animate.css/source/bouncing_entrances/bounceInDown.css +35 -0
  26. data/app/assets/node_modules/animate.css/source/bouncing_entrances/bounceInLeft.css +35 -0
  27. data/app/assets/node_modules/animate.css/source/bouncing_entrances/bounceInRight.css +35 -0
  28. data/app/assets/node_modules/animate.css/source/bouncing_entrances/bounceInUp.css +35 -0
  29. data/app/assets/node_modules/animate.css/source/bouncing_exits/bounceOut.css +21 -0
  30. data/app/assets/node_modules/animate.css/source/bouncing_exits/bounceOutDown.css +20 -0
  31. data/app/assets/node_modules/animate.css/source/bouncing_exits/bounceOutLeft.css +15 -0
  32. data/app/assets/node_modules/animate.css/source/bouncing_exits/bounceOutRight.css +15 -0
  33. data/app/assets/node_modules/animate.css/source/bouncing_exits/bounceOutUp.css +20 -0
  34. data/app/assets/node_modules/animate.css/source/fading_entrances/fadeIn.css +13 -0
  35. data/app/assets/node_modules/animate.css/source/fading_entrances/fadeInDown.css +15 -0
  36. data/app/assets/node_modules/animate.css/source/fading_entrances/fadeInDownBig.css +15 -0
  37. data/app/assets/node_modules/animate.css/source/fading_entrances/fadeInLeft.css +15 -0
  38. data/app/assets/node_modules/animate.css/source/fading_entrances/fadeInLeftBig.css +15 -0
  39. data/app/assets/node_modules/animate.css/source/fading_entrances/fadeInRight.css +15 -0
  40. data/app/assets/node_modules/animate.css/source/fading_entrances/fadeInRightBig.css +15 -0
  41. data/app/assets/node_modules/animate.css/source/fading_entrances/fadeInUp.css +15 -0
  42. data/app/assets/node_modules/animate.css/source/fading_entrances/fadeInUpBig.css +15 -0
  43. data/app/assets/node_modules/animate.css/source/fading_exits/fadeOut.css +13 -0
  44. data/app/assets/node_modules/animate.css/source/fading_exits/fadeOutDown.css +14 -0
  45. data/app/assets/node_modules/animate.css/source/fading_exits/fadeOutDownBig.css +14 -0
  46. data/app/assets/node_modules/animate.css/source/fading_exits/fadeOutLeft.css +14 -0
  47. data/app/assets/node_modules/animate.css/source/fading_exits/fadeOutLeftBig.css +14 -0
  48. data/app/assets/node_modules/animate.css/source/fading_exits/fadeOutRight.css +14 -0
  49. data/app/assets/node_modules/animate.css/source/fading_exits/fadeOutRightBig.css +14 -0
  50. data/app/assets/node_modules/animate.css/source/fading_exits/fadeOutUp.css +14 -0
  51. data/app/assets/node_modules/animate.css/source/fading_exits/fadeOutUpBig.css +14 -0
  52. data/app/assets/node_modules/animate.css/source/flippers/flip.css +31 -0
  53. data/app/assets/node_modules/animate.css/source/flippers/flipInX.css +30 -0
  54. data/app/assets/node_modules/animate.css/source/flippers/flipInY.css +30 -0
  55. data/app/assets/node_modules/animate.css/source/flippers/flipOutX.css +21 -0
  56. data/app/assets/node_modules/animate.css/source/flippers/flipOutY.css +21 -0
  57. data/app/assets/node_modules/animate.css/source/lightspeed/lightSpeedIn.css +26 -0
  58. data/app/assets/node_modules/animate.css/source/lightspeed/lightSpeedOut.css +15 -0
  59. data/app/assets/node_modules/animate.css/source/rotating_entrances/rotateIn.css +17 -0
  60. data/app/assets/node_modules/animate.css/source/rotating_entrances/rotateInDownLeft.css +17 -0
  61. data/app/assets/node_modules/animate.css/source/rotating_entrances/rotateInDownRight.css +17 -0
  62. data/app/assets/node_modules/animate.css/source/rotating_entrances/rotateInUpLeft.css +17 -0
  63. data/app/assets/node_modules/animate.css/source/rotating_entrances/rotateInUpRight.css +17 -0
  64. data/app/assets/node_modules/animate.css/source/rotating_exits/rotateOut.css +16 -0
  65. data/app/assets/node_modules/animate.css/source/rotating_exits/rotateOutDownLeft.css +16 -0
  66. data/app/assets/node_modules/animate.css/source/rotating_exits/rotateOutDownRight.css +16 -0
  67. data/app/assets/node_modules/animate.css/source/rotating_exits/rotateOutUpLeft.css +16 -0
  68. data/app/assets/node_modules/animate.css/source/rotating_exits/rotateOutUpRight.css +16 -0
  69. data/app/assets/node_modules/animate.css/source/sliding_entrances/slideInDown.css +14 -0
  70. data/app/assets/node_modules/animate.css/source/sliding_entrances/slideInLeft.css +14 -0
  71. data/app/assets/node_modules/animate.css/source/sliding_entrances/slideInRight.css +14 -0
  72. data/app/assets/node_modules/animate.css/source/sliding_entrances/slideInUp.css +14 -0
  73. data/app/assets/node_modules/animate.css/source/sliding_exits/slideOutDown.css +14 -0
  74. data/app/assets/node_modules/animate.css/source/sliding_exits/slideOutLeft.css +14 -0
  75. data/app/assets/node_modules/animate.css/source/sliding_exits/slideOutRight.css +14 -0
  76. data/app/assets/node_modules/animate.css/source/sliding_exits/slideOutUp.css +14 -0
  77. data/app/assets/node_modules/animate.css/source/specials/hinge.css +31 -0
  78. data/app/assets/node_modules/animate.css/source/specials/jackInTheBox.css +24 -0
  79. data/app/assets/node_modules/animate.css/source/specials/rollIn.css +17 -0
  80. data/app/assets/node_modules/animate.css/source/specials/rollOut.css +16 -0
  81. data/app/assets/node_modules/animate.css/source/zooming_entrances/zoomIn.css +14 -0
  82. data/app/assets/node_modules/animate.css/source/zooming_entrances/zoomInDown.css +17 -0
  83. data/app/assets/node_modules/animate.css/source/zooming_entrances/zoomInLeft.css +17 -0
  84. data/app/assets/node_modules/animate.css/source/zooming_entrances/zoomInRight.css +17 -0
  85. data/app/assets/node_modules/animate.css/source/zooming_entrances/zoomInUp.css +17 -0
  86. data/app/assets/node_modules/animate.css/source/zooming_exits/zoomOut.css +18 -0
  87. data/app/assets/node_modules/animate.css/source/zooming_exits/zoomOutDown.css +18 -0
  88. data/app/assets/node_modules/animate.css/source/zooming_exits/zoomOutLeft.css +16 -0
  89. data/app/assets/node_modules/animate.css/source/zooming_exits/zoomOutRight.css +16 -0
  90. data/app/assets/node_modules/animate.css/source/zooming_exits/zoomOutUp.css +18 -0
  91. data/app/assets/node_modules/bootstrap/LICENSE +22 -0
  92. data/app/assets/node_modules/bootstrap/README.md +171 -0
  93. data/app/assets/node_modules/bootstrap/dist/css/bootstrap-grid.css +1912 -0
  94. data/app/assets/node_modules/bootstrap/dist/css/bootstrap-grid.css.map +1 -0
  95. data/app/assets/node_modules/bootstrap/dist/css/bootstrap-grid.min.css +7 -0
  96. data/app/assets/node_modules/bootstrap/dist/css/bootstrap-grid.min.css.map +1 -0
  97. data/app/assets/node_modules/bootstrap/dist/css/bootstrap-reboot.css +330 -0
  98. data/app/assets/node_modules/bootstrap/dist/css/bootstrap-reboot.css.map +1 -0
  99. data/app/assets/node_modules/bootstrap/dist/css/bootstrap-reboot.min.css +8 -0
  100. data/app/assets/node_modules/bootstrap/dist/css/bootstrap-reboot.min.css.map +1 -0
  101. data/app/assets/node_modules/bootstrap/dist/css/bootstrap.css +8981 -0
  102. data/app/assets/node_modules/bootstrap/dist/css/bootstrap.css.map +1 -0
  103. data/app/assets/node_modules/bootstrap/dist/css/bootstrap.min.css +7 -0
  104. data/app/assets/node_modules/bootstrap/dist/css/bootstrap.min.css.map +1 -0
  105. data/app/assets/node_modules/bootstrap/dist/js/bootstrap.bundle.js +6444 -0
  106. data/app/assets/node_modules/bootstrap/dist/js/bootstrap.bundle.js.map +1 -0
  107. data/app/assets/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js +7 -0
  108. data/app/assets/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js.map +1 -0
  109. data/app/assets/node_modules/bootstrap/dist/js/bootstrap.js +3927 -0
  110. data/app/assets/node_modules/bootstrap/dist/js/bootstrap.js.map +1 -0
  111. data/app/assets/node_modules/bootstrap/dist/js/bootstrap.min.js +7 -0
  112. data/app/assets/node_modules/bootstrap/dist/js/bootstrap.min.js.map +1 -0
  113. data/app/assets/node_modules/bootstrap/js/dist/alert.js +178 -0
  114. data/app/assets/node_modules/bootstrap/js/dist/alert.js.map +1 -0
  115. data/app/assets/node_modules/bootstrap/js/dist/button.js +167 -0
  116. data/app/assets/node_modules/bootstrap/js/dist/button.js.map +1 -0
  117. data/app/assets/node_modules/bootstrap/js/dist/carousel.js +508 -0
  118. data/app/assets/node_modules/bootstrap/js/dist/carousel.js.map +1 -0
  119. data/app/assets/node_modules/bootstrap/js/dist/collapse.js +367 -0
  120. data/app/assets/node_modules/bootstrap/js/dist/collapse.js.map +1 -0
  121. data/app/assets/node_modules/bootstrap/js/dist/dropdown.js +489 -0
  122. data/app/assets/node_modules/bootstrap/js/dist/dropdown.js.map +1 -0
  123. data/app/assets/node_modules/bootstrap/js/dist/index.js +23 -0
  124. data/app/assets/node_modules/bootstrap/js/dist/index.js.map +1 -0
  125. data/app/assets/node_modules/bootstrap/js/dist/modal.js +585 -0
  126. data/app/assets/node_modules/bootstrap/js/dist/modal.js.map +1 -0
  127. data/app/assets/node_modules/bootstrap/js/dist/popover.js +206 -0
  128. data/app/assets/node_modules/bootstrap/js/dist/popover.js.map +1 -0
  129. data/app/assets/node_modules/bootstrap/js/dist/scrollspy.js +319 -0
  130. data/app/assets/node_modules/bootstrap/js/dist/scrollspy.js.map +1 -0
  131. data/app/assets/node_modules/bootstrap/js/dist/tab.js +251 -0
  132. data/app/assets/node_modules/bootstrap/js/dist/tab.js.map +1 -0
  133. data/app/assets/node_modules/bootstrap/js/dist/tooltip.js +674 -0
  134. data/app/assets/node_modules/bootstrap/js/dist/tooltip.js.map +1 -0
  135. data/app/assets/node_modules/bootstrap/js/dist/util.js +132 -0
  136. data/app/assets/node_modules/bootstrap/js/dist/util.js.map +1 -0
  137. data/app/assets/node_modules/bootstrap/js/src/alert.js +183 -0
  138. data/app/assets/node_modules/bootstrap/js/src/button.js +175 -0
  139. data/app/assets/node_modules/bootstrap/js/src/carousel.js +517 -0
  140. data/app/assets/node_modules/bootstrap/js/src/collapse.js +394 -0
  141. data/app/assets/node_modules/bootstrap/js/src/dropdown.js +487 -0
  142. data/app/assets/node_modules/bootstrap/js/src/index.js +50 -0
  143. data/app/assets/node_modules/bootstrap/js/src/modal.js +579 -0
  144. data/app/assets/node_modules/bootstrap/js/src/popover.js +188 -0
  145. data/app/assets/node_modules/bootstrap/js/src/scrollspy.js +329 -0
  146. data/app/assets/node_modules/bootstrap/js/src/tab.js +263 -0
  147. data/app/assets/node_modules/bootstrap/js/src/tooltip.js +723 -0
  148. data/app/assets/node_modules/bootstrap/js/src/util.js +153 -0
  149. data/app/assets/node_modules/bootstrap/package.json +218 -0
  150. data/app/assets/node_modules/bootstrap/scss/_alert.scss +51 -0
  151. data/app/assets/node_modules/bootstrap/scss/_badge.scss +47 -0
  152. data/app/assets/node_modules/bootstrap/scss/_breadcrumb.scss +41 -0
  153. data/app/assets/node_modules/bootstrap/scss/_button-group.scss +172 -0
  154. data/app/assets/node_modules/bootstrap/scss/_buttons.scss +144 -0
  155. data/app/assets/node_modules/bootstrap/scss/_card.scss +301 -0
  156. data/app/assets/node_modules/bootstrap/scss/_carousel.scss +236 -0
  157. data/app/assets/node_modules/bootstrap/scss/_close.scss +34 -0
  158. data/app/assets/node_modules/bootstrap/scss/_code.scss +48 -0
  159. data/app/assets/node_modules/bootstrap/scss/_custom-forms.scss +421 -0
  160. data/app/assets/node_modules/bootstrap/scss/_dropdown.scss +166 -0
  161. data/app/assets/node_modules/bootstrap/scss/_forms.scss +335 -0
  162. data/app/assets/node_modules/bootstrap/scss/_functions.scss +86 -0
  163. data/app/assets/node_modules/bootstrap/scss/_grid.scss +52 -0
  164. data/app/assets/node_modules/bootstrap/scss/_images.scss +42 -0
  165. data/app/assets/node_modules/bootstrap/scss/_input-group.scss +158 -0
  166. data/app/assets/node_modules/bootstrap/scss/_jumbotron.scss +16 -0
  167. data/app/assets/node_modules/bootstrap/scss/_list-group.scss +115 -0
  168. data/app/assets/node_modules/bootstrap/scss/_media.scss +8 -0
  169. data/app/assets/node_modules/bootstrap/scss/_mixins.scss +41 -0
  170. data/app/assets/node_modules/bootstrap/scss/_modal.scss +168 -0
  171. data/app/assets/node_modules/bootstrap/scss/_nav.scss +118 -0
  172. data/app/assets/node_modules/bootstrap/scss/_navbar.scss +299 -0
  173. data/app/assets/node_modules/bootstrap/scss/_pagination.scss +78 -0
  174. data/app/assets/node_modules/bootstrap/scss/_popover.scss +183 -0
  175. data/app/assets/node_modules/bootstrap/scss/_print.scss +141 -0
  176. data/app/assets/node_modules/bootstrap/scss/_progress.scss +34 -0
  177. data/app/assets/node_modules/bootstrap/scss/_reboot.scss +480 -0
  178. data/app/assets/node_modules/bootstrap/scss/_root.scss +19 -0
  179. data/app/assets/node_modules/bootstrap/scss/_tables.scss +188 -0
  180. data/app/assets/node_modules/bootstrap/scss/_tooltip.scss +115 -0
  181. data/app/assets/node_modules/bootstrap/scss/_transitions.scss +22 -0
  182. data/app/assets/node_modules/bootstrap/scss/_type.scss +125 -0
  183. data/app/assets/node_modules/bootstrap/scss/_utilities.scss +15 -0
  184. data/app/assets/node_modules/bootstrap/scss/_variables.scss +929 -0
  185. data/app/assets/node_modules/bootstrap/scss/bootstrap-grid.scss +32 -0
  186. data/app/assets/node_modules/bootstrap/scss/bootstrap-reboot.scss +12 -0
  187. data/app/assets/node_modules/bootstrap/scss/bootstrap.scss +42 -0
  188. data/app/assets/node_modules/bootstrap/scss/mixins/_alert.scss +13 -0
  189. data/app/assets/node_modules/bootstrap/scss/mixins/_background-variant.scss +21 -0
  190. data/app/assets/node_modules/bootstrap/scss/mixins/_badge.scss +12 -0
  191. data/app/assets/node_modules/bootstrap/scss/mixins/_border-radius.scss +35 -0
  192. data/app/assets/node_modules/bootstrap/scss/mixins/_box-shadow.scss +5 -0
  193. data/app/assets/node_modules/bootstrap/scss/mixins/_breakpoints.scss +123 -0
  194. data/app/assets/node_modules/bootstrap/scss/mixins/_buttons.scss +109 -0
  195. data/app/assets/node_modules/bootstrap/scss/mixins/_caret.scss +66 -0
  196. data/app/assets/node_modules/bootstrap/scss/mixins/_clearfix.scss +7 -0
  197. data/app/assets/node_modules/bootstrap/scss/mixins/_float.scss +11 -0
  198. data/app/assets/node_modules/bootstrap/scss/mixins/_forms.scss +147 -0
  199. data/app/assets/node_modules/bootstrap/scss/mixins/_gradients.scss +45 -0
  200. data/app/assets/node_modules/bootstrap/scss/mixins/_grid-framework.scss +67 -0
  201. data/app/assets/node_modules/bootstrap/scss/mixins/_grid.scss +52 -0
  202. data/app/assets/node_modules/bootstrap/scss/mixins/_hover.scss +37 -0
  203. data/app/assets/node_modules/bootstrap/scss/mixins/_image.scss +36 -0
  204. data/app/assets/node_modules/bootstrap/scss/mixins/_list-group.scss +21 -0
  205. data/app/assets/node_modules/bootstrap/scss/mixins/_lists.scss +7 -0
  206. data/app/assets/node_modules/bootstrap/scss/mixins/_nav-divider.scss +10 -0
  207. data/app/assets/node_modules/bootstrap/scss/mixins/_pagination.scss +22 -0
  208. data/app/assets/node_modules/bootstrap/scss/mixins/_reset-text.scss +17 -0
  209. data/app/assets/node_modules/bootstrap/scss/mixins/_resize.scss +6 -0
  210. data/app/assets/node_modules/bootstrap/scss/mixins/_screen-reader.scss +33 -0
  211. data/app/assets/node_modules/bootstrap/scss/mixins/_size.scss +6 -0
  212. data/app/assets/node_modules/bootstrap/scss/mixins/_table-row.scss +30 -0
  213. data/app/assets/node_modules/bootstrap/scss/mixins/_text-emphasis.scss +14 -0
  214. data/app/assets/node_modules/bootstrap/scss/mixins/_text-hide.scss +13 -0
  215. data/app/assets/node_modules/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  216. data/app/assets/node_modules/bootstrap/scss/mixins/_transition.scss +13 -0
  217. data/app/assets/node_modules/bootstrap/scss/mixins/_visibility.scss +7 -0
  218. data/app/assets/node_modules/bootstrap/scss/utilities/_align.scss +8 -0
  219. data/app/assets/node_modules/bootstrap/scss/utilities/_background.scss +19 -0
  220. data/app/assets/node_modules/bootstrap/scss/utilities/_borders.scss +59 -0
  221. data/app/assets/node_modules/bootstrap/scss/utilities/_clearfix.scss +3 -0
  222. data/app/assets/node_modules/bootstrap/scss/utilities/_display.scss +38 -0
  223. data/app/assets/node_modules/bootstrap/scss/utilities/_embed.scss +52 -0
  224. data/app/assets/node_modules/bootstrap/scss/utilities/_flex.scss +51 -0
  225. data/app/assets/node_modules/bootstrap/scss/utilities/_float.scss +9 -0
  226. data/app/assets/node_modules/bootstrap/scss/utilities/_position.scss +37 -0
  227. data/app/assets/node_modules/bootstrap/scss/utilities/_screenreaders.scss +11 -0
  228. data/app/assets/node_modules/bootstrap/scss/utilities/_shadows.scss +6 -0
  229. data/app/assets/node_modules/bootstrap/scss/utilities/_sizing.scss +12 -0
  230. data/app/assets/node_modules/bootstrap/scss/utilities/_spacing.scss +51 -0
  231. data/app/assets/node_modules/bootstrap/scss/utilities/_text.scss +58 -0
  232. data/app/assets/node_modules/bootstrap/scss/utilities/_visibility.scss +11 -0
  233. data/app/assets/node_modules/clone/LICENSE +18 -0
  234. data/app/assets/node_modules/clone/README.md +178 -0
  235. data/app/assets/node_modules/clone/clone.iml +10 -0
  236. data/app/assets/node_modules/clone/clone.js +251 -0
  237. data/app/assets/node_modules/clone/package.json +56 -0
  238. data/app/assets/node_modules/deep-equal/LICENSE +18 -0
  239. data/app/assets/node_modules/deep-equal/example/cmp.js +11 -0
  240. data/app/assets/node_modules/deep-equal/index.js +94 -0
  241. data/app/assets/node_modules/deep-equal/lib/is_arguments.js +20 -0
  242. data/app/assets/node_modules/deep-equal/lib/keys.js +9 -0
  243. data/app/assets/node_modules/deep-equal/package.json +58 -0
  244. data/app/assets/node_modules/deep-equal/readme.markdown +61 -0
  245. data/app/assets/node_modules/deep-equal/test/cmp.js +95 -0
  246. data/app/assets/node_modules/dropzone/CONTRIBUTING.md +6 -0
  247. data/app/assets/node_modules/dropzone/LICENSE +12 -0
  248. data/app/assets/node_modules/dropzone/README.md +36 -0
  249. data/app/assets/node_modules/dropzone/bower.json +16 -0
  250. data/app/assets/node_modules/dropzone/component.json +10 -0
  251. data/app/assets/node_modules/dropzone/composer.json +18 -0
  252. data/app/assets/node_modules/dropzone/dist/basic.css +39 -0
  253. data/app/assets/node_modules/dropzone/dist/dropzone-amd-module.js +3541 -0
  254. data/app/assets/node_modules/dropzone/dist/dropzone.css +388 -0
  255. data/app/assets/node_modules/dropzone/dist/dropzone.js +3526 -0
  256. data/app/assets/node_modules/dropzone/dist/min/basic.min.css +1 -0
  257. data/app/assets/node_modules/dropzone/dist/min/dropzone-amd-module.min.js +2 -0
  258. data/app/assets/node_modules/dropzone/dist/min/dropzone.min.css +1 -0
  259. data/app/assets/node_modules/dropzone/dist/min/dropzone.min.js +2 -0
  260. data/app/assets/node_modules/dropzone/dist/readme.md +10 -0
  261. data/app/assets/node_modules/dropzone/index.js +1 -0
  262. data/app/assets/node_modules/dropzone/package.json +40 -0
  263. data/app/assets/node_modules/eve-raphael/LICENSE +202 -0
  264. data/app/assets/node_modules/eve-raphael/README.md +5 -0
  265. data/app/assets/node_modules/eve-raphael/bower.json +17 -0
  266. data/app/assets/node_modules/eve-raphael/component.json +13 -0
  267. data/app/assets/node_modules/eve-raphael/e.html +66 -0
  268. data/app/assets/node_modules/eve-raphael/eve.js +426 -0
  269. data/app/assets/node_modules/eve-raphael/package.json +15 -0
  270. data/app/assets/node_modules/eventemitter3/LICENSE +21 -0
  271. data/app/assets/node_modules/eventemitter3/README.md +105 -0
  272. data/app/assets/node_modules/eventemitter3/index.d.ts +50 -0
  273. data/app/assets/node_modules/eventemitter3/index.js +311 -0
  274. data/app/assets/node_modules/eventemitter3/package.json +51 -0
  275. data/app/assets/node_modules/eventemitter3/umd/eventemitter3.min.js +1 -0
  276. data/app/assets/node_modules/extend/CHANGELOG.md +77 -0
  277. data/app/assets/node_modules/extend/LICENSE +23 -0
  278. data/app/assets/node_modules/extend/README.md +81 -0
  279. data/app/assets/node_modules/extend/component.json +32 -0
  280. data/app/assets/node_modules/extend/index.js +86 -0
  281. data/app/assets/node_modules/extend/package.json +43 -0
  282. data/app/assets/node_modules/fast-diff/README.md +24 -0
  283. data/app/assets/node_modules/fast-diff/diff.js +738 -0
  284. data/app/assets/node_modules/fast-diff/package.json +24 -0
  285. data/app/assets/node_modules/fast-diff/test.js +91 -0
  286. data/app/assets/node_modules/jquery/AUTHORS.txt +313 -0
  287. data/app/assets/node_modules/jquery/LICENSE.txt +36 -0
  288. data/app/assets/node_modules/jquery/README.md +67 -0
  289. data/app/assets/node_modules/jquery/bower.json +14 -0
  290. data/app/assets/node_modules/jquery/dist/core.js +399 -0
  291. data/app/assets/node_modules/jquery/dist/jquery.js +10364 -0
  292. data/app/assets/node_modules/jquery/dist/jquery.min.js +2 -0
  293. data/app/assets/node_modules/jquery/dist/jquery.min.map +1 -0
  294. data/app/assets/node_modules/jquery/dist/jquery.slim.js +8269 -0
  295. data/app/assets/node_modules/jquery/dist/jquery.slim.min.js +2 -0
  296. data/app/assets/node_modules/jquery/dist/jquery.slim.min.map +1 -0
  297. data/app/assets/node_modules/jquery/external/sizzle/LICENSE.txt +36 -0
  298. data/app/assets/node_modules/jquery/external/sizzle/dist/sizzle.js +2272 -0
  299. data/app/assets/node_modules/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  300. data/app/assets/node_modules/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  301. data/app/assets/node_modules/jquery/package.json +108 -0
  302. data/app/assets/node_modules/jquery/src/ajax/jsonp.js +103 -0
  303. data/app/assets/node_modules/jquery/src/ajax/load.js +77 -0
  304. data/app/assets/node_modules/jquery/src/ajax/parseXML.js +30 -0
  305. data/app/assets/node_modules/jquery/src/ajax/script.js +77 -0
  306. data/app/assets/node_modules/jquery/src/ajax/var/location.js +5 -0
  307. data/app/assets/node_modules/jquery/src/ajax/var/nonce.js +5 -0
  308. data/app/assets/node_modules/jquery/src/ajax/var/rquery.js +5 -0
  309. data/app/assets/node_modules/jquery/src/ajax/xhr.js +170 -0
  310. data/app/assets/node_modules/jquery/src/ajax.js +856 -0
  311. data/app/assets/node_modules/jquery/src/attributes/attr.js +141 -0
  312. data/app/assets/node_modules/jquery/src/attributes/classes.js +186 -0
  313. data/app/assets/node_modules/jquery/src/attributes/prop.js +143 -0
  314. data/app/assets/node_modules/jquery/src/attributes/support.js +33 -0
  315. data/app/assets/node_modules/jquery/src/attributes/val.js +191 -0
  316. data/app/assets/node_modules/jquery/src/attributes.js +13 -0
  317. data/app/assets/node_modules/jquery/src/callbacks.js +236 -0
  318. data/app/assets/node_modules/jquery/src/core/DOMEval.js +30 -0
  319. data/app/assets/node_modules/jquery/src/core/access.js +72 -0
  320. data/app/assets/node_modules/jquery/src/core/camelCase.js +23 -0
  321. data/app/assets/node_modules/jquery/src/core/init.js +129 -0
  322. data/app/assets/node_modules/jquery/src/core/nodeName.js +13 -0
  323. data/app/assets/node_modules/jquery/src/core/parseHTML.js +65 -0
  324. data/app/assets/node_modules/jquery/src/core/ready-no-deferred.js +97 -0
  325. data/app/assets/node_modules/jquery/src/core/ready.js +86 -0
  326. data/app/assets/node_modules/jquery/src/core/readyException.js +13 -0
  327. data/app/assets/node_modules/jquery/src/core/stripAndCollapse.js +14 -0
  328. data/app/assets/node_modules/jquery/src/core/support.js +20 -0
  329. data/app/assets/node_modules/jquery/src/core/toType.js +20 -0
  330. data/app/assets/node_modules/jquery/src/core/var/rsingleTag.js +6 -0
  331. data/app/assets/node_modules/jquery/src/core.js +399 -0
  332. data/app/assets/node_modules/jquery/src/css/addGetHookIf.js +26 -0
  333. data/app/assets/node_modules/jquery/src/css/adjustCSS.js +73 -0
  334. data/app/assets/node_modules/jquery/src/css/curCSS.js +65 -0
  335. data/app/assets/node_modules/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  336. data/app/assets/node_modules/jquery/src/css/showHide.js +105 -0
  337. data/app/assets/node_modules/jquery/src/css/support.js +102 -0
  338. data/app/assets/node_modules/jquery/src/css/var/cssExpand.js +5 -0
  339. data/app/assets/node_modules/jquery/src/css/var/getStyles.js +17 -0
  340. data/app/assets/node_modules/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  341. data/app/assets/node_modules/jquery/src/css/var/rboxStyle.js +7 -0
  342. data/app/assets/node_modules/jquery/src/css/var/rnumnonpx.js +7 -0
  343. data/app/assets/node_modules/jquery/src/css/var/swap.js +26 -0
  344. data/app/assets/node_modules/jquery/src/css.js +481 -0
  345. data/app/assets/node_modules/jquery/src/data/Data.js +162 -0
  346. data/app/assets/node_modules/jquery/src/data/var/acceptData.js +19 -0
  347. data/app/assets/node_modules/jquery/src/data/var/dataPriv.js +7 -0
  348. data/app/assets/node_modules/jquery/src/data/var/dataUser.js +7 -0
  349. data/app/assets/node_modules/jquery/src/data.js +180 -0
  350. data/app/assets/node_modules/jquery/src/deferred/exceptionHook.js +21 -0
  351. data/app/assets/node_modules/jquery/src/deferred.js +399 -0
  352. data/app/assets/node_modules/jquery/src/deprecated.js +98 -0
  353. data/app/assets/node_modules/jquery/src/dimensions.js +57 -0
  354. data/app/assets/node_modules/jquery/src/effects/Tween.js +123 -0
  355. data/app/assets/node_modules/jquery/src/effects/animatedSelector.js +15 -0
  356. data/app/assets/node_modules/jquery/src/effects.js +702 -0
  357. data/app/assets/node_modules/jquery/src/event/ajax.js +22 -0
  358. data/app/assets/node_modules/jquery/src/event/alias.js +29 -0
  359. data/app/assets/node_modules/jquery/src/event/focusin.js +55 -0
  360. data/app/assets/node_modules/jquery/src/event/support.js +11 -0
  361. data/app/assets/node_modules/jquery/src/event/trigger.js +199 -0
  362. data/app/assets/node_modules/jquery/src/event.js +748 -0
  363. data/app/assets/node_modules/jquery/src/exports/amd.js +26 -0
  364. data/app/assets/node_modules/jquery/src/exports/global.js +34 -0
  365. data/app/assets/node_modules/jquery/src/jquery.js +40 -0
  366. data/app/assets/node_modules/jquery/src/manipulation/_evalUrl.js +23 -0
  367. data/app/assets/node_modules/jquery/src/manipulation/buildFragment.js +105 -0
  368. data/app/assets/node_modules/jquery/src/manipulation/getAll.js +32 -0
  369. data/app/assets/node_modules/jquery/src/manipulation/setGlobalEval.js +22 -0
  370. data/app/assets/node_modules/jquery/src/manipulation/support.js +35 -0
  371. data/app/assets/node_modules/jquery/src/manipulation/var/rcheckableType.js +5 -0
  372. data/app/assets/node_modules/jquery/src/manipulation/var/rscriptType.js +5 -0
  373. data/app/assets/node_modules/jquery/src/manipulation/var/rtagName.js +5 -0
  374. data/app/assets/node_modules/jquery/src/manipulation/wrapMap.js +29 -0
  375. data/app/assets/node_modules/jquery/src/manipulation.js +486 -0
  376. data/app/assets/node_modules/jquery/src/offset.js +233 -0
  377. data/app/assets/node_modules/jquery/src/queue/delay.js +24 -0
  378. data/app/assets/node_modules/jquery/src/queue.js +145 -0
  379. data/app/assets/node_modules/jquery/src/selector-native.js +237 -0
  380. data/app/assets/node_modules/jquery/src/selector-sizzle.js +19 -0
  381. data/app/assets/node_modules/jquery/src/selector.js +3 -0
  382. data/app/assets/node_modules/jquery/src/serialize.js +132 -0
  383. data/app/assets/node_modules/jquery/src/traversing/findFilter.js +97 -0
  384. data/app/assets/node_modules/jquery/src/traversing/var/dir.js +22 -0
  385. data/app/assets/node_modules/jquery/src/traversing/var/rneedsContext.js +8 -0
  386. data/app/assets/node_modules/jquery/src/traversing/var/siblings.js +17 -0
  387. data/app/assets/node_modules/jquery/src/traversing.js +191 -0
  388. data/app/assets/node_modules/jquery/src/var/ObjectFunctionString.js +7 -0
  389. data/app/assets/node_modules/jquery/src/var/arr.js +5 -0
  390. data/app/assets/node_modules/jquery/src/var/class2type.js +6 -0
  391. data/app/assets/node_modules/jquery/src/var/concat.js +7 -0
  392. data/app/assets/node_modules/jquery/src/var/document.js +5 -0
  393. data/app/assets/node_modules/jquery/src/var/documentElement.js +7 -0
  394. data/app/assets/node_modules/jquery/src/var/fnToString.js +7 -0
  395. data/app/assets/node_modules/jquery/src/var/getProto.js +5 -0
  396. data/app/assets/node_modules/jquery/src/var/hasOwn.js +7 -0
  397. data/app/assets/node_modules/jquery/src/var/indexOf.js +7 -0
  398. data/app/assets/node_modules/jquery/src/var/isFunction.js +13 -0
  399. data/app/assets/node_modules/jquery/src/var/isWindow.js +8 -0
  400. data/app/assets/node_modules/jquery/src/var/pnum.js +5 -0
  401. data/app/assets/node_modules/jquery/src/var/push.js +7 -0
  402. data/app/assets/node_modules/jquery/src/var/rcssNum.js +9 -0
  403. data/app/assets/node_modules/jquery/src/var/rnothtmlwhite.js +8 -0
  404. data/app/assets/node_modules/jquery/src/var/slice.js +7 -0
  405. data/app/assets/node_modules/jquery/src/var/support.js +6 -0
  406. data/app/assets/node_modules/jquery/src/var/toString.js +7 -0
  407. data/app/assets/node_modules/jquery/src/wrap.js +78 -0
  408. data/app/assets/node_modules/jquery-flot/API.md +1498 -0
  409. data/app/assets/node_modules/jquery-flot/CONTRIBUTING.md +98 -0
  410. data/app/assets/node_modules/jquery-flot/FAQ.md +75 -0
  411. data/app/assets/node_modules/jquery-flot/LICENSE.txt +22 -0
  412. data/app/assets/node_modules/jquery-flot/Makefile +12 -0
  413. data/app/assets/node_modules/jquery-flot/NEWS.md +1026 -0
  414. data/app/assets/node_modules/jquery-flot/PLUGINS.md +143 -0
  415. data/app/assets/node_modules/jquery-flot/README.md +110 -0
  416. data/app/assets/node_modules/jquery-flot/component.json +8 -0
  417. data/app/assets/node_modules/jquery-flot/examples/ajax/data-eu-gdp-growth-1.json +4 -0
  418. data/app/assets/node_modules/jquery-flot/examples/ajax/data-eu-gdp-growth-2.json +4 -0
  419. data/app/assets/node_modules/jquery-flot/examples/ajax/data-eu-gdp-growth-3.json +4 -0
  420. data/app/assets/node_modules/jquery-flot/examples/ajax/data-eu-gdp-growth-4.json +4 -0
  421. data/app/assets/node_modules/jquery-flot/examples/ajax/data-eu-gdp-growth-5.json +4 -0
  422. data/app/assets/node_modules/jquery-flot/examples/ajax/data-eu-gdp-growth.json +4 -0
  423. data/app/assets/node_modules/jquery-flot/examples/ajax/data-japan-gdp-growth.json +4 -0
  424. data/app/assets/node_modules/jquery-flot/examples/ajax/data-usa-gdp-growth.json +4 -0
  425. data/app/assets/node_modules/jquery-flot/examples/ajax/index.html +173 -0
  426. data/app/assets/node_modules/jquery-flot/examples/annotating/index.html +87 -0
  427. data/app/assets/node_modules/jquery-flot/examples/axes-interacting/index.html +97 -0
  428. data/app/assets/node_modules/jquery-flot/examples/axes-multiple/index.html +77 -0
  429. data/app/assets/node_modules/jquery-flot/examples/axes-time/index.html +137 -0
  430. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/date.js +893 -0
  431. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/index.html +114 -0
  432. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/africa +1181 -0
  433. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/antarctica +413 -0
  434. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/asia +2717 -0
  435. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/australasia +1719 -0
  436. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/backward +117 -0
  437. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/etcetera +81 -0
  438. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/europe +2856 -0
  439. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/factory +10 -0
  440. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/iso3166.tab +276 -0
  441. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/leapseconds +100 -0
  442. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/northamerica +3235 -0
  443. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/pacificnew +28 -0
  444. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/solar87 +390 -0
  445. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/solar88 +390 -0
  446. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/solar89 +395 -0
  447. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/southamerica +1711 -0
  448. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/systemv +38 -0
  449. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/yearistype.sh +38 -0
  450. data/app/assets/node_modules/jquery-flot/examples/axes-time-zones/tz/zone.tab +441 -0
  451. data/app/assets/node_modules/jquery-flot/examples/background.png +0 -0
  452. data/app/assets/node_modules/jquery-flot/examples/basic-options/index.html +91 -0
  453. data/app/assets/node_modules/jquery-flot/examples/basic-usage/index.html +57 -0
  454. data/app/assets/node_modules/jquery-flot/examples/canvas/index.html +75 -0
  455. data/app/assets/node_modules/jquery-flot/examples/categories/index.html +64 -0
  456. data/app/assets/node_modules/jquery-flot/examples/examples.css +97 -0
  457. data/app/assets/node_modules/jquery-flot/examples/image/hs-2004-27-a-large-web.jpg +0 -0
  458. data/app/assets/node_modules/jquery-flot/examples/image/index.html +69 -0
  459. data/app/assets/node_modules/jquery-flot/examples/index.html +80 -0
  460. data/app/assets/node_modules/jquery-flot/examples/interacting/index.html +118 -0
  461. data/app/assets/node_modules/jquery-flot/examples/navigate/arrow-down.gif +0 -0
  462. data/app/assets/node_modules/jquery-flot/examples/navigate/arrow-left.gif +0 -0
  463. data/app/assets/node_modules/jquery-flot/examples/navigate/arrow-right.gif +0 -0
  464. data/app/assets/node_modules/jquery-flot/examples/navigate/arrow-up.gif +0 -0
  465. data/app/assets/node_modules/jquery-flot/examples/navigate/index.html +153 -0
  466. data/app/assets/node_modules/jquery-flot/examples/percentiles/index.html +79 -0
  467. data/app/assets/node_modules/jquery-flot/examples/realtime/index.html +122 -0
  468. data/app/assets/node_modules/jquery-flot/examples/resize/index.html +76 -0
  469. data/app/assets/node_modules/jquery-flot/examples/selection/index.html +152 -0
  470. data/app/assets/node_modules/jquery-flot/examples/series-errorbars/index.html +150 -0
  471. data/app/assets/node_modules/jquery-flot/examples/series-pie/index.html +818 -0
  472. data/app/assets/node_modules/jquery-flot/examples/series-toggle/index.html +121 -0
  473. data/app/assets/node_modules/jquery-flot/examples/series-types/index.html +90 -0
  474. data/app/assets/node_modules/jquery-flot/examples/shared/jquery-ui/jquery-ui.min.css +6 -0
  475. data/app/assets/node_modules/jquery-flot/examples/stacking/index.html +107 -0
  476. data/app/assets/node_modules/jquery-flot/examples/symbols/index.html +76 -0
  477. data/app/assets/node_modules/jquery-flot/examples/threshold/index.html +76 -0
  478. data/app/assets/node_modules/jquery-flot/examples/tracking/index.html +135 -0
  479. data/app/assets/node_modules/jquery-flot/examples/visitors/index.html +147 -0
  480. data/app/assets/node_modules/jquery-flot/examples/zooming/index.html +144 -0
  481. data/app/assets/node_modules/jquery-flot/excanvas.js +1428 -0
  482. data/app/assets/node_modules/jquery-flot/excanvas.min.js +1 -0
  483. data/app/assets/node_modules/jquery-flot/flot.jquery.json +27 -0
  484. data/app/assets/node_modules/jquery-flot/jquery.colorhelpers.js +180 -0
  485. data/app/assets/node_modules/jquery-flot/jquery.flot.canvas.js +345 -0
  486. data/app/assets/node_modules/jquery-flot/jquery.flot.categories.js +190 -0
  487. data/app/assets/node_modules/jquery-flot/jquery.flot.crosshair.js +176 -0
  488. data/app/assets/node_modules/jquery-flot/jquery.flot.errorbars.js +353 -0
  489. data/app/assets/node_modules/jquery-flot/jquery.flot.fillbetween.js +226 -0
  490. data/app/assets/node_modules/jquery-flot/jquery.flot.image.js +241 -0
  491. data/app/assets/node_modules/jquery-flot/jquery.flot.js +3168 -0
  492. data/app/assets/node_modules/jquery-flot/jquery.flot.navigate.js +346 -0
  493. data/app/assets/node_modules/jquery-flot/jquery.flot.pie.js +820 -0
  494. data/app/assets/node_modules/jquery-flot/jquery.flot.resize.js +59 -0
  495. data/app/assets/node_modules/jquery-flot/jquery.flot.selection.js +360 -0
  496. data/app/assets/node_modules/jquery-flot/jquery.flot.stack.js +188 -0
  497. data/app/assets/node_modules/jquery-flot/jquery.flot.symbol.js +71 -0
  498. data/app/assets/node_modules/jquery-flot/jquery.flot.threshold.js +142 -0
  499. data/app/assets/node_modules/jquery-flot/jquery.flot.time.js +432 -0
  500. data/app/assets/node_modules/jquery-flot/jquery.js +9472 -0
  501. data/app/assets/node_modules/jquery-flot/package.json +11 -0
  502. data/app/assets/node_modules/jquery-sparkline/Changelog.txt +324 -0
  503. data/app/assets/node_modules/jquery-sparkline/README.md +19 -0
  504. data/app/assets/node_modules/jquery-sparkline/build.js +13 -0
  505. data/app/assets/node_modules/jquery-sparkline/jquery.sparkline.js +3068 -0
  506. data/app/assets/node_modules/jquery-sparkline/jquery.sparkline.min.js +2 -0
  507. data/app/assets/node_modules/jquery-sparkline/package.json +32 -0
  508. data/app/assets/node_modules/jquery-sparkline/src/base.js +415 -0
  509. data/app/assets/node_modules/jquery-sparkline/src/chart-bar.js +256 -0
  510. data/app/assets/node_modules/jquery-sparkline/src/chart-box.js +186 -0
  511. data/app/assets/node_modules/jquery-sparkline/src/chart-bullet.js +131 -0
  512. data/app/assets/node_modules/jquery-sparkline/src/chart-discrete.js +66 -0
  513. data/app/assets/node_modules/jquery-sparkline/src/chart-line.js +350 -0
  514. data/app/assets/node_modules/jquery-sparkline/src/chart-pie.js +117 -0
  515. data/app/assets/node_modules/jquery-sparkline/src/chart-tristate.js +98 -0
  516. data/app/assets/node_modules/jquery-sparkline/src/defaults.js +156 -0
  517. data/app/assets/node_modules/jquery-sparkline/src/footer.js +1 -0
  518. data/app/assets/node_modules/jquery-sparkline/src/header.js +222 -0
  519. data/app/assets/node_modules/jquery-sparkline/src/interact.js +247 -0
  520. data/app/assets/node_modules/jquery-sparkline/src/rangemap.js +39 -0
  521. data/app/assets/node_modules/jquery-sparkline/src/simpledraw.js +55 -0
  522. data/app/assets/node_modules/jquery-sparkline/src/utils.js +224 -0
  523. data/app/assets/node_modules/jquery-sparkline/src/vcanvas-base.js +147 -0
  524. data/app/assets/node_modules/jquery-sparkline/src/vcanvas-canvas.js +193 -0
  525. data/app/assets/node_modules/jquery-sparkline/src/vcanvas-vml.js +165 -0
  526. data/app/assets/node_modules/jquery-touchswipe/LICENSE +24 -0
  527. data/app/assets/node_modules/jquery-touchswipe/README.md +81 -0
  528. data/app/assets/node_modules/jquery-touchswipe/bower.json +8 -0
  529. data/app/assets/node_modules/jquery-touchswipe/demos/Any_finger_swipe.html +49 -0
  530. data/app/assets/node_modules/jquery-touchswipe/demos/Basic_swipe.html +48 -0
  531. data/app/assets/node_modules/jquery-touchswipe/demos/Enable_and_destroy.html +95 -0
  532. data/app/assets/node_modules/jquery-touchswipe/demos/Excluded_children.html +82 -0
  533. data/app/assets/node_modules/jquery-touchswipe/demos/Finger_swipe.html +61 -0
  534. data/app/assets/node_modules/jquery-touchswipe/demos/Handlers_and_events.html +128 -0
  535. data/app/assets/node_modules/jquery-touchswipe/demos/Hold.html +61 -0
  536. data/app/assets/node_modules/jquery-touchswipe/demos/Image_gallery_example.html +148 -0
  537. data/app/assets/node_modules/jquery-touchswipe/demos/Options.html +90 -0
  538. data/app/assets/node_modules/jquery-touchswipe/demos/Page_scrolling.html +109 -0
  539. data/app/assets/node_modules/jquery-touchswipe/demos/Page_zoom.html +50 -0
  540. data/app/assets/node_modules/jquery-touchswipe/demos/Pinch.html +57 -0
  541. data/app/assets/node_modules/jquery-touchswipe/demos/Pinch_and_Swipe.html +81 -0
  542. data/app/assets/node_modules/jquery-touchswipe/demos/Pinch_status.html +51 -0
  543. data/app/assets/node_modules/jquery-touchswipe/demos/Single_swipe.html +51 -0
  544. data/app/assets/node_modules/jquery-touchswipe/demos/Stop_propegation.html +57 -0
  545. data/app/assets/node_modules/jquery-touchswipe/demos/Swipe_status.html +82 -0
  546. data/app/assets/node_modules/jquery-touchswipe/demos/Tap_vs_swipe.html +114 -0
  547. data/app/assets/node_modules/jquery-touchswipe/demos/Thresholds.html +109 -0
  548. data/app/assets/node_modules/jquery-touchswipe/demos/Trigger_handlers.html +158 -0
  549. data/app/assets/node_modules/jquery-touchswipe/demos/css/main.css +110 -0
  550. data/app/assets/node_modules/jquery-touchswipe/demos/index.html +74 -0
  551. data/app/assets/node_modules/jquery-touchswipe/demos/js/jquery.ui.ipad.js +223 -0
  552. data/app/assets/node_modules/jquery-touchswipe/demos/js/main.js +240 -0
  553. data/app/assets/node_modules/jquery-touchswipe/demos/tutorials.json +22 -0
  554. data/app/assets/node_modules/jquery-touchswipe/docs/$.fn.html +188 -0
  555. data/app/assets/node_modules/jquery-touchswipe/docs/$.fn.swipe.defaults.html +1174 -0
  556. data/app/assets/node_modules/jquery-touchswipe/docs/$.fn.swipe.directions.html +311 -0
  557. data/app/assets/node_modules/jquery-touchswipe/docs/$.fn.swipe.fingers.html +319 -0
  558. data/app/assets/node_modules/jquery-touchswipe/docs/$.fn.swipe.html +4205 -0
  559. data/app/assets/node_modules/jquery-touchswipe/docs/$.fn.swipe.pageScroll.html +272 -0
  560. data/app/assets/node_modules/jquery-touchswipe/docs/$.fn.swipe.phases.html +265 -0
  561. data/app/assets/node_modules/jquery-touchswipe/docs/$.html +186 -0
  562. data/app/assets/node_modules/jquery-touchswipe/docs/css/main.css +110 -0
  563. data/app/assets/node_modules/jquery-touchswipe/docs/index.html +101 -0
  564. data/app/assets/node_modules/jquery-touchswipe/docs/jquery.touchSwipe.js.html +2168 -0
  565. data/app/assets/node_modules/jquery-touchswipe/docs/js/jquery.ui.ipad.js +223 -0
  566. data/app/assets/node_modules/jquery-touchswipe/docs/js/main.js +85 -0
  567. data/app/assets/node_modules/jquery-touchswipe/docs/scripts/linenumber.js +25 -0
  568. data/app/assets/node_modules/jquery-touchswipe/docs/scripts/prettify/Apache-License-2.0.txt +202 -0
  569. data/app/assets/node_modules/jquery-touchswipe/docs/scripts/prettify/lang-css.js +2 -0
  570. data/app/assets/node_modules/jquery-touchswipe/docs/scripts/prettify/prettify.js +28 -0
  571. data/app/assets/node_modules/jquery-touchswipe/docs/styles/jsdoc.css +625 -0
  572. data/app/assets/node_modules/jquery-touchswipe/docs/styles/prettify.css +79 -0
  573. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Any_finger_swipe.html +108 -0
  574. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Basic_swipe.html +107 -0
  575. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Enable_and_destroy.html +154 -0
  576. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Excluded_children.html +141 -0
  577. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Finger_swipe.html +120 -0
  578. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Handlers_and_events.html +187 -0
  579. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Hold.html +120 -0
  580. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Image_gallery_example.html +207 -0
  581. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Options.html +149 -0
  582. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Page_scrolling.html +168 -0
  583. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Page_zoom.html +109 -0
  584. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Pinch.html +116 -0
  585. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Pinch_and_Swipe.html +140 -0
  586. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Pinch_status.html +110 -0
  587. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Single_swipe.html +110 -0
  588. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Stop_propegation.html +116 -0
  589. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Swipe_status.html +141 -0
  590. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Tap_vs_swipe.html +173 -0
  591. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Thresholds.html +168 -0
  592. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-Trigger_handlers.html +217 -0
  593. data/app/assets/node_modules/jquery-touchswipe/docs/tutorial-index_.html +133 -0
  594. data/app/assets/node_modules/jquery-touchswipe/jquery.touchSwipe.js +2109 -0
  595. data/app/assets/node_modules/jquery-touchswipe/jquery.touchSwipe.min.js +14 -0
  596. data/app/assets/node_modules/jquery-touchswipe/package.json +47 -0
  597. data/app/assets/node_modules/jquery-validation/LICENSE.md +22 -0
  598. data/app/assets/node_modules/jquery-validation/README.md +76 -0
  599. data/app/assets/node_modules/jquery-validation/changelog.md +639 -0
  600. data/app/assets/node_modules/jquery-validation/dist/additional-methods.js +1158 -0
  601. data/app/assets/node_modules/jquery-validation/dist/jquery.validate.js +1601 -0
  602. data/app/assets/node_modules/jquery-validation/dist/jquery.validate.min.js +4 -0
  603. data/app/assets/node_modules/jquery-validation/dist/localization/messages_ar.js +35 -0
  604. data/app/assets/node_modules/jquery-validation/dist/localization/messages_az.js +35 -0
  605. data/app/assets/node_modules/jquery-validation/dist/localization/messages_bg.js +35 -0
  606. data/app/assets/node_modules/jquery-validation/dist/localization/messages_bn_BD.js +35 -0
  607. data/app/assets/node_modules/jquery-validation/dist/localization/messages_ca.js +35 -0
  608. data/app/assets/node_modules/jquery-validation/dist/localization/messages_cs.js +35 -0
  609. data/app/assets/node_modules/jquery-validation/dist/localization/messages_da.js +32 -0
  610. data/app/assets/node_modules/jquery-validation/dist/localization/messages_de.js +32 -0
  611. data/app/assets/node_modules/jquery-validation/dist/localization/messages_el.js +35 -0
  612. data/app/assets/node_modules/jquery-validation/dist/localization/messages_es.js +38 -0
  613. data/app/assets/node_modules/jquery-validation/dist/localization/messages_es_AR.js +39 -0
  614. data/app/assets/node_modules/jquery-validation/dist/localization/messages_es_PE.js +39 -0
  615. data/app/assets/node_modules/jquery-validation/dist/localization/messages_et.js +33 -0
  616. data/app/assets/node_modules/jquery-validation/dist/localization/messages_eu.js +35 -0
  617. data/app/assets/node_modules/jquery-validation/dist/localization/messages_fa.js +38 -0
  618. data/app/assets/node_modules/jquery-validation/dist/localization/messages_fi.js +33 -0
  619. data/app/assets/node_modules/jquery-validation/dist/localization/messages_fr.js +63 -0
  620. data/app/assets/node_modules/jquery-validation/dist/localization/messages_ge.js +35 -0
  621. data/app/assets/node_modules/jquery-validation/dist/localization/messages_gl.js +40 -0
  622. data/app/assets/node_modules/jquery-validation/dist/localization/messages_he.js +35 -0
  623. data/app/assets/node_modules/jquery-validation/dist/localization/messages_hr.js +35 -0
  624. data/app/assets/node_modules/jquery-validation/dist/localization/messages_hu.js +35 -0
  625. data/app/assets/node_modules/jquery-validation/dist/localization/messages_hy_AM.js +35 -0
  626. data/app/assets/node_modules/jquery-validation/dist/localization/messages_id.js +34 -0
  627. data/app/assets/node_modules/jquery-validation/dist/localization/messages_is.js +33 -0
  628. data/app/assets/node_modules/jquery-validation/dist/localization/messages_it.js +39 -0
  629. data/app/assets/node_modules/jquery-validation/dist/localization/messages_ja.js +36 -0
  630. data/app/assets/node_modules/jquery-validation/dist/localization/messages_ka.js +35 -0
  631. data/app/assets/node_modules/jquery-validation/dist/localization/messages_kk.js +35 -0
  632. data/app/assets/node_modules/jquery-validation/dist/localization/messages_ko.js +35 -0
  633. data/app/assets/node_modules/jquery-validation/dist/localization/messages_lt.js +35 -0
  634. data/app/assets/node_modules/jquery-validation/dist/localization/messages_lv.js +35 -0
  635. data/app/assets/node_modules/jquery-validation/dist/localization/messages_mk.js +35 -0
  636. data/app/assets/node_modules/jquery-validation/dist/localization/messages_my.js +35 -0
  637. data/app/assets/node_modules/jquery-validation/dist/localization/messages_nl.js +46 -0
  638. data/app/assets/node_modules/jquery-validation/dist/localization/messages_no.js +36 -0
  639. data/app/assets/node_modules/jquery-validation/dist/localization/messages_pl.js +37 -0
  640. data/app/assets/node_modules/jquery-validation/dist/localization/messages_pt_BR.js +88 -0
  641. data/app/assets/node_modules/jquery-validation/dist/localization/messages_pt_PT.js +39 -0
  642. data/app/assets/node_modules/jquery-validation/dist/localization/messages_ro.js +35 -0
  643. data/app/assets/node_modules/jquery-validation/dist/localization/messages_ru.js +35 -0
  644. data/app/assets/node_modules/jquery-validation/dist/localization/messages_sd.js +35 -0
  645. data/app/assets/node_modules/jquery-validation/dist/localization/messages_si.js +35 -0
  646. data/app/assets/node_modules/jquery-validation/dist/localization/messages_sk.js +32 -0
  647. data/app/assets/node_modules/jquery-validation/dist/localization/messages_sl.js +35 -0
  648. data/app/assets/node_modules/jquery-validation/dist/localization/messages_sr.js +35 -0
  649. data/app/assets/node_modules/jquery-validation/dist/localization/messages_sr_lat.js +35 -0
  650. data/app/assets/node_modules/jquery-validation/dist/localization/messages_sv.js +33 -0
  651. data/app/assets/node_modules/jquery-validation/dist/localization/messages_th.js +35 -0
  652. data/app/assets/node_modules/jquery-validation/dist/localization/messages_tj.js +35 -0
  653. data/app/assets/node_modules/jquery-validation/dist/localization/messages_tr.js +36 -0
  654. data/app/assets/node_modules/jquery-validation/dist/localization/messages_uk.js +35 -0
  655. data/app/assets/node_modules/jquery-validation/dist/localization/messages_ur.js +35 -0
  656. data/app/assets/node_modules/jquery-validation/dist/localization/messages_vi.js +35 -0
  657. data/app/assets/node_modules/jquery-validation/dist/localization/messages_zh.js +35 -0
  658. data/app/assets/node_modules/jquery-validation/dist/localization/messages_zh_TW.js +36 -0
  659. data/app/assets/node_modules/jquery-validation/dist/localization/methods_de.js +24 -0
  660. data/app/assets/node_modules/jquery-validation/dist/localization/methods_es_CL.js +24 -0
  661. data/app/assets/node_modules/jquery-validation/dist/localization/methods_fi.js +24 -0
  662. data/app/assets/node_modules/jquery-validation/dist/localization/methods_nl.js +24 -0
  663. data/app/assets/node_modules/jquery-validation/dist/localization/methods_pt.js +21 -0
  664. data/app/assets/node_modules/jquery-validation/package.json +61 -0
  665. data/app/assets/node_modules/jquery.browser/Gruntfile.js +62 -0
  666. data/app/assets/node_modules/jquery.browser/MIT-LICENSE.txt +21 -0
  667. data/app/assets/node_modules/jquery.browser/README.md +117 -0
  668. data/app/assets/node_modules/jquery.browser/bower.json +13 -0
  669. data/app/assets/node_modules/jquery.browser/browser.jquery.json +37 -0
  670. data/app/assets/node_modules/jquery.browser/dist/jquery.browser.js +193 -0
  671. data/app/assets/node_modules/jquery.browser/dist/jquery.browser.min.js +14 -0
  672. data/app/assets/node_modules/jquery.browser/package.json +30 -0
  673. data/app/assets/node_modules/jquery.browser/test/casperserver.js +257 -0
  674. data/app/assets/node_modules/jquery.browser/test/index.html +13 -0
  675. data/app/assets/node_modules/jquery.browser/test/src/jquery-1.10.2.min.js +6 -0
  676. data/app/assets/node_modules/jquery.browser/test/src/require/test.js +21 -0
  677. data/app/assets/node_modules/jquery.browser/test/test.js +962 -0
  678. data/app/assets/node_modules/jquery.flot.tooltip/CONTRIBUTING.md +9 -0
  679. data/app/assets/node_modules/jquery.flot.tooltip/Gruntfile.js +72 -0
  680. data/app/assets/node_modules/jquery.flot.tooltip/README.md +267 -0
  681. data/app/assets/node_modules/jquery.flot.tooltip/bower.json +13 -0
  682. data/app/assets/node_modules/jquery.flot.tooltip/examples/basic.html +45 -0
  683. data/app/assets/node_modules/jquery.flot.tooltip/examples/curved-lines.html +59 -0
  684. data/app/assets/node_modules/jquery.flot.tooltip/examples/custom-label-text.html +114 -0
  685. data/app/assets/node_modules/jquery.flot.tooltip/examples/custom_ticks.html +78 -0
  686. data/app/assets/node_modules/jquery.flot.tooltip/examples/dollar_in_tickformatter.html +68 -0
  687. data/app/assets/node_modules/jquery.flot.tooltip/examples/index.html +36 -0
  688. data/app/assets/node_modules/jquery.flot.tooltip/examples/js/curvedLines.js +483 -0
  689. data/app/assets/node_modules/jquery.flot.tooltip/examples/js/excanvas.min.js +1 -0
  690. data/app/assets/node_modules/jquery.flot.tooltip/examples/js/jquery.flot.js +3168 -0
  691. data/app/assets/node_modules/jquery.flot.tooltip/examples/js/jquery.flot.pie.js +820 -0
  692. data/app/assets/node_modules/jquery.flot.tooltip/examples/js/jquery.flot.stack.js +184 -0
  693. data/app/assets/node_modules/jquery.flot.tooltip/examples/js/jquery.flot.threshold.js +142 -0
  694. data/app/assets/node_modules/jquery.flot.tooltip/examples/js/jquery.flot.time.js +432 -0
  695. data/app/assets/node_modules/jquery.flot.tooltip/examples/many_series.html +78 -0
  696. data/app/assets/node_modules/jquery.flot.tooltip/examples/multiple-axes.html +78 -0
  697. data/app/assets/node_modules/jquery.flot.tooltip/examples/pie.html +87 -0
  698. data/app/assets/node_modules/jquery.flot.tooltip/examples/real_data.html +133 -0
  699. data/app/assets/node_modules/jquery.flot.tooltip/examples/stacking.html +97 -0
  700. data/app/assets/node_modules/jquery.flot.tooltip/examples/threshold.html +97 -0
  701. data/app/assets/node_modules/jquery.flot.tooltip/examples/time_bars.html +77 -0
  702. data/app/assets/node_modules/jquery.flot.tooltip/examples/two_chars.html +63 -0
  703. data/app/assets/node_modules/jquery.flot.tooltip/js/jquery.flot.tooltip.js +606 -0
  704. data/app/assets/node_modules/jquery.flot.tooltip/js/jquery.flot.tooltip.min.js +12 -0
  705. data/app/assets/node_modules/jquery.flot.tooltip/js/jquery.flot.tooltip.source.js +595 -0
  706. data/app/assets/node_modules/jquery.flot.tooltip/package.json +37 -0
  707. data/app/assets/node_modules/jqvmap/CHANGELOG.md +118 -0
  708. data/app/assets/node_modules/jqvmap/CONTRIBUTING.md +118 -0
  709. data/app/assets/node_modules/jqvmap/LICENSE +43 -0
  710. data/app/assets/node_modules/jqvmap/README.md +495 -0
  711. data/app/assets/node_modules/jqvmap/REGIONS.md +405 -0
  712. data/app/assets/node_modules/jqvmap/bower.json +32 -0
  713. data/app/assets/node_modules/jqvmap/create/README.md +207 -0
  714. data/app/assets/node_modules/jqvmap/create/config/continent.json +64 -0
  715. data/app/assets/node_modules/jqvmap/create/config/new-york.json +16 -0
  716. data/app/assets/node_modules/jqvmap/create/config/syria.json +16 -0
  717. data/app/assets/node_modules/jqvmap/create/jqvmap.py +573 -0
  718. data/app/assets/node_modules/jqvmap/dist/jquery.vmap.js +1281 -0
  719. data/app/assets/node_modules/jqvmap/dist/jquery.vmap.min.js +10 -0
  720. data/app/assets/node_modules/jqvmap/dist/jqvmap.css +50 -0
  721. data/app/assets/node_modules/jqvmap/dist/jqvmap.min.css +1 -0
  722. data/app/assets/node_modules/jqvmap/dist/maps/continents/jquery.vmap.africa.js +2 -0
  723. data/app/assets/node_modules/jqvmap/dist/maps/continents/jquery.vmap.asia.js +2 -0
  724. data/app/assets/node_modules/jqvmap/dist/maps/continents/jquery.vmap.australia.js +2 -0
  725. data/app/assets/node_modules/jqvmap/dist/maps/continents/jquery.vmap.europe.js +2 -0
  726. data/app/assets/node_modules/jqvmap/dist/maps/continents/jquery.vmap.north-america.js +2 -0
  727. data/app/assets/node_modules/jqvmap/dist/maps/continents/jquery.vmap.south-america.js +2 -0
  728. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.algeria.js +2 -0
  729. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.argentina.js +1 -0
  730. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.brazil.js +2 -0
  731. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.canada.js +2 -0
  732. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.europe.js +2 -0
  733. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.france.js +1 -0
  734. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.germany.js +2 -0
  735. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.greece.js +1 -0
  736. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.iran.js +6 -0
  737. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.iraq.js +1 -0
  738. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.russia.js +2 -0
  739. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.tunisia.js +2 -0
  740. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.turkey.js +11 -0
  741. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.usa.js +2 -0
  742. data/app/assets/node_modules/jqvmap/dist/maps/jquery.vmap.world.js +2 -0
  743. data/app/assets/node_modules/jqvmap/examples/algeria.html +27 -0
  744. data/app/assets/node_modules/jqvmap/examples/argentina.html +33 -0
  745. data/app/assets/node_modules/jqvmap/examples/brazil.html +33 -0
  746. data/app/assets/node_modules/jqvmap/examples/continents.html +172 -0
  747. data/app/assets/node_modules/jqvmap/examples/europe.html +27 -0
  748. data/app/assets/node_modules/jqvmap/examples/france.html +27 -0
  749. data/app/assets/node_modules/jqvmap/examples/germany.html +33 -0
  750. data/app/assets/node_modules/jqvmap/examples/greece.html +33 -0
  751. data/app/assets/node_modules/jqvmap/examples/images/background.png +0 -0
  752. data/app/assets/node_modules/jqvmap/examples/images/flag.png +0 -0
  753. data/app/assets/node_modules/jqvmap/examples/images/globe.png +0 -0
  754. data/app/assets/node_modules/jqvmap/examples/images/marker/black.png +0 -0
  755. data/app/assets/node_modules/jqvmap/examples/images/marker/blue.png +0 -0
  756. data/app/assets/node_modules/jqvmap/examples/images/marker/green.png +0 -0
  757. data/app/assets/node_modules/jqvmap/examples/images/marker/grey.png +0 -0
  758. data/app/assets/node_modules/jqvmap/examples/images/marker/orange.png +0 -0
  759. data/app/assets/node_modules/jqvmap/examples/images/marker/purple.png +0 -0
  760. data/app/assets/node_modules/jqvmap/examples/images/marker/red.png +0 -0
  761. data/app/assets/node_modules/jqvmap/examples/images/marker/white.png +0 -0
  762. data/app/assets/node_modules/jqvmap/examples/images/marker/yellow.png +0 -0
  763. data/app/assets/node_modules/jqvmap/examples/images/thumb.jpg +0 -0
  764. data/app/assets/node_modules/jqvmap/examples/images/tip.png +0 -0
  765. data/app/assets/node_modules/jqvmap/examples/inactive_regions.html +62 -0
  766. data/app/assets/node_modules/jqvmap/examples/iran.html +44 -0
  767. data/app/assets/node_modules/jqvmap/examples/iraq.html +44 -0
  768. data/app/assets/node_modules/jqvmap/examples/js/jquery.vmap.sampledata.js +1 -0
  769. data/app/assets/node_modules/jqvmap/examples/labels.html +146 -0
  770. data/app/assets/node_modules/jqvmap/examples/mobile.html +59 -0
  771. data/app/assets/node_modules/jqvmap/examples/multi.html +29 -0
  772. data/app/assets/node_modules/jqvmap/examples/pins.html +236 -0
  773. data/app/assets/node_modules/jqvmap/examples/pins_custom.html +127 -0
  774. data/app/assets/node_modules/jqvmap/examples/responsive.html +45 -0
  775. data/app/assets/node_modules/jqvmap/examples/russia.html +33 -0
  776. data/app/assets/node_modules/jqvmap/examples/touch_detect.html +46 -0
  777. data/app/assets/node_modules/jqvmap/examples/tunisia.html +33 -0
  778. data/app/assets/node_modules/jqvmap/examples/turkey.html +26 -0
  779. data/app/assets/node_modules/jqvmap/examples/usa.html +37 -0
  780. data/app/assets/node_modules/jqvmap/examples/world.html +35 -0
  781. data/app/assets/node_modules/jqvmap/grunt/bump.js +22 -0
  782. data/app/assets/node_modules/jqvmap/grunt/changelog.js +14 -0
  783. data/app/assets/node_modules/jqvmap/grunt/clean.js +5 -0
  784. data/app/assets/node_modules/jqvmap/grunt/concat.js +23 -0
  785. data/app/assets/node_modules/jqvmap/grunt/index.js +2 -0
  786. data/app/assets/node_modules/jqvmap/grunt/qunit.js +3 -0
  787. data/app/assets/node_modules/jqvmap/grunt/shell.js +6 -0
  788. data/app/assets/node_modules/jqvmap/grunt/uglify.js +19 -0
  789. data/app/assets/node_modules/jqvmap/gruntfile.js +21 -0
  790. data/app/assets/node_modules/jqvmap/node_modules/jquery/AUTHORS.txt +217 -0
  791. data/app/assets/node_modules/jqvmap/node_modules/jquery/CONTRIBUTING.md +214 -0
  792. data/app/assets/node_modules/jqvmap/node_modules/jquery/MIT-LICENSE.txt +21 -0
  793. data/app/assets/node_modules/jqvmap/node_modules/jquery/README.md +368 -0
  794. data/app/assets/node_modules/jqvmap/node_modules/jquery/bower.json +28 -0
  795. data/app/assets/node_modules/jqvmap/node_modules/jquery/dist/jquery.js +10351 -0
  796. data/app/assets/node_modules/jqvmap/node_modules/jquery/dist/jquery.min.js +6 -0
  797. data/app/assets/node_modules/jqvmap/node_modules/jquery/dist/jquery.min.map +1 -0
  798. data/app/assets/node_modules/jqvmap/node_modules/jquery/package.json +54 -0
  799. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/ajax/jsonp.js +89 -0
  800. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/ajax/load.js +75 -0
  801. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/ajax/parseJSON.js +51 -0
  802. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/ajax/parseXML.js +31 -0
  803. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/ajax/script.js +93 -0
  804. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/ajax/var/nonce.js +5 -0
  805. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/ajax/var/rquery.js +3 -0
  806. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/ajax/xhr.js +197 -0
  807. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/ajax.js +801 -0
  808. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/attributes/attr.js +271 -0
  809. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/attributes/classes.js +157 -0
  810. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/attributes/prop.js +134 -0
  811. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/attributes/support.js +62 -0
  812. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/attributes/val.js +178 -0
  813. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/attributes.js +11 -0
  814. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/callbacks.js +205 -0
  815. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/core/access.js +60 -0
  816. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/core/init.js +132 -0
  817. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/core/parseHTML.js +39 -0
  818. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/core/ready.js +152 -0
  819. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/core/var/rsingleTag.js +4 -0
  820. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/core.js +540 -0
  821. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/css/addGetHookIf.js +32 -0
  822. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/css/curCSS.js +124 -0
  823. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/css/defaultDisplay.js +69 -0
  824. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/css/hiddenVisibleSelectors.js +20 -0
  825. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/css/support.js +151 -0
  826. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/css/swap.js +28 -0
  827. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/css/var/cssExpand.js +3 -0
  828. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/css/var/isHidden.js +13 -0
  829. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/css/var/rmargin.js +3 -0
  830. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/css/var/rnumnonpx.js +5 -0
  831. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/css.js +504 -0
  832. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/data/accepts.js +21 -0
  833. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/data/support.js +25 -0
  834. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/data.js +335 -0
  835. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/deferred.js +150 -0
  836. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/deprecated.js +13 -0
  837. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/dimensions.js +50 -0
  838. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/effects/Tween.js +114 -0
  839. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/effects/animatedSelector.js +13 -0
  840. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/effects/support.js +55 -0
  841. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/effects.js +656 -0
  842. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/event/ajax.js +13 -0
  843. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/event/alias.js +39 -0
  844. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/event/support.js +26 -0
  845. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/event.js +1037 -0
  846. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/exports/amd.js +24 -0
  847. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/exports/global.js +32 -0
  848. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/intro.js +44 -0
  849. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/jquery.js +38 -0
  850. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/manipulation/_evalUrl.js +18 -0
  851. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/manipulation/support.js +76 -0
  852. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/manipulation/var/rcheckableType.js +3 -0
  853. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/manipulation.js +744 -0
  854. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/offset.js +211 -0
  855. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/outro.js +1 -0
  856. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/queue/delay.js +22 -0
  857. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/queue.js +142 -0
  858. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/selector-sizzle.js +14 -0
  859. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/selector.js +1 -0
  860. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/serialize.js +110 -0
  861. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/sizzle/dist/sizzle.js +2067 -0
  862. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  863. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  864. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/sizzle/test/data/empty.js +0 -0
  865. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/sizzle/test/data/mixed_sort.html +22 -0
  866. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/sizzle/test/data/testinit.js +136 -0
  867. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/sizzle/test/index.html +242 -0
  868. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/sizzle/test/jquery.js +9597 -0
  869. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/sizzle/test/unit/extending.js +95 -0
  870. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/sizzle/test/unit/selector.js +1149 -0
  871. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/sizzle/test/unit/utilities.js +169 -0
  872. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/support.js +58 -0
  873. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/traversing/findFilter.js +100 -0
  874. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/traversing/var/rneedsContext.js +6 -0
  875. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/traversing.js +200 -0
  876. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/var/class2type.js +4 -0
  877. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/var/concat.js +5 -0
  878. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/var/deletedIds.js +3 -0
  879. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/var/hasOwn.js +5 -0
  880. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/var/indexOf.js +5 -0
  881. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/var/pnum.js +3 -0
  882. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/var/push.js +5 -0
  883. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/var/rnotwhite.js +3 -0
  884. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/var/slice.js +5 -0
  885. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/var/strundefined.js +3 -0
  886. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/var/support.js +4 -0
  887. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/var/toString.js +5 -0
  888. data/app/assets/node_modules/jqvmap/node_modules/jquery/src/wrap.js +76 -0
  889. data/app/assets/node_modules/jqvmap/package.json +45 -0
  890. data/app/assets/node_modules/jqvmap/src/Base.js +80 -0
  891. data/app/assets/node_modules/jqvmap/src/ColorScale/arrayToRgb.js +9 -0
  892. data/app/assets/node_modules/jqvmap/src/ColorScale/getColor.js +41 -0
  893. data/app/assets/node_modules/jqvmap/src/ColorScale/rgbToArray.js +4 -0
  894. data/app/assets/node_modules/jqvmap/src/ColorScale/setColors.js +6 -0
  895. data/app/assets/node_modules/jqvmap/src/ColorScale/setMax.js +8 -0
  896. data/app/assets/node_modules/jqvmap/src/ColorScale/setMin.js +9 -0
  897. data/app/assets/node_modules/jqvmap/src/ColorScale/setNormalizeFunction.js +13 -0
  898. data/app/assets/node_modules/jqvmap/src/ColorScale/vectorAdd.js +7 -0
  899. data/app/assets/node_modules/jqvmap/src/ColorScale/vectorLength.js +7 -0
  900. data/app/assets/node_modules/jqvmap/src/ColorScale/vectorMult.js +7 -0
  901. data/app/assets/node_modules/jqvmap/src/ColorScale/vectorSubtract.js +7 -0
  902. data/app/assets/node_modules/jqvmap/src/ColorScale/vectorToNum.js +7 -0
  903. data/app/assets/node_modules/jqvmap/src/ColorScale.js +18 -0
  904. data/app/assets/node_modules/jqvmap/src/JQVMap/applyTransform.js +31 -0
  905. data/app/assets/node_modules/jqvmap/src/JQVMap/bindZoomButtons.js +9 -0
  906. data/app/assets/node_modules/jqvmap/src/JQVMap/deselect.js +18 -0
  907. data/app/assets/node_modules/jqvmap/src/JQVMap/getCountryId.js +3 -0
  908. data/app/assets/node_modules/jqvmap/src/JQVMap/getPin.js +4 -0
  909. data/app/assets/node_modules/jqvmap/src/JQVMap/getPinId.js +3 -0
  910. data/app/assets/node_modules/jqvmap/src/JQVMap/getPins.js +11 -0
  911. data/app/assets/node_modules/jqvmap/src/JQVMap/highlight.js +12 -0
  912. data/app/assets/node_modules/jqvmap/src/JQVMap/isSelected.js +3 -0
  913. data/app/assets/node_modules/jqvmap/src/JQVMap/makeDraggable.js +159 -0
  914. data/app/assets/node_modules/jqvmap/src/JQVMap/placePins.js +46 -0
  915. data/app/assets/node_modules/jqvmap/src/JQVMap/positionPins.js +19 -0
  916. data/app/assets/node_modules/jqvmap/src/JQVMap/removePin.js +4 -0
  917. data/app/assets/node_modules/jqvmap/src/JQVMap/removePins.js +3 -0
  918. data/app/assets/node_modules/jqvmap/src/JQVMap/reset.js +9 -0
  919. data/app/assets/node_modules/jqvmap/src/JQVMap/resize.js +13 -0
  920. data/app/assets/node_modules/jqvmap/src/JQVMap/select.js +18 -0
  921. data/app/assets/node_modules/jqvmap/src/JQVMap/selectIndex.js +9 -0
  922. data/app/assets/node_modules/jqvmap/src/JQVMap/setBackgroundColor.js +3 -0
  923. data/app/assets/node_modules/jqvmap/src/JQVMap/setColors.js +15 -0
  924. data/app/assets/node_modules/jqvmap/src/JQVMap/setNormalizeFunction.js +7 -0
  925. data/app/assets/node_modules/jqvmap/src/JQVMap/setScale.js +4 -0
  926. data/app/assets/node_modules/jqvmap/src/JQVMap/setScaleColors.js +7 -0
  927. data/app/assets/node_modules/jqvmap/src/JQVMap/setValues.js +36 -0
  928. data/app/assets/node_modules/jqvmap/src/JQVMap/unhighlight.js +8 -0
  929. data/app/assets/node_modules/jqvmap/src/JQVMap/zoomIn.js +17 -0
  930. data/app/assets/node_modules/jqvmap/src/JQVMap/zoomOut.js +17 -0
  931. data/app/assets/node_modules/jqvmap/src/JQVMap.js +243 -0
  932. data/app/assets/node_modules/jqvmap/src/VectorCanvas/applyTransformParams.js +8 -0
  933. data/app/assets/node_modules/jqvmap/src/VectorCanvas/createGroup.js +19 -0
  934. data/app/assets/node_modules/jqvmap/src/VectorCanvas/createPath.js +75 -0
  935. data/app/assets/node_modules/jqvmap/src/VectorCanvas/pathSvgToVml.js +103 -0
  936. data/app/assets/node_modules/jqvmap/src/VectorCanvas/setSize.js +24 -0
  937. data/app/assets/node_modules/jqvmap/src/VectorCanvas.js +42 -0
  938. data/app/assets/node_modules/jqvmap/tests/index.html +32 -0
  939. data/app/assets/node_modules/jqvmap/tests/qunit/qunit.css +291 -0
  940. data/app/assets/node_modules/jqvmap/tests/qunit/qunit.js +3828 -0
  941. data/app/assets/node_modules/jqvmap/tests/tests.js +422 -0
  942. data/app/assets/node_modules/metismenu/LICENSE +20 -0
  943. data/app/assets/node_modules/metismenu/README.md +361 -0
  944. data/app/assets/node_modules/metismenu/changelog.md +22 -0
  945. data/app/assets/node_modules/metismenu/dist/cjs/index.js +327 -0
  946. data/app/assets/node_modules/metismenu/dist/metisMenu.css +132 -0
  947. data/app/assets/node_modules/metismenu/dist/metisMenu.css.map +1 -0
  948. data/app/assets/node_modules/metismenu/dist/metisMenu.js +332 -0
  949. data/app/assets/node_modules/metismenu/dist/metisMenu.js.map +1 -0
  950. data/app/assets/node_modules/metismenu/dist/metisMenu.min.css +9 -0
  951. data/app/assets/node_modules/metismenu/dist/metisMenu.min.css.map +1 -0
  952. data/app/assets/node_modules/metismenu/dist/metisMenu.min.js +10 -0
  953. data/app/assets/node_modules/metismenu/dist/metisMenu.min.js.map +1 -0
  954. data/app/assets/node_modules/metismenu/dist/modules/index.js +323 -0
  955. data/app/assets/node_modules/metismenu/package.json +122 -0
  956. data/app/assets/node_modules/metismenu/src/index.js +260 -0
  957. data/app/assets/node_modules/metismenu/src/metisMenu.css +116 -0
  958. data/app/assets/node_modules/metismenu/src/util.js +61 -0
  959. data/app/assets/node_modules/metismenu/types/metismenu.d.ts +25 -0
  960. data/app/assets/node_modules/morris.js/Gruntfile.js +90 -0
  961. data/app/assets/node_modules/morris.js/README.md +234 -0
  962. data/app/assets/node_modules/morris.js/bower.json +20 -0
  963. data/app/assets/node_modules/morris.js/bower.travis.json +20 -0
  964. data/app/assets/node_modules/morris.js/examples/_template.html +18 -0
  965. data/app/assets/node_modules/morris.js/examples/area-as-line.html +31 -0
  966. data/app/assets/node_modules/morris.js/examples/area.html +34 -0
  967. data/app/assets/node_modules/morris.js/examples/bar-colors.html +44 -0
  968. data/app/assets/node_modules/morris.js/examples/bar-no-axes.html +31 -0
  969. data/app/assets/node_modules/morris.js/examples/bar.html +32 -0
  970. data/app/assets/node_modules/morris.js/examples/days.html +37 -0
  971. data/app/assets/node_modules/morris.js/examples/decimal-custom-hover.html +37 -0
  972. data/app/assets/node_modules/morris.js/examples/diagonal-xlabels-bar.html +38 -0
  973. data/app/assets/node_modules/morris.js/examples/diagonal-xlabels.html +38 -0
  974. data/app/assets/node_modules/morris.js/examples/donut-colors.html +38 -0
  975. data/app/assets/node_modules/morris.js/examples/donut-formatter.html +27 -0
  976. data/app/assets/node_modules/morris.js/examples/donut.html +29 -0
  977. data/app/assets/node_modules/morris.js/examples/dst.html +30 -0
  978. data/app/assets/node_modules/morris.js/examples/events.html +57 -0
  979. data/app/assets/node_modules/morris.js/examples/goals.html +33 -0
  980. data/app/assets/node_modules/morris.js/examples/lib/example.css +13 -0
  981. data/app/assets/node_modules/morris.js/examples/lib/example.js +4 -0
  982. data/app/assets/node_modules/morris.js/examples/months-no-smooth.html +38 -0
  983. data/app/assets/node_modules/morris.js/examples/negative.html +36 -0
  984. data/app/assets/node_modules/morris.js/examples/no-grid.html +38 -0
  985. data/app/assets/node_modules/morris.js/examples/non-continuous.html +42 -0
  986. data/app/assets/node_modules/morris.js/examples/non-date.html +37 -0
  987. data/app/assets/node_modules/morris.js/examples/quarters.html +54 -0
  988. data/app/assets/node_modules/morris.js/examples/resize.html +42 -0
  989. data/app/assets/node_modules/morris.js/examples/stacked_bars.html +31 -0
  990. data/app/assets/node_modules/morris.js/examples/timestamps.html +38 -0
  991. data/app/assets/node_modules/morris.js/examples/updating.html +49 -0
  992. data/app/assets/node_modules/morris.js/examples/weeks.html +53 -0
  993. data/app/assets/node_modules/morris.js/examples/years.html +37 -0
  994. data/app/assets/node_modules/morris.js/less/morris.core.less +27 -0
  995. data/app/assets/node_modules/morris.js/lib/morris.area.coffee +66 -0
  996. data/app/assets/node_modules/morris.js/lib/morris.bar.coffee +208 -0
  997. data/app/assets/node_modules/morris.js/lib/morris.coffee +43 -0
  998. data/app/assets/node_modules/morris.js/lib/morris.donut.coffee +213 -0
  999. data/app/assets/node_modules/morris.js/lib/morris.grid.coffee +499 -0
  1000. data/app/assets/node_modules/morris.js/lib/morris.hover.coffee +44 -0
  1001. data/app/assets/node_modules/morris.js/lib/morris.line.coffee +405 -0
  1002. data/app/assets/node_modules/morris.js/morris.css +2 -0
  1003. data/app/assets/node_modules/morris.js/morris.js +1892 -0
  1004. data/app/assets/node_modules/morris.js/morris.min.js +7 -0
  1005. data/app/assets/node_modules/morris.js/package.json +36 -0
  1006. data/app/assets/node_modules/morris.js/spec/lib/area/area_spec.coffee +60 -0
  1007. data/app/assets/node_modules/morris.js/spec/lib/bar/bar_spec.coffee +127 -0
  1008. data/app/assets/node_modules/morris.js/spec/lib/bar/colours.coffee +36 -0
  1009. data/app/assets/node_modules/morris.js/spec/lib/commas_spec.coffee +38 -0
  1010. data/app/assets/node_modules/morris.js/spec/lib/donut/donut_spec.coffee +76 -0
  1011. data/app/assets/node_modules/morris.js/spec/lib/grid/auto_grid_lines_spec.coffee +25 -0
  1012. data/app/assets/node_modules/morris.js/spec/lib/grid/set_data_spec.coffee +208 -0
  1013. data/app/assets/node_modules/morris.js/spec/lib/grid/y_label_format_spec.coffee +15 -0
  1014. data/app/assets/node_modules/morris.js/spec/lib/hover_spec.coffee +64 -0
  1015. data/app/assets/node_modules/morris.js/spec/lib/label_series_spec.coffee +186 -0
  1016. data/app/assets/node_modules/morris.js/spec/lib/line/line_spec.coffee +211 -0
  1017. data/app/assets/node_modules/morris.js/spec/lib/pad_spec.coffee +17 -0
  1018. data/app/assets/node_modules/morris.js/spec/lib/parse_time_spec.coffee +35 -0
  1019. data/app/assets/node_modules/morris.js/spec/specs.html +34 -0
  1020. data/app/assets/node_modules/morris.js/spec/support/placeholder.coffee +6 -0
  1021. data/app/assets/node_modules/morris.js/spec/viz/examples.js +56 -0
  1022. data/app/assets/node_modules/morris.js/spec/viz/exemplary/area0.png +0 -0
  1023. data/app/assets/node_modules/morris.js/spec/viz/exemplary/bar0.png +0 -0
  1024. data/app/assets/node_modules/morris.js/spec/viz/exemplary/line0.png +0 -0
  1025. data/app/assets/node_modules/morris.js/spec/viz/exemplary/stacked_bar0.png +0 -0
  1026. data/app/assets/node_modules/morris.js/spec/viz/run.sh +32 -0
  1027. data/app/assets/node_modules/morris.js/spec/viz/test.html +34 -0
  1028. data/app/assets/node_modules/morris.js/spec/viz/visual_specs.js +66 -0
  1029. data/app/assets/node_modules/nprogress/History.md +110 -0
  1030. data/app/assets/node_modules/nprogress/License.md +19 -0
  1031. data/app/assets/node_modules/nprogress/Notes.md +25 -0
  1032. data/app/assets/node_modules/nprogress/Readme.md +197 -0
  1033. data/app/assets/node_modules/nprogress/bower.json +27 -0
  1034. data/app/assets/node_modules/nprogress/component.json +19 -0
  1035. data/app/assets/node_modules/nprogress/nprogress.css +74 -0
  1036. data/app/assets/node_modules/nprogress/nprogress.js +476 -0
  1037. data/app/assets/node_modules/nprogress/package.json +47 -0
  1038. data/app/assets/node_modules/nprogress/test/component.html +26 -0
  1039. data/app/assets/node_modules/nprogress/test/test.js +175 -0
  1040. data/app/assets/node_modules/parchment/LICENSE +29 -0
  1041. data/app/assets/node_modules/parchment/README.md +274 -0
  1042. data/app/assets/node_modules/parchment/dist/parchment.js +1749 -0
  1043. data/app/assets/node_modules/parchment/dist/parchment.js.map +1 -0
  1044. data/app/assets/node_modules/parchment/dist/src/attributor/attributor.d.ts +17 -0
  1045. data/app/assets/node_modules/parchment/dist/src/attributor/class.d.ts +8 -0
  1046. data/app/assets/node_modules/parchment/dist/src/attributor/store.d.ts +15 -0
  1047. data/app/assets/node_modules/parchment/dist/src/attributor/style.d.ts +8 -0
  1048. data/app/assets/node_modules/parchment/dist/src/blot/abstract/blot.d.ts +63 -0
  1049. data/app/assets/node_modules/parchment/dist/src/blot/abstract/container.d.ts +40 -0
  1050. data/app/assets/node_modules/parchment/dist/src/blot/abstract/format.d.ts +18 -0
  1051. data/app/assets/node_modules/parchment/dist/src/blot/abstract/leaf.d.ts +11 -0
  1052. data/app/assets/node_modules/parchment/dist/src/blot/abstract/parent.d.ts +41 -0
  1053. data/app/assets/node_modules/parchment/dist/src/blot/abstract/shadow.d.ts +38 -0
  1054. data/app/assets/node_modules/parchment/dist/src/blot/block.d.ts +15 -0
  1055. data/app/assets/node_modules/parchment/dist/src/blot/embed.d.ts +11 -0
  1056. data/app/assets/node_modules/parchment/dist/src/blot/inline.d.ts +14 -0
  1057. data/app/assets/node_modules/parchment/dist/src/blot/scroll.d.ts +24 -0
  1058. data/app/assets/node_modules/parchment/dist/src/blot/text.d.ts +26 -0
  1059. data/app/assets/node_modules/parchment/dist/src/collection/linked-list.d.ts +19 -0
  1060. data/app/assets/node_modules/parchment/dist/src/collection/linked-node.d.ts +6 -0
  1061. data/app/assets/node_modules/parchment/dist/src/parchment.d.ts +35 -0
  1062. data/app/assets/node_modules/parchment/dist/src/registry.d.ts +31 -0
  1063. data/app/assets/node_modules/parchment/package.json +44 -0
  1064. data/app/assets/node_modules/parchment/src/attributor/attributor.ts +61 -0
  1065. data/app/assets/node_modules/parchment/src/attributor/class.ts +44 -0
  1066. data/app/assets/node_modules/parchment/src/attributor/store.ts +73 -0
  1067. data/app/assets/node_modules/parchment/src/attributor/style.ts +44 -0
  1068. data/app/assets/node_modules/parchment/src/blot/abstract/blot.ts +58 -0
  1069. data/app/assets/node_modules/parchment/src/blot/abstract/container.ts +268 -0
  1070. data/app/assets/node_modules/parchment/src/blot/abstract/format.ts +71 -0
  1071. data/app/assets/node_modules/parchment/src/blot/abstract/leaf.ts +33 -0
  1072. data/app/assets/node_modules/parchment/src/blot/abstract/shadow.ts +174 -0
  1073. data/app/assets/node_modules/parchment/src/blot/block.ts +53 -0
  1074. data/app/assets/node_modules/parchment/src/blot/embed.ts +29 -0
  1075. data/app/assets/node_modules/parchment/src/blot/inline.ts +64 -0
  1076. data/app/assets/node_modules/parchment/src/blot/scroll.ts +166 -0
  1077. data/app/assets/node_modules/parchment/src/blot/text.ts +93 -0
  1078. data/app/assets/node_modules/parchment/src/collection/linked-list.ts +143 -0
  1079. data/app/assets/node_modules/parchment/src/collection/linked-node.ts +8 -0
  1080. data/app/assets/node_modules/parchment/src/parchment.ts +46 -0
  1081. data/app/assets/node_modules/parchment/src/registry.ts +133 -0
  1082. data/app/assets/node_modules/parchment/tsconfig.json +9 -0
  1083. data/app/assets/node_modules/popper.js/README.md +219 -0
  1084. data/app/assets/node_modules/popper.js/dist/esm/popper-utils.js +1093 -0
  1085. data/app/assets/node_modules/popper.js/dist/esm/popper-utils.js.map +1 -0
  1086. data/app/assets/node_modules/popper.js/dist/esm/popper-utils.min.js +5 -0
  1087. data/app/assets/node_modules/popper.js/dist/esm/popper-utils.min.js.map +1 -0
  1088. data/app/assets/node_modules/popper.js/dist/esm/popper.js +2520 -0
  1089. data/app/assets/node_modules/popper.js/dist/esm/popper.js.map +1 -0
  1090. data/app/assets/node_modules/popper.js/dist/esm/popper.min.js +5 -0
  1091. data/app/assets/node_modules/popper.js/dist/esm/popper.min.js.map +1 -0
  1092. data/app/assets/node_modules/popper.js/dist/popper-utils.js +1042 -0
  1093. data/app/assets/node_modules/popper.js/dist/popper-utils.js.map +1 -0
  1094. data/app/assets/node_modules/popper.js/dist/popper-utils.min.js +5 -0
  1095. data/app/assets/node_modules/popper.js/dist/popper-utils.min.js.map +1 -0
  1096. data/app/assets/node_modules/popper.js/dist/popper.js +2372 -0
  1097. data/app/assets/node_modules/popper.js/dist/popper.js.map +1 -0
  1098. data/app/assets/node_modules/popper.js/dist/popper.min.js +5 -0
  1099. data/app/assets/node_modules/popper.js/dist/popper.min.js.map +1 -0
  1100. data/app/assets/node_modules/popper.js/dist/umd/popper-utils.js +1131 -0
  1101. data/app/assets/node_modules/popper.js/dist/umd/popper-utils.js.map +1 -0
  1102. data/app/assets/node_modules/popper.js/dist/umd/popper-utils.min.js +5 -0
  1103. data/app/assets/node_modules/popper.js/dist/umd/popper-utils.min.js.map +1 -0
  1104. data/app/assets/node_modules/popper.js/dist/umd/popper.js +2528 -0
  1105. data/app/assets/node_modules/popper.js/dist/umd/popper.js.map +1 -0
  1106. data/app/assets/node_modules/popper.js/dist/umd/popper.min.js +5 -0
  1107. data/app/assets/node_modules/popper.js/dist/umd/popper.min.js.map +1 -0
  1108. data/app/assets/node_modules/popper.js/index.d.ts +159 -0
  1109. data/app/assets/node_modules/popper.js/package.json +54 -0
  1110. data/app/assets/node_modules/quill/CHANGELOG.md +734 -0
  1111. data/app/assets/node_modules/quill/LICENSE +30 -0
  1112. data/app/assets/node_modules/quill/README.md +109 -0
  1113. data/app/assets/node_modules/quill/assets/base.styl +304 -0
  1114. data/app/assets/node_modules/quill/assets/bubble/toolbar.styl +14 -0
  1115. data/app/assets/node_modules/quill/assets/bubble/tooltip.styl +49 -0
  1116. data/app/assets/node_modules/quill/assets/bubble.styl +45 -0
  1117. data/app/assets/node_modules/quill/assets/core.styl +183 -0
  1118. data/app/assets/node_modules/quill/assets/favicon.png +0 -0
  1119. data/app/assets/node_modules/quill/assets/icons/align-center.svg +5 -0
  1120. data/app/assets/node_modules/quill/assets/icons/align-justify.svg +5 -0
  1121. data/app/assets/node_modules/quill/assets/icons/align-left.svg +5 -0
  1122. data/app/assets/node_modules/quill/assets/icons/align-right.svg +5 -0
  1123. data/app/assets/node_modules/quill/assets/icons/attachment.svg +3 -0
  1124. data/app/assets/node_modules/quill/assets/icons/audio.svg +5 -0
  1125. data/app/assets/node_modules/quill/assets/icons/authorship.svg +5 -0
  1126. data/app/assets/node_modules/quill/assets/icons/background.svg +52 -0
  1127. data/app/assets/node_modules/quill/assets/icons/blockquote.svg +6 -0
  1128. data/app/assets/node_modules/quill/assets/icons/bold.svg +4 -0
  1129. data/app/assets/node_modules/quill/assets/icons/clean.svg +7 -0
  1130. data/app/assets/node_modules/quill/assets/icons/code.svg +5 -0
  1131. data/app/assets/node_modules/quill/assets/icons/color.svg +5 -0
  1132. data/app/assets/node_modules/quill/assets/icons/comment.svg +3 -0
  1133. data/app/assets/node_modules/quill/assets/icons/direction-ltr.svg +7 -0
  1134. data/app/assets/node_modules/quill/assets/icons/direction-rtl.svg +7 -0
  1135. data/app/assets/node_modules/quill/assets/icons/dropdown.svg +4 -0
  1136. data/app/assets/node_modules/quill/assets/icons/embed.svg +3 -0
  1137. data/app/assets/node_modules/quill/assets/icons/emoji.svg +6 -0
  1138. data/app/assets/node_modules/quill/assets/icons/float-center.svg +5 -0
  1139. data/app/assets/node_modules/quill/assets/icons/float-full.svg +5 -0
  1140. data/app/assets/node_modules/quill/assets/icons/float-left.svg +7 -0
  1141. data/app/assets/node_modules/quill/assets/icons/float-right.svg +7 -0
  1142. data/app/assets/node_modules/quill/assets/icons/font.svg +5 -0
  1143. data/app/assets/node_modules/quill/assets/icons/formula.svg +5 -0
  1144. data/app/assets/node_modules/quill/assets/icons/hashtag.svg +6 -0
  1145. data/app/assets/node_modules/quill/assets/icons/header-2.svg +3 -0
  1146. data/app/assets/node_modules/quill/assets/icons/header-3.svg +3 -0
  1147. data/app/assets/node_modules/quill/assets/icons/header-4.svg +3 -0
  1148. data/app/assets/node_modules/quill/assets/icons/header-5.svg +3 -0
  1149. data/app/assets/node_modules/quill/assets/icons/header-6.svg +3 -0
  1150. data/app/assets/node_modules/quill/assets/icons/header.svg +3 -0
  1151. data/app/assets/node_modules/quill/assets/icons/horizontal-rule.svg +4 -0
  1152. data/app/assets/node_modules/quill/assets/icons/image.svg +5 -0
  1153. data/app/assets/node_modules/quill/assets/icons/indent.svg +6 -0
  1154. data/app/assets/node_modules/quill/assets/icons/italic.svg +5 -0
  1155. data/app/assets/node_modules/quill/assets/icons/link.svg +5 -0
  1156. data/app/assets/node_modules/quill/assets/icons/list-bullet.svg +8 -0
  1157. data/app/assets/node_modules/quill/assets/icons/list-check.svg +8 -0
  1158. data/app/assets/node_modules/quill/assets/icons/list-ordered.svg +9 -0
  1159. data/app/assets/node_modules/quill/assets/icons/map.svg +5 -0
  1160. data/app/assets/node_modules/quill/assets/icons/mention.svg +4 -0
  1161. data/app/assets/node_modules/quill/assets/icons/more.svg +3 -0
  1162. data/app/assets/node_modules/quill/assets/icons/outdent.svg +6 -0
  1163. data/app/assets/node_modules/quill/assets/icons/redo.svg +4 -0
  1164. data/app/assets/node_modules/quill/assets/icons/size-decrease.svg +5 -0
  1165. data/app/assets/node_modules/quill/assets/icons/size-increase.svg +6 -0
  1166. data/app/assets/node_modules/quill/assets/icons/size.svg +6 -0
  1167. data/app/assets/node_modules/quill/assets/icons/spacing.svg +9 -0
  1168. data/app/assets/node_modules/quill/assets/icons/speech.svg +6 -0
  1169. data/app/assets/node_modules/quill/assets/icons/strike.svg +5 -0
  1170. data/app/assets/node_modules/quill/assets/icons/subscript.svg +4 -0
  1171. data/app/assets/node_modules/quill/assets/icons/superscript.svg +4 -0
  1172. data/app/assets/node_modules/quill/assets/icons/table-border-all.svg +5 -0
  1173. data/app/assets/node_modules/quill/assets/icons/table-border-bottom.svg +28 -0
  1174. data/app/assets/node_modules/quill/assets/icons/table-border-left.svg +28 -0
  1175. data/app/assets/node_modules/quill/assets/icons/table-border-none.svg +25 -0
  1176. data/app/assets/node_modules/quill/assets/icons/table-border-outside.svg +35 -0
  1177. data/app/assets/node_modules/quill/assets/icons/table-border-right.svg +28 -0
  1178. data/app/assets/node_modules/quill/assets/icons/table-border-top.svg +28 -0
  1179. data/app/assets/node_modules/quill/assets/icons/table-delete-cells.svg +13 -0
  1180. data/app/assets/node_modules/quill/assets/icons/table-delete-columns.svg +8 -0
  1181. data/app/assets/node_modules/quill/assets/icons/table-delete-rows.svg +9 -0
  1182. data/app/assets/node_modules/quill/assets/icons/table-insert-cells.svg +13 -0
  1183. data/app/assets/node_modules/quill/assets/icons/table-insert-columns.svg +8 -0
  1184. data/app/assets/node_modules/quill/assets/icons/table-insert-rows.svg +9 -0
  1185. data/app/assets/node_modules/quill/assets/icons/table-merge-cells.svg +4 -0
  1186. data/app/assets/node_modules/quill/assets/icons/table-unmerge-cells.svg +7 -0
  1187. data/app/assets/node_modules/quill/assets/icons/table.svg +11 -0
  1188. data/app/assets/node_modules/quill/assets/icons/underline.svg +4 -0
  1189. data/app/assets/node_modules/quill/assets/icons/undo.svg +4 -0
  1190. data/app/assets/node_modules/quill/assets/icons/video.svg +14 -0
  1191. data/app/assets/node_modules/quill/assets/snow/toolbar.styl +26 -0
  1192. data/app/assets/node_modules/quill/assets/snow/tooltip.styl +53 -0
  1193. data/app/assets/node_modules/quill/assets/snow.styl +18 -0
  1194. data/app/assets/node_modules/quill/blots/block.js +174 -0
  1195. data/app/assets/node_modules/quill/blots/break.js +29 -0
  1196. data/app/assets/node_modules/quill/blots/container.js +9 -0
  1197. data/app/assets/node_modules/quill/blots/cursor.js +116 -0
  1198. data/app/assets/node_modules/quill/blots/embed.js +79 -0
  1199. data/app/assets/node_modules/quill/blots/inline.js +50 -0
  1200. data/app/assets/node_modules/quill/blots/scroll.js +173 -0
  1201. data/app/assets/node_modules/quill/blots/text.js +5 -0
  1202. data/app/assets/node_modules/quill/core/editor.js +267 -0
  1203. data/app/assets/node_modules/quill/core/emitter.js +63 -0
  1204. data/app/assets/node_modules/quill/core/logger.js +22 -0
  1205. data/app/assets/node_modules/quill/core/module.js +10 -0
  1206. data/app/assets/node_modules/quill/core/polyfill.js +63 -0
  1207. data/app/assets/node_modules/quill/core/quill.js +506 -0
  1208. data/app/assets/node_modules/quill/core/selection.js +355 -0
  1209. data/app/assets/node_modules/quill/core/theme.js +30 -0
  1210. data/app/assets/node_modules/quill/core.js +36 -0
  1211. data/app/assets/node_modules/quill/dist/quill.bubble.css +952 -0
  1212. data/app/assets/node_modules/quill/dist/quill.core.css +397 -0
  1213. data/app/assets/node_modules/quill/dist/quill.core.js +8522 -0
  1214. data/app/assets/node_modules/quill/dist/quill.js +11489 -0
  1215. data/app/assets/node_modules/quill/dist/quill.min.js +8 -0
  1216. data/app/assets/node_modules/quill/dist/quill.min.js.map +1 -0
  1217. data/app/assets/node_modules/quill/dist/quill.snow.css +945 -0
  1218. data/app/assets/node_modules/quill/formats/align.js +12 -0
  1219. data/app/assets/node_modules/quill/formats/background.js +11 -0
  1220. data/app/assets/node_modules/quill/formats/blockquote.js +9 -0
  1221. data/app/assets/node_modules/quill/formats/bold.js +22 -0
  1222. data/app/assets/node_modules/quill/formats/code.js +118 -0
  1223. data/app/assets/node_modules/quill/formats/color.js +21 -0
  1224. data/app/assets/node_modules/quill/formats/direction.js +12 -0
  1225. data/app/assets/node_modules/quill/formats/font.js +18 -0
  1226. data/app/assets/node_modules/quill/formats/header.js +13 -0
  1227. data/app/assets/node_modules/quill/formats/image.js +57 -0
  1228. data/app/assets/node_modules/quill/formats/indent.js +31 -0
  1229. data/app/assets/node_modules/quill/formats/italic.js +7 -0
  1230. data/app/assets/node_modules/quill/formats/link.js +41 -0
  1231. data/app/assets/node_modules/quill/formats/list.js +130 -0
  1232. data/app/assets/node_modules/quill/formats/script.js +23 -0
  1233. data/app/assets/node_modules/quill/formats/size.js +12 -0
  1234. data/app/assets/node_modules/quill/formats/strike.js +7 -0
  1235. data/app/assets/node_modules/quill/formats/underline.js +7 -0
  1236. data/app/assets/node_modules/quill/formats/video.js +53 -0
  1237. data/app/assets/node_modules/quill/modules/clipboard.js +358 -0
  1238. data/app/assets/node_modules/quill/modules/formula.js +42 -0
  1239. data/app/assets/node_modules/quill/modules/history.js +120 -0
  1240. data/app/assets/node_modules/quill/modules/keyboard.js +494 -0
  1241. data/app/assets/node_modules/quill/modules/syntax.js +81 -0
  1242. data/app/assets/node_modules/quill/modules/toolbar.js +261 -0
  1243. data/app/assets/node_modules/quill/package.json +99 -0
  1244. data/app/assets/node_modules/quill/quill.js +104 -0
  1245. data/app/assets/node_modules/quill/themes/base.js +264 -0
  1246. data/app/assets/node_modules/quill/themes/bubble.js +111 -0
  1247. data/app/assets/node_modules/quill/themes/snow.js +120 -0
  1248. data/app/assets/node_modules/quill/ui/color-picker.js +35 -0
  1249. data/app/assets/node_modules/quill/ui/icon-picker.js +23 -0
  1250. data/app/assets/node_modules/quill/ui/icons.js +49 -0
  1251. data/app/assets/node_modules/quill/ui/picker.js +186 -0
  1252. data/app/assets/node_modules/quill/ui/tooltip.js +53 -0
  1253. data/app/assets/node_modules/quill-delta/CHANGELOG.md +48 -0
  1254. data/app/assets/node_modules/quill-delta/LICENSE +21 -0
  1255. data/app/assets/node_modules/quill-delta/README.md +639 -0
  1256. data/app/assets/node_modules/quill-delta/lib/delta.js +325 -0
  1257. data/app/assets/node_modules/quill-delta/lib/op.js +139 -0
  1258. data/app/assets/node_modules/quill-delta/package.json +40 -0
  1259. data/app/assets/node_modules/raphael/CONTRIBUTING.md +22 -0
  1260. data/app/assets/node_modules/raphael/Gruntfile.js +72 -0
  1261. data/app/assets/node_modules/raphael/README.md +75 -0
  1262. data/app/assets/node_modules/raphael/bower.json +31 -0
  1263. data/app/assets/node_modules/raphael/dev/banner.txt +8 -0
  1264. data/app/assets/node_modules/raphael/dev/raphael.amd.js +5 -0
  1265. data/app/assets/node_modules/raphael/dev/raphael.core.js +5405 -0
  1266. data/app/assets/node_modules/raphael/dev/raphael.svg.js +1424 -0
  1267. data/app/assets/node_modules/raphael/dev/raphael.vml.js +999 -0
  1268. data/app/assets/node_modules/raphael/dev/raphaelTest.html +39 -0
  1269. data/app/assets/node_modules/raphael/dev/test/index.html +31 -0
  1270. data/app/assets/node_modules/raphael/dev/test/svg/dom.js +317 -0
  1271. data/app/assets/node_modules/raphael/dev/test/vml/dom.js +5 -0
  1272. data/app/assets/node_modules/raphael/history.md +155 -0
  1273. data/app/assets/node_modules/raphael/license.txt +21 -0
  1274. data/app/assets/node_modules/raphael/package.json +47 -0
  1275. data/app/assets/node_modules/raphael/raphael.js +8353 -0
  1276. data/app/assets/node_modules/raphael/raphael.min.js +3 -0
  1277. data/app/assets/node_modules/raphael/raphael.no-deps.js +7927 -0
  1278. data/app/assets/node_modules/raphael/raphael.no-deps.min.js +3 -0
  1279. data/app/assets/node_modules/raphael/webpack.config.js +64 -0
  1280. data/app/assets/node_modules/raphael/yarn.lock +2012 -0
  1281. data/app/assets/node_modules/responsive-toolkit/CHANGELOG.md +70 -0
  1282. data/app/assets/node_modules/responsive-toolkit/LICENSE +21 -0
  1283. data/app/assets/node_modules/responsive-toolkit/README.md +155 -0
  1284. data/app/assets/node_modules/responsive-toolkit/bower.json +22 -0
  1285. data/app/assets/node_modules/responsive-toolkit/demos/bootstrap/index.html +53 -0
  1286. data/app/assets/node_modules/responsive-toolkit/demos/bootstrap/main.js +42 -0
  1287. data/app/assets/node_modules/responsive-toolkit/demos/bootstrap/style.css +109 -0
  1288. data/app/assets/node_modules/responsive-toolkit/demos/custom/index.html +23 -0
  1289. data/app/assets/node_modules/responsive-toolkit/demos/custom/main.js +36 -0
  1290. data/app/assets/node_modules/responsive-toolkit/demos/custom/style.css +19 -0
  1291. data/app/assets/node_modules/responsive-toolkit/demos/foundation/index.html +25 -0
  1292. data/app/assets/node_modules/responsive-toolkit/demos/foundation/main.js +28 -0
  1293. data/app/assets/node_modules/responsive-toolkit/demos/foundation/style.css +3 -0
  1294. data/app/assets/node_modules/responsive-toolkit/dist/bootstrap-toolkit-1.5.0.js +49 -0
  1295. data/app/assets/node_modules/responsive-toolkit/dist/bootstrap-toolkit-1.5.0.min.js +8 -0
  1296. data/app/assets/node_modules/responsive-toolkit/dist/bootstrap-toolkit.js +238 -0
  1297. data/app/assets/node_modules/responsive-toolkit/dist/bootstrap-toolkit.min.js +8 -0
  1298. data/app/assets/node_modules/responsive-toolkit/gulpfile.js +38 -0
  1299. data/app/assets/node_modules/responsive-toolkit/package.json +28 -0
  1300. data/app/assets/node_modules/responsive-toolkit/src/bootstrap-toolkit.js +238 -0
  1301. data/app/assets/node_modules/sortablejs/README.md +636 -0
  1302. data/app/assets/node_modules/sortablejs/Sortable.js +1540 -0
  1303. data/app/assets/node_modules/sortablejs/Sortable.min.js +2 -0
  1304. data/app/assets/node_modules/sortablejs/package.json +48 -0
  1305. data/app/assets/node_modules/tether/CHANGELOG.md +13 -0
  1306. data/app/assets/node_modules/tether/CONTRIBUTING.md +59 -0
  1307. data/app/assets/node_modules/tether/LICENSE +8 -0
  1308. data/app/assets/node_modules/tether/README.md +116 -0
  1309. data/app/assets/node_modules/tether/bower.json +26 -0
  1310. data/app/assets/node_modules/tether/component.json +22 -0
  1311. data/app/assets/node_modules/tether/dist/css/tether-theme-arrows-dark.css +150 -0
  1312. data/app/assets/node_modules/tether/dist/css/tether-theme-arrows-dark.min.css +1 -0
  1313. data/app/assets/node_modules/tether/dist/css/tether-theme-arrows.css +153 -0
  1314. data/app/assets/node_modules/tether/dist/css/tether-theme-arrows.min.css +1 -0
  1315. data/app/assets/node_modules/tether/dist/css/tether-theme-basic.css +21 -0
  1316. data/app/assets/node_modules/tether/dist/css/tether-theme-basic.min.css +1 -0
  1317. data/app/assets/node_modules/tether/dist/css/tether.css +8 -0
  1318. data/app/assets/node_modules/tether/dist/css/tether.min.css +1 -0
  1319. data/app/assets/node_modules/tether/dist/js/tether.js +1813 -0
  1320. data/app/assets/node_modules/tether/dist/js/tether.min.js +1 -0
  1321. data/app/assets/node_modules/tether/docs/1-Overview/1-why_you_should_use_tether.md +43 -0
  1322. data/app/assets/node_modules/tether/docs/1-Overview/2-repositioning.md +46 -0
  1323. data/app/assets/node_modules/tether/docs/1-Overview/3-why_we_dont_support_IE_8.md +47 -0
  1324. data/app/assets/node_modules/tether/docs/2-Examples/1-list_of_examples.md +27 -0
  1325. data/app/assets/node_modules/tether/docs/2-Examples/2-projects_using_tether.md +45 -0
  1326. data/app/assets/node_modules/tether/docs/3-Advanced/1-embedding_tether.md +9 -0
  1327. data/app/assets/node_modules/tether/docs/3-Advanced/2-extending_tether.md +54 -0
  1328. data/app/assets/node_modules/tether/docs/coffee/intro.coffee +113 -0
  1329. data/app/assets/node_modules/tether/docs/css/intro.css +218 -0
  1330. data/app/assets/node_modules/tether/docs/intro.md +591 -0
  1331. data/app/assets/node_modules/tether/docs/js/intro.js +117 -0
  1332. data/app/assets/node_modules/tether/docs/js/markAttachment.js +51 -0
  1333. data/app/assets/node_modules/tether/docs/sass/intro.sass +233 -0
  1334. data/app/assets/node_modules/tether/docs/welcome/browser-demo.html +76 -0
  1335. data/app/assets/node_modules/tether/docs/welcome/coffee/welcome.coffee +212 -0
  1336. data/app/assets/node_modules/tether/docs/welcome/css/browser-demo.css +86 -0
  1337. data/app/assets/node_modules/tether/docs/welcome/css/prism.css +2 -0
  1338. data/app/assets/node_modules/tether/docs/welcome/css/welcome.css +247 -0
  1339. data/app/assets/node_modules/tether/docs/welcome/index.html +226 -0
  1340. data/app/assets/node_modules/tether/docs/welcome/js/drop.js +239 -0
  1341. data/app/assets/node_modules/tether/docs/welcome/js/jquery.js +9597 -0
  1342. data/app/assets/node_modules/tether/docs/welcome/js/log.js +134 -0
  1343. data/app/assets/node_modules/tether/docs/welcome/js/tether-v0.1.3.js +2 -0
  1344. data/app/assets/node_modules/tether/docs/welcome/js/welcome.js +193 -0
  1345. data/app/assets/node_modules/tether/docs/welcome/sass/_inline-block.sass +6 -0
  1346. data/app/assets/node_modules/tether/docs/welcome/sass/browser-demo.sass +93 -0
  1347. data/app/assets/node_modules/tether/docs/welcome/sass/welcome.sass +285 -0
  1348. data/app/assets/node_modules/tether/examples/chosen/chosen-sprite.png +0 -0
  1349. data/app/assets/node_modules/tether/examples/chosen/chosen-sprite@2x.png +0 -0
  1350. data/app/assets/node_modules/tether/examples/chosen/chosen.css +430 -0
  1351. data/app/assets/node_modules/tether/examples/chosen/chosen.js +1166 -0
  1352. data/app/assets/node_modules/tether/examples/chosen/index.html +110 -0
  1353. data/app/assets/node_modules/tether/examples/common/css/style.css +48 -0
  1354. data/app/assets/node_modules/tether/examples/content-visible/index.html +64 -0
  1355. data/app/assets/node_modules/tether/examples/dolls/dolls.css +18 -0
  1356. data/app/assets/node_modules/tether/examples/dolls/dolls.js +83 -0
  1357. data/app/assets/node_modules/tether/examples/dolls/index.html +7 -0
  1358. data/app/assets/node_modules/tether/examples/element-scroll/index.html +499 -0
  1359. data/app/assets/node_modules/tether/examples/enable-disable/index.html +37 -0
  1360. data/app/assets/node_modules/tether/examples/facebook/facebook.css +86 -0
  1361. data/app/assets/node_modules/tether/examples/facebook/index.html +209 -0
  1362. data/app/assets/node_modules/tether/examples/out-of-bounds/index.html +38 -0
  1363. data/app/assets/node_modules/tether/examples/pin/index.html +30 -0
  1364. data/app/assets/node_modules/tether/examples/resources/css/base.css +10 -0
  1365. data/app/assets/node_modules/tether/examples/resources/js/jquery.js +9597 -0
  1366. data/app/assets/node_modules/tether/examples/resources/js/log.js +134 -0
  1367. data/app/assets/node_modules/tether/examples/scroll/index.html +922 -0
  1368. data/app/assets/node_modules/tether/examples/simple/index.html +30 -0
  1369. data/app/assets/node_modules/tether/examples/testbed/index.html +36 -0
  1370. data/app/assets/node_modules/tether/examples/tooltip/index.html +86 -0
  1371. data/app/assets/node_modules/tether/examples/viewport/colors.css +145 -0
  1372. data/app/assets/node_modules/tether/examples/viewport/index.html +70 -0
  1373. data/app/assets/node_modules/tether/gulpfile.js +97 -0
  1374. data/app/assets/node_modules/tether/package.json +40 -0
  1375. data/app/assets/node_modules/tether/src/css/helpers/_tether-theme-arrows.sass +192 -0
  1376. data/app/assets/node_modules/tether/src/css/helpers/_tether-theme-basic.sass +14 -0
  1377. data/app/assets/node_modules/tether/src/css/helpers/_tether.sass +12 -0
  1378. data/app/assets/node_modules/tether/src/css/mixins/_inline-block.sass +6 -0
  1379. data/app/assets/node_modules/tether/src/css/mixins/_pie-clearfix.sass +7 -0
  1380. data/app/assets/node_modules/tether/src/css/tether-theme-arrows-dark.sass +12 -0
  1381. data/app/assets/node_modules/tether/src/css/tether-theme-arrows.sass +12 -0
  1382. data/app/assets/node_modules/tether/src/css/tether-theme-basic.sass +10 -0
  1383. data/app/assets/node_modules/tether/src/css/tether.sass +5 -0
  1384. data/app/assets/node_modules/tether/src/js/abutment.js +61 -0
  1385. data/app/assets/node_modules/tether/src/js/constraint.js +366 -0
  1386. data/app/assets/node_modules/tether/src/js/markAttachment.js +46 -0
  1387. data/app/assets/node_modules/tether/src/js/shift.js +32 -0
  1388. data/app/assets/node_modules/tether/src/js/tether.js +811 -0
  1389. data/app/assets/node_modules/tether/src/js/utils.js +370 -0
  1390. data/app/assets/node_modules/tinycolor2/Gruntfile.js +59 -0
  1391. data/app/assets/node_modules/tinycolor2/LICENSE +20 -0
  1392. data/app/assets/node_modules/tinycolor2/README.md +469 -0
  1393. data/app/assets/node_modules/tinycolor2/bower.json +9 -0
  1394. data/app/assets/node_modules/tinycolor2/demo/demo.css +23 -0
  1395. data/app/assets/node_modules/tinycolor2/demo/jquery-1.9.1.js +9597 -0
  1396. data/app/assets/node_modules/tinycolor2/dist/tinycolor-min.js +4 -0
  1397. data/app/assets/node_modules/tinycolor2/docs/docco.css +192 -0
  1398. data/app/assets/node_modules/tinycolor2/docs/tinycolor.html +1023 -0
  1399. data/app/assets/node_modules/tinycolor2/index.html +207 -0
  1400. data/app/assets/node_modules/tinycolor2/package.json +31 -0
  1401. data/app/assets/node_modules/tinycolor2/test/index.html +19 -0
  1402. data/app/assets/node_modules/tinycolor2/test/qunit.css +244 -0
  1403. data/app/assets/node_modules/tinycolor2/test/qunit.js +2152 -0
  1404. data/app/assets/node_modules/tinycolor2/test/test.js +791 -0
  1405. data/app/assets/node_modules/tinycolor2/tinycolor.js +1195 -0
  1406. data/app/assets/stylesheets/rails_modular_admin/application.scss +2 -3
  1407. data/app/assets/stylesheets/rails_modular_admin.scss +0 -1
  1408. data/config/initializers/assets.rb +4 -29
  1409. data/lib/rails_modular_admin/engine.rb +30 -2
  1410. data/lib/rails_modular_admin/version.rb +1 -1
  1411. metadata +1419 -8
  1412. data/app/controllers/rails_modular_admin/application_controller.rb +0 -5
  1413. data/app/helpers/rails_modular_admin/application_helper.rb +0 -4
  1414. data/app/jobs/rails_modular_admin/application_job.rb +0 -4
  1415. data/app/mailers/rails_modular_admin/application_mailer.rb +0 -6
  1416. data/app/models/rails_modular_admin/application_record.rb +0 -5
@@ -0,0 +1,1149 @@
1
+ module("selector", { teardown: moduleTeardown });
2
+
3
+ // #### NOTE: ####
4
+ // jQuery should not be used in this module
5
+ // except for DOM manipulation
6
+ // If jQuery is mandatory for the selection, move the test to jquery/test/unit/selector.js
7
+ // Use t() or Sizzle()
8
+ // ###############
9
+
10
+ /*
11
+ ======== QUnit Reference ========
12
+ http://docs.jquery.com/QUnit
13
+
14
+ Test methods:
15
+ expect(numAssertions)
16
+ stop()
17
+ start()
18
+ note: QUnit's eventual addition of an argument to stop/start is ignored in this test suite
19
+ so that start and stop can be passed as callbacks without worrying about
20
+ their parameters
21
+ Test assertions:
22
+ ok(value, [message])
23
+ equal(actual, expected, [message])
24
+ notEqual(actual, expected, [message])
25
+ deepEqual(actual, expected, [message])
26
+ notDeepEqual(actual, expected, [message])
27
+ strictEqual(actual, expected, [message])
28
+ notStrictEqual(actual, expected, [message])
29
+ raises(block, [expected], [message])
30
+
31
+ ======== testinit.js reference ========
32
+ See data/testinit.js
33
+
34
+ q(...);
35
+ Returns an array of elements with the given IDs
36
+ @example q("main", "foo", "bar") => [<div id="main">, <span id="foo">, <input id="bar">]
37
+
38
+ t( testName, selector, [ "array", "of", "ids" ] );
39
+ Asserts that a select matches the given IDs
40
+ @example t("Check for something", "//[a]", ["foo", "baar"]);
41
+
42
+ url( "some/url.php" );
43
+ Add random number to url to stop caching
44
+ @example url("data/test.html") => "data/test.html?10538358428943"
45
+ @example url("data/test.php?foo=bar") => "data/test.php?foo=bar&10538358345554"
46
+ */
47
+
48
+ test("element", function() {
49
+ expect( 39 );
50
+
51
+ var form, all, good, i, obj1, lengthtest,
52
+ siblingTest, siblingNext, iframe, iframeDoc, html;
53
+
54
+ equal( Sizzle("").length, 0, "Empty selector returns an empty array" );
55
+ deepEqual( Sizzle("div", document.createTextNode("")), [], "Text element as context fails silently" );
56
+ form = document.getElementById("form");
57
+ ok( !Sizzle.matchesSelector( form, "" ), "Empty string passed to matchesSelector does not match" );
58
+ equal( Sizzle(" ").length, 0, "Empty selector returns an empty array" );
59
+ equal( Sizzle("\t").length, 0, "Empty selector returns an empty array" );
60
+
61
+ ok( Sizzle("*").length >= 30, "Select all" );
62
+ all = Sizzle("*");
63
+ good = true;
64
+ for ( i = 0; i < all.length; i++ ) {
65
+ if ( all[i].nodeType === 8 ) {
66
+ good = false;
67
+ }
68
+ }
69
+ ok( good, "Select all elements, no comment nodes" );
70
+ t( "Element Selector", "html", ["html"] );
71
+ t( "Element Selector", "body", ["body"] );
72
+ t( "Element Selector", "#qunit-fixture p", ["firstp","ap","sndp","en","sap","first"] );
73
+
74
+ t( "Leading space", " #qunit-fixture p", ["firstp","ap","sndp","en","sap","first"] );
75
+ t( "Leading tab", "\t#qunit-fixture p", ["firstp","ap","sndp","en","sap","first"] );
76
+ t( "Leading carriage return", "\r#qunit-fixture p", ["firstp","ap","sndp","en","sap","first"] );
77
+ t( "Leading line feed", "\n#qunit-fixture p", ["firstp","ap","sndp","en","sap","first"] );
78
+ t( "Leading form feed", "\f#qunit-fixture p", ["firstp","ap","sndp","en","sap","first"] );
79
+ t( "Trailing space", "#qunit-fixture p ", ["firstp","ap","sndp","en","sap","first"] );
80
+ t( "Trailing tab", "#qunit-fixture p\t", ["firstp","ap","sndp","en","sap","first"] );
81
+ t( "Trailing carriage return", "#qunit-fixture p\r", ["firstp","ap","sndp","en","sap","first"] );
82
+ t( "Trailing line feed", "#qunit-fixture p\n", ["firstp","ap","sndp","en","sap","first"] );
83
+ t( "Trailing form feed", "#qunit-fixture p\f", ["firstp","ap","sndp","en","sap","first"] );
84
+
85
+ t( "Parent Element", "dl ol", ["empty", "listWithTabIndex"] );
86
+ t( "Parent Element (non-space descendant combinator)", "dl\tol", ["empty", "listWithTabIndex"] );
87
+ obj1 = document.getElementById("object1");
88
+ equal( Sizzle("param", obj1).length, 2, "Object/param as context" );
89
+
90
+ deepEqual( Sizzle("select", form), q("select1","select2","select3","select4","select5"), "Finding selects with a context." );
91
+
92
+ // Check for unique-ness and sort order
93
+ deepEqual( Sizzle("p, div p"), Sizzle("p"), "Check for duplicates: p, div p" );
94
+
95
+ t( "Checking sort order", "h2, h1", ["qunit-header", "qunit-banner", "qunit-userAgent"] );
96
+ t( "Checking sort order", "h2:first, h1:first", ["qunit-header", "qunit-banner"] );
97
+ t( "Checking sort order", "#qunit-fixture p, #qunit-fixture p a", ["firstp", "simon1", "ap", "google", "groups", "anchor1", "mark", "sndp", "en", "yahoo", "sap", "anchor2", "simon", "first"] );
98
+
99
+ // Test Conflict ID
100
+ lengthtest = document.getElementById("lengthtest");
101
+ deepEqual( Sizzle("#idTest", lengthtest), q("idTest"), "Finding element with id of ID." );
102
+ deepEqual( Sizzle("[name='id']", lengthtest), q("idTest"), "Finding element with id of ID." );
103
+ deepEqual( Sizzle("input[id='idTest']", lengthtest), q("idTest"), "Finding elements with id of ID." );
104
+
105
+ siblingTest = document.getElementById("siblingTest");
106
+ deepEqual( Sizzle("div em", siblingTest), [], "Element-rooted QSA does not select based on document context" );
107
+ deepEqual( Sizzle("div em, div em, div em:not(div em)", siblingTest), [], "Element-rooted QSA does not select based on document context" );
108
+ deepEqual( Sizzle("div em, em\\,", siblingTest), [], "Escaped commas do not get treated with an id in element-rooted QSA" );
109
+
110
+ siblingNext = document.getElementById("siblingnext");
111
+ document.createDocumentFragment().appendChild( siblingTest );
112
+ deepEqual( Sizzle( "em + :not(:has(*)):not(:empty), foo", siblingTest ), [ siblingNext ],
113
+ "Non-qSA path correctly sets detached context for sibling selectors (jQuery #14351)" );
114
+
115
+ iframe = document.getElementById("iframe"),
116
+ iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
117
+ iframeDoc.open();
118
+ iframeDoc.write("<body><p id='foo'>bar</p></body>");
119
+ iframeDoc.close();
120
+ deepEqual(
121
+ Sizzle( "p:contains(bar)", iframeDoc ),
122
+ [ iframeDoc.getElementById("foo") ],
123
+ "Other document as context"
124
+ );
125
+
126
+ html = "";
127
+ for ( i = 0; i < 100; i++ ) {
128
+ html = "<div>" + html + "</div>";
129
+ }
130
+ html = jQuery( html ).appendTo( document.body );
131
+ ok( !!Sizzle("body div div div").length, "No stack or performance problems with large amounts of descendents" );
132
+ ok( !!Sizzle("body>div div div").length, "No stack or performance problems with large amounts of descendents" );
133
+ html.remove();
134
+
135
+ // Real use case would be using .watch in browsers with window.watch (see Issue #157)
136
+ q("qunit-fixture")[0].appendChild( document.createElement("toString") ).id = "toString";
137
+ t( "Element name matches Object.prototype property", "toString#toString", ["toString"] );
138
+ });
139
+
140
+ test("XML Document Selectors", function() {
141
+ var xml = createWithFriesXML();
142
+ expect( 11 );
143
+
144
+ equal( Sizzle("foo_bar", xml).length, 1, "Element Selector with underscore" );
145
+ equal( Sizzle(".component", xml).length, 1, "Class selector" );
146
+ equal( Sizzle("[class*=component]", xml).length, 1, "Attribute selector for class" );
147
+ equal( Sizzle("property[name=prop2]", xml).length, 1, "Attribute selector with name" );
148
+ equal( Sizzle("[name=prop2]", xml).length, 1, "Attribute selector with name" );
149
+ equal( Sizzle("#seite1", xml).length, 1, "Attribute selector with ID" );
150
+ equal( Sizzle("component#seite1", xml).length, 1, "Attribute selector with ID" );
151
+ equal( Sizzle.matches( "#seite1", Sizzle("component", xml) ).length, 1, "Attribute selector filter with ID" );
152
+ equal( Sizzle("meta property thing", xml).length, 2, "Descendent selector and dir caching" );
153
+ ok( Sizzle.matchesSelector( xml.lastChild, "soap\\:Envelope" ), "Check for namespaced element" );
154
+
155
+ xml = jQuery.parseXML("<?xml version='1.0' encoding='UTF-8'?><root><elem id='1'/></root>");
156
+ equal( Sizzle( "elem:not(:has(*))", xml ).length, 1,
157
+ "Non-qSA path correctly handles numeric ids (jQuery #14142)" );
158
+ });
159
+
160
+ test("broken", function() {
161
+ expect( 26 );
162
+
163
+ var attrbad,
164
+ broken = function( name, selector ) {
165
+ throws(function() {
166
+ // Setting context to null here somehow avoids QUnit's window.error handling
167
+ // making the e & e.message correct
168
+ // For whatever reason, without this,
169
+ // Sizzle.error will be called but no error will be seen in oldIE
170
+ Sizzle.call( null, selector );
171
+ }, function( e ) {
172
+ return e.message.indexOf("Syntax error") >= 0;
173
+ }, name + ": " + selector );
174
+ };
175
+
176
+ broken( "Broken Selector", "[" );
177
+ broken( "Broken Selector", "(" );
178
+ broken( "Broken Selector", "{" );
179
+ broken( "Broken Selector", "<" );
180
+ broken( "Broken Selector", "()" );
181
+ broken( "Broken Selector", "<>" );
182
+ broken( "Broken Selector", "{}" );
183
+ broken( "Broken Selector", "," );
184
+ broken( "Broken Selector", ",a" );
185
+ broken( "Broken Selector", "a," );
186
+ // Hangs on IE 9 if regular expression is inefficient
187
+ broken( "Broken Selector", "[id=012345678901234567890123456789");
188
+ broken( "Doesn't exist", ":visble" );
189
+ broken( "Nth-child", ":nth-child" );
190
+ // Sigh again. IE 9 thinks this is also a real selector
191
+ // not super critical that we fix this case
192
+ //broken( "Nth-child", ":nth-child(-)" );
193
+ // Sigh. WebKit thinks this is a real selector in qSA
194
+ // They've already fixed this and it'll be coming into
195
+ // current browsers soon. Currently, Safari 5.0 still has this problem
196
+ // broken( "Nth-child", ":nth-child(asdf)", [] );
197
+ broken( "Nth-child", ":nth-child(2n+-0)" );
198
+ broken( "Nth-child", ":nth-child(2+0)" );
199
+ broken( "Nth-child", ":nth-child(- 1n)" );
200
+ broken( "Nth-child", ":nth-child(-1 n)" );
201
+ broken( "First-child", ":first-child(n)" );
202
+ broken( "Last-child", ":last-child(n)" );
203
+ broken( "Only-child", ":only-child(n)" );
204
+ broken( "Nth-last-last-child", ":nth-last-last-child(1)" );
205
+ broken( "First-last-child", ":first-last-child" );
206
+ broken( "Last-last-child", ":last-last-child" );
207
+ broken( "Only-last-child", ":only-last-child" );
208
+
209
+ // Make sure attribute value quoting works correctly. See: #6093
210
+ attrbad = jQuery("<input type='hidden' value='2' name='foo.baz' id='attrbad1'/><input type='hidden' value='2' name='foo[baz]' id='attrbad2'/>").appendTo("#qunit-fixture");
211
+
212
+ broken( "Attribute not escaped", "input[name=foo.baz]", [] );
213
+ // Shouldn't be matching those inner brackets
214
+ broken( "Attribute not escaped", "input[name=foo[baz]]", [] );
215
+ });
216
+
217
+ test("id", function() {
218
+ expect( 34 );
219
+
220
+ var fiddle, a;
221
+
222
+ t( "ID Selector", "#body", ["body"] );
223
+ t( "ID Selector w/ Element", "body#body", ["body"] );
224
+ t( "ID Selector w/ Element", "ul#first", [] );
225
+ t( "ID selector with existing ID descendant", "#firstp #simon1", ["simon1"] );
226
+ t( "ID selector with non-existant descendant", "#firstp #foobar", [] );
227
+ t( "ID selector using UTF8", "#台北Táiběi", ["台北Táiběi"] );
228
+ t( "Multiple ID selectors using UTF8", "#台北Táiběi, #台北", ["台北Táiběi","台北"] );
229
+ t( "Descendant ID selector using UTF8", "div #台北", ["台北"] );
230
+ t( "Child ID selector using UTF8", "form > #台北", ["台北"] );
231
+
232
+ t( "Escaped ID", "#foo\\:bar", ["foo:bar"] );
233
+ t( "Escaped ID with descendent", "#foo\\:bar span:not(:input)", ["foo_descendent"] );
234
+ t( "Escaped ID", "#test\\.foo\\[5\\]bar", ["test.foo[5]bar"] );
235
+ t( "Descendant escaped ID", "div #foo\\:bar", ["foo:bar"] );
236
+ t( "Descendant escaped ID", "div #test\\.foo\\[5\\]bar", ["test.foo[5]bar"] );
237
+ t( "Child escaped ID", "form > #foo\\:bar", ["foo:bar"] );
238
+ t( "Child escaped ID", "form > #test\\.foo\\[5\\]bar", ["test.foo[5]bar"] );
239
+
240
+ fiddle = jQuery("<div id='fiddle\\Foo'><span id='fiddleSpan'></span></div>").appendTo("#qunit-fixture");
241
+ deepEqual( Sizzle( "> span", Sizzle("#fiddle\\\\Foo")[0] ), q([ "fiddleSpan" ]), "Escaped ID as context" );
242
+ fiddle.remove();
243
+
244
+ t( "ID Selector, child ID present", "#form > #radio1", ["radio1"] ); // bug #267
245
+ t( "ID Selector, not an ancestor ID", "#form #first", [] );
246
+ t( "ID Selector, not a child ID", "#form > #option1a", [] );
247
+
248
+ t( "All Children of ID", "#foo > *", ["sndp", "en", "sap"] );
249
+ t( "All Children of ID with no children", "#firstUL > *", [] );
250
+
251
+ equal( Sizzle("#tName1")[0].id, "tName1", "ID selector with same value for a name attribute" );
252
+ t( "ID selector non-existing but name attribute on an A tag", "#tName2", [] );
253
+ t( "Leading ID selector non-existing but name attribute on an A tag", "#tName2 span", [] );
254
+ t( "Leading ID selector existing, retrieving the child", "#tName1 span", ["tName1-span"] );
255
+ equal( Sizzle("div > div #tName1")[0].id, Sizzle("#tName1-span")[0].parentNode.id, "Ending with ID" );
256
+
257
+ a = jQuery("<a id='backslash\\foo'></a>").appendTo("#qunit-fixture");
258
+ t( "ID Selector contains backslash", "#backslash\\\\foo", ["backslash\\foo"] );
259
+
260
+ t( "ID Selector on Form with an input that has a name of 'id'", "#lengthtest", ["lengthtest"] );
261
+
262
+ t( "ID selector with non-existant ancestor", "#asdfasdf #foobar", [] ); // bug #986
263
+
264
+ deepEqual( Sizzle("div#form", document.body), [], "ID selector within the context of another element" );
265
+
266
+ t( "Underscore ID", "#types_all", ["types_all"] );
267
+ t( "Dash ID", "#qunit-fixture", ["qunit-fixture"] );
268
+
269
+ t( "ID with weird characters in it", "#name\\+value", ["name+value"] );
270
+ });
271
+
272
+ test("class", function() {
273
+ expect( 26 );
274
+
275
+ t( "Class Selector", ".blog", ["mark","simon"] );
276
+ t( "Class Selector", ".GROUPS", ["groups"] );
277
+ t( "Class Selector", ".blog.link", ["simon"] );
278
+ t( "Class Selector w/ Element", "a.blog", ["mark","simon"] );
279
+ t( "Parent Class Selector", "p .blog", ["mark","simon"] );
280
+
281
+ t( "Class selector using UTF8", ".台北Táiběi", ["utf8class1"] );
282
+ //t( "Class selector using UTF8", ".台北", ["utf8class1","utf8class2"] );
283
+ t( "Class selector using UTF8", ".台北Táiběi.台北", ["utf8class1"] );
284
+ t( "Class selector using UTF8", ".台北Táiběi, .台北", ["utf8class1","utf8class2"] );
285
+ t( "Descendant class selector using UTF8", "div .台北Táiběi", ["utf8class1"] );
286
+ t( "Child class selector using UTF8", "form > .台北Táiběi", ["utf8class1"] );
287
+
288
+ t( "Escaped Class", ".foo\\:bar", ["foo:bar"] );
289
+ t( "Escaped Class", ".test\\.foo\\[5\\]bar", ["test.foo[5]bar"] );
290
+ t( "Descendant escaped Class", "div .foo\\:bar", ["foo:bar"] );
291
+ t( "Descendant escaped Class", "div .test\\.foo\\[5\\]bar", ["test.foo[5]bar"] );
292
+ t( "Child escaped Class", "form > .foo\\:bar", ["foo:bar"] );
293
+ t( "Child escaped Class", "form > .test\\.foo\\[5\\]bar", ["test.foo[5]bar"] );
294
+
295
+ var div = document.createElement("div");
296
+ div.innerHTML = "<div class='test e'></div><div class='test'></div>";
297
+ deepEqual( Sizzle(".e", div), [ div.firstChild ], "Finding a second class." );
298
+
299
+ div.lastChild.className = "e";
300
+
301
+ deepEqual( Sizzle(".e", div), [ div.firstChild, div.lastChild ], "Finding a modified class." );
302
+
303
+ ok( !Sizzle.matchesSelector( div, ".null"), ".null does not match an element with no class" );
304
+ ok( !Sizzle.matchesSelector( div.firstChild, ".null div"), ".null does not match an element with no class" );
305
+ div.className = "null";
306
+ ok( Sizzle.matchesSelector( div, ".null"), ".null matches element with class 'null'" );
307
+ ok( Sizzle.matchesSelector( div.firstChild, ".null div"), "caching system respects DOM changes" );
308
+ ok( !Sizzle.matchesSelector( document, ".foo" ), "testing class on document doesn't error" );
309
+ ok( !Sizzle.matchesSelector( window, ".foo" ), "testing class on window doesn't error" );
310
+
311
+ div.lastChild.className += " hasOwnProperty toString";
312
+ deepEqual( Sizzle(".e.hasOwnProperty.toString", div), [ div.lastChild ], "Classes match Object.prototype properties" );
313
+
314
+ div = jQuery("<div><svg width='200' height='250' version='1.1' xmlns='http://www.w3.org/2000/svg'><rect x='10' y='10' width='30' height='30' class='foo'></rect></svg></div>")[0];
315
+ equal( Sizzle(".foo", div).length, 1, "Class selector against SVG" );
316
+ });
317
+
318
+ test("name", function() {
319
+ expect( 14 );
320
+
321
+ var form;
322
+
323
+ t( "Name selector", "input[name=action]", ["text1"] );
324
+ t( "Name selector with single quotes", "input[name='action']", ["text1"] );
325
+ t( "Name selector with double quotes", "input[name=\"action\"]", ["text1"] );
326
+
327
+ t( "Name selector non-input", "[name=example]", ["name-is-example"] );
328
+ t( "Name selector non-input", "[name=div]", ["name-is-div"] );
329
+ t( "Name selector non-input", "*[name=iframe]", ["iframe"] );
330
+
331
+ t( "Name selector for grouped input", "input[name='types[]']", ["types_all", "types_anime", "types_movie"] );
332
+
333
+ form = document.getElementById("form");
334
+ deepEqual( Sizzle("input[name=action]", form), q("text1"), "Name selector within the context of another element" );
335
+ deepEqual( Sizzle("input[name='foo[bar]']", form), q("hidden2"), "Name selector for grouped form element within the context of another element" );
336
+
337
+ form = jQuery("<form><input name='id'/></form>").appendTo("body");
338
+ equal( Sizzle("input", form[0]).length, 1, "Make sure that rooted queries on forms (with possible expandos) work." );
339
+
340
+ form.remove();
341
+
342
+ t( "Find elements that have similar IDs", "[name=tName1]", ["tName1ID"] );
343
+ t( "Find elements that have similar IDs", "[name=tName2]", ["tName2ID"] );
344
+ t( "Find elements that have similar IDs", "#tName2ID", ["tName2ID"] );
345
+
346
+ t( "Case-sensitivity", "[name=tname1]", [] );
347
+ });
348
+
349
+ test("multiple", function() {
350
+ expect(6);
351
+
352
+ t( "Comma Support", "h2, #qunit-fixture p", ["qunit-banner","qunit-userAgent","firstp","ap","sndp","en","sap","first"] );
353
+ t( "Comma Support", "h2 , #qunit-fixture p", ["qunit-banner","qunit-userAgent","firstp","ap","sndp","en","sap","first"] );
354
+ t( "Comma Support", "h2 , #qunit-fixture p", ["qunit-banner","qunit-userAgent","firstp","ap","sndp","en","sap","first"] );
355
+ t( "Comma Support", "h2,#qunit-fixture p", ["qunit-banner","qunit-userAgent","firstp","ap","sndp","en","sap","first"] );
356
+ t( "Comma Support", "h2,#qunit-fixture p ", ["qunit-banner","qunit-userAgent","firstp","ap","sndp","en","sap","first"] );
357
+ t( "Comma Support", "h2\t,\r#qunit-fixture p\n", ["qunit-banner","qunit-userAgent","firstp","ap","sndp","en","sap","first"] );
358
+ });
359
+
360
+ test("child and adjacent", function() {
361
+ expect( 42 );
362
+
363
+ var siblingFirst, en, nothiddendiv;
364
+
365
+ t( "Child", "p > a", ["simon1","google","groups","mark","yahoo","simon"] );
366
+ t( "Child", "p> a", ["simon1","google","groups","mark","yahoo","simon"] );
367
+ t( "Child", "p >a", ["simon1","google","groups","mark","yahoo","simon"] );
368
+ t( "Child", "p>a", ["simon1","google","groups","mark","yahoo","simon"] );
369
+ t( "Child w/ Class", "p > a.blog", ["mark","simon"] );
370
+ t( "All Children", "code > *", ["anchor1","anchor2"] );
371
+ t( "All Grandchildren", "p > * > *", ["anchor1","anchor2"] );
372
+ t( "Adjacent", "#qunit-fixture a + a", ["groups", "tName2ID"] );
373
+ t( "Adjacent", "#qunit-fixture a +a", ["groups", "tName2ID"] );
374
+ t( "Adjacent", "#qunit-fixture a+ a", ["groups", "tName2ID"] );
375
+ t( "Adjacent", "#qunit-fixture a+a", ["groups", "tName2ID"] );
376
+ t( "Adjacent", "p + p", ["ap","en","sap"] );
377
+ t( "Adjacent", "p#firstp + p", ["ap"] );
378
+ t( "Adjacent", "p[lang=en] + p", ["sap"] );
379
+ t( "Adjacent", "a.GROUPS + code + a", ["mark"] );
380
+ t( "Comma, Child, and Adjacent", "#qunit-fixture a + a, code > a", ["groups","anchor1","anchor2","tName2ID"] );
381
+ t( "Element Preceded By", "#qunit-fixture p ~ div", ["foo", "nothiddendiv", "moretests","tabindex-tests", "liveHandlerOrder", "siblingTest"] );
382
+ t( "Element Preceded By", "#first ~ div", ["moretests","tabindex-tests", "liveHandlerOrder", "siblingTest"] );
383
+ t( "Element Preceded By", "#groups ~ a", ["mark"] );
384
+ t( "Element Preceded By", "#length ~ input", ["idTest"] );
385
+ t( "Element Preceded By", "#siblingfirst ~ em", ["siblingnext", "siblingthird"] );
386
+ t( "Element Preceded By (multiple)", "#siblingTest em ~ em ~ em ~ span", ["siblingspan"] );
387
+ t( "Element Preceded By, Containing", "#liveHandlerOrder ~ div em:contains('1')", ["siblingfirst"] );
388
+
389
+ siblingFirst = document.getElementById("siblingfirst");
390
+
391
+ deepEqual( Sizzle("~ em", siblingFirst), q("siblingnext", "siblingthird"), "Element Preceded By with a context." );
392
+ deepEqual( Sizzle("+ em", siblingFirst), q("siblingnext"), "Element Directly Preceded By with a context." );
393
+ deepEqual( Sizzle("~ em:first", siblingFirst), q("siblingnext"), "Element Preceded By positional with a context." );
394
+
395
+ en = document.getElementById("en");
396
+ deepEqual( Sizzle("+ p, a", en), q("yahoo", "sap"), "Compound selector with context, beginning with sibling test." );
397
+ deepEqual( Sizzle("a, + p", en), q("yahoo", "sap"), "Compound selector with context, containing sibling test." );
398
+
399
+ t( "Multiple combinators selects all levels", "#siblingTest em *", ["siblingchild", "siblinggrandchild", "siblinggreatgrandchild"] );
400
+ t( "Multiple combinators selects all levels", "#siblingTest > em *", ["siblingchild", "siblinggrandchild", "siblinggreatgrandchild"] );
401
+ t( "Multiple sibling combinators doesn't miss general siblings", "#siblingTest > em:first-child + em ~ span", ["siblingspan"] );
402
+ t( "Combinators are not skipped when mixing general and specific", "#siblingTest > em:contains('x') + em ~ span", [] );
403
+
404
+ equal( Sizzle("#listWithTabIndex").length, 1, "Parent div for next test is found via ID (#8310)" );
405
+ equal( Sizzle("#listWithTabIndex li:eq(2) ~ li").length, 1, "Find by general sibling combinator (#8310)" );
406
+ equal( Sizzle("#__sizzle__").length, 0, "Make sure the temporary id assigned by sizzle is cleared out (#8310)" );
407
+ equal( Sizzle("#listWithTabIndex").length, 1, "Parent div for previous test is still found via ID (#8310)" );
408
+
409
+ t( "Verify deep class selector", "div.blah > p > a", [] );
410
+
411
+ t( "No element deep selector", "div.foo > span > a", [] );
412
+
413
+ nothiddendiv = document.getElementById("nothiddendiv");
414
+ deepEqual( Sizzle("> :first", nothiddendiv), q("nothiddendivchild"), "Verify child context positional selector" );
415
+ deepEqual( Sizzle("> :eq(0)", nothiddendiv), q("nothiddendivchild"), "Verify child context positional selector" );
416
+ deepEqual( Sizzle("> *:first", nothiddendiv), q("nothiddendivchild"), "Verify child context positional selector" );
417
+
418
+ t( "Non-existant ancestors", ".fototab > .thumbnails > a", [] );
419
+ });
420
+
421
+ test("attributes", function() {
422
+ expect( 76 );
423
+
424
+ var opt, input, attrbad, div;
425
+
426
+ t( "Attribute Exists", "#qunit-fixture a[title]", ["google"] );
427
+ t( "Attribute Exists (case-insensitive)", "#qunit-fixture a[TITLE]", ["google"] );
428
+ t( "Attribute Exists", "#qunit-fixture *[title]", ["google"] );
429
+ t( "Attribute Exists", "#qunit-fixture [title]", ["google"] );
430
+ t( "Attribute Exists", "#qunit-fixture a[ title ]", ["google"] );
431
+
432
+ t( "Boolean attribute exists", "#select2 option[selected]", ["option2d"]);
433
+ t( "Boolean attribute equals", "#select2 option[selected='selected']", ["option2d"]);
434
+
435
+ t( "Attribute Equals", "#qunit-fixture a[rel='bookmark']", ["simon1"] );
436
+ t( "Attribute Equals", "#qunit-fixture a[rel='bookmark']", ["simon1"] );
437
+ t( "Attribute Equals", "#qunit-fixture a[rel=bookmark]", ["simon1"] );
438
+ t( "Attribute Equals", "#qunit-fixture a[href='http://www.google.com/']", ["google"] );
439
+ t( "Attribute Equals", "#qunit-fixture a[ rel = 'bookmark' ]", ["simon1"] );
440
+ t( "Attribute Equals Number", "#qunit-fixture option[value=1]", ["option1b","option2b","option3b","option4b","option5c"] );
441
+ t( "Attribute Equals Number", "#qunit-fixture li[tabIndex=-1]", ["foodWithNegativeTabIndex"] );
442
+
443
+ document.getElementById("anchor2").href = "#2";
444
+ t( "href Attribute", "p a[href^=#]", ["anchor2"] );
445
+ t( "href Attribute", "p a[href*=#]", ["simon1", "anchor2"] );
446
+
447
+ t( "for Attribute", "form label[for]", ["label-for"] );
448
+ t( "for Attribute in form", "#form [for=action]", ["label-for"] );
449
+
450
+ t( "Attribute containing []", "input[name^='foo[']", ["hidden2"] );
451
+ t( "Attribute containing []", "input[name^='foo[bar]']", ["hidden2"] );
452
+ t( "Attribute containing []", "input[name*='[bar]']", ["hidden2"] );
453
+ t( "Attribute containing []", "input[name$='bar]']", ["hidden2"] );
454
+ t( "Attribute containing []", "input[name$='[bar]']", ["hidden2"] );
455
+ t( "Attribute containing []", "input[name$='foo[bar]']", ["hidden2"] );
456
+ t( "Attribute containing []", "input[name*='foo[bar]']", ["hidden2"] );
457
+
458
+ deepEqual( Sizzle( "input[data-comma='0,1']" ), [ document.getElementById("el12087") ], "Without context, single-quoted attribute containing ','" );
459
+ deepEqual( Sizzle( "input[data-comma=\"0,1\"]" ), [ document.getElementById("el12087") ], "Without context, double-quoted attribute containing ','" );
460
+ deepEqual( Sizzle( "input[data-comma='0,1']", document.getElementById("t12087") ), [ document.getElementById("el12087") ], "With context, single-quoted attribute containing ','" );
461
+ deepEqual( Sizzle( "input[data-comma=\"0,1\"]", document.getElementById("t12087") ), [ document.getElementById("el12087") ], "With context, double-quoted attribute containing ','" );
462
+
463
+ t( "Multiple Attribute Equals", "#form input[type='radio'], #form input[type='hidden']", ["radio1", "radio2", "hidden1"] );
464
+ t( "Multiple Attribute Equals", "#form input[type='radio'], #form input[type=\"hidden\"]", ["radio1", "radio2", "hidden1"] );
465
+ t( "Multiple Attribute Equals", "#form input[type='radio'], #form input[type=hidden]", ["radio1", "radio2", "hidden1"] );
466
+
467
+ t( "Attribute selector using UTF8", "span[lang=中文]", ["台北"] );
468
+
469
+ t( "Attribute Begins With", "a[href ^= 'http://www']", ["google","yahoo"] );
470
+ t( "Attribute Ends With", "a[href $= 'org/']", ["mark"] );
471
+ t( "Attribute Contains", "a[href *= 'google']", ["google","groups"] );
472
+ t( "Attribute Is Not Equal", "#ap a[hreflang!='en']", ["google","groups","anchor1"] );
473
+
474
+ opt = document.getElementById("option1a");
475
+ opt.setAttribute( "test", "" );
476
+
477
+ ok( Sizzle.matchesSelector( opt, "[id*=option1][type!=checkbox]" ), "Attribute Is Not Equal Matches" );
478
+ ok( Sizzle.matchesSelector( opt, "[id*=option1]" ), "Attribute With No Quotes Contains Matches" );
479
+ ok( Sizzle.matchesSelector( opt, "[test=]" ), "Attribute With No Quotes No Content Matches" );
480
+ ok( !Sizzle.matchesSelector( opt, "[test^='']" ), "Attribute with empty string value does not match startsWith selector (^=)" );
481
+ ok( Sizzle.matchesSelector( opt, "[id=option1a]" ), "Attribute With No Quotes Equals Matches" );
482
+ ok( Sizzle.matchesSelector( document.getElementById("simon1"), "a[href*=#]" ), "Attribute With No Quotes Href Contains Matches" );
483
+
484
+ t( "Empty values", "#select1 option[value='']", ["option1a"] );
485
+ t( "Empty values", "#select1 option[value!='']", ["option1b","option1c","option1d"] );
486
+
487
+ t( "Select options via :selected", "#select1 option:selected", ["option1a"] );
488
+ t( "Select options via :selected", "#select2 option:selected", ["option2d"] );
489
+ t( "Select options via :selected", "#select3 option:selected", ["option3b", "option3c"] );
490
+ t( "Select options via :selected", "select[name='select2'] option:selected", ["option2d"] );
491
+
492
+ t( "Grouped Form Elements", "input[name='foo[bar]']", ["hidden2"] );
493
+
494
+ input = document.getElementById("text1");
495
+ input.title = "Don't click me";
496
+
497
+ ok( Sizzle.matchesSelector( input, "input[title=\"Don't click me\"]" ), "Quote within attribute value does not mess up tokenizer" );
498
+
499
+ // Uncomment if the boolHook is removed
500
+ // var check2 = document.getElementById("check2");
501
+ // check2.checked = true;
502
+ // ok( !Sizzle.matches("[checked]", [ check2 ] ), "Dynamic boolean attributes match when they should with Sizzle.matches (#11115)" );
503
+
504
+ // jQuery #12303
505
+ input.setAttribute( "data-pos", ":first" );
506
+ ok( Sizzle.matchesSelector( input, "input[data-pos=\\:first]"), "POS within attribute value is treated as an attribute value" );
507
+ ok( Sizzle.matchesSelector( input, "input[data-pos=':first']"), "POS within attribute value is treated as an attribute value" );
508
+ ok( Sizzle.matchesSelector( input, ":input[data-pos=':first']"), "POS within attribute value after pseudo is treated as an attribute value" );
509
+ input.removeAttribute("data-pos");
510
+
511
+ // Make sure attribute value quoting works correctly. See jQuery #6093; #6428; #13894
512
+ // Use seeded results to bypass querySelectorAll optimizations
513
+ attrbad = jQuery(
514
+ "<input type='hidden' id='attrbad_space' name='foo bar'/>" +
515
+ "<input type='hidden' id='attrbad_dot' value='2' name='foo.baz'/>" +
516
+ "<input type='hidden' id='attrbad_brackets' value='2' name='foo[baz]'/>" +
517
+ "<input type='hidden' id='attrbad_injection' data-attr='foo_baz&#39;]'/>" +
518
+ "<input type='hidden' id='attrbad_quote' data-attr='&#39;'/>" +
519
+ "<input type='hidden' id='attrbad_backslash' data-attr='&#92;'/>" +
520
+ "<input type='hidden' id='attrbad_backslash_quote' data-attr='&#92;&#39;'/>" +
521
+ "<input type='hidden' id='attrbad_backslash_backslash' data-attr='&#92;&#92;'/>" +
522
+ "<input type='hidden' id='attrbad_unicode' data-attr='&#x4e00;'/>"
523
+ ).appendTo("#qunit-fixture").get();
524
+
525
+ t( "Underscores don't need escaping", "input[id=types_all]", ["types_all"] );
526
+
527
+ deepEqual( Sizzle( "input[name=foo\\ bar]", null, null, attrbad ), q("attrbad_space"),
528
+ "Escaped space" );
529
+ deepEqual( Sizzle( "input[name=foo\\.baz]", null, null, attrbad ), q("attrbad_dot"),
530
+ "Escaped dot" );
531
+ deepEqual( Sizzle( "input[name=foo\\[baz\\]]", null, null, attrbad ), q("attrbad_brackets"),
532
+ "Escaped brackets" );
533
+ deepEqual( Sizzle( "input[data-attr='foo_baz\\']']", null, null, attrbad ), q("attrbad_injection"),
534
+ "Escaped quote + right bracket" );
535
+
536
+ deepEqual( Sizzle( "input[data-attr='\\'']", null, null, attrbad ), q("attrbad_quote"),
537
+ "Quoted quote" );
538
+ deepEqual( Sizzle( "input[data-attr='\\\\']", null, null, attrbad ), q("attrbad_backslash"),
539
+ "Quoted backslash" );
540
+ deepEqual( Sizzle( "input[data-attr='\\\\\\'']", null, null, attrbad ), q("attrbad_backslash_quote"),
541
+ "Quoted backslash quote" );
542
+ deepEqual( Sizzle( "input[data-attr='\\\\\\\\']", null, null, attrbad ), q("attrbad_backslash_backslash"),
543
+ "Quoted backslash backslash" );
544
+
545
+ deepEqual( Sizzle( "input[data-attr='\\5C\\\\']", null, null, attrbad ), q("attrbad_backslash_backslash"),
546
+ "Quoted backslash backslash (numeric escape)" );
547
+ deepEqual( Sizzle( "input[data-attr='\\5C \\\\']", null, null, attrbad ), q("attrbad_backslash_backslash"),
548
+ "Quoted backslash backslash (numeric escape with trailing space)" );
549
+ deepEqual( Sizzle( "input[data-attr='\\5C\t\\\\']", null, null, attrbad ), q("attrbad_backslash_backslash"),
550
+ "Quoted backslash backslash (numeric escape with trailing tab)" );
551
+ deepEqual( Sizzle( "input[data-attr='\\04e00']", null, null, attrbad ), q("attrbad_unicode"),
552
+ "Long numeric escape (BMP)" );
553
+ document.getElementById("attrbad_unicode").setAttribute( "data-attr", "\uD834\uDF06A" );
554
+ // It was too much code to fix Safari 5.x Supplemental Plane crashes (see ba5f09fa404379a87370ec905ffa47f8ac40aaa3)
555
+ // deepEqual( Sizzle( "input[data-attr='\\01D306A']", null, null, attrbad ), q("attrbad_unicode"),
556
+ // "Long numeric escape (non-BMP)" );
557
+
558
+ t( "input[type=text]", "#form input[type=text]", ["text1", "text2", "hidden2", "name"] );
559
+ t( "input[type=search]", "#form input[type=search]", ["search"] );
560
+ t( "script[src] (jQuery #13777)", "#moretests script[src]", ["script-src"] );
561
+
562
+ // #3279
563
+ div = document.createElement("div");
564
+ div.innerHTML = "<div id='foo' xml:test='something'></div>";
565
+
566
+ deepEqual( Sizzle( "[xml\\:test]", div ), [ div.firstChild ], "Finding by attribute with escaped characters." );
567
+
568
+ div = document.getElementById("foo");
569
+ t( "Object.prototype property \"constructor\" (negative)", "[constructor]", [] );
570
+ t( "Gecko Object.prototype property \"watch\" (negative)", "[watch]", [] );
571
+ div.setAttribute( "constructor", "foo" );
572
+ div.setAttribute( "watch", "bar" );
573
+ t( "Object.prototype property \"constructor\"", "[constructor='foo']", ["foo"] );
574
+ t( "Gecko Object.prototype property \"watch\"", "[watch='bar']", ["foo"] );
575
+
576
+ t( "Value attribute is retrieved correctly", "input[value=Test]", ["text1", "text2"] );
577
+ });
578
+
579
+ test("pseudo - (parent|empty)", function() {
580
+ expect( 3 );
581
+ t( "Empty", "ul:empty", ["firstUL"] );
582
+ t( "Empty with comment node", "ol:empty", ["empty"] );
583
+ t( "Is A Parent", "#qunit-fixture p:parent", ["firstp","ap","sndp","en","sap","first"] );
584
+ });
585
+
586
+ test("pseudo - (first|last|only)-(child|of-type)", function() {
587
+ expect( 12 );
588
+
589
+ t( "First Child", "p:first-child", ["firstp","sndp"] );
590
+ t( "First Child (leading id)", "#qunit-fixture p:first-child", ["firstp","sndp"] );
591
+ t( "First Child (leading class)", ".nothiddendiv div:first-child", ["nothiddendivchild"] );
592
+ t( "First Child (case-insensitive)", "#qunit-fixture p:FIRST-CHILD", ["firstp","sndp"] );
593
+
594
+ t( "Last Child", "p:last-child", ["sap"] );
595
+ t( "Last Child (leading id)", "#qunit-fixture a:last-child", ["simon1","anchor1","mark","yahoo","anchor2","simon","liveLink1","liveLink2"] );
596
+
597
+ t( "Only Child", "#qunit-fixture a:only-child", ["simon1","anchor1","yahoo","anchor2","liveLink1","liveLink2"] );
598
+
599
+ t( "First-of-type", "#qunit-fixture > p:first-of-type", ["firstp"] );
600
+ t( "Last-of-type", "#qunit-fixture > p:last-of-type", ["first"] );
601
+ t( "Only-of-type", "#qunit-fixture > :only-of-type", ["name+value", "firstUL", "empty", "floatTest", "iframe", "table"] );
602
+
603
+ // Verify that the child position isn't being cached improperly
604
+ var secondChildren = jQuery("p:nth-child(2)").before("<div></div>");
605
+
606
+ t( "No longer second child", "p:nth-child(2)", [] );
607
+ secondChildren.prev().remove();
608
+ t( "Restored second child", "p:nth-child(2)", ["ap","en"] );
609
+ });
610
+
611
+ test("pseudo - nth-child", function() {
612
+ expect( 30 );
613
+
614
+ t( "Nth-child", "p:nth-child(1)", ["firstp","sndp"] );
615
+ t( "Nth-child (with whitespace)", "p:nth-child( 1 )", ["firstp","sndp"] );
616
+ t( "Nth-child (case-insensitive)", "#form select:first option:NTH-child(3)", ["option1c"] );
617
+ t( "Not nth-child", "#qunit-fixture p:not(:nth-child(1))", ["ap","en","sap","first"] );
618
+
619
+ t( "Nth-child(2)", "#qunit-fixture form#form > *:nth-child(2)", ["text1"] );
620
+ t( "Nth-child(2)", "#qunit-fixture form#form > :nth-child(2)", ["text1"] );
621
+
622
+ t( "Nth-child(-1)", "#form select:first option:nth-child(-1)", [] );
623
+ t( "Nth-child(3)", "#form select:first option:nth-child(3)", ["option1c"] );
624
+ t( "Nth-child(0n+3)", "#form select:first option:nth-child(0n+3)", ["option1c"] );
625
+ t( "Nth-child(1n+0)", "#form select:first option:nth-child(1n+0)", ["option1a", "option1b", "option1c", "option1d"] );
626
+ t( "Nth-child(1n)", "#form select:first option:nth-child(1n)", ["option1a", "option1b", "option1c", "option1d"] );
627
+ t( "Nth-child(n)", "#form select:first option:nth-child(n)", ["option1a", "option1b", "option1c", "option1d"] );
628
+ t( "Nth-child(even)", "#form select:first option:nth-child(even)", ["option1b", "option1d"] );
629
+ t( "Nth-child(odd)", "#form select:first option:nth-child(odd)", ["option1a", "option1c"] );
630
+ t( "Nth-child(2n)", "#form select:first option:nth-child(2n)", ["option1b", "option1d"] );
631
+ t( "Nth-child(2n+1)", "#form select:first option:nth-child(2n+1)", ["option1a", "option1c"] );
632
+ t( "Nth-child(2n + 1)", "#form select:first option:nth-child(2n + 1)", ["option1a", "option1c"] );
633
+ t( "Nth-child(+2n + 1)", "#form select:first option:nth-child(+2n + 1)", ["option1a", "option1c"] );
634
+ t( "Nth-child(3n)", "#form select:first option:nth-child(3n)", ["option1c"] );
635
+ t( "Nth-child(3n+1)", "#form select:first option:nth-child(3n+1)", ["option1a", "option1d"] );
636
+ t( "Nth-child(3n+2)", "#form select:first option:nth-child(3n+2)", ["option1b"] );
637
+ t( "Nth-child(3n+3)", "#form select:first option:nth-child(3n+3)", ["option1c"] );
638
+ t( "Nth-child(3n-1)", "#form select:first option:nth-child(3n-1)", ["option1b"] );
639
+ t( "Nth-child(3n-2)", "#form select:first option:nth-child(3n-2)", ["option1a", "option1d"] );
640
+ t( "Nth-child(3n-3)", "#form select:first option:nth-child(3n-3)", ["option1c"] );
641
+ t( "Nth-child(3n+0)", "#form select:first option:nth-child(3n+0)", ["option1c"] );
642
+ t( "Nth-child(-1n+3)", "#form select:first option:nth-child(-1n+3)", ["option1a", "option1b", "option1c"] );
643
+ t( "Nth-child(-n+3)", "#form select:first option:nth-child(-n+3)", ["option1a", "option1b", "option1c"] );
644
+ t( "Nth-child(-1n + 3)", "#form select:first option:nth-child(-1n + 3)", ["option1a", "option1b", "option1c"] );
645
+
646
+ deepEqual( Sizzle( ":nth-child(n)", null, null, [ document.createElement("a") ].concat( q("ap") ) ), q("ap"), "Seeded nth-child" );
647
+ });
648
+
649
+ test("pseudo - nth-last-child", function() {
650
+ expect( 30 );
651
+
652
+ t( "Nth-last-child", "form:nth-last-child(5)", ["testForm"] );
653
+ t( "Nth-last-child (with whitespace)", "form:nth-last-child( 5 )", ["testForm"] );
654
+ t( "Nth-last-child (case-insensitive)", "#form select:first option:NTH-last-child(3)", ["option1b"] );
655
+ t( "Not nth-last-child", "#qunit-fixture p:not(:nth-last-child(1))", ["firstp", "ap", "sndp", "en", "first"] );
656
+
657
+ t( "Nth-last-child(-1)", "#form select:first option:nth-last-child(-1)", [] );
658
+ t( "Nth-last-child(3)", "#form select:first :nth-last-child(3)", ["option1b"] );
659
+ t( "Nth-last-child(3)", "#form select:first *:nth-last-child(3)", ["option1b"] );
660
+ t( "Nth-last-child(3)", "#form select:first option:nth-last-child(3)", ["option1b"] );
661
+ t( "Nth-last-child(0n+3)", "#form select:first option:nth-last-child(0n+3)", ["option1b"] );
662
+ t( "Nth-last-child(1n+0)", "#form select:first option:nth-last-child(1n+0)", ["option1a", "option1b", "option1c", "option1d"] );
663
+ t( "Nth-last-child(1n)", "#form select:first option:nth-last-child(1n)", ["option1a", "option1b", "option1c", "option1d"] );
664
+ t( "Nth-last-child(n)", "#form select:first option:nth-last-child(n)", ["option1a", "option1b", "option1c", "option1d"] );
665
+ t( "Nth-last-child(even)", "#form select:first option:nth-last-child(even)", ["option1a", "option1c"] );
666
+ t( "Nth-last-child(odd)", "#form select:first option:nth-last-child(odd)", ["option1b", "option1d"] );
667
+ t( "Nth-last-child(2n)", "#form select:first option:nth-last-child(2n)", ["option1a", "option1c"] );
668
+ t( "Nth-last-child(2n+1)", "#form select:first option:nth-last-child(2n+1)", ["option1b", "option1d"] );
669
+ t( "Nth-last-child(2n + 1)", "#form select:first option:nth-last-child(2n + 1)", ["option1b", "option1d"] );
670
+ t( "Nth-last-child(+2n + 1)", "#form select:first option:nth-last-child(+2n + 1)", ["option1b", "option1d"] );
671
+ t( "Nth-last-child(3n)", "#form select:first option:nth-last-child(3n)", ["option1b"] );
672
+ t( "Nth-last-child(3n+1)", "#form select:first option:nth-last-child(3n+1)", ["option1a", "option1d"] );
673
+ t( "Nth-last-child(3n+2)", "#form select:first option:nth-last-child(3n+2)", ["option1c"] );
674
+ t( "Nth-last-child(3n+3)", "#form select:first option:nth-last-child(3n+3)", ["option1b"] );
675
+ t( "Nth-last-child(3n-1)", "#form select:first option:nth-last-child(3n-1)", ["option1c"] );
676
+ t( "Nth-last-child(3n-2)", "#form select:first option:nth-last-child(3n-2)", ["option1a", "option1d"] );
677
+ t( "Nth-last-child(3n-3)", "#form select:first option:nth-last-child(3n-3)", ["option1b"] );
678
+ t( "Nth-last-child(3n+0)", "#form select:first option:nth-last-child(3n+0)", ["option1b"] );
679
+ t( "Nth-last-child(-1n+3)", "#form select:first option:nth-last-child(-1n+3)", ["option1b", "option1c", "option1d"] );
680
+ t( "Nth-last-child(-n+3)", "#form select:first option:nth-last-child(-n+3)", ["option1b", "option1c", "option1d"] );
681
+ t( "Nth-last-child(-1n + 3)", "#form select:first option:nth-last-child(-1n + 3)", ["option1b", "option1c", "option1d"] );
682
+
683
+ deepEqual( Sizzle( ":nth-last-child(n)", null, null, [ document.createElement("a") ].concat( q("ap") ) ), q("ap"), "Seeded nth-last-child" );
684
+ });
685
+
686
+ test("pseudo - nth-of-type", function() {
687
+ expect( 9 );
688
+ t( "Nth-of-type(-1)", ":nth-of-type(-1)", [] );
689
+ t( "Nth-of-type(3)", "#ap :nth-of-type(3)", ["mark"] );
690
+ t( "Nth-of-type(n)", "#ap :nth-of-type(n)", ["google", "groups", "code1", "anchor1", "mark"] );
691
+ t( "Nth-of-type(0n+3)", "#ap :nth-of-type(0n+3)", ["mark"] );
692
+ t( "Nth-of-type(2n)", "#ap :nth-of-type(2n)", ["groups"] );
693
+ t( "Nth-of-type(even)", "#ap :nth-of-type(even)", ["groups"] );
694
+ t( "Nth-of-type(2n+1)", "#ap :nth-of-type(2n+1)", ["google", "code1", "anchor1", "mark"] );
695
+ t( "Nth-of-type(odd)", "#ap :nth-of-type(odd)", ["google", "code1", "anchor1", "mark"] );
696
+ t( "Nth-of-type(-n+2)", "#qunit-fixture > :nth-of-type(-n+2)", ["firstp", "ap", "foo", "nothiddendiv", "name+value", "firstUL", "empty", "form", "floatTest", "iframe", "lengthtest", "table"] );
697
+ });
698
+
699
+ test("pseudo - nth-last-of-type", function() {
700
+ expect( 9 );
701
+ t( "Nth-last-of-type(-1)", ":nth-last-of-type(-1)", [] );
702
+ t( "Nth-last-of-type(3)", "#ap :nth-last-of-type(3)", ["google"] );
703
+ t( "Nth-last-of-type(n)", "#ap :nth-last-of-type(n)", ["google", "groups", "code1", "anchor1", "mark"] );
704
+ t( "Nth-last-of-type(0n+3)", "#ap :nth-last-of-type(0n+3)", ["google"] );
705
+ t( "Nth-last-of-type(2n)", "#ap :nth-last-of-type(2n)", ["groups"] );
706
+ t( "Nth-last-of-type(even)", "#ap :nth-last-of-type(even)", ["groups"] );
707
+ t( "Nth-last-of-type(2n+1)", "#ap :nth-last-of-type(2n+1)", ["google", "code1", "anchor1", "mark"] );
708
+ t( "Nth-last-of-type(odd)", "#ap :nth-last-of-type(odd)", ["google", "code1", "anchor1", "mark"] );
709
+ t( "Nth-last-of-type(-n+2)", "#qunit-fixture > :nth-last-of-type(-n+2)", ["ap", "name+value", "first", "firstUL", "empty", "floatTest", "iframe", "table", "name-tests", "testForm", "liveHandlerOrder", "siblingTest"] );
710
+ });
711
+
712
+ test("pseudo - has", function() {
713
+ expect( 3 );
714
+
715
+ t( "Basic test", "p:has(a)", ["firstp","ap","en","sap"] );
716
+ t( "Basic test (irrelevant whitespace)", "p:has( a )", ["firstp","ap","en","sap"] );
717
+ t( "Nested with overlapping candidates", "#qunit-fixture div:has(div:has(div:not([id])))", [ "moretests", "t2037" ] );
718
+ });
719
+
720
+ test("pseudo - misc", function() {
721
+ expect( 39 );
722
+
723
+ var select, tmp, input;
724
+
725
+ t( "Headers", ":header", ["qunit-header", "qunit-banner", "qunit-userAgent"] );
726
+ t( "Headers(case-insensitive)", ":Header", ["qunit-header", "qunit-banner", "qunit-userAgent"] );
727
+ t( "Multiple matches with the same context (cache check)", "#form select:has(option:first-child:contains('o'))", ["select1", "select2", "select3", "select4"] );
728
+
729
+ ok( Sizzle("#qunit-fixture :not(:has(:has(*)))").length, "All not grandparents" );
730
+
731
+ select = document.getElementById("select1");
732
+ ok( Sizzle.matchesSelector( select, ":has(option)" ), "Has Option Matches" );
733
+
734
+ ok( Sizzle("a:contains('')").length, "Empty string contains" );
735
+ t( "Text Contains", "a:contains(Google)", ["google","groups"] );
736
+ t( "Text Contains", "a:contains(Google Groups)", ["groups"] );
737
+
738
+ t( "Text Contains", "a:contains('Google Groups (Link)')", ["groups"] );
739
+ t( "Text Contains", "a:contains(\"(Link)\")", ["groups"] );
740
+ t( "Text Contains", "a:contains(Google Groups (Link))", ["groups"] );
741
+ t( "Text Contains", "a:contains((Link))", ["groups"] );
742
+
743
+
744
+ tmp = document.createElement("div");
745
+ tmp.id = "tmp_input";
746
+ document.body.appendChild( tmp );
747
+
748
+ jQuery.each( [ "button", "submit", "reset" ], function( i, type ) {
749
+ var els = jQuery(
750
+ "<input id='input_%' type='%'/><button id='button_%' type='%'>test</button>"
751
+ .replace( /%/g, type )
752
+ ).appendTo( tmp );
753
+
754
+ t( "Input Buttons :" + type, "#tmp_input :" + type, [ "input_" + type, "button_" + type ] );
755
+
756
+ ok( Sizzle.matchesSelector( els[0], ":" + type ), "Input Matches :" + type );
757
+ ok( Sizzle.matchesSelector( els[1], ":" + type ), "Button Matches :" + type );
758
+ });
759
+
760
+ document.body.removeChild( tmp );
761
+
762
+ // Recreate tmp
763
+ tmp = document.createElement("div");
764
+ tmp.id = "tmp_input";
765
+ tmp.innerHTML = "<span>Hello I am focusable.</span>";
766
+ // Setting tabIndex should make the element focusable
767
+ // http://dev.w3.org/html5/spec/single-page.html#focus-management
768
+ document.body.appendChild( tmp );
769
+ tmp.tabIndex = 0;
770
+ tmp.focus();
771
+ if ( document.activeElement !== tmp || (document.hasFocus && !document.hasFocus()) ||
772
+ (document.querySelectorAll && !document.querySelectorAll("div:focus").length) ) {
773
+ ok( true, "The div was not focused. Skip checking the :focus match." );
774
+ ok( true, "The div was not focused. Skip checking the :focus match." );
775
+ } else {
776
+ t( "tabIndex element focused", ":focus", [ "tmp_input" ] );
777
+ ok( Sizzle.matchesSelector( tmp, ":focus" ), ":focus matches tabIndex div" );
778
+ }
779
+
780
+ // Blur tmp
781
+ tmp.blur();
782
+ document.body.focus();
783
+ ok( !Sizzle.matchesSelector( tmp, ":focus" ), ":focus doesn't match tabIndex div" );
784
+ document.body.removeChild( tmp );
785
+
786
+ // Input focus/active
787
+ input = document.createElement("input");
788
+ input.type = "text";
789
+ input.id = "focus-input";
790
+
791
+ document.body.appendChild( input );
792
+ input.focus();
793
+
794
+ // Inputs can't be focused unless the document has focus
795
+ if ( document.activeElement !== input || (document.hasFocus && !document.hasFocus()) ||
796
+ (document.querySelectorAll && !document.querySelectorAll("input:focus").length) ) {
797
+ ok( true, "The input was not focused. Skip checking the :focus match." );
798
+ ok( true, "The input was not focused. Skip checking the :focus match." );
799
+ } else {
800
+ t( "Element focused", "input:focus", [ "focus-input" ] );
801
+ ok( Sizzle.matchesSelector( input, ":focus" ), ":focus matches" );
802
+ }
803
+
804
+ input.blur();
805
+
806
+ // When IE is out of focus, blur does not work. Force it here.
807
+ if ( document.activeElement === input ) {
808
+ document.body.focus();
809
+ }
810
+
811
+ ok( !Sizzle.matchesSelector( input, ":focus" ), ":focus doesn't match" );
812
+ document.body.removeChild( input );
813
+
814
+
815
+
816
+ deepEqual(
817
+ Sizzle( "[id='select1'] *:not(:last-child), [id='select2'] *:not(:last-child)", q("qunit-fixture")[0] ),
818
+ q( "option1a", "option1b", "option1c", "option2a", "option2b", "option2c" ),
819
+ "caching system tolerates recursive selection"
820
+ );
821
+
822
+ // Tokenization edge cases
823
+ t( "Sequential pseudos", "#qunit-fixture p:has(:contains(mark)):has(code)", ["ap"] );
824
+ t( "Sequential pseudos", "#qunit-fixture p:has(:contains(mark)):has(code):contains(This link)", ["ap"] );
825
+
826
+ t( "Pseudo argument containing ')'", "p:has(>a.GROUPS[src!=')'])", ["ap"] );
827
+ t( "Pseudo argument containing ')'", "p:has(>a.GROUPS[src!=')'])", ["ap"] );
828
+ t( "Pseudo followed by token containing ')'", "p:contains(id=\"foo\")[id!=\\)]", ["sndp"] );
829
+ t( "Pseudo followed by token containing ')'", "p:contains(id=\"foo\")[id!=')']", ["sndp"] );
830
+
831
+ t( "Multi-pseudo", "#ap:has(*), #ap:has(*)", ["ap"] );
832
+ t( "Multi-positional", "#ap:gt(0), #ap:lt(1)", ["ap"] );
833
+ t( "Multi-pseudo with leading nonexistent id", "#nonexistent:has(*), #ap:has(*)", ["ap"] );
834
+ t( "Multi-positional with leading nonexistent id", "#nonexistent:gt(0), #ap:lt(1)", ["ap"] );
835
+
836
+ t( "Tokenization stressor", "a[class*=blog]:not(:has(*, :contains(!)), :contains(!)), br:contains(]), p:contains(]), :not(:empty):not(:parent)", ["ap", "mark","yahoo","simon"] );
837
+ });
838
+
839
+
840
+ test("pseudo - :not", function() {
841
+ expect( 43 );
842
+
843
+ t( "Not", "a.blog:not(.link)", ["mark"] );
844
+ t( ":not() with :first", "#foo p:not(:first) .link", ["simon"] );
845
+
846
+ t( "Not - multiple", "#form option:not(:contains(Nothing),#option1b,:selected)", ["option1c", "option1d", "option2b", "option2c", "option3d", "option3e", "option4e", "option5b", "option5c"] );
847
+ t( "Not - recursive", "#form option:not(:not(:selected))[id^='option3']", [ "option3b", "option3c"] );
848
+
849
+ t( ":not() failing interior", "#qunit-fixture p:not(.foo)", ["firstp","ap","sndp","en","sap","first"] );
850
+ t( ":not() failing interior", "#qunit-fixture p:not(div.foo)", ["firstp","ap","sndp","en","sap","first"] );
851
+ t( ":not() failing interior", "#qunit-fixture p:not(p.foo)", ["firstp","ap","sndp","en","sap","first"] );
852
+ t( ":not() failing interior", "#qunit-fixture p:not(#blargh)", ["firstp","ap","sndp","en","sap","first"] );
853
+ t( ":not() failing interior", "#qunit-fixture p:not(div#blargh)", ["firstp","ap","sndp","en","sap","first"] );
854
+ t( ":not() failing interior", "#qunit-fixture p:not(p#blargh)", ["firstp","ap","sndp","en","sap","first"] );
855
+
856
+ t( ":not Multiple", "#qunit-fixture p:not(a)", ["firstp","ap","sndp","en","sap","first"] );
857
+ t( ":not Multiple", "#qunit-fixture p:not( a )", ["firstp","ap","sndp","en","sap","first"] );
858
+ t( ":not Multiple", "#qunit-fixture p:not( p )", [] );
859
+ t( ":not Multiple", "#qunit-fixture p:not(a, b)", ["firstp","ap","sndp","en","sap","first"] );
860
+ t( ":not Multiple", "#qunit-fixture p:not(a, b, div)", ["firstp","ap","sndp","en","sap","first"] );
861
+ t( ":not Multiple", "p:not(p)", [] );
862
+ t( ":not Multiple", "p:not(a,p)", [] );
863
+ t( ":not Multiple", "p:not(p,a)", [] );
864
+ t( ":not Multiple", "p:not(a,p,b)", [] );
865
+ t( ":not Multiple", ":input:not(:image,:input,:submit)", [] );
866
+ t( ":not Multiple", "#qunit-fixture p:not(:has(a), :nth-child(1))", ["first"] );
867
+
868
+ t( "No element not selector", ".container div:not(.excluded) div", [] );
869
+
870
+ t( ":not() Existing attribute", "#form select:not([multiple])", ["select1", "select2", "select5"]);
871
+ t( ":not() Equals attribute", "#form select:not([name=select1])", ["select2", "select3", "select4","select5"]);
872
+ t( ":not() Equals quoted attribute", "#form select:not([name='select1'])", ["select2", "select3", "select4", "select5"]);
873
+
874
+ t( ":not() Multiple Class", "#foo a:not(.blog)", ["yahoo", "anchor2"] );
875
+ t( ":not() Multiple Class", "#foo a:not(.link)", ["yahoo", "anchor2"] );
876
+ t( ":not() Multiple Class", "#foo a:not(.blog.link)", ["yahoo", "anchor2"] );
877
+
878
+ t( ":not chaining (compound)", "#qunit-fixture div[id]:not(:has(div, span)):not(:has(*))", ["nothiddendivchild", "divWithNoTabIndex"] );
879
+ t( ":not chaining (with attribute)", "#qunit-fixture form[id]:not([action$='formaction']):not(:button)", ["lengthtest", "name-tests", "testForm"] );
880
+ t( ":not chaining (colon in attribute)", "#qunit-fixture form[id]:not([action='form:action']):not(:button)", ["form", "lengthtest", "name-tests", "testForm"] );
881
+ t( ":not chaining (colon in attribute and nested chaining)", "#qunit-fixture form[id]:not([action='form:action']:button):not(:input)", ["form", "lengthtest", "name-tests", "testForm"] );
882
+ t( ":not chaining", "#form select:not(.select1):contains(Nothing) > option:not(option)", [] );
883
+
884
+ t( "positional :not()", "#foo p:not(:last)", ["sndp", "en"] );
885
+ t( "positional :not() prefix", "#foo p:not(:last) a", ["yahoo"] );
886
+ t( "compound positional :not()", "#foo p:not(:first, :last)", ["en"] );
887
+ t( "compound positional :not()", "#foo p:not(:first, :even)", ["en"] );
888
+ t( "compound positional :not()", "#foo p:not(:first, :odd)", ["sap"] );
889
+ t( "reordered compound positional :not()", "#foo p:not(:odd, :first)", ["sap"] );
890
+
891
+ t( "positional :not() with pre-filter", "#foo p:not([id]:first)", ["en", "sap"] );
892
+ t( "positional :not() with post-filter", "#foo p:not(:first[id])", ["en", "sap"] );
893
+ t( "positional :not() with pre-filter", "#foo p:not([lang]:first)", ["sndp", "sap"] );
894
+ t( "positional :not() with post-filter", "#foo p:not(:first[lang])", ["sndp", "en", "sap"] );
895
+ });
896
+
897
+ test("pseudo - position", function() {
898
+ expect( 33 );
899
+
900
+ t( "First element", "div:first", ["qunit"] );
901
+ t( "First element(case-insensitive)", "div:fiRst", ["qunit"] );
902
+ t( "nth Element", "#qunit-fixture p:nth(1)", ["ap"] );
903
+ t( "First Element", "#qunit-fixture p:first", ["firstp"] );
904
+ t( "Last Element", "p:last", ["first"] );
905
+ t( "Even Elements", "#qunit-fixture p:even", ["firstp","sndp","sap"] );
906
+ t( "Odd Elements", "#qunit-fixture p:odd", ["ap","en","first"] );
907
+ t( "Position Equals", "#qunit-fixture p:eq(1)", ["ap"] );
908
+ t( "Position Equals (negative)", "#qunit-fixture p:eq(-1)", ["first"] );
909
+ t( "Position Greater Than", "#qunit-fixture p:gt(0)", ["ap","sndp","en","sap","first"] );
910
+ t( "Position Less Than", "#qunit-fixture p:lt(3)", ["firstp","ap","sndp"] );
911
+
912
+ t( "Check position filtering", "div#nothiddendiv:eq(0)", ["nothiddendiv"] );
913
+ t( "Check position filtering", "div#nothiddendiv:last", ["nothiddendiv"] );
914
+ t( "Check position filtering", "div#nothiddendiv:not(:gt(0))", ["nothiddendiv"] );
915
+ t( "Check position filtering", "#foo > :not(:first)", ["en", "sap"] );
916
+ t( "Check position filtering", "#qunit-fixture select > :not(:gt(2))", ["option1a", "option1b", "option1c"] );
917
+ t( "Check position filtering", "#qunit-fixture select:lt(2) :not(:first)", ["option1b", "option1c", "option1d", "option2a", "option2b", "option2c", "option2d"] );
918
+ t( "Check position filtering", "div.nothiddendiv:eq(0)", ["nothiddendiv"] );
919
+ t( "Check position filtering", "div.nothiddendiv:last", ["nothiddendiv"] );
920
+ t( "Check position filtering", "div.nothiddendiv:not(:lt(0))", ["nothiddendiv"] );
921
+
922
+ t( "Check element position", "#qunit-fixture div div:eq(0)", ["nothiddendivchild"] );
923
+ t( "Check element position", "#select1 option:eq(3)", ["option1d"] );
924
+ t( "Check element position", "#qunit-fixture div div:eq(10)", ["names-group"] );
925
+ t( "Check element position", "#qunit-fixture div div:first", ["nothiddendivchild"] );
926
+ t( "Check element position", "#qunit-fixture div > div:first", ["nothiddendivchild"] );
927
+ t( "Check element position", "#dl div:first div:first", ["foo"] );
928
+ t( "Check element position", "#dl div:first > div:first", ["foo"] );
929
+ t( "Check element position", "div#nothiddendiv:first > div:first", ["nothiddendivchild"] );
930
+ t( "Chained pseudo after a pos pseudo", "#listWithTabIndex li:eq(0):contains(Rice)", ["foodWithNegativeTabIndex"] );
931
+
932
+ t( "Check sort order with POS and comma", "#qunit-fixture em>em>em>em:first-child,div>em:first", ["siblingfirst", "siblinggreatgrandchild"] );
933
+
934
+ t( "Isolated position", ":last", ["last"] );
935
+
936
+ deepEqual( Sizzle( "*:lt(2) + *", null, [], Sizzle("#qunit-fixture > p") ), q("ap"), "Seeded pos with trailing relative" );
937
+
938
+ // jQuery #12526
939
+ var context = jQuery("#qunit-fixture").append("<div id='jquery12526'></div>")[0];
940
+ deepEqual( Sizzle( ":last", context ), q("jquery12526"), "Post-manipulation positional" );
941
+ });
942
+
943
+ test("pseudo - form", function() {
944
+ expect( 10 );
945
+
946
+ var extraTexts = jQuery("<input id=\"impliedText\"/><input id=\"capitalText\" type=\"TEXT\">").appendTo("#form");
947
+
948
+ t( "Form element :input", "#form :input", ["text1", "text2", "radio1", "radio2", "check1", "check2", "hidden1", "hidden2", "name", "search", "button", "area1", "select1", "select2", "select3", "select4", "select5", "impliedText", "capitalText"] );
949
+ t( "Form element :radio", "#form :radio", ["radio1", "radio2"] );
950
+ t( "Form element :checkbox", "#form :checkbox", ["check1", "check2"] );
951
+ t( "Form element :text", "#form :text", ["text1", "text2", "hidden2", "name", "impliedText", "capitalText"] );
952
+ t( "Form element :radio:checked", "#form :radio:checked", ["radio2"] );
953
+ t( "Form element :checkbox:checked", "#form :checkbox:checked", ["check1"] );
954
+ t( "Form element :radio:checked, :checkbox:checked", "#form :radio:checked, #form :checkbox:checked", ["radio2", "check1"] );
955
+
956
+ t( "Selected Option Element", "#form option:selected", ["option1a","option2d","option3b","option3c","option4b","option4c","option4d","option5a"] );
957
+ t( "Selected Option Element are also :checked", "#form option:checked", ["option1a","option2d","option3b","option3c","option4b","option4c","option4d","option5a"] );
958
+ t( "Hidden inputs should be treated as enabled. See QSA test.", "#hidden1:enabled", ["hidden1"] );
959
+
960
+ extraTexts.remove();
961
+ });
962
+
963
+ test("pseudo - :target and :root", function() {
964
+ expect( 2 );
965
+
966
+ // Target
967
+ var oldHash,
968
+ $link = jQuery("<a/>").attr({
969
+ href: "#",
970
+ id: "new-link"
971
+ }).appendTo("#qunit-fixture");
972
+
973
+ oldHash = window.location.hash;
974
+ window.location.hash = "new-link";
975
+
976
+ t( ":target", ":target", ["new-link"] );
977
+
978
+ $link.remove();
979
+ window.location.hash = oldHash;
980
+
981
+ // Root
982
+ equal( Sizzle(":root")[0], document.documentElement, ":root selector" );
983
+ });
984
+
985
+ test("pseudo - :lang", function() {
986
+ expect( 105 );
987
+
988
+ var docElem = document.documentElement,
989
+ docXmlLang = docElem.getAttribute("xml:lang"),
990
+ docLang = docElem.lang,
991
+ foo = document.getElementById("foo"),
992
+ anchor = document.getElementById("anchor2"),
993
+ xml = createWithFriesXML(),
994
+ testLang = function( text, elem, container, lang, extra ) {
995
+ var message,
996
+ full = lang + "-" + extra;
997
+
998
+ message = "lang=" + lang + " " + text;
999
+ container.setAttribute( container.ownerDocument.documentElement.nodeName === "HTML" ? "lang" : "xml:lang", lang );
1000
+ assertMatch( message, elem, ":lang(" + lang + ")" );
1001
+ assertMatch( message, elem, ":lang(" + mixCase(lang) + ")" );
1002
+ assertNoMatch( message, elem, ":lang(" + full + ")" );
1003
+ assertNoMatch( message, elem, ":lang(" + mixCase(full) + ")" );
1004
+ assertNoMatch( message, elem, ":lang(" + lang + "-)" );
1005
+ assertNoMatch( message, elem, ":lang(" + full + "-)" );
1006
+ assertNoMatch( message, elem, ":lang(" + lang + "glish)" );
1007
+ assertNoMatch( message, elem, ":lang(" + full + "glish)" );
1008
+
1009
+ message = "lang=" + full + " " + text;
1010
+ container.setAttribute( container.ownerDocument.documentElement.nodeName === "HTML" ? "lang" : "xml:lang", full );
1011
+ assertMatch( message, elem, ":lang(" + lang + ")" );
1012
+ assertMatch( message, elem, ":lang(" + mixCase(lang) + ")" );
1013
+ assertMatch( message, elem, ":lang(" + full + ")" );
1014
+ assertMatch( message, elem, ":lang(" + mixCase(full) + ")" );
1015
+ assertNoMatch( message, elem, ":lang(" + lang + "-)" );
1016
+ assertNoMatch( message, elem, ":lang(" + full + "-)" );
1017
+ assertNoMatch( message, elem, ":lang(" + lang + "glish)" );
1018
+ assertNoMatch( message, elem, ":lang(" + full + "glish)" );
1019
+ },
1020
+ mixCase = function( str ) {
1021
+ var ret = str.split(""),
1022
+ i = ret.length;
1023
+ while ( i-- ) {
1024
+ if ( i & 1 ) {
1025
+ ret[i] = ret[i].toUpperCase();
1026
+ }
1027
+ }
1028
+ return ret.join("");
1029
+ },
1030
+ assertMatch = function( text, elem, selector ) {
1031
+ ok( Sizzle.matchesSelector( elem, selector ), text + " match " + selector );
1032
+ },
1033
+ assertNoMatch = function( text, elem, selector ) {
1034
+ ok( !Sizzle.matchesSelector( elem, selector ), text + " fail " + selector );
1035
+ };
1036
+
1037
+ // Prefixing and inheritance
1038
+ ok( Sizzle.matchesSelector( docElem, ":lang(" + docElem.lang + ")" ), "starting :lang" );
1039
+ testLang( "document", anchor, docElem, "en", "us" );
1040
+ testLang( "grandparent", anchor, anchor.parentNode.parentNode, "yue", "hk" );
1041
+ ok( !Sizzle.matchesSelector( anchor, ":lang(en), :lang(en-us)" ),
1042
+ ":lang does not look above an ancestor with specified lang" );
1043
+ testLang( "self", anchor, anchor, "es", "419" );
1044
+ ok( !Sizzle.matchesSelector( anchor, ":lang(en), :lang(en-us), :lang(yue), :lang(yue-hk)" ),
1045
+ ":lang does not look above self with specified lang" );
1046
+
1047
+ // Searching by language tag
1048
+ anchor.parentNode.parentNode.lang = "arab";
1049
+ anchor.parentNode.lang = anchor.parentNode.id = "ara-sa";
1050
+ anchor.lang = "ara";
1051
+ deepEqual( Sizzle( ":lang(ara)", foo ), [ anchor.parentNode, anchor ], "Find by :lang" );
1052
+
1053
+ // Selector validity
1054
+ anchor.parentNode.lang = "ara";
1055
+ anchor.lang = "ara\\b";
1056
+ deepEqual( Sizzle( ":lang(ara\\b)", foo ), [], ":lang respects backslashes" );
1057
+ deepEqual( Sizzle( ":lang(ara\\\\b)", foo ), [ anchor ], ":lang respects escaped backslashes" );
1058
+ throws(function() {
1059
+ Sizzle.call( null, "dl:lang(c++)" );
1060
+ }, function( e ) {
1061
+ return e.message.indexOf("Syntax error") >= 0;
1062
+ }, ":lang value must be a valid identifier" );
1063
+
1064
+ // XML
1065
+ foo = jQuery( "response", xml )[0];
1066
+ anchor = jQuery( "#seite1", xml )[0];
1067
+ testLang( "XML document", anchor, xml.documentElement, "en", "us" );
1068
+ testLang( "XML grandparent", anchor, foo, "yue", "hk" );
1069
+ ok( !Sizzle.matchesSelector( anchor, ":lang(en), :lang(en-us)" ),
1070
+ "XML :lang does not look above an ancestor with specified lang" );
1071
+ testLang( "XML self", anchor, anchor, "es", "419" );
1072
+ ok( !Sizzle.matchesSelector( anchor, ":lang(en), :lang(en-us), :lang(yue), :lang(yue-hk)" ),
1073
+ "XML :lang does not look above self with specified lang" );
1074
+
1075
+ // Cleanup
1076
+ if ( docXmlLang == null ) {
1077
+ docElem.removeAttribute("xml:lang");
1078
+ } else {
1079
+ docElem.setAttribute( "xml:lang", docXmlLang );
1080
+ }
1081
+ docElem.lang = docLang;
1082
+ });
1083
+
1084
+ test("caching", function() {
1085
+ expect( 2 );
1086
+ Sizzle( ":not(code)", document.getElementById("ap") );
1087
+ deepEqual( Sizzle( ":not(code)", document.getElementById("foo") ), q("sndp", "en", "yahoo", "sap", "anchor2", "simon"), "Reusing selector with new context" );
1088
+
1089
+ t( "Deep ancestry caching in post-positional element matcher (jQuery #14657)",
1090
+ "#qunit-fixture a:lt(3):parent",
1091
+ [ "simon1", "google", "groups" ] );
1092
+ });
1093
+
1094
+ asyncTest( "Iframe dispatch should not affect Sizzle, see jQuery #13936", 1, function() {
1095
+ var loaded = false,
1096
+ thrown = false,
1097
+ iframe = document.getElementById("iframe"),
1098
+ iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
1099
+
1100
+ jQuery( iframe ).on( "load", function() {
1101
+ var form;
1102
+
1103
+ try {
1104
+ iframeDoc = this.contentDocument || this.contentWindow.document;
1105
+ form = Sizzle( "#navigate", iframeDoc )[ 0 ];
1106
+ } catch ( e ) {
1107
+ thrown = e;
1108
+ }
1109
+
1110
+ if ( loaded ) {
1111
+ strictEqual( thrown, false, "No error thrown from post-reload Sizzle call" );
1112
+ start();
1113
+ } else {
1114
+ loaded = true;
1115
+ form.submit();
1116
+ }
1117
+ });
1118
+
1119
+ iframeDoc.open();
1120
+ iframeDoc.write("<body><form id='navigate'></form></body>");
1121
+ iframeDoc.close();
1122
+ });
1123
+
1124
+ test("matchesSelector", function() {
1125
+ expect( 6 );
1126
+
1127
+ var el = document.getElementById("simon1"),
1128
+ disconnected = document.createElement("div");
1129
+
1130
+ ok( Sizzle.matchesSelector( el, "[rel='bookmark']" ), "quoted attribute" );
1131
+ ok( Sizzle.matchesSelector( el, "[rel=bookmark]" ), "unquoted attribute" );
1132
+ ok( Sizzle.matchesSelector( el, "[\nrel = bookmark\t]" ), "unquoted attribute with non-semantic whitespace" );
1133
+
1134
+ ok( Sizzle.matchesSelector( disconnected, "div" ), "disconnected element" );
1135
+
1136
+ ok( Sizzle.matchesSelector( el, "* > *" ), "child combinator (matching)" );
1137
+ ok( !Sizzle.matchesSelector( disconnected, "* > *" ), "child combinator (not matching)" );
1138
+ });
1139
+
1140
+ test("select() with pre-compiled function", function() {
1141
+ expect( 6 );
1142
+
1143
+ jQuery.each([ "#qunit-fixture #first", "ol#listWithTabIndex > li[tabindex]", "#liveSpan1" ],
1144
+ function( i, selector ) {
1145
+ var compiled = Sizzle.compile( selector );
1146
+ equal( Sizzle.select( compiled, document ).length, 1, "Should match using a compiled selector function" );
1147
+ equal( Sizzle.select( compiled, Sizzle( "#first")[0] ).length, 0, "Should not match with different context" );
1148
+ });
1149
+ });