radius-rails 0.0.5 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3262) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -0
  3. data/README.md +7 -30
  4. data/app/assets/components/Chart.js/.bower.json +20 -0
  5. data/app/assets/components/Chart.js/.travis.yml +13 -0
  6. data/app/assets/components/Chart.js/CONTRIBUTING.md +55 -0
  7. data/app/assets/components/Chart.js/Chart.js +3477 -0
  8. data/app/assets/components/Chart.js/Chart.min.js +11 -0
  9. data/app/assets/components/Chart.js/LICENSE.md +7 -0
  10. data/app/assets/components/Chart.js/README.md +20 -0
  11. data/app/assets/components/Chart.js/bower.json +11 -0
  12. data/app/assets/components/Chart.js/docs/00-Getting-Started.md +203 -0
  13. data/app/assets/components/Chart.js/docs/01-Line-Chart.md +166 -0
  14. data/app/assets/components/Chart.js/docs/02-Bar-Chart.md +149 -0
  15. data/app/assets/components/Chart.js/docs/03-Radar-Chart.md +177 -0
  16. data/app/assets/components/Chart.js/docs/04-Polar-Area-Chart.md +172 -0
  17. data/app/assets/components/Chart.js/docs/05-Pie-Doughnut-Chart.md +158 -0
  18. data/app/assets/components/Chart.js/docs/06-Advanced.md +185 -0
  19. data/app/assets/components/Chart.js/docs/07-Notes.md +42 -0
  20. data/app/assets/components/Chart.js/gulpfile.js +137 -0
  21. data/app/assets/components/Chart.js/package.json +28 -0
  22. data/app/assets/components/Chart.js/samples/bar.html +45 -0
  23. data/app/assets/components/Chart.js/samples/doughnut.html +67 -0
  24. data/app/assets/components/Chart.js/samples/line-customTooltips.html +129 -0
  25. data/app/assets/components/Chart.js/samples/line.html +54 -0
  26. data/app/assets/components/Chart.js/samples/pie-customTooltips.html +156 -0
  27. data/app/assets/components/Chart.js/samples/pie.html +58 -0
  28. data/app/assets/components/Chart.js/samples/polar-area.html +60 -0
  29. data/app/assets/components/Chart.js/samples/radar.html +53 -0
  30. data/app/assets/components/Chart.js/src/Chart.Bar.js +302 -0
  31. data/app/assets/components/Chart.js/src/Chart.Core.js +2021 -0
  32. data/app/assets/components/Chart.js/src/Chart.Doughnut.js +184 -0
  33. data/app/assets/components/Chart.js/src/Chart.Line.js +374 -0
  34. data/app/assets/components/Chart.js/src/Chart.PolarArea.js +250 -0
  35. data/app/assets/components/Chart.js/src/Chart.Radar.js +343 -0
  36. data/app/assets/components/Flot/.bower.json +18 -0
  37. data/app/assets/components/Flot/.travis.yml +3 -0
  38. data/app/assets/components/Flot/API.md +1498 -0
  39. data/app/assets/components/Flot/CONTRIBUTING.md +98 -0
  40. data/app/assets/components/Flot/FAQ.md +75 -0
  41. data/app/assets/components/Flot/LICENSE.txt +22 -0
  42. data/app/assets/components/Flot/NEWS.md +1026 -0
  43. data/app/assets/components/Flot/PLUGINS.md +143 -0
  44. data/app/assets/components/Flot/README.md +110 -0
  45. data/app/assets/components/Flot/component.json +8 -0
  46. data/app/assets/components/Flot/examples/ajax/data-eu-gdp-growth-1.json +4 -0
  47. data/app/assets/components/Flot/examples/ajax/data-eu-gdp-growth-2.json +4 -0
  48. data/app/assets/components/Flot/examples/ajax/data-eu-gdp-growth-3.json +4 -0
  49. data/app/assets/components/Flot/examples/ajax/data-eu-gdp-growth-4.json +4 -0
  50. data/app/assets/components/Flot/examples/ajax/data-eu-gdp-growth-5.json +4 -0
  51. data/app/assets/components/Flot/examples/ajax/data-eu-gdp-growth.json +4 -0
  52. data/app/assets/components/Flot/examples/ajax/data-japan-gdp-growth.json +4 -0
  53. data/app/assets/components/Flot/examples/ajax/data-usa-gdp-growth.json +4 -0
  54. data/app/assets/components/Flot/examples/ajax/index.html +173 -0
  55. data/app/assets/components/Flot/examples/annotating/index.html +87 -0
  56. data/app/assets/components/Flot/examples/axes-interacting/index.html +97 -0
  57. data/app/assets/components/Flot/examples/axes-multiple/index.html +77 -0
  58. data/app/assets/components/Flot/examples/axes-time/index.html +137 -0
  59. data/app/assets/components/Flot/examples/axes-time-zones/date.js +893 -0
  60. data/app/assets/components/Flot/examples/axes-time-zones/index.html +114 -0
  61. data/app/assets/components/Flot/examples/axes-time-zones/tz/iso3166.tab +276 -0
  62. data/app/assets/components/Flot/examples/axes-time-zones/tz/yearistype.sh +38 -0
  63. data/app/assets/components/Flot/examples/axes-time-zones/tz/zone.tab +441 -0
  64. data/app/assets/components/Flot/examples/background.png +0 -0
  65. data/app/assets/components/Flot/examples/basic-options/index.html +91 -0
  66. data/app/assets/components/Flot/examples/basic-usage/index.html +57 -0
  67. data/app/assets/components/Flot/examples/canvas/index.html +75 -0
  68. data/app/assets/components/Flot/examples/categories/index.html +64 -0
  69. data/app/assets/components/Flot/examples/examples.css +97 -0
  70. data/app/assets/components/Flot/examples/image/hs-2004-27-a-large-web.jpg +0 -0
  71. data/app/assets/components/Flot/examples/image/index.html +69 -0
  72. data/app/assets/components/Flot/examples/index.html +80 -0
  73. data/app/assets/components/Flot/examples/interacting/index.html +118 -0
  74. data/app/assets/components/Flot/examples/navigate/arrow-down.gif +0 -0
  75. data/app/assets/components/Flot/examples/navigate/arrow-left.gif +0 -0
  76. data/app/assets/components/Flot/examples/navigate/arrow-right.gif +0 -0
  77. data/app/assets/components/Flot/examples/navigate/arrow-up.gif +0 -0
  78. data/app/assets/components/Flot/examples/navigate/index.html +153 -0
  79. data/app/assets/components/Flot/examples/percentiles/index.html +79 -0
  80. data/app/assets/components/Flot/examples/realtime/index.html +122 -0
  81. data/app/assets/components/Flot/examples/resize/index.html +76 -0
  82. data/app/assets/components/Flot/examples/selection/index.html +152 -0
  83. data/app/assets/components/Flot/examples/series-errorbars/index.html +150 -0
  84. data/app/assets/components/Flot/examples/series-pie/index.html +818 -0
  85. data/app/assets/components/Flot/examples/series-toggle/index.html +121 -0
  86. data/app/assets/components/Flot/examples/series-types/index.html +90 -0
  87. data/app/assets/components/Flot/examples/shared/jquery-ui/jquery-ui.min.css +6 -0
  88. data/app/assets/components/Flot/examples/stacking/index.html +107 -0
  89. data/app/assets/components/Flot/examples/symbols/index.html +76 -0
  90. data/app/assets/components/Flot/examples/threshold/index.html +76 -0
  91. data/app/assets/components/Flot/examples/tracking/index.html +135 -0
  92. data/app/assets/components/Flot/examples/visitors/index.html +147 -0
  93. data/app/assets/components/Flot/examples/zooming/index.html +144 -0
  94. data/app/assets/components/Flot/excanvas.js +1428 -0
  95. data/app/assets/components/Flot/excanvas.min.js +1 -0
  96. data/app/assets/components/Flot/flot.jquery.json +27 -0
  97. data/app/assets/components/Flot/jquery.colorhelpers.js +180 -0
  98. data/app/assets/components/Flot/jquery.flot.canvas.js +345 -0
  99. data/app/assets/components/Flot/jquery.flot.categories.js +190 -0
  100. data/app/assets/components/Flot/jquery.flot.crosshair.js +176 -0
  101. data/app/assets/components/Flot/jquery.flot.errorbars.js +353 -0
  102. data/app/assets/components/Flot/jquery.flot.fillbetween.js +226 -0
  103. data/app/assets/components/Flot/jquery.flot.image.js +241 -0
  104. data/app/assets/components/Flot/jquery.flot.js +3168 -0
  105. data/app/assets/components/Flot/jquery.flot.navigate.js +346 -0
  106. data/app/assets/components/Flot/jquery.flot.pie.js +820 -0
  107. data/app/assets/components/Flot/jquery.flot.resize.js +59 -0
  108. data/app/assets/components/Flot/jquery.flot.selection.js +360 -0
  109. data/app/assets/components/Flot/jquery.flot.stack.js +188 -0
  110. data/app/assets/components/Flot/jquery.flot.symbol.js +71 -0
  111. data/app/assets/components/Flot/jquery.flot.threshold.js +142 -0
  112. data/app/assets/components/Flot/jquery.flot.time.js +432 -0
  113. data/app/assets/components/Flot/jquery.js +9472 -0
  114. data/app/assets/components/Flot/package.json +11 -0
  115. data/app/assets/components/animate.css/.bower.json +23 -0
  116. data/app/assets/components/animate.css/Gruntfile.js +79 -0
  117. data/app/assets/components/animate.css/animate-config.json +119 -0
  118. data/app/assets/components/animate.css/animate.css +3272 -0
  119. data/app/assets/components/animate.css/animate.min.css +6 -0
  120. data/app/assets/components/animate.css/bower.json +12 -0
  121. data/app/assets/components/animate.css/package.json +26 -0
  122. data/app/assets/components/animate.css/source/_base.css +30 -0
  123. data/app/assets/components/animate.css/source/attention_seekers/bounce.css +25 -0
  124. data/app/assets/components/animate.css/source/attention_seekers/flash.css +13 -0
  125. data/app/assets/components/animate.css/source/attention_seekers/jello.css +33 -0
  126. data/app/assets/components/animate.css/source/attention_seekers/pulse.css +19 -0
  127. data/app/assets/components/animate.css/source/attention_seekers/rubberBand.css +33 -0
  128. data/app/assets/components/animate.css/source/attention_seekers/shake.css +17 -0
  129. data/app/assets/components/animate.css/source/attention_seekers/swing.css +26 -0
  130. data/app/assets/components/animate.css/source/attention_seekers/tada.css +25 -0
  131. data/app/assets/components/animate.css/source/attention_seekers/wobble.css +35 -0
  132. data/app/assets/components/animate.css/source/bouncing_entrances/bounceIn.css +36 -0
  133. data/app/assets/components/animate.css/source/bouncing_entrances/bounceInDown.css +31 -0
  134. data/app/assets/components/animate.css/source/bouncing_entrances/bounceInLeft.css +31 -0
  135. data/app/assets/components/animate.css/source/bouncing_entrances/bounceInRight.css +31 -0
  136. data/app/assets/components/animate.css/source/bouncing_entrances/bounceInUp.css +31 -0
  137. data/app/assets/components/animate.css/source/bouncing_exits/bounceOut.css +19 -0
  138. data/app/assets/components/animate.css/source/bouncing_exits/bounceOutDown.css +19 -0
  139. data/app/assets/components/animate.css/source/bouncing_exits/bounceOutLeft.css +15 -0
  140. data/app/assets/components/animate.css/source/bouncing_exits/bounceOutRight.css +15 -0
  141. data/app/assets/components/animate.css/source/bouncing_exits/bounceOutUp.css +19 -0
  142. data/app/assets/components/animate.css/source/fading_entrances/fadeIn.css +8 -0
  143. data/app/assets/components/animate.css/source/fading_entrances/fadeInDown.css +15 -0
  144. data/app/assets/components/animate.css/source/fading_entrances/fadeInDownBig.css +15 -0
  145. data/app/assets/components/animate.css/source/fading_entrances/fadeInLeft.css +15 -0
  146. data/app/assets/components/animate.css/source/fading_entrances/fadeInLeftBig.css +15 -0
  147. data/app/assets/components/animate.css/source/fading_entrances/fadeInRight.css +15 -0
  148. data/app/assets/components/animate.css/source/fading_entrances/fadeInRightBig.css +15 -0
  149. data/app/assets/components/animate.css/source/fading_entrances/fadeInUp.css +15 -0
  150. data/app/assets/components/animate.css/source/fading_entrances/fadeInUpBig.css +15 -0
  151. data/app/assets/components/animate.css/source/fading_exits/fadeOut.css +8 -0
  152. data/app/assets/components/animate.css/source/fading_exits/fadeOutDown.css +14 -0
  153. data/app/assets/components/animate.css/source/fading_exits/fadeOutDownBig.css +14 -0
  154. data/app/assets/components/animate.css/source/fading_exits/fadeOutLeft.css +14 -0
  155. data/app/assets/components/animate.css/source/fading_exits/fadeOutLeftBig.css +14 -0
  156. data/app/assets/components/animate.css/source/fading_exits/fadeOutRight.css +14 -0
  157. data/app/assets/components/animate.css/source/fading_exits/fadeOutRightBig.css +14 -0
  158. data/app/assets/components/animate.css/source/fading_exits/fadeOutUp.css +14 -0
  159. data/app/assets/components/animate.css/source/fading_exits/fadeOutUpBig.css +14 -0
  160. data/app/assets/components/animate.css/source/flippers/flip.css +31 -0
  161. data/app/assets/components/animate.css/source/flippers/flipInX.css +30 -0
  162. data/app/assets/components/animate.css/source/flippers/flipInY.css +30 -0
  163. data/app/assets/components/animate.css/source/flippers/flipOutX.css +20 -0
  164. data/app/assets/components/animate.css/source/flippers/flipOutY.css +20 -0
  165. data/app/assets/components/animate.css/source/lightspeed/lightSpeedIn.css +26 -0
  166. data/app/assets/components/animate.css/source/lightspeed/lightSpeedOut.css +15 -0
  167. data/app/assets/components/animate.css/source/rotating_entrances/rotateIn.css +17 -0
  168. data/app/assets/components/animate.css/source/rotating_entrances/rotateInDownLeft.css +17 -0
  169. data/app/assets/components/animate.css/source/rotating_entrances/rotateInDownRight.css +17 -0
  170. data/app/assets/components/animate.css/source/rotating_entrances/rotateInUpLeft.css +17 -0
  171. data/app/assets/components/animate.css/source/rotating_entrances/rotateInUpRight.css +17 -0
  172. data/app/assets/components/animate.css/source/rotating_exits/rotateOut.css +16 -0
  173. data/app/assets/components/animate.css/source/rotating_exits/rotateOutDownLeft.css +16 -0
  174. data/app/assets/components/animate.css/source/rotating_exits/rotateOutDownRight.css +16 -0
  175. data/app/assets/components/animate.css/source/rotating_exits/rotateOutUpLeft.css +16 -0
  176. data/app/assets/components/animate.css/source/rotating_exits/rotateOutUpRight.css +16 -0
  177. data/app/assets/components/animate.css/source/sliding_entrances/slideInDown.css +14 -0
  178. data/app/assets/components/animate.css/source/sliding_entrances/slideInLeft.css +14 -0
  179. data/app/assets/components/animate.css/source/sliding_entrances/slideInRight.css +14 -0
  180. data/app/assets/components/animate.css/source/sliding_entrances/slideInUp.css +14 -0
  181. data/app/assets/components/animate.css/source/sliding_exits/slideOutDown.css +14 -0
  182. data/app/assets/components/animate.css/source/sliding_exits/slideOutLeft.css +14 -0
  183. data/app/assets/components/animate.css/source/sliding_exits/slideOutRight.css +14 -0
  184. data/app/assets/components/animate.css/source/sliding_exits/slideOutUp.css +14 -0
  185. data/app/assets/components/animate.css/source/specials/hinge.css +28 -0
  186. data/app/assets/components/animate.css/source/specials/rollIn.css +17 -0
  187. data/app/assets/components/animate.css/source/specials/rollOut.css +16 -0
  188. data/app/assets/components/animate.css/source/zooming_entrances/zoomIn.css +14 -0
  189. data/app/assets/components/animate.css/source/zooming_entrances/zoomInDown.css +17 -0
  190. data/app/assets/components/animate.css/source/zooming_entrances/zoomInLeft.css +17 -0
  191. data/app/assets/components/animate.css/source/zooming_entrances/zoomInRight.css +17 -0
  192. data/app/assets/components/animate.css/source/zooming_entrances/zoomInUp.css +17 -0
  193. data/app/assets/components/animate.css/source/zooming_exits/zoomOut.css +18 -0
  194. data/app/assets/components/animate.css/source/zooming_exits/zoomOutDown.css +18 -0
  195. data/app/assets/components/animate.css/source/zooming_exits/zoomOutLeft.css +16 -0
  196. data/app/assets/components/animate.css/source/zooming_exits/zoomOutRight.css +16 -0
  197. data/app/assets/components/animate.css/source/zooming_exits/zoomOutUp.css +18 -0
  198. data/app/assets/components/animo.js/.bower.json +14 -0
  199. data/app/assets/components/animo.js/README.md +19 -0
  200. data/app/assets/components/animo.js/animate+animo.css +3414 -0
  201. data/app/assets/components/animo.js/animo.js +323 -0
  202. data/app/assets/components/animo.js/manifest.json +20 -0
  203. data/app/assets/components/blueimp-canvas-to-blob/.bower.json +44 -0
  204. data/app/assets/components/blueimp-canvas-to-blob/bower.json +35 -0
  205. data/app/assets/components/blueimp-canvas-to-blob/js/canvas-to-blob.js +95 -0
  206. data/app/assets/components/blueimp-canvas-to-blob/js/canvas-to-blob.min.js +1 -0
  207. data/app/assets/components/blueimp-file-upload/.bower.json +73 -0
  208. data/app/assets/components/blueimp-file-upload/bower.json +64 -0
  209. data/app/assets/components/blueimp-file-upload/css/jquery.fileupload-noscript.css +22 -0
  210. data/app/assets/components/blueimp-file-upload/css/jquery.fileupload-ui-noscript.css +17 -0
  211. data/app/assets/components/blueimp-file-upload/css/jquery.fileupload-ui.css +57 -0
  212. data/app/assets/components/blueimp-file-upload/css/jquery.fileupload.css +37 -0
  213. data/app/assets/components/blueimp-file-upload/img/loading.gif +0 -0
  214. data/app/assets/components/blueimp-file-upload/img/progressbar.gif +0 -0
  215. data/app/assets/components/blueimp-file-upload/js/cors/jquery.postmessage-transport.js +120 -0
  216. data/app/assets/components/blueimp-file-upload/js/cors/jquery.xdr-transport.js +89 -0
  217. data/app/assets/components/blueimp-file-upload/js/jquery.fileupload-angular.js +425 -0
  218. data/app/assets/components/blueimp-file-upload/js/jquery.fileupload-audio.js +112 -0
  219. data/app/assets/components/blueimp-file-upload/js/jquery.fileupload-image.js +321 -0
  220. data/app/assets/components/blueimp-file-upload/js/jquery.fileupload-jquery-ui.js +155 -0
  221. data/app/assets/components/blueimp-file-upload/js/jquery.fileupload-process.js +175 -0
  222. data/app/assets/components/blueimp-file-upload/js/jquery.fileupload-ui.js +710 -0
  223. data/app/assets/components/blueimp-file-upload/js/jquery.fileupload-validate.js +122 -0
  224. data/app/assets/components/blueimp-file-upload/js/jquery.fileupload-video.js +112 -0
  225. data/app/assets/components/blueimp-file-upload/js/jquery.fileupload.js +1477 -0
  226. data/app/assets/components/blueimp-file-upload/js/jquery.iframe-transport.js +217 -0
  227. data/app/assets/components/blueimp-file-upload/js/vendor/jquery.ui.widget.js +572 -0
  228. data/app/assets/components/blueimp-load-image/.bower.json +64 -0
  229. data/app/assets/components/blueimp-load-image/bower.json +55 -0
  230. data/app/assets/components/blueimp-load-image/js/load-image-exif-map.js +384 -0
  231. data/app/assets/components/blueimp-load-image/js/load-image-exif.js +299 -0
  232. data/app/assets/components/blueimp-load-image/js/load-image-ios.js +181 -0
  233. data/app/assets/components/blueimp-load-image/js/load-image-meta.js +143 -0
  234. data/app/assets/components/blueimp-load-image/js/load-image-orientation.js +166 -0
  235. data/app/assets/components/blueimp-load-image/js/load-image.all.min.js +1 -0
  236. data/app/assets/components/blueimp-load-image/js/load-image.js +301 -0
  237. data/app/assets/components/blueimp-tmpl/.bower.json +44 -0
  238. data/app/assets/components/blueimp-tmpl/bower.json +35 -0
  239. data/app/assets/components/blueimp-tmpl/js/compile.js +84 -0
  240. data/app/assets/components/blueimp-tmpl/js/runtime.js +47 -0
  241. data/app/assets/components/blueimp-tmpl/js/tmpl.js +87 -0
  242. data/app/assets/components/blueimp-tmpl/js/tmpl.min.js +1 -0
  243. data/app/assets/components/bootstrap/.bower.json +44 -0
  244. data/app/assets/components/bootstrap/Gruntfile.js +531 -0
  245. data/app/assets/components/bootstrap/README.md +137 -0
  246. data/app/assets/components/bootstrap/bower.json +34 -0
  247. data/app/assets/components/bootstrap/dist/css/bootstrap-theme.css +587 -0
  248. data/app/assets/components/bootstrap/dist/css/bootstrap-theme.min.css +5 -0
  249. data/app/assets/components/bootstrap/dist/css/bootstrap.css +6800 -0
  250. data/app/assets/components/bootstrap/dist/css/bootstrap.min.css +5 -0
  251. data/app/assets/components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  252. data/app/assets/components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +288 -0
  253. data/app/assets/components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  254. data/app/assets/components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  255. data/app/assets/components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  256. data/app/assets/components/bootstrap/dist/js/bootstrap.js +2363 -0
  257. data/app/assets/components/bootstrap/dist/js/bootstrap.min.js +7 -0
  258. data/app/assets/components/bootstrap/dist/js/npm.js +13 -0
  259. data/app/assets/components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  260. data/app/assets/components/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
  261. data/app/assets/components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  262. data/app/assets/components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  263. data/app/assets/components/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  264. data/app/assets/components/bootstrap/grunt/.jshintrc +7 -0
  265. data/app/assets/components/bootstrap/grunt/bs-commonjs-generator.js +30 -0
  266. data/app/assets/components/bootstrap/grunt/bs-glyphicons-data-generator.js +42 -0
  267. data/app/assets/components/bootstrap/grunt/bs-lessdoc-parser.js +237 -0
  268. data/app/assets/components/bootstrap/grunt/bs-raw-files-generator.js +44 -0
  269. data/app/assets/components/bootstrap/grunt/configBridge.json +46 -0
  270. data/app/assets/components/bootstrap/grunt/sauce_browsers.yml +82 -0
  271. data/app/assets/components/bootstrap/js/.jscsrc +42 -0
  272. data/app/assets/components/bootstrap/js/.jshintrc +15 -0
  273. data/app/assets/components/bootstrap/js/affix.js +162 -0
  274. data/app/assets/components/bootstrap/js/alert.js +94 -0
  275. data/app/assets/components/bootstrap/js/button.js +120 -0
  276. data/app/assets/components/bootstrap/js/carousel.js +237 -0
  277. data/app/assets/components/bootstrap/js/collapse.js +211 -0
  278. data/app/assets/components/bootstrap/js/dropdown.js +165 -0
  279. data/app/assets/components/bootstrap/js/modal.js +337 -0
  280. data/app/assets/components/bootstrap/js/popover.js +108 -0
  281. data/app/assets/components/bootstrap/js/scrollspy.js +172 -0
  282. data/app/assets/components/bootstrap/js/tab.js +155 -0
  283. data/app/assets/components/bootstrap/js/tooltip.js +514 -0
  284. data/app/assets/components/bootstrap/js/transition.js +59 -0
  285. data/app/assets/components/bootstrap/package.js +25 -0
  286. data/app/assets/components/bootstrap/package.json +87 -0
  287. data/app/assets/components/bootstrap-colorpicker/alpha-horizontal.png +0 -0
  288. data/app/assets/components/bootstrap-colorpicker/alpha.png +0 -0
  289. data/app/assets/components/bootstrap-colorpicker/hue-horizontal.png +0 -0
  290. data/app/assets/components/bootstrap-colorpicker/hue.png +0 -0
  291. data/app/assets/components/bootstrap-colorpicker/saturation.png +0 -0
  292. data/app/assets/components/bootstrap-filestyle/.bower.json +32 -0
  293. data/app/assets/components/bootstrap-filestyle/README.md +32 -0
  294. data/app/assets/components/bootstrap-filestyle/bootstrap-filestyle.jquery.json +33 -0
  295. data/app/assets/components/bootstrap-filestyle/bower.json +23 -0
  296. data/app/assets/components/bootstrap-filestyle/src/bootstrap-filestyle.js +351 -0
  297. data/app/assets/components/bootstrap-filestyle/src/bootstrap-filestyle.min.js +1 -0
  298. data/app/assets/components/bootstrap-tagsinput/.bower.json +51 -0
  299. data/app/assets/components/bootstrap-tagsinput/Gruntfile.js +82 -0
  300. data/app/assets/components/bootstrap-tagsinput/README.md +92 -0
  301. data/app/assets/components/bootstrap-tagsinput/bootstrap-tagsinput.jquery.json +27 -0
  302. data/app/assets/components/bootstrap-tagsinput/bower.json +42 -0
  303. data/app/assets/components/bootstrap-tagsinput/dist/bootstrap-tagsinput-angular.js +87 -0
  304. data/app/assets/components/bootstrap-tagsinput/dist/bootstrap-tagsinput-angular.min.js +7 -0
  305. data/app/assets/components/bootstrap-tagsinput/dist/bootstrap-tagsinput-typeahead.css +49 -0
  306. data/app/assets/components/bootstrap-tagsinput/dist/bootstrap-tagsinput.css +55 -0
  307. data/app/assets/components/bootstrap-tagsinput/dist/bootstrap-tagsinput.js +663 -0
  308. data/app/assets/components/bootstrap-tagsinput/dist/bootstrap-tagsinput.min.js +7 -0
  309. data/app/assets/components/bootstrap-tagsinput/dist/bootstrap-tagsinput.zip +0 -0
  310. data/app/assets/components/bootstrap-tagsinput/examples/assets/app.css +67 -0
  311. data/app/assets/components/bootstrap-tagsinput/examples/assets/app.js +15 -0
  312. data/app/assets/components/bootstrap-tagsinput/examples/assets/app_bs2.js +74 -0
  313. data/app/assets/components/bootstrap-tagsinput/examples/assets/app_bs3.js +95 -0
  314. data/app/assets/components/bootstrap-tagsinput/examples/assets/cities.json +16 -0
  315. data/app/assets/components/bootstrap-tagsinput/examples/assets/citynames.json +16 -0
  316. data/app/assets/components/bootstrap-tagsinput/examples/bootstrap-2.3.2.html +666 -0
  317. data/app/assets/components/bootstrap-tagsinput/examples/index.html +742 -0
  318. data/app/assets/components/bootstrap-tagsinput/karma.conf.js +20 -0
  319. data/app/assets/components/bootstrap-tagsinput/package.json +47 -0
  320. data/app/assets/components/bootstrap-tagsinput/src/bootstrap-tagsinput-angular.js +87 -0
  321. data/app/assets/components/bootstrap-tagsinput/src/bootstrap-tagsinput-typeahead.css +49 -0
  322. data/app/assets/components/bootstrap-tagsinput/src/bootstrap-tagsinput.css +55 -0
  323. data/app/assets/components/bootstrap-tagsinput/src/bootstrap-tagsinput.js +663 -0
  324. data/app/assets/components/bootstrap-tour/.bower.json +30 -0
  325. data/app/assets/components/bootstrap-tour/.editorconfig +21 -0
  326. data/app/assets/components/bootstrap-tour/.travis.yml +14 -0
  327. data/app/assets/components/bootstrap-tour/README.md +77 -0
  328. data/app/assets/components/bootstrap-tour/_config.yml +5 -0
  329. data/app/assets/components/bootstrap-tour/bower.json +20 -0
  330. data/app/assets/components/bootstrap-tour/build/css/bootstrap-tour-standalone.css +728 -0
  331. data/app/assets/components/bootstrap-tour/build/css/bootstrap-tour-standalone.min.css +26 -0
  332. data/app/assets/components/bootstrap-tour/build/css/bootstrap-tour.css +73 -0
  333. data/app/assets/components/bootstrap-tour/build/css/bootstrap-tour.min.css +22 -0
  334. data/app/assets/components/bootstrap-tour/build/js/bootstrap-tour-standalone.js +1374 -0
  335. data/app/assets/components/bootstrap-tour/build/js/bootstrap-tour-standalone.min.js +22 -0
  336. data/app/assets/components/bootstrap-tour/build/js/bootstrap-tour.js +802 -0
  337. data/app/assets/components/bootstrap-tour/build/js/bootstrap-tour.min.js +22 -0
  338. data/app/assets/components/bootstrap-tour/coffeelint.json +127 -0
  339. data/app/assets/components/bootstrap-tour/composer.json +13 -0
  340. data/app/assets/components/bootstrap-tour/gulpfile.coffee +214 -0
  341. data/app/assets/components/bootstrap-tour/gulpfile.js +2 -0
  342. data/app/assets/components/bootstrap-tour/karma.json +19 -0
  343. data/app/assets/components/bootstrap-tour/package.js +3 -0
  344. data/app/assets/components/bootstrap-tour/package.json +83 -0
  345. data/app/assets/components/bootstrap-tour/smart.json +9 -0
  346. data/app/assets/components/bootstrap-tour/src/coffee/bootstrap-tour.coffee +655 -0
  347. data/app/assets/components/bootstrap-tour/src/coffee/bootstrap-tour.docs.coffee +94 -0
  348. data/app/assets/components/bootstrap-tour/src/coffee/bootstrap-tour.spec.coffee +775 -0
  349. data/app/assets/components/bootstrap-wysiwyg/.bower.json +13 -0
  350. data/app/assets/components/bootstrap-wysiwyg/README.md +105 -0
  351. data/app/assets/components/bootstrap-wysiwyg/bootstrap-wysiwyg.js +200 -0
  352. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-apollo.js +2 -0
  353. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-basic.js +3 -0
  354. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-clj.js +18 -0
  355. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-css.js +2 -0
  356. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-dart.js +3 -0
  357. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-erlang.js +2 -0
  358. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-go.js +1 -0
  359. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-hs.js +2 -0
  360. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-lisp.js +3 -0
  361. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-llvm.js +1 -0
  362. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-lua.js +2 -0
  363. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-matlab.js +6 -0
  364. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-ml.js +2 -0
  365. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-mumps.js +2 -0
  366. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-n.js +4 -0
  367. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-pascal.js +3 -0
  368. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-proto.js +1 -0
  369. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-r.js +2 -0
  370. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-rd.js +1 -0
  371. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-scala.js +2 -0
  372. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-sql.js +2 -0
  373. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-tcl.js +3 -0
  374. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-tex.js +1 -0
  375. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-vb.js +2 -0
  376. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-vhdl.js +3 -0
  377. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-wiki.js +2 -0
  378. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-xq.js +3 -0
  379. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/lang-yaml.js +2 -0
  380. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/prettify.css +1 -0
  381. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/prettify.js +30 -0
  382. data/app/assets/components/bootstrap-wysiwyg/external/google-code-prettify/run_prettify.js +34 -0
  383. data/app/assets/components/bootstrap-wysiwyg/external/jquery.hotkeys.js +100 -0
  384. data/app/assets/components/bootstrap-wysiwyg/index.css +42 -0
  385. data/app/assets/components/bootstrap-wysiwyg/index.html +252 -0
  386. data/app/assets/components/bootstrap-wysiwyg/promo-868x350.png +0 -0
  387. data/app/assets/components/bootstrap-wysiwyg/republish.sh +1 -0
  388. data/app/assets/components/chartist/.bower.json +46 -0
  389. data/app/assets/components/chartist/CHANGELOG.md +163 -0
  390. data/app/assets/components/chartist/CODINGSTYLE.md +2500 -0
  391. data/app/assets/components/chartist/CONTRIBUTING.md +62 -0
  392. data/app/assets/components/chartist/README.md +64 -0
  393. data/app/assets/components/chartist/bower.json +35 -0
  394. data/app/assets/components/chartist/dist/chartist.js +4078 -0
  395. data/app/assets/components/chartist/dist/chartist.min.css +1 -0
  396. data/app/assets/components/chartist/dist/chartist.min.js +9 -0
  397. data/app/assets/components/chartist/dist/scss/chartist.scss +232 -0
  398. data/app/assets/components/chartist/dist/scss/settings/_chartist-settings.scss +85 -0
  399. data/app/assets/components/chosen_v1.2.0/.bower.json +14 -0
  400. data/app/assets/components/chosen_v1.2.0/chosen-sprite.png +0 -0
  401. data/app/assets/components/chosen_v1.2.0/chosen-sprite@2x.png +0 -0
  402. data/app/assets/components/chosen_v1.2.0/chosen.css +437 -0
  403. data/app/assets/components/chosen_v1.2.0/chosen.jquery.js +1229 -0
  404. data/app/assets/components/chosen_v1.2.0/chosen.jquery.min.js +2 -0
  405. data/app/assets/components/chosen_v1.2.0/chosen.min.css +3 -0
  406. data/app/assets/components/chosen_v1.2.0/chosen.proto.js +1249 -0
  407. data/app/assets/components/chosen_v1.2.0/chosen.proto.min.js +2 -0
  408. data/app/assets/components/chosen_v1.2.0/docsupport/chosen.png +0 -0
  409. data/app/assets/components/chosen_v1.2.0/docsupport/oss-credit.png +0 -0
  410. data/app/assets/components/chosen_v1.2.0/docsupport/prism.css +108 -0
  411. data/app/assets/components/chosen_v1.2.0/docsupport/prism.js +9 -0
  412. data/app/assets/components/chosen_v1.2.0/docsupport/style.css +204 -0
  413. data/app/assets/components/chosen_v1.2.0/index.html +1479 -0
  414. data/app/assets/components/chosen_v1.2.0/index.proto.html +1483 -0
  415. data/app/assets/components/chosen_v1.2.0/options.html +269 -0
  416. data/app/assets/components/cropper/.bower.json +63 -0
  417. data/app/assets/components/cropper/CHANGELOG.md +351 -0
  418. data/app/assets/components/cropper/LICENSE.md +21 -0
  419. data/app/assets/components/cropper/README.md +941 -0
  420. data/app/assets/components/cropper/bower.json +53 -0
  421. data/app/assets/components/cropper/dist/cropper.css +290 -0
  422. data/app/assets/components/cropper/dist/cropper.js +2519 -0
  423. data/app/assets/components/cropper/dist/cropper.min.css +9 -0
  424. data/app/assets/components/cropper/dist/cropper.min.js +10 -0
  425. data/app/assets/components/cropper/package.json +58 -0
  426. data/app/assets/components/cropper/src/img/bg.png +0 -0
  427. data/app/assets/components/cropper/src/js/bind.js +89 -0
  428. data/app/assets/components/cropper/src/js/build.js +120 -0
  429. data/app/assets/components/cropper/src/js/change.js +404 -0
  430. data/app/assets/components/cropper/src/js/cropper.js +17 -0
  431. data/app/assets/components/cropper/src/js/defaults.js +95 -0
  432. data/app/assets/components/cropper/src/js/handlers.js +191 -0
  433. data/app/assets/components/cropper/src/js/intro.js +24 -0
  434. data/app/assets/components/cropper/src/js/load.js +109 -0
  435. data/app/assets/components/cropper/src/js/methods.js +659 -0
  436. data/app/assets/components/cropper/src/js/outro.js +1 -0
  437. data/app/assets/components/cropper/src/js/plugin.js +37 -0
  438. data/app/assets/components/cropper/src/js/preview.js +93 -0
  439. data/app/assets/components/cropper/src/js/prototype.js +1 -0
  440. data/app/assets/components/cropper/src/js/render.js +392 -0
  441. data/app/assets/components/cropper/src/js/template.js +25 -0
  442. data/app/assets/components/cropper/src/js/utilities.js +173 -0
  443. data/app/assets/components/cropper/src/js/variables.js +73 -0
  444. data/app/assets/components/cropper/src/scss/_main.scss +249 -0
  445. data/app/assets/components/cropper/src/scss/_mixins.scss +23 -0
  446. data/app/assets/components/cropper/src/scss/_utilities.scss +49 -0
  447. data/app/assets/components/cropper/src/scss/_variables.scss +19 -0
  448. data/app/assets/components/cropper/src/scss/cropper.scss +14 -0
  449. data/app/assets/components/d3/.bower.json +36 -0
  450. data/app/assets/components/d3/.gitattributes +5 -0
  451. data/app/assets/components/d3/CONTRIBUTING.md +27 -0
  452. data/app/assets/components/d3/README.md +9 -0
  453. data/app/assets/components/d3/bower.json +25 -0
  454. data/app/assets/components/d3/d3.js +9550 -0
  455. data/app/assets/components/d3/d3.min.js +5 -0
  456. data/app/assets/components/d3/package.js +13 -0
  457. data/app/assets/components/datatable-bootstrap/css/dataTables.bootstrap.css +219 -0
  458. data/app/assets/components/datatable-bootstrap/datatable-bootstrap/images/Sorting icons.psd +0 -0
  459. data/app/assets/components/datatable-bootstrap/datatable-bootstrap/images/back_disabled.png +0 -0
  460. data/app/assets/components/datatable-bootstrap/datatable-bootstrap/images/back_enabled.png +0 -0
  461. data/app/assets/components/datatable-bootstrap/datatable-bootstrap/images/back_enabled_hover.png +0 -0
  462. data/app/assets/components/datatable-bootstrap/datatable-bootstrap/images/favicon.ico +0 -0
  463. data/app/assets/components/datatable-bootstrap/datatable-bootstrap/images/forward_disabled.png +0 -0
  464. data/app/assets/components/datatable-bootstrap/datatable-bootstrap/images/forward_enabled.png +0 -0
  465. data/app/assets/components/datatable-bootstrap/datatable-bootstrap/images/forward_enabled_hover.png +0 -0
  466. data/app/assets/components/datatable-bootstrap/datatable-bootstrap/images/sort_asc.png +0 -0
  467. data/app/assets/components/datatable-bootstrap/datatable-bootstrap/images/sort_asc_disabled.png +0 -0
  468. data/app/assets/components/datatable-bootstrap/datatable-bootstrap/images/sort_both.png +0 -0
  469. data/app/assets/components/datatable-bootstrap/datatable-bootstrap/images/sort_desc.png +0 -0
  470. data/app/assets/components/datatable-bootstrap/datatable-bootstrap/images/sort_desc_disabled.png +0 -0
  471. data/app/assets/components/datatable-bootstrap/js/dataTables.bootstrap.js +251 -0
  472. data/app/assets/components/datatable-bootstrap/js/dataTables.bootstrapPagination.js +117 -0
  473. data/app/assets/components/datatables/.bower.json +42 -0
  474. data/app/assets/components/datatables/Contributing.md +18 -0
  475. data/app/assets/components/datatables/Readme.md +53 -0
  476. data/app/assets/components/datatables/bower.json +32 -0
  477. data/app/assets/components/datatables/license.txt +20 -0
  478. data/app/assets/components/datatables/media/css/dataTables.bootstrap.css +187 -0
  479. data/app/assets/components/datatables/media/css/dataTables.bootstrap.min.css +1 -0
  480. data/app/assets/components/datatables/media/css/dataTables.foundation.css +117 -0
  481. data/app/assets/components/datatables/media/css/dataTables.foundation.min.css +1 -0
  482. data/app/assets/components/datatables/media/css/dataTables.jqueryui.css +482 -0
  483. data/app/assets/components/datatables/media/css/dataTables.jqueryui.min.css +1 -0
  484. data/app/assets/components/datatables/media/css/jquery.dataTables.css +453 -0
  485. data/app/assets/components/datatables/media/css/jquery.dataTables.min.css +1 -0
  486. data/app/assets/components/datatables/media/css/jquery.dataTables_themeroller.css +416 -0
  487. data/app/assets/components/datatables/media/images/Sorting icons.psd +0 -0
  488. data/app/assets/components/datatables/media/images/favicon.ico +0 -0
  489. data/app/assets/components/datatables/media/images/sort_asc.png +0 -0
  490. data/app/assets/components/datatables/media/images/sort_asc_disabled.png +0 -0
  491. data/app/assets/components/datatables/media/images/sort_both.png +0 -0
  492. data/app/assets/components/datatables/media/images/sort_desc.png +0 -0
  493. data/app/assets/components/datatables/media/images/sort_desc_disabled.png +0 -0
  494. data/app/assets/components/datatables/media/js/dataTables.bootstrap.js +220 -0
  495. data/app/assets/components/datatables/media/js/dataTables.bootstrap.min.js +9 -0
  496. data/app/assets/components/datatables/media/js/dataTables.foundation.js +156 -0
  497. data/app/assets/components/datatables/media/js/dataTables.foundation.min.js +8 -0
  498. data/app/assets/components/datatables/media/js/dataTables.jqueryui.js +164 -0
  499. data/app/assets/components/datatables/media/js/dataTables.jqueryui.min.js +9 -0
  500. data/app/assets/components/datatables/media/js/jquery.dataTables.js +15212 -0
  501. data/app/assets/components/datatables/media/js/jquery.dataTables.min.js +164 -0
  502. data/app/assets/components/datatables/media/js/jquery.js +5 -0
  503. data/app/assets/components/datatables-colvis/.bower.json +22 -0
  504. data/app/assets/components/datatables-colvis/License.txt +20 -0
  505. data/app/assets/components/datatables-colvis/README.md +38 -0
  506. data/app/assets/components/datatables-colvis/bower.json +12 -0
  507. data/app/assets/components/datatables-colvis/css/dataTables.colVis.css +185 -0
  508. data/app/assets/components/datatables-colvis/css/dataTables.colvis.jqueryui.css +41 -0
  509. data/app/assets/components/datatables-colvis/examples/button_order.xml +26 -0
  510. data/app/assets/components/datatables-colvis/examples/exclude_columns.xml +28 -0
  511. data/app/assets/components/datatables-colvis/examples/group_columns.xml +40 -0
  512. data/app/assets/components/datatables-colvis/examples/index.xml +18 -0
  513. data/app/assets/components/datatables-colvis/examples/jqueryui.xml +28 -0
  514. data/app/assets/components/datatables-colvis/examples/mouseover.xml +28 -0
  515. data/app/assets/components/datatables-colvis/examples/new_init.xml +26 -0
  516. data/app/assets/components/datatables-colvis/examples/restore.xml +33 -0
  517. data/app/assets/components/datatables-colvis/examples/simple.xml +25 -0
  518. data/app/assets/components/datatables-colvis/examples/text.xml +29 -0
  519. data/app/assets/components/datatables-colvis/examples/title_callback.xml +30 -0
  520. data/app/assets/components/datatables-colvis/examples/two_tables.xml +24 -0
  521. data/app/assets/components/datatables-colvis/examples/two_tables_identical.xml +35 -0
  522. data/app/assets/components/datatables-colvis/js/dataTables.colVis.js +1123 -0
  523. data/app/assets/components/datatables-colvis/make.sh +28 -0
  524. data/app/assets/components/eonasdan-bootstrap-datetimepicker/.gitattributes +63 -0
  525. data/app/assets/components/eonasdan-bootstrap-datetimepicker/.gitignore +12 -0
  526. data/app/assets/components/eonasdan-bootstrap-datetimepicker/.jscs.json +62 -0
  527. data/app/assets/components/eonasdan-bootstrap-datetimepicker/.npmignore +16 -0
  528. data/app/assets/components/eonasdan-bootstrap-datetimepicker/.travis.yml +9 -0
  529. data/app/assets/components/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md +38 -0
  530. data/app/assets/components/eonasdan-bootstrap-datetimepicker/Gruntfile.js +195 -0
  531. data/app/assets/components/eonasdan-bootstrap-datetimepicker/LICENSE +21 -0
  532. data/app/assets/components/eonasdan-bootstrap-datetimepicker/README.md +20 -0
  533. data/app/assets/components/eonasdan-bootstrap-datetimepicker/bower.json +34 -0
  534. data/app/assets/components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker-standalone.css +98 -0
  535. data/app/assets/components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css +374 -0
  536. data/app/assets/components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css +5 -0
  537. data/app/assets/components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js +2 -0
  538. data/app/assets/components/eonasdan-bootstrap-datetimepicker/component.json +9 -0
  539. data/app/assets/components/eonasdan-bootstrap-datetimepicker/composer.json +28 -0
  540. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/ChangeLog.md +237 -0
  541. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/ContributorsGuide.md +126 -0
  542. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/Events.md +97 -0
  543. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/Extras.md +95 -0
  544. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/FAQ.md +22 -0
  545. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/Functions.md +82 -0
  546. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/Installing.md +161 -0
  547. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/Options.md +909 -0
  548. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Changelog.md +6 -0
  549. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Contributors guide.md +6 -0
  550. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/index.md +644 -0
  551. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-144x144.png +0 -0
  552. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-192x192.png +0 -0
  553. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-36x36.png +0 -0
  554. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-48x48.png +0 -0
  555. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-72x72.png +0 -0
  556. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-96x96.png +0 -0
  557. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-114x114.png +0 -0
  558. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-120x120.png +0 -0
  559. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-144x144.png +0 -0
  560. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-152x152.png +0 -0
  561. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-180x180.png +0 -0
  562. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-57x57.png +0 -0
  563. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-60x60.png +0 -0
  564. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-72x72.png +0 -0
  565. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-76x76.png +0 -0
  566. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-precomposed.png +0 -0
  567. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon.png +0 -0
  568. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/base.html +74 -0
  569. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/browserconfig.xml +12 -0
  570. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/content.html +9 -0
  571. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/css/base.css +107 -0
  572. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/css/prettify-1.0.css +28 -0
  573. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-16x16.png +0 -0
  574. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-32x32.png +0 -0
  575. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-96x96.png +0 -0
  576. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon.ico +0 -0
  577. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/js/base.js +52 -0
  578. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/js/prettify-1.0.min.js +28 -0
  579. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/manifest.json +41 -0
  580. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-144x144.png +0 -0
  581. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-150x150.png +0 -0
  582. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x150.png +0 -0
  583. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x310.png +0 -0
  584. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-70x70.png +0 -0
  585. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/nav.html +76 -0
  586. data/app/assets/components/eonasdan-bootstrap-datetimepicker/docs/theme/toc.html +10 -0
  587. data/app/assets/components/eonasdan-bootstrap-datetimepicker/mkdocs.yml +202 -0
  588. data/app/assets/components/eonasdan-bootstrap-datetimepicker/package.json +51 -0
  589. data/app/assets/components/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js +2636 -0
  590. data/app/assets/components/eonasdan-bootstrap-datetimepicker/src/less/_bootstrap-datetimepicker.less +353 -0
  591. data/app/assets/components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less +17 -0
  592. data/app/assets/components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec +34 -0
  593. data/app/assets/components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec +34 -0
  594. data/app/assets/components/eonasdan-bootstrap-datetimepicker/src/nuget/NuGet.exe +0 -0
  595. data/app/assets/components/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1 +2 -0
  596. data/app/assets/components/eonasdan-bootstrap-datetimepicker/src/sass/_bootstrap-datetimepicker.scss +344 -0
  597. data/app/assets/components/eonasdan-bootstrap-datetimepicker/src/sass/bootstrap-datetimepicker-build.scss +16 -0
  598. data/app/assets/components/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js +88 -0
  599. data/app/assets/components/eonasdan-bootstrap-datetimepicker/test/publicApiSpec.js +1194 -0
  600. data/app/assets/components/eonasdan-bootstrap-datetimepicker/test/screen-capture/base.html +65 -0
  601. data/app/assets/components/eonasdan-bootstrap-datetimepicker/test/screen-capture/compile.js +17 -0
  602. data/app/assets/components/eonasdan-bootstrap-datetimepicker/test/screen-capture/index.js +24 -0
  603. data/app/assets/components/eonasdan-bootstrap-datetimepicker/test/screen-capture/out/.gitignore +1 -0
  604. data/app/assets/components/eonasdan-bootstrap-datetimepicker/test/screen-capture/pic/.gitignore +1 -0
  605. data/app/assets/components/eonasdan-bootstrap-datetimepicker/test/screen-capture/t1.html +11 -0
  606. data/app/assets/components/eonasdan-bootstrap-datetimepicker/test/screen-capture/t2.html +7 -0
  607. data/app/assets/components/eonasdan-bootstrap-datetimepicker/test/screen-capture/t3.html +6 -0
  608. data/app/assets/components/eonasdan-bootstrap-datetimepicker/test/screen-capture/t4.html +6 -0
  609. data/app/assets/components/eonasdan-bootstrap-datetimepicker/test/screen-capture/t5.html +1 -0
  610. data/app/assets/components/eonasdan-bootstrap-datetimepicker/test/timezoneDataHelper.js +11 -0
  611. data/app/assets/components/fastclick/.bower.json +23 -0
  612. data/app/assets/components/fastclick/README.md +140 -0
  613. data/app/assets/components/fastclick/bower.json +12 -0
  614. data/app/assets/components/fastclick/lib/fastclick.js +841 -0
  615. data/app/assets/components/flatdoc/.bower.json +39 -0
  616. data/app/assets/components/flatdoc/CONTRIBUTING.md +18 -0
  617. data/app/assets/components/flatdoc/History.md +52 -0
  618. data/app/assets/components/flatdoc/Notes.md +62 -0
  619. data/app/assets/components/flatdoc/Readme.md +309 -0
  620. data/app/assets/components/flatdoc/Reference.md +245 -0
  621. data/app/assets/components/flatdoc/bower.json +30 -0
  622. data/app/assets/components/flatdoc/examples/big-button.html +48 -0
  623. data/app/assets/components/flatdoc/examples/examples.md +110 -0
  624. data/app/assets/components/flatdoc/examples/github.html +42 -0
  625. data/app/assets/components/flatdoc/examples/index.html +45 -0
  626. data/app/assets/components/flatdoc/examples/patterns.html +63 -0
  627. data/app/assets/components/flatdoc/examples/patterns.md +1038 -0
  628. data/app/assets/components/flatdoc/flatdoc.js +548 -0
  629. data/app/assets/components/flatdoc/index.html +87 -0
  630. data/app/assets/components/flatdoc/legacy.js +369 -0
  631. data/app/assets/components/flatdoc/package.json +25 -0
  632. data/app/assets/components/flatdoc/reference.html +52 -0
  633. data/app/assets/components/flatdoc/support/Notes.md +28 -0
  634. data/app/assets/components/flatdoc/support/blur.jpg +0 -0
  635. data/app/assets/components/flatdoc/support/dox2md.js +128 -0
  636. data/app/assets/components/flatdoc/support/legacy-header.js +19 -0
  637. data/app/assets/components/flatdoc/support/preview.jpg +0 -0
  638. data/app/assets/components/flatdoc/support/theme.css +84 -0
  639. data/app/assets/components/flatdoc/support/theme.js +23 -0
  640. data/app/assets/components/flatdoc/support/vendor/html5shiv.js +8 -0
  641. data/app/assets/components/flatdoc/support/vendor/jquery.fillsize.js +74 -0
  642. data/app/assets/components/flatdoc/support/vendor/jquery.js +5 -0
  643. data/app/assets/components/flatdoc/support/vendor/jquery.smartquotes.js +41 -0
  644. data/app/assets/components/flatdoc/support/vendor/respond.js +342 -0
  645. data/app/assets/components/flatdoc/templates/blank.html +27 -0
  646. data/app/assets/components/flatdoc/templates/template.html +67 -0
  647. data/app/assets/components/flatdoc/theme-white/script.js +243 -0
  648. data/app/assets/components/flatdoc/theme-white/style.css +879 -0
  649. data/app/assets/components/flatdoc/theme-white/style.styl +655 -0
  650. data/app/assets/components/flatdoc/v/0.8/flatdoc.js +15 -0
  651. data/app/assets/components/flatdoc/v/0.8/legacy.js +23 -0
  652. data/app/assets/components/flatdoc/v/0.8/templates/blank.html +27 -0
  653. data/app/assets/components/flatdoc/v/0.8/templates/template.html +67 -0
  654. data/app/assets/components/flatdoc/v/0.8/templates/templates/blank.html +27 -0
  655. data/app/assets/components/flatdoc/v/0.8/templates/templates/template.html +67 -0
  656. data/app/assets/components/flatdoc/v/0.8/theme-white/script.js +243 -0
  657. data/app/assets/components/flatdoc/v/0.8/theme-white/style.css +879 -0
  658. data/app/assets/components/flatdoc/v/0.8.0/flatdoc.js +25 -0
  659. data/app/assets/components/flatdoc/v/0.8.0/legacy.js +23 -0
  660. data/app/assets/components/flatdoc/v/0.8.0/templates/blank.html +27 -0
  661. data/app/assets/components/flatdoc/v/0.8.0/templates/template.html +67 -0
  662. data/app/assets/components/flatdoc/v/0.8.0/templates/templates/blank.html +27 -0
  663. data/app/assets/components/flatdoc/v/0.8.0/templates/templates/template.html +67 -0
  664. data/app/assets/components/flatdoc/v/0.8.0/theme-white/script.js +318 -0
  665. data/app/assets/components/flatdoc/v/0.8.0/theme-white/style.css +831 -0
  666. data/app/assets/components/flatdoc/v/0.8.1/flatdoc.js +24 -0
  667. data/app/assets/components/flatdoc/v/0.8.1/legacy.js +23 -0
  668. data/app/assets/components/flatdoc/v/0.8.1/templates/blank.html +27 -0
  669. data/app/assets/components/flatdoc/v/0.8.1/templates/template.html +67 -0
  670. data/app/assets/components/flatdoc/v/0.8.1/templates/templates/blank.html +27 -0
  671. data/app/assets/components/flatdoc/v/0.8.1/templates/templates/template.html +67 -0
  672. data/app/assets/components/flatdoc/v/0.8.1/theme-white/script.js +318 -0
  673. data/app/assets/components/flatdoc/v/0.8.1/theme-white/style.css +879 -0
  674. data/app/assets/components/flatdoc/v/0.8.2/flatdoc.js +24 -0
  675. data/app/assets/components/flatdoc/v/0.8.2/legacy.js +23 -0
  676. data/app/assets/components/flatdoc/v/0.8.2/templates/blank.html +27 -0
  677. data/app/assets/components/flatdoc/v/0.8.2/templates/template.html +67 -0
  678. data/app/assets/components/flatdoc/v/0.8.2/theme-white/script.js +318 -0
  679. data/app/assets/components/flatdoc/v/0.8.2/theme-white/style.css +879 -0
  680. data/app/assets/components/flatdoc/v/0.8.3/flatdoc.js +24 -0
  681. data/app/assets/components/flatdoc/v/0.8.3/legacy.js +23 -0
  682. data/app/assets/components/flatdoc/v/0.8.3/templates/blank.html +27 -0
  683. data/app/assets/components/flatdoc/v/0.8.3/templates/template.html +67 -0
  684. data/app/assets/components/flatdoc/v/0.8.3/theme-white/script.js +318 -0
  685. data/app/assets/components/flatdoc/v/0.8.3/theme-white/style.css +879 -0
  686. data/app/assets/components/flatdoc/v/0.8.4/flatdoc.js +24 -0
  687. data/app/assets/components/flatdoc/v/0.8.4/legacy.js +23 -0
  688. data/app/assets/components/flatdoc/v/0.8.4/templates/blank.html +27 -0
  689. data/app/assets/components/flatdoc/v/0.8.4/templates/template.html +67 -0
  690. data/app/assets/components/flatdoc/v/0.8.4/theme-white/script.js +319 -0
  691. data/app/assets/components/flatdoc/v/0.8.4/theme-white/style.css +879 -0
  692. data/app/assets/components/flatdoc/v/0.8.5/flatdoc.js +25 -0
  693. data/app/assets/components/flatdoc/v/0.8.5/legacy.js +23 -0
  694. data/app/assets/components/flatdoc/v/0.8.5/templates/blank.html +27 -0
  695. data/app/assets/components/flatdoc/v/0.8.5/templates/template.html +67 -0
  696. data/app/assets/components/flatdoc/v/0.8.5/theme-white/script.js +243 -0
  697. data/app/assets/components/flatdoc/v/0.8.5/theme-white/style.css +879 -0
  698. data/app/assets/components/flatdoc/v/0.8.6/flatdoc.js +15 -0
  699. data/app/assets/components/flatdoc/v/0.8.6/legacy.js +23 -0
  700. data/app/assets/components/flatdoc/v/0.8.6/templates/blank.html +27 -0
  701. data/app/assets/components/flatdoc/v/0.8.6/templates/template.html +67 -0
  702. data/app/assets/components/flatdoc/v/0.8.6/theme-white/script.js +243 -0
  703. data/app/assets/components/flatdoc/v/0.8.6/theme-white/style.css +879 -0
  704. data/app/assets/components/flatdoc/v/0.9/flatdoc.js +20 -0
  705. data/app/assets/components/flatdoc/v/0.9/legacy.js +23 -0
  706. data/app/assets/components/flatdoc/v/0.9/templates/blank.html +27 -0
  707. data/app/assets/components/flatdoc/v/0.9/templates/template.html +67 -0
  708. data/app/assets/components/flatdoc/v/0.9/theme-white/script.js +243 -0
  709. data/app/assets/components/flatdoc/v/0.9/theme-white/style.css +879 -0
  710. data/app/assets/components/flatdoc/v/0.9.0/flatdoc.js +20 -0
  711. data/app/assets/components/flatdoc/v/0.9.0/legacy.js +23 -0
  712. data/app/assets/components/flatdoc/v/0.9.0/templates/blank.html +27 -0
  713. data/app/assets/components/flatdoc/v/0.9.0/templates/template.html +67 -0
  714. data/app/assets/components/flatdoc/v/0.9.0/theme-white/script.js +243 -0
  715. data/app/assets/components/flatdoc/v/0.9.0/theme-white/style.css +879 -0
  716. data/app/assets/components/flot-spline/.bower.json +32 -0
  717. data/app/assets/components/flot-spline/bower.json +23 -0
  718. data/app/assets/components/flot-spline/js/jquery.flot.spline.js +212 -0
  719. data/app/assets/components/flot-spline/js/jquery.flot.spline.min.js +1 -0
  720. data/app/assets/components/flot.tooltip/.bower.json +24 -0
  721. data/app/assets/components/flot.tooltip/bower.json +14 -0
  722. data/app/assets/components/flot.tooltip/js/excanvas.min.js +1 -0
  723. data/app/assets/components/flot.tooltip/js/jquery.flot.js +3168 -0
  724. data/app/assets/components/flot.tooltip/js/jquery.flot.tooltip.js +517 -0
  725. data/app/assets/components/flot.tooltip/js/jquery.flot.tooltip.min.js +12 -0
  726. data/app/assets/components/flot.tooltip/js/jquery.flot.tooltip.source.js +506 -0
  727. data/app/assets/components/fullcalendar/.bower.json +62 -0
  728. data/app/assets/components/fullcalendar/bower.json +53 -0
  729. data/app/assets/components/fullcalendar/changelog.md +898 -0
  730. data/app/assets/components/fullcalendar/dist/fullcalendar.css +1069 -0
  731. data/app/assets/components/fullcalendar/dist/fullcalendar.js +11170 -0
  732. data/app/assets/components/fullcalendar/dist/fullcalendar.min.css +5 -0
  733. data/app/assets/components/fullcalendar/dist/fullcalendar.min.js +9 -0
  734. data/app/assets/components/fullcalendar/dist/fullcalendar.print.css +202 -0
  735. data/app/assets/components/fullcalendar/dist/gcal.js +180 -0
  736. data/app/assets/components/fullcalendar/dist/lang/ar-ma.js +1 -0
  737. data/app/assets/components/fullcalendar/dist/lang/ar-sa.js +1 -0
  738. data/app/assets/components/fullcalendar/dist/lang/ar-tn.js +1 -0
  739. data/app/assets/components/fullcalendar/dist/lang/ar.js +1 -0
  740. data/app/assets/components/fullcalendar/dist/lang/bg.js +1 -0
  741. data/app/assets/components/fullcalendar/dist/lang/ca.js +1 -0
  742. data/app/assets/components/fullcalendar/dist/lang/cs.js +1 -0
  743. data/app/assets/components/fullcalendar/dist/lang/da.js +1 -0
  744. data/app/assets/components/fullcalendar/dist/lang/de-at.js +1 -0
  745. data/app/assets/components/fullcalendar/dist/lang/de.js +1 -0
  746. data/app/assets/components/fullcalendar/dist/lang/el.js +1 -0
  747. data/app/assets/components/fullcalendar/dist/lang/en-au.js +1 -0
  748. data/app/assets/components/fullcalendar/dist/lang/en-ca.js +1 -0
  749. data/app/assets/components/fullcalendar/dist/lang/en-gb.js +1 -0
  750. data/app/assets/components/fullcalendar/dist/lang/es.js +1 -0
  751. data/app/assets/components/fullcalendar/dist/lang/fa.js +1 -0
  752. data/app/assets/components/fullcalendar/dist/lang/fi.js +1 -0
  753. data/app/assets/components/fullcalendar/dist/lang/fr-ca.js +1 -0
  754. data/app/assets/components/fullcalendar/dist/lang/fr.js +1 -0
  755. data/app/assets/components/fullcalendar/dist/lang/he.js +1 -0
  756. data/app/assets/components/fullcalendar/dist/lang/hi.js +1 -0
  757. data/app/assets/components/fullcalendar/dist/lang/hr.js +1 -0
  758. data/app/assets/components/fullcalendar/dist/lang/hu.js +1 -0
  759. data/app/assets/components/fullcalendar/dist/lang/id.js +1 -0
  760. data/app/assets/components/fullcalendar/dist/lang/is.js +1 -0
  761. data/app/assets/components/fullcalendar/dist/lang/it.js +1 -0
  762. data/app/assets/components/fullcalendar/dist/lang/ja.js +1 -0
  763. data/app/assets/components/fullcalendar/dist/lang/ko.js +1 -0
  764. data/app/assets/components/fullcalendar/dist/lang/lt.js +1 -0
  765. data/app/assets/components/fullcalendar/dist/lang/lv.js +1 -0
  766. data/app/assets/components/fullcalendar/dist/lang/nb.js +1 -0
  767. data/app/assets/components/fullcalendar/dist/lang/nl.js +1 -0
  768. data/app/assets/components/fullcalendar/dist/lang/pl.js +1 -0
  769. data/app/assets/components/fullcalendar/dist/lang/pt-br.js +1 -0
  770. data/app/assets/components/fullcalendar/dist/lang/pt.js +1 -0
  771. data/app/assets/components/fullcalendar/dist/lang/ro.js +1 -0
  772. data/app/assets/components/fullcalendar/dist/lang/ru.js +1 -0
  773. data/app/assets/components/fullcalendar/dist/lang/sk.js +1 -0
  774. data/app/assets/components/fullcalendar/dist/lang/sl.js +1 -0
  775. data/app/assets/components/fullcalendar/dist/lang/sr-cyrl.js +1 -0
  776. data/app/assets/components/fullcalendar/dist/lang/sr.js +1 -0
  777. data/app/assets/components/fullcalendar/dist/lang/sv.js +1 -0
  778. data/app/assets/components/fullcalendar/dist/lang/th.js +1 -0
  779. data/app/assets/components/fullcalendar/dist/lang/tr.js +1 -0
  780. data/app/assets/components/fullcalendar/dist/lang/uk.js +1 -0
  781. data/app/assets/components/fullcalendar/dist/lang/vi.js +1 -0
  782. data/app/assets/components/fullcalendar/dist/lang/zh-cn.js +1 -0
  783. data/app/assets/components/fullcalendar/dist/lang/zh-tw.js +1 -0
  784. data/app/assets/components/fullcalendar/dist/lang-all.js +4 -0
  785. data/app/assets/components/fullcalendar/license.txt +20 -0
  786. data/app/assets/components/fullcalendar/readme.md +16 -0
  787. data/app/assets/components/html.sortable/.bower.json +53 -0
  788. data/app/assets/components/html.sortable/README.md +408 -0
  789. data/app/assets/components/html.sortable/bower.json +44 -0
  790. data/app/assets/components/html.sortable/dist/html.sortable.angular.js +90 -0
  791. data/app/assets/components/html.sortable/dist/html.sortable.angular.min.js +2 -0
  792. data/app/assets/components/html.sortable/dist/html.sortable.js +429 -0
  793. data/app/assets/components/html.sortable/dist/html.sortable.min.js +2 -0
  794. data/app/assets/components/html.sortable/examples/angular-connected.html +70 -0
  795. data/app/assets/components/html.sortable/examples/angular-connected.js +41 -0
  796. data/app/assets/components/html.sortable/examples/angular-ngRepeat-connected.html +63 -0
  797. data/app/assets/components/html.sortable/examples/angular-ngRepeat-connected.js +30 -0
  798. data/app/assets/components/html.sortable/examples/angular-single.html +60 -0
  799. data/app/assets/components/html.sortable/examples/angular-single.js +20 -0
  800. data/app/assets/components/html.sortable/examples/index.html +324 -0
  801. data/app/assets/components/ika.jvectormap/.bower.json +24 -0
  802. data/app/assets/components/ika.jvectormap/bower.json +16 -0
  803. data/app/assets/components/ika.jvectormap/jquery-jvectormap-1.2.2.css +37 -0
  804. data/app/assets/components/ika.jvectormap/jquery-jvectormap-1.2.2.min.js +8 -0
  805. data/app/assets/components/ika.jvectormap/jquery-jvectormap-europe-merc-en.js +1 -0
  806. data/app/assets/components/ika.jvectormap/jquery-jvectormap-europe-mill-en.js +1 -0
  807. data/app/assets/components/ika.jvectormap/jquery-jvectormap-us-aea-en.js +1 -0
  808. data/app/assets/components/ika.jvectormap/jquery-jvectormap-us-lcc-en.js +1 -0
  809. data/app/assets/components/ika.jvectormap/jquery-jvectormap-us-merc-en.js +1 -0
  810. data/app/assets/components/ika.jvectormap/jquery-jvectormap-us-mill-en.js +1 -0
  811. data/app/assets/components/ika.jvectormap/jquery-jvectormap-world-merc-en.js +1 -0
  812. data/app/assets/components/ika.jvectormap/jquery-jvectormap-world-mill-en.js +1 -0
  813. data/app/assets/components/jQuery-Storage-API/.bower.json +50 -0
  814. data/app/assets/components/jQuery-Storage-API/bower.json +41 -0
  815. data/app/assets/components/jQuery-Storage-API/jquery.storageapi.js +451 -0
  816. data/app/assets/components/jQuery-Storage-API/jquery.storageapi.min.js +2 -0
  817. data/app/assets/components/jQuery-gMap/.bower.json +14 -0
  818. data/app/assets/components/jQuery-gMap/Gruntfile.coffee +24 -0
  819. data/app/assets/components/jQuery-gMap/README.md +111 -0
  820. data/app/assets/components/jQuery-gMap/css/example.css +158 -0
  821. data/app/assets/components/jQuery-gMap/examples.html +150 -0
  822. data/app/assets/components/jQuery-gMap/examples.js +105 -0
  823. data/app/assets/components/jQuery-gMap/images/gmap_pin.png +0 -0
  824. data/app/assets/components/jQuery-gMap/images/gmap_pin_grey.png +0 -0
  825. data/app/assets/components/jQuery-gMap/images/gmap_pin_orange.png +0 -0
  826. data/app/assets/components/jQuery-gMap/jquery.gmap.js +272 -0
  827. data/app/assets/components/jQuery-gMap/jquery.gmap.min.js +10 -0
  828. data/app/assets/components/jQuery-gMap/package.json +28 -0
  829. data/app/assets/components/jqcloud2/.bower.json +54 -0
  830. data/app/assets/components/jqcloud2/Gruntfile.js +96 -0
  831. data/app/assets/components/jqcloud2/LICENSE.txt +24 -0
  832. data/app/assets/components/jqcloud2/README.md +71 -0
  833. data/app/assets/components/jqcloud2/bower.json +41 -0
  834. data/app/assets/components/jqcloud2/dist/jqcloud.css +55 -0
  835. data/app/assets/components/jqcloud2/dist/jqcloud.js +520 -0
  836. data/app/assets/components/jqcloud2/dist/jqcloud.min.css +8 -0
  837. data/app/assets/components/jqcloud2/dist/jqcloud.min.js +8 -0
  838. data/app/assets/components/jqcloud2/package.json +43 -0
  839. data/app/assets/components/jqcloud2/src/jqcloud.css +56 -0
  840. data/app/assets/components/jqcloud2/src/jqcloud.js +521 -0
  841. data/app/assets/components/jqgrid/.bower.json +23 -0
  842. data/app/assets/components/jqgrid/Gruntfile.js +175 -0
  843. data/app/assets/components/jqgrid/README.md +19 -0
  844. data/app/assets/components/jqgrid/bower.json +12 -0
  845. data/app/assets/components/jqgrid/build.gradle +108 -0
  846. data/app/assets/components/jqgrid/build.properties +9 -0
  847. data/app/assets/components/jqgrid/build.xml +85 -0
  848. data/app/assets/components/jqgrid/config.js +17 -0
  849. data/app/assets/components/jqgrid/css/addons/ui.multiselect.css +30 -0
  850. data/app/assets/components/jqgrid/css/ui.jqgrid-bootstrap-ui.css +31 -0
  851. data/app/assets/components/jqgrid/css/ui.jqgrid-bootstrap.css +867 -0
  852. data/app/assets/components/jqgrid/css/ui.jqgrid.css +268 -0
  853. data/app/assets/components/jqgrid/gradle/wrapper/gradle-wrapper.jar +0 -0
  854. data/app/assets/components/jqgrid/gradle/wrapper/gradle-wrapper.properties +6 -0
  855. data/app/assets/components/jqgrid/gradlew.bat +90 -0
  856. data/app/assets/components/jqgrid/install.txt +43 -0
  857. data/app/assets/components/jqgrid/jqGrid.jquery.json +40 -0
  858. data/app/assets/components/jqgrid/jqGrid.js +26 -0
  859. data/app/assets/components/jqgrid/jquery.jqGrid.js +50 -0
  860. data/app/assets/components/jqgrid/jquery.js +4 -0
  861. data/app/assets/components/jqgrid/js/addons/ui.multiselect.js +342 -0
  862. data/app/assets/components/jqgrid/js/grid.base.js +5022 -0
  863. data/app/assets/components/jqgrid/js/grid.celledit.js +520 -0
  864. data/app/assets/components/jqgrid/js/grid.common.js +767 -0
  865. data/app/assets/components/jqgrid/js/grid.filter.js +1467 -0
  866. data/app/assets/components/jqgrid/js/grid.formedit.js +2196 -0
  867. data/app/assets/components/jqgrid/js/grid.grouping.js +703 -0
  868. data/app/assets/components/jqgrid/js/grid.import.js +438 -0
  869. data/app/assets/components/jqgrid/js/grid.inlinedit.js +683 -0
  870. data/app/assets/components/jqgrid/js/grid.jqueryui.js +592 -0
  871. data/app/assets/components/jqgrid/js/grid.pivot.js +544 -0
  872. data/app/assets/components/jqgrid/js/grid.subgrid.js +317 -0
  873. data/app/assets/components/jqgrid/js/grid.treegrid.js +846 -0
  874. data/app/assets/components/jqgrid/js/grid.utils.js +261 -0
  875. data/app/assets/components/jqgrid/js/i18n/grid.locale-ar.js +166 -0
  876. data/app/assets/components/jqgrid/js/i18n/grid.locale-bg.js +172 -0
  877. data/app/assets/components/jqgrid/js/i18n/grid.locale-ca.js +168 -0
  878. data/app/assets/components/jqgrid/js/i18n/grid.locale-cn.js +207 -0
  879. data/app/assets/components/jqgrid/js/i18n/grid.locale-cs.js +168 -0
  880. data/app/assets/components/jqgrid/js/i18n/grid.locale-de.js +215 -0
  881. data/app/assets/components/jqgrid/js/i18n/grid.locale-dk.js +168 -0
  882. data/app/assets/components/jqgrid/js/i18n/grid.locale-el.js +166 -0
  883. data/app/assets/components/jqgrid/js/i18n/grid.locale-en.js +208 -0
  884. data/app/assets/components/jqgrid/js/i18n/grid.locale-es.js +169 -0
  885. data/app/assets/components/jqgrid/js/i18n/grid.locale-fa.js +185 -0
  886. data/app/assets/components/jqgrid/js/i18n/grid.locale-fi.js +169 -0
  887. data/app/assets/components/jqgrid/js/i18n/grid.locale-fr.js +166 -0
  888. data/app/assets/components/jqgrid/js/i18n/grid.locale-gl.js +166 -0
  889. data/app/assets/components/jqgrid/js/i18n/grid.locale-he.js +167 -0
  890. data/app/assets/components/jqgrid/js/i18n/grid.locale-hr.js +202 -0
  891. data/app/assets/components/jqgrid/js/i18n/grid.locale-hu.js +169 -0
  892. data/app/assets/components/jqgrid/js/i18n/grid.locale-id.js +208 -0
  893. data/app/assets/components/jqgrid/js/i18n/grid.locale-is.js +166 -0
  894. data/app/assets/components/jqgrid/js/i18n/grid.locale-it.js +200 -0
  895. data/app/assets/components/jqgrid/js/i18n/grid.locale-ja.js +196 -0
  896. data/app/assets/components/jqgrid/js/i18n/grid.locale-kr.js +168 -0
  897. data/app/assets/components/jqgrid/js/i18n/grid.locale-lt.js +168 -0
  898. data/app/assets/components/jqgrid/js/i18n/grid.locale-me.js +168 -0
  899. data/app/assets/components/jqgrid/js/i18n/grid.locale-nl.js +189 -0
  900. data/app/assets/components/jqgrid/js/i18n/grid.locale-no.js +75 -0
  901. data/app/assets/components/jqgrid/js/i18n/grid.locale-pl.js +172 -0
  902. data/app/assets/components/jqgrid/js/i18n/grid.locale-pt-br.js +176 -0
  903. data/app/assets/components/jqgrid/js/i18n/grid.locale-pt.js +165 -0
  904. data/app/assets/components/jqgrid/js/i18n/grid.locale-ro.js +179 -0
  905. data/app/assets/components/jqgrid/js/i18n/grid.locale-ru.js +169 -0
  906. data/app/assets/components/jqgrid/js/i18n/grid.locale-sk.js +167 -0
  907. data/app/assets/components/jqgrid/js/i18n/grid.locale-sr-latin.js +168 -0
  908. data/app/assets/components/jqgrid/js/i18n/grid.locale-sr.js +168 -0
  909. data/app/assets/components/jqgrid/js/i18n/grid.locale-sv.js +167 -0
  910. data/app/assets/components/jqgrid/js/i18n/grid.locale-th.js +168 -0
  911. data/app/assets/components/jqgrid/js/i18n/grid.locale-tr.js +166 -0
  912. data/app/assets/components/jqgrid/js/i18n/grid.locale-tw.js +169 -0
  913. data/app/assets/components/jqgrid/js/i18n/grid.locale-uk.js +167 -0
  914. data/app/assets/components/jqgrid/js/i18n/grid.locale-vi.js +208 -0
  915. data/app/assets/components/jqgrid/js/jqDnR.js +108 -0
  916. data/app/assets/components/jqgrid/js/jqModal.js +85 -0
  917. data/app/assets/components/jqgrid/js/jquery.fmatter.js +485 -0
  918. data/app/assets/components/jqgrid/js/jquery.jqGrid.js +14674 -0
  919. data/app/assets/components/jqgrid/js/minified/grid.base.js +11 -0
  920. data/app/assets/components/jqgrid/js/minified/grid.celledit.js +8 -0
  921. data/app/assets/components/jqgrid/js/minified/grid.common.js +8 -0
  922. data/app/assets/components/jqgrid/js/minified/grid.filter.js +8 -0
  923. data/app/assets/components/jqgrid/js/minified/grid.formedit.js +9 -0
  924. data/app/assets/components/jqgrid/js/minified/grid.grouping.js +8 -0
  925. data/app/assets/components/jqgrid/js/minified/grid.import.js +8 -0
  926. data/app/assets/components/jqgrid/js/minified/grid.inlinedit.js +8 -0
  927. data/app/assets/components/jqgrid/js/minified/grid.jqueryui.js +8 -0
  928. data/app/assets/components/jqgrid/js/minified/grid.pivot.js +8 -0
  929. data/app/assets/components/jqgrid/js/minified/grid.subgrid.js +8 -0
  930. data/app/assets/components/jqgrid/js/minified/grid.treegrid.js +8 -0
  931. data/app/assets/components/jqgrid/js/minified/grid.utils.js +8 -0
  932. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-ar.js +1 -0
  933. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-bg.js +1 -0
  934. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-ca.js +1 -0
  935. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-cn.js +1 -0
  936. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-cs.js +1 -0
  937. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-de.js +1 -0
  938. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-dk.js +1 -0
  939. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-el.js +1 -0
  940. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-en.js +1 -0
  941. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-es.js +1 -0
  942. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-fa.js +1 -0
  943. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-fi.js +1 -0
  944. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-fr.js +1 -0
  945. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-gl.js +1 -0
  946. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-he.js +1 -0
  947. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-hr.js +1 -0
  948. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-hu.js +1 -0
  949. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-id.js +1 -0
  950. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-is.js +1 -0
  951. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-it.js +1 -0
  952. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-ja.js +1 -0
  953. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-kr.js +1 -0
  954. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-lt.js +1 -0
  955. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-me.js +1 -0
  956. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-nl.js +1 -0
  957. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-no.js +1 -0
  958. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-pl.js +1 -0
  959. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-pt-br.js +1 -0
  960. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-pt.js +1 -0
  961. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-ro.js +1 -0
  962. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-ru.js +1 -0
  963. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-sk.js +1 -0
  964. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-sr-latin.js +1 -0
  965. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-sr.js +1 -0
  966. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-sv.js +1 -0
  967. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-th.js +1 -0
  968. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-tr.js +1 -0
  969. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-tw.js +1 -0
  970. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-ua.js +1 -0
  971. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-uk.js +1 -0
  972. data/app/assets/components/jqgrid/js/minified/i18n/grid.locale-vi.js +1 -0
  973. data/app/assets/components/jqgrid/js/minified/jqDnR.js +8 -0
  974. data/app/assets/components/jqgrid/js/minified/jqModal.js +8 -0
  975. data/app/assets/components/jqgrid/js/minified/jquery.fmatter.js +8 -0
  976. data/app/assets/components/jqgrid/js/minified/jquery.jqGrid.min.js +19 -0
  977. data/app/assets/components/jqgrid/package.json +25 -0
  978. data/app/assets/components/jqgrid/plugins/grid.addons.js +704 -0
  979. data/app/assets/components/jqgrid/plugins/grid.postext.js +64 -0
  980. data/app/assets/components/jqgrid/plugins/grid.setcolumns.js +126 -0
  981. data/app/assets/components/jqgrid/plugins/grid.tbltogrid.js +106 -0
  982. data/app/assets/components/jqgrid/plugins/jquery.contextmenu.js +147 -0
  983. data/app/assets/components/jqgrid/plugins/jquery.searchFilter.js +716 -0
  984. data/app/assets/components/jqgrid/plugins/jquery.tablednd.js +388 -0
  985. data/app/assets/components/jqgrid/plugins/searchFilter.css +6 -0
  986. data/app/assets/components/jquery/.bower.json +38 -0
  987. data/app/assets/components/jquery/MIT-LICENSE.txt +21 -0
  988. data/app/assets/components/jquery/bower.json +28 -0
  989. data/app/assets/components/jquery/dist/jquery.js +9814 -0
  990. data/app/assets/components/jquery/dist/jquery.min.js +5 -0
  991. data/app/assets/components/jquery/src/ajax/jsonp.js +89 -0
  992. data/app/assets/components/jquery/src/ajax/load.js +75 -0
  993. data/app/assets/components/jquery/src/ajax/parseJSON.js +13 -0
  994. data/app/assets/components/jquery/src/ajax/parseXML.js +28 -0
  995. data/app/assets/components/jquery/src/ajax/script.js +64 -0
  996. data/app/assets/components/jquery/src/ajax/var/nonce.js +5 -0
  997. data/app/assets/components/jquery/src/ajax/var/rquery.js +3 -0
  998. data/app/assets/components/jquery/src/ajax/xhr.js +136 -0
  999. data/app/assets/components/jquery/src/ajax.js +786 -0
  1000. data/app/assets/components/jquery/src/attributes/attr.js +141 -0
  1001. data/app/assets/components/jquery/src/attributes/classes.js +158 -0
  1002. data/app/assets/components/jquery/src/attributes/prop.js +94 -0
  1003. data/app/assets/components/jquery/src/attributes/support.js +35 -0
  1004. data/app/assets/components/jquery/src/attributes/val.js +161 -0
  1005. data/app/assets/components/jquery/src/attributes.js +11 -0
  1006. data/app/assets/components/jquery/src/callbacks.js +205 -0
  1007. data/app/assets/components/jquery/src/core/access.js +60 -0
  1008. data/app/assets/components/jquery/src/core/init.js +123 -0
  1009. data/app/assets/components/jquery/src/core/parseHTML.js +39 -0
  1010. data/app/assets/components/jquery/src/core/ready.js +97 -0
  1011. data/app/assets/components/jquery/src/core/var/rsingleTag.js +4 -0
  1012. data/app/assets/components/jquery/src/core.js +502 -0
  1013. data/app/assets/components/jquery/src/css/addGetHookIf.js +22 -0
  1014. data/app/assets/components/jquery/src/css/curCSS.js +57 -0
  1015. data/app/assets/components/jquery/src/css/defaultDisplay.js +70 -0
  1016. data/app/assets/components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  1017. data/app/assets/components/jquery/src/css/support.js +96 -0
  1018. data/app/assets/components/jquery/src/css/swap.js +28 -0
  1019. data/app/assets/components/jquery/src/css/var/cssExpand.js +3 -0
  1020. data/app/assets/components/jquery/src/css/var/getStyles.js +12 -0
  1021. data/app/assets/components/jquery/src/css/var/isHidden.js +13 -0
  1022. data/app/assets/components/jquery/src/css/var/rmargin.js +3 -0
  1023. data/app/assets/components/jquery/src/css/var/rnumnonpx.js +5 -0
  1024. data/app/assets/components/jquery/src/css.js +450 -0
  1025. data/app/assets/components/jquery/src/data/Data.js +181 -0
  1026. data/app/assets/components/jquery/src/data/accepts.js +20 -0
  1027. data/app/assets/components/jquery/src/data/var/data_priv.js +5 -0
  1028. data/app/assets/components/jquery/src/data/var/data_user.js +5 -0
  1029. data/app/assets/components/jquery/src/data.js +178 -0
  1030. data/app/assets/components/jquery/src/deferred.js +149 -0
  1031. data/app/assets/components/jquery/src/deprecated.js +13 -0
  1032. data/app/assets/components/jquery/src/dimensions.js +50 -0
  1033. data/app/assets/components/jquery/src/effects/Tween.js +114 -0
  1034. data/app/assets/components/jquery/src/effects/animatedSelector.js +13 -0
  1035. data/app/assets/components/jquery/src/effects.js +648 -0
  1036. data/app/assets/components/jquery/src/event/ajax.js +13 -0
  1037. data/app/assets/components/jquery/src/event/alias.js +39 -0
  1038. data/app/assets/components/jquery/src/event/support.js +9 -0
  1039. data/app/assets/components/jquery/src/event.js +868 -0
  1040. data/app/assets/components/jquery/src/exports/amd.js +24 -0
  1041. data/app/assets/components/jquery/src/exports/global.js +32 -0
  1042. data/app/assets/components/jquery/src/intro.js +44 -0
  1043. data/app/assets/components/jquery/src/jquery.js +37 -0
  1044. data/app/assets/components/jquery/src/manipulation/_evalUrl.js +18 -0
  1045. data/app/assets/components/jquery/src/manipulation/support.js +32 -0
  1046. data/app/assets/components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  1047. data/app/assets/components/jquery/src/manipulation.js +580 -0
  1048. data/app/assets/components/jquery/src/offset.js +207 -0
  1049. data/app/assets/components/jquery/src/outro.js +1 -0
  1050. data/app/assets/components/jquery/src/queue/delay.js +22 -0
  1051. data/app/assets/components/jquery/src/queue.js +142 -0
  1052. data/app/assets/components/jquery/src/selector-native.js +172 -0
  1053. data/app/assets/components/jquery/src/selector-sizzle.js +14 -0
  1054. data/app/assets/components/jquery/src/selector.js +1 -0
  1055. data/app/assets/components/jquery/src/serialize.js +111 -0
  1056. data/app/assets/components/jquery/src/sizzle/dist/sizzle.js +2067 -0
  1057. data/app/assets/components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  1058. data/app/assets/components/jquery/src/traversing/findFilter.js +100 -0
  1059. data/app/assets/components/jquery/src/traversing/var/rneedsContext.js +6 -0
  1060. data/app/assets/components/jquery/src/traversing.js +199 -0
  1061. data/app/assets/components/jquery/src/var/arr.js +3 -0
  1062. data/app/assets/components/jquery/src/var/class2type.js +4 -0
  1063. data/app/assets/components/jquery/src/var/concat.js +5 -0
  1064. data/app/assets/components/jquery/src/var/hasOwn.js +5 -0
  1065. data/app/assets/components/jquery/src/var/indexOf.js +5 -0
  1066. data/app/assets/components/jquery/src/var/pnum.js +3 -0
  1067. data/app/assets/components/jquery/src/var/push.js +5 -0
  1068. data/app/assets/components/jquery/src/var/rnotwhite.js +3 -0
  1069. data/app/assets/components/jquery/src/var/slice.js +5 -0
  1070. data/app/assets/components/jquery/src/var/strundefined.js +3 -0
  1071. data/app/assets/components/jquery/src/var/support.js +4 -0
  1072. data/app/assets/components/jquery/src/var/toString.js +5 -0
  1073. data/app/assets/components/jquery/src/wrap.js +79 -0
  1074. data/app/assets/components/jquery-classyloader/.bower.json +13 -0
  1075. data/app/assets/components/jquery-classyloader/css/documentation.css +1 -0
  1076. data/app/assets/components/jquery-classyloader/css/fontawesome-webfont.woff +0 -0
  1077. data/app/assets/components/jquery-classyloader/index.html +317 -0
  1078. data/app/assets/components/jquery-classyloader/js/jquery.classyloader.js +157 -0
  1079. data/app/assets/components/jquery-classyloader/js/jquery.classyloader.min.js +9 -0
  1080. data/app/assets/components/jquery-classyloader/js/jquery.min.js +6 -0
  1081. data/app/assets/components/jquery-knob/.bower.json +22 -0
  1082. data/app/assets/components/jquery-knob/README.md +135 -0
  1083. data/app/assets/components/jquery-knob/bower.json +13 -0
  1084. data/app/assets/components/jquery-knob/dist/jquery.knob.min.js +1 -0
  1085. data/app/assets/components/jquery-knob/excanvas.js +924 -0
  1086. data/app/assets/components/jquery-knob/index.html +303 -0
  1087. data/app/assets/components/jquery-knob/js/jquery.knob.js +802 -0
  1088. data/app/assets/components/jquery-knob/knob.jquery.json +37 -0
  1089. data/app/assets/components/jquery-knob/secretplan.jpg +0 -0
  1090. data/app/assets/components/jquery-localize-i18n/.bower.json +13 -0
  1091. data/app/assets/components/jquery-localize-i18n/.travis.yml +6 -0
  1092. data/app/assets/components/jquery-localize-i18n/CONTRIBUTING.md +32 -0
  1093. data/app/assets/components/jquery-localize-i18n/Gruntfile.coffee +77 -0
  1094. data/app/assets/components/jquery-localize-i18n/README.md +180 -0
  1095. data/app/assets/components/jquery-localize-i18n/dist/jquery.localize.js +191 -0
  1096. data/app/assets/components/jquery-localize-i18n/dist/jquery.localize.min.js +4 -0
  1097. data/app/assets/components/jquery-localize-i18n/examples/absolute_prefix_path.html +25 -0
  1098. data/app/assets/components/jquery-localize-i18n/examples/basic_usage.html +35 -0
  1099. data/app/assets/components/jquery-localize-i18n/examples/custom_callback_usage.html +31 -0
  1100. data/app/assets/components/jquery-localize-i18n/examples/language_and_country.html +24 -0
  1101. data/app/assets/components/jquery-localize-i18n/examples/multiple_language_packs.html +27 -0
  1102. data/app/assets/components/jquery-localize-i18n/examples/ruby_round.gif +0 -0
  1103. data/app/assets/components/jquery-localize-i18n/examples/ruby_square.gif +0 -0
  1104. data/app/assets/components/jquery-localize-i18n/examples/skip_language.html +34 -0
  1105. data/app/assets/components/jquery-localize-i18n/libs/jquery/jquery.js +9555 -0
  1106. data/app/assets/components/jquery-localize-i18n/libs/jquery-loader.js +12 -0
  1107. data/app/assets/components/jquery-localize-i18n/libs/qunit/qunit.css +244 -0
  1108. data/app/assets/components/jquery-localize-i18n/libs/qunit/qunit.js +2152 -0
  1109. data/app/assets/components/jquery-localize-i18n/localize.jquery.json +26 -0
  1110. data/app/assets/components/jquery-localize-i18n/package.json +33 -0
  1111. data/app/assets/components/jquery-localize-i18n/src/jquery.localize.coffee +139 -0
  1112. data/app/assets/components/jquery-localize-i18n/test/.jshintrc +32 -0
  1113. data/app/assets/components/jquery-localize-i18n/test/lang/custom/test-fo.json +1 -0
  1114. data/app/assets/components/jquery-localize-i18n/test/lang/footer-en.json +2 -0
  1115. data/app/assets/components/jquery-localize-i18n/test/lang/header-en.json +2 -0
  1116. data/app/assets/components/jquery-localize-i18n/test/lang/test-en-US.json +1 -0
  1117. data/app/assets/components/jquery-localize-i18n/test/lang/test-en.json +1 -0
  1118. data/app/assets/components/jquery-localize-i18n/test/lang/test-ja-XX.json +1 -0
  1119. data/app/assets/components/jquery-localize-i18n/test/lang/test-ja.foo +4 -0
  1120. data/app/assets/components/jquery-localize-i18n/test/lang/test-ja.json +26 -0
  1121. data/app/assets/components/jquery-localize-i18n/test/lang/test2-ja.json +2 -0
  1122. data/app/assets/components/jquery-localize-i18n/test/localize.html +28 -0
  1123. data/app/assets/components/jquery-localize-i18n/test/localize_test.coffee +175 -0
  1124. data/app/assets/components/jquery-localize-i18n/test/localize_test.js +286 -0
  1125. data/app/assets/components/jquery-localize-i18n/test/qunit_setup.coffee +36 -0
  1126. data/app/assets/components/jquery-localize-i18n/test/qunit_setup.js +57 -0
  1127. data/app/assets/components/jquery-ui/.bower.json +21 -0
  1128. data/app/assets/components/jquery-ui/AUTHORS.txt +284 -0
  1129. data/app/assets/components/jquery-ui/LICENSE.txt +44 -0
  1130. data/app/assets/components/jquery-ui/README.md +11 -0
  1131. data/app/assets/components/jquery-ui/bower.json +12 -0
  1132. data/app/assets/components/jquery-ui/component.json +13 -0
  1133. data/app/assets/components/jquery-ui/composer.json +69 -0
  1134. data/app/assets/components/jquery-ui/jquery-ui.js +16617 -0
  1135. data/app/assets/components/jquery-ui/jquery-ui.min.js +13 -0
  1136. data/app/assets/components/jquery-ui/package.json +71 -0
  1137. data/app/assets/components/jquery-ui/themes/base/accordion.css +36 -0
  1138. data/app/assets/components/jquery-ui/themes/base/all.css +12 -0
  1139. data/app/assets/components/jquery-ui/themes/base/autocomplete.css +16 -0
  1140. data/app/assets/components/jquery-ui/themes/base/base.css +28 -0
  1141. data/app/assets/components/jquery-ui/themes/base/button.css +114 -0
  1142. data/app/assets/components/jquery-ui/themes/base/core.css +93 -0
  1143. data/app/assets/components/jquery-ui/themes/base/datepicker.css +175 -0
  1144. data/app/assets/components/jquery-ui/themes/base/dialog.css +70 -0
  1145. data/app/assets/components/jquery-ui/themes/base/draggable.css +12 -0
  1146. data/app/assets/components/jquery-ui/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1147. data/app/assets/components/jquery-ui/themes/base/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1148. data/app/assets/components/jquery-ui/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1149. data/app/assets/components/jquery-ui/themes/base/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1150. data/app/assets/components/jquery-ui/themes/base/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1151. data/app/assets/components/jquery-ui/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1152. data/app/assets/components/jquery-ui/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1153. data/app/assets/components/jquery-ui/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1154. data/app/assets/components/jquery-ui/themes/base/images/ui-icons_222222_256x240.png +0 -0
  1155. data/app/assets/components/jquery-ui/themes/base/images/ui-icons_2e83ff_256x240.png +0 -0
  1156. data/app/assets/components/jquery-ui/themes/base/images/ui-icons_444444_256x240.png +0 -0
  1157. data/app/assets/components/jquery-ui/themes/base/images/ui-icons_454545_256x240.png +0 -0
  1158. data/app/assets/components/jquery-ui/themes/base/images/ui-icons_555555_256x240.png +0 -0
  1159. data/app/assets/components/jquery-ui/themes/base/images/ui-icons_777620_256x240.png +0 -0
  1160. data/app/assets/components/jquery-ui/themes/base/images/ui-icons_777777_256x240.png +0 -0
  1161. data/app/assets/components/jquery-ui/themes/base/images/ui-icons_888888_256x240.png +0 -0
  1162. data/app/assets/components/jquery-ui/themes/base/images/ui-icons_cc0000_256x240.png +0 -0
  1163. data/app/assets/components/jquery-ui/themes/base/images/ui-icons_cd0a0a_256x240.png +0 -0
  1164. data/app/assets/components/jquery-ui/themes/base/images/ui-icons_ffffff_256x240.png +0 -0
  1165. data/app/assets/components/jquery-ui/themes/base/jquery-ui.css +1225 -0
  1166. data/app/assets/components/jquery-ui/themes/base/jquery-ui.min.css +7 -0
  1167. data/app/assets/components/jquery-ui/themes/base/menu.css +63 -0
  1168. data/app/assets/components/jquery-ui/themes/base/progressbar.css +28 -0
  1169. data/app/assets/components/jquery-ui/themes/base/resizable.css +78 -0
  1170. data/app/assets/components/jquery-ui/themes/base/selectable.css +17 -0
  1171. data/app/assets/components/jquery-ui/themes/base/selectmenu.css +59 -0
  1172. data/app/assets/components/jquery-ui/themes/base/slider.css +75 -0
  1173. data/app/assets/components/jquery-ui/themes/base/sortable.css +12 -0
  1174. data/app/assets/components/jquery-ui/themes/base/spinner.css +65 -0
  1175. data/app/assets/components/jquery-ui/themes/base/tabs.css +51 -0
  1176. data/app/assets/components/jquery-ui/themes/base/theme.css +410 -0
  1177. data/app/assets/components/jquery-ui/themes/base/tooltip.css +21 -0
  1178. data/app/assets/components/jquery-ui/themes/black-tie/images/animated-overlay.gif +0 -0
  1179. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-bg_diagonals-thick_8_333333_40x40.png +0 -0
  1180. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-bg_flat_65_ffffff_40x100.png +0 -0
  1181. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-bg_glass_40_111111_1x400.png +0 -0
  1182. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-bg_glass_55_1c1c1c_1x400.png +0 -0
  1183. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-bg_highlight-hard_100_f9f9f9_1x100.png +0 -0
  1184. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-bg_highlight-hard_40_aaaaaa_1x100.png +0 -0
  1185. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-bg_highlight-soft_50_aaaaaa_1x100.png +0 -0
  1186. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-bg_inset-hard_45_cd0a0a_1x100.png +0 -0
  1187. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-bg_inset-hard_55_ffeb80_1x100.png +0 -0
  1188. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-icons_222222_256x240.png +0 -0
  1189. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-icons_4ca300_256x240.png +0 -0
  1190. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-icons_bbbbbb_256x240.png +0 -0
  1191. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-icons_ededed_256x240.png +0 -0
  1192. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-icons_ffcf29_256x240.png +0 -0
  1193. data/app/assets/components/jquery-ui/themes/black-tie/images/ui-icons_ffffff_256x240.png +0 -0
  1194. data/app/assets/components/jquery-ui/themes/black-tie/jquery-ui.css +1225 -0
  1195. data/app/assets/components/jquery-ui/themes/black-tie/jquery-ui.min.css +7 -0
  1196. data/app/assets/components/jquery-ui/themes/black-tie/theme.css +410 -0
  1197. data/app/assets/components/jquery-ui/themes/blitzer/images/animated-overlay.gif +0 -0
  1198. data/app/assets/components/jquery-ui/themes/blitzer/images/ui-bg_diagonals-thick_75_f3d8d8_40x40.png +0 -0
  1199. data/app/assets/components/jquery-ui/themes/blitzer/images/ui-bg_dots-small_65_a6a6a6_2x2.png +0 -0
  1200. data/app/assets/components/jquery-ui/themes/blitzer/images/ui-bg_flat_0_333333_40x100.png +0 -0
  1201. data/app/assets/components/jquery-ui/themes/blitzer/images/ui-bg_flat_65_ffffff_40x100.png +0 -0
  1202. data/app/assets/components/jquery-ui/themes/blitzer/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1203. data/app/assets/components/jquery-ui/themes/blitzer/images/ui-bg_glass_55_fbf8ee_1x400.png +0 -0
  1204. data/app/assets/components/jquery-ui/themes/blitzer/images/ui-bg_highlight-hard_100_eeeeee_1x100.png +0 -0
  1205. data/app/assets/components/jquery-ui/themes/blitzer/images/ui-bg_highlight-hard_100_f6f6f6_1x100.png +0 -0
  1206. data/app/assets/components/jquery-ui/themes/blitzer/images/ui-bg_highlight-soft_15_cc0000_1x100.png +0 -0
  1207. data/app/assets/components/jquery-ui/themes/blitzer/images/ui-icons_004276_256x240.png +0 -0
  1208. data/app/assets/components/jquery-ui/themes/blitzer/images/ui-icons_cc0000_256x240.png +0 -0
  1209. data/app/assets/components/jquery-ui/themes/blitzer/images/ui-icons_ffffff_256x240.png +0 -0
  1210. data/app/assets/components/jquery-ui/themes/blitzer/jquery-ui.css +1225 -0
  1211. data/app/assets/components/jquery-ui/themes/blitzer/jquery-ui.min.css +7 -0
  1212. data/app/assets/components/jquery-ui/themes/blitzer/theme.css +410 -0
  1213. data/app/assets/components/jquery-ui/themes/cupertino/images/animated-overlay.gif +0 -0
  1214. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png +0 -0
  1215. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png +0 -0
  1216. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png +0 -0
  1217. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-bg_glass_50_3baae3_1x400.png +0 -0
  1218. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png +0 -0
  1219. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png +0 -0
  1220. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png +0 -0
  1221. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png +0 -0
  1222. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png +0 -0
  1223. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-icons_2694e8_256x240.png +0 -0
  1224. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-icons_2e83ff_256x240.png +0 -0
  1225. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-icons_3d80b3_256x240.png +0 -0
  1226. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-icons_72a7cf_256x240.png +0 -0
  1227. data/app/assets/components/jquery-ui/themes/cupertino/images/ui-icons_ffffff_256x240.png +0 -0
  1228. data/app/assets/components/jquery-ui/themes/cupertino/jquery-ui.css +1225 -0
  1229. data/app/assets/components/jquery-ui/themes/cupertino/jquery-ui.min.css +7 -0
  1230. data/app/assets/components/jquery-ui/themes/cupertino/theme.css +410 -0
  1231. data/app/assets/components/jquery-ui/themes/dark-hive/images/animated-overlay.gif +0 -0
  1232. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-bg_flat_30_cccccc_40x100.png +0 -0
  1233. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-bg_flat_50_5c5c5c_40x100.png +0 -0
  1234. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-bg_glass_40_ffc73d_1x400.png +0 -0
  1235. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-bg_highlight-hard_20_0972a5_1x100.png +0 -0
  1236. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_33_003147_1x100.png +0 -0
  1237. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_35_222222_1x100.png +0 -0
  1238. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_44_444444_1x100.png +0 -0
  1239. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-bg_highlight-soft_80_eeeeee_1x100.png +0 -0
  1240. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-bg_loop_25_000000_21x21.png +0 -0
  1241. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-icons_222222_256x240.png +0 -0
  1242. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-icons_4b8e0b_256x240.png +0 -0
  1243. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-icons_a83300_256x240.png +0 -0
  1244. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-icons_cccccc_256x240.png +0 -0
  1245. data/app/assets/components/jquery-ui/themes/dark-hive/images/ui-icons_ffffff_256x240.png +0 -0
  1246. data/app/assets/components/jquery-ui/themes/dark-hive/jquery-ui.css +1225 -0
  1247. data/app/assets/components/jquery-ui/themes/dark-hive/jquery-ui.min.css +7 -0
  1248. data/app/assets/components/jquery-ui/themes/dark-hive/theme.css +410 -0
  1249. data/app/assets/components/jquery-ui/themes/dot-luv/images/animated-overlay.gif +0 -0
  1250. data/app/assets/components/jquery-ui/themes/dot-luv/images/ui-bg_diagonals-thick_15_0b3e6f_40x40.png +0 -0
  1251. data/app/assets/components/jquery-ui/themes/dot-luv/images/ui-bg_dots-medium_30_0b58a2_4x4.png +0 -0
  1252. data/app/assets/components/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_20_333333_2x2.png +0 -0
  1253. data/app/assets/components/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_30_a32d00_2x2.png +0 -0
  1254. data/app/assets/components/jquery-ui/themes/dot-luv/images/ui-bg_dots-small_40_00498f_2x2.png +0 -0
  1255. data/app/assets/components/jquery-ui/themes/dot-luv/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1256. data/app/assets/components/jquery-ui/themes/dot-luv/images/ui-bg_flat_40_292929_40x100.png +0 -0
  1257. data/app/assets/components/jquery-ui/themes/dot-luv/images/ui-bg_gloss-wave_20_111111_500x100.png +0 -0
  1258. data/app/assets/components/jquery-ui/themes/dot-luv/images/ui-icons_00498f_256x240.png +0 -0
  1259. data/app/assets/components/jquery-ui/themes/dot-luv/images/ui-icons_98d2fb_256x240.png +0 -0
  1260. data/app/assets/components/jquery-ui/themes/dot-luv/images/ui-icons_9ccdfc_256x240.png +0 -0
  1261. data/app/assets/components/jquery-ui/themes/dot-luv/images/ui-icons_ffffff_256x240.png +0 -0
  1262. data/app/assets/components/jquery-ui/themes/dot-luv/jquery-ui.css +1225 -0
  1263. data/app/assets/components/jquery-ui/themes/dot-luv/jquery-ui.min.css +7 -0
  1264. data/app/assets/components/jquery-ui/themes/dot-luv/theme.css +410 -0
  1265. data/app/assets/components/jquery-ui/themes/eggplant/images/animated-overlay.gif +0 -0
  1266. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1267. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  1268. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-bg_flat_55_994d53_40x100.png +0 -0
  1269. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-bg_flat_55_fafafa_40x100.png +0 -0
  1270. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-bg_gloss-wave_30_3d3644_500x100.png +0 -0
  1271. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_100_dcd9de_1x100.png +0 -0
  1272. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_100_eae6ea_1x100.png +0 -0
  1273. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_25_30273a_1x100.png +0 -0
  1274. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-bg_highlight-soft_45_5f5964_1x100.png +0 -0
  1275. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-icons_454545_256x240.png +0 -0
  1276. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-icons_734d99_256x240.png +0 -0
  1277. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-icons_8d78a5_256x240.png +0 -0
  1278. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-icons_a8a3ae_256x240.png +0 -0
  1279. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-icons_ebccce_256x240.png +0 -0
  1280. data/app/assets/components/jquery-ui/themes/eggplant/images/ui-icons_ffffff_256x240.png +0 -0
  1281. data/app/assets/components/jquery-ui/themes/eggplant/jquery-ui.css +1225 -0
  1282. data/app/assets/components/jquery-ui/themes/eggplant/jquery-ui.min.css +7 -0
  1283. data/app/assets/components/jquery-ui/themes/eggplant/theme.css +410 -0
  1284. data/app/assets/components/jquery-ui/themes/excite-bike/images/animated-overlay.gif +0 -0
  1285. data/app/assets/components/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-small_25_c5ddfc_40x40.png +0 -0
  1286. data/app/assets/components/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_20_e69700_40x40.png +0 -0
  1287. data/app/assets/components/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_22_1484e6_40x40.png +0 -0
  1288. data/app/assets/components/jquery-ui/themes/excite-bike/images/ui-bg_diagonals-thick_26_2293f7_40x40.png +0 -0
  1289. data/app/assets/components/jquery-ui/themes/excite-bike/images/ui-bg_flat_0_e69700_40x100.png +0 -0
  1290. data/app/assets/components/jquery-ui/themes/excite-bike/images/ui-bg_flat_0_e6b900_40x100.png +0 -0
  1291. data/app/assets/components/jquery-ui/themes/excite-bike/images/ui-bg_highlight-soft_100_f9f9f9_1x100.png +0 -0
  1292. data/app/assets/components/jquery-ui/themes/excite-bike/images/ui-bg_inset-hard_100_eeeeee_1x100.png +0 -0
  1293. data/app/assets/components/jquery-ui/themes/excite-bike/images/ui-icons_0a82eb_256x240.png +0 -0
  1294. data/app/assets/components/jquery-ui/themes/excite-bike/images/ui-icons_0b54d5_256x240.png +0 -0
  1295. data/app/assets/components/jquery-ui/themes/excite-bike/images/ui-icons_5fa5e3_256x240.png +0 -0
  1296. data/app/assets/components/jquery-ui/themes/excite-bike/images/ui-icons_fcdd4a_256x240.png +0 -0
  1297. data/app/assets/components/jquery-ui/themes/excite-bike/images/ui-icons_ffffff_256x240.png +0 -0
  1298. data/app/assets/components/jquery-ui/themes/excite-bike/jquery-ui.css +1225 -0
  1299. data/app/assets/components/jquery-ui/themes/excite-bike/jquery-ui.min.css +7 -0
  1300. data/app/assets/components/jquery-ui/themes/excite-bike/theme.css +410 -0
  1301. data/app/assets/components/jquery-ui/themes/flick/images/animated-overlay.gif +0 -0
  1302. data/app/assets/components/jquery-ui/themes/flick/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1303. data/app/assets/components/jquery-ui/themes/flick/images/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  1304. data/app/assets/components/jquery-ui/themes/flick/images/ui-bg_flat_55_ffffff_40x100.png +0 -0
  1305. data/app/assets/components/jquery-ui/themes/flick/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1306. data/app/assets/components/jquery-ui/themes/flick/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1307. data/app/assets/components/jquery-ui/themes/flick/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
  1308. data/app/assets/components/jquery-ui/themes/flick/images/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
  1309. data/app/assets/components/jquery-ui/themes/flick/images/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
  1310. data/app/assets/components/jquery-ui/themes/flick/images/ui-icons_0073ea_256x240.png +0 -0
  1311. data/app/assets/components/jquery-ui/themes/flick/images/ui-icons_454545_256x240.png +0 -0
  1312. data/app/assets/components/jquery-ui/themes/flick/images/ui-icons_666666_256x240.png +0 -0
  1313. data/app/assets/components/jquery-ui/themes/flick/images/ui-icons_ff0084_256x240.png +0 -0
  1314. data/app/assets/components/jquery-ui/themes/flick/images/ui-icons_ffffff_256x240.png +0 -0
  1315. data/app/assets/components/jquery-ui/themes/flick/jquery-ui.css +1225 -0
  1316. data/app/assets/components/jquery-ui/themes/flick/jquery-ui.min.css +7 -0
  1317. data/app/assets/components/jquery-ui/themes/flick/theme.css +410 -0
  1318. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/animated-overlay.gif +0 -0
  1319. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_40_db4865_40x40.png +0 -0
  1320. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_50_93c3cd_40x40.png +0 -0
  1321. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_50_ff3853_40x40.png +0 -0
  1322. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-bg_diagonals-small_75_ccd232_40x40.png +0 -0
  1323. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-bg_dots-medium_80_ffff38_4x4.png +0 -0
  1324. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-bg_dots-small_35_35414f_2x2.png +0 -0
  1325. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-bg_flat_75_ba9217_40x100.png +0 -0
  1326. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1327. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-bg_white-lines_85_f7f7ba_40x100.png +0 -0
  1328. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-icons_454545_256x240.png +0 -0
  1329. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-icons_88a206_256x240.png +0 -0
  1330. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-icons_c02669_256x240.png +0 -0
  1331. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-icons_e1e463_256x240.png +0 -0
  1332. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-icons_ffeb33_256x240.png +0 -0
  1333. data/app/assets/components/jquery-ui/themes/hot-sneaks/images/ui-icons_ffffff_256x240.png +0 -0
  1334. data/app/assets/components/jquery-ui/themes/hot-sneaks/jquery-ui.css +1225 -0
  1335. data/app/assets/components/jquery-ui/themes/hot-sneaks/jquery-ui.min.css +7 -0
  1336. data/app/assets/components/jquery-ui/themes/hot-sneaks/theme.css +410 -0
  1337. data/app/assets/components/jquery-ui/themes/humanity/images/animated-overlay.gif +0 -0
  1338. data/app/assets/components/jquery-ui/themes/humanity/images/ui-bg_flat_75_aaaaaa_40x100.png +0 -0
  1339. data/app/assets/components/jquery-ui/themes/humanity/images/ui-bg_glass_100_f5f0e5_1x400.png +0 -0
  1340. data/app/assets/components/jquery-ui/themes/humanity/images/ui-bg_glass_25_cb842e_1x400.png +0 -0
  1341. data/app/assets/components/jquery-ui/themes/humanity/images/ui-bg_glass_70_ede4d4_1x400.png +0 -0
  1342. data/app/assets/components/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_100_f4f0ec_1x100.png +0 -0
  1343. data/app/assets/components/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_65_fee4bd_1x100.png +0 -0
  1344. data/app/assets/components/jquery-ui/themes/humanity/images/ui-bg_highlight-hard_75_f5f5b5_1x100.png +0 -0
  1345. data/app/assets/components/jquery-ui/themes/humanity/images/ui-bg_inset-soft_100_f4f0ec_1x100.png +0 -0
  1346. data/app/assets/components/jquery-ui/themes/humanity/images/ui-icons_c47a23_256x240.png +0 -0
  1347. data/app/assets/components/jquery-ui/themes/humanity/images/ui-icons_cb672b_256x240.png +0 -0
  1348. data/app/assets/components/jquery-ui/themes/humanity/images/ui-icons_f08000_256x240.png +0 -0
  1349. data/app/assets/components/jquery-ui/themes/humanity/images/ui-icons_f35f07_256x240.png +0 -0
  1350. data/app/assets/components/jquery-ui/themes/humanity/images/ui-icons_ff7519_256x240.png +0 -0
  1351. data/app/assets/components/jquery-ui/themes/humanity/images/ui-icons_ffffff_256x240.png +0 -0
  1352. data/app/assets/components/jquery-ui/themes/humanity/jquery-ui.css +1225 -0
  1353. data/app/assets/components/jquery-ui/themes/humanity/jquery-ui.min.css +7 -0
  1354. data/app/assets/components/jquery-ui/themes/humanity/theme.css +410 -0
  1355. data/app/assets/components/jquery-ui/themes/le-frog/images/animated-overlay.gif +0 -0
  1356. data/app/assets/components/jquery-ui/themes/le-frog/images/ui-bg_diagonals-small_0_aaaaaa_40x40.png +0 -0
  1357. data/app/assets/components/jquery-ui/themes/le-frog/images/ui-bg_diagonals-thick_15_444444_40x40.png +0 -0
  1358. data/app/assets/components/jquery-ui/themes/le-frog/images/ui-bg_diagonals-thick_95_ffdc2e_40x40.png +0 -0
  1359. data/app/assets/components/jquery-ui/themes/le-frog/images/ui-bg_glass_55_fbf5d0_1x400.png +0 -0
  1360. data/app/assets/components/jquery-ui/themes/le-frog/images/ui-bg_highlight-hard_30_285c00_1x100.png +0 -0
  1361. data/app/assets/components/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_33_3a8104_1x100.png +0 -0
  1362. data/app/assets/components/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_50_4eb305_1x100.png +0 -0
  1363. data/app/assets/components/jquery-ui/themes/le-frog/images/ui-bg_highlight-soft_60_4ca20b_1x100.png +0 -0
  1364. data/app/assets/components/jquery-ui/themes/le-frog/images/ui-bg_inset-soft_10_285c00_1x100.png +0 -0
  1365. data/app/assets/components/jquery-ui/themes/le-frog/images/ui-icons_4eb305_256x240.png +0 -0
  1366. data/app/assets/components/jquery-ui/themes/le-frog/images/ui-icons_72b42d_256x240.png +0 -0
  1367. data/app/assets/components/jquery-ui/themes/le-frog/images/ui-icons_cd0a0a_256x240.png +0 -0
  1368. data/app/assets/components/jquery-ui/themes/le-frog/images/ui-icons_ffffff_256x240.png +0 -0
  1369. data/app/assets/components/jquery-ui/themes/le-frog/jquery-ui.css +1225 -0
  1370. data/app/assets/components/jquery-ui/themes/le-frog/jquery-ui.min.css +7 -0
  1371. data/app/assets/components/jquery-ui/themes/le-frog/theme.css +410 -0
  1372. data/app/assets/components/jquery-ui/themes/mint-choc/images/animated-overlay.gif +0 -0
  1373. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1374. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-bg_glass_15_5f391b_1x400.png +0 -0
  1375. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_20_1c160d_500x100.png +0 -0
  1376. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_25_453326_500x100.png +0 -0
  1377. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-bg_gloss-wave_30_44372c_500x100.png +0 -0
  1378. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-bg_highlight-soft_20_201913_1x100.png +0 -0
  1379. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-bg_highlight-soft_20_619226_1x100.png +0 -0
  1380. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-bg_inset-soft_10_201913_1x100.png +0 -0
  1381. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-icons_222222_256x240.png +0 -0
  1382. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-icons_9bcc60_256x240.png +0 -0
  1383. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-icons_add978_256x240.png +0 -0
  1384. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-icons_e3ddc9_256x240.png +0 -0
  1385. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-icons_f1fd86_256x240.png +0 -0
  1386. data/app/assets/components/jquery-ui/themes/mint-choc/images/ui-icons_ffffff_256x240.png +0 -0
  1387. data/app/assets/components/jquery-ui/themes/mint-choc/jquery-ui.css +1225 -0
  1388. data/app/assets/components/jquery-ui/themes/mint-choc/jquery-ui.min.css +7 -0
  1389. data/app/assets/components/jquery-ui/themes/mint-choc/theme.css +410 -0
  1390. data/app/assets/components/jquery-ui/themes/overcast/images/animated-overlay.gif +0 -0
  1391. data/app/assets/components/jquery-ui/themes/overcast/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1392. data/app/assets/components/jquery-ui/themes/overcast/images/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  1393. data/app/assets/components/jquery-ui/themes/overcast/images/ui-bg_flat_55_c0402a_40x100.png +0 -0
  1394. data/app/assets/components/jquery-ui/themes/overcast/images/ui-bg_flat_55_eeeeee_40x100.png +0 -0
  1395. data/app/assets/components/jquery-ui/themes/overcast/images/ui-bg_glass_100_f8f8f8_1x400.png +0 -0
  1396. data/app/assets/components/jquery-ui/themes/overcast/images/ui-bg_glass_35_dddddd_1x400.png +0 -0
  1397. data/app/assets/components/jquery-ui/themes/overcast/images/ui-bg_glass_60_eeeeee_1x400.png +0 -0
  1398. data/app/assets/components/jquery-ui/themes/overcast/images/ui-bg_inset-hard_75_999999_1x100.png +0 -0
  1399. data/app/assets/components/jquery-ui/themes/overcast/images/ui-bg_inset-soft_50_c9c9c9_1x100.png +0 -0
  1400. data/app/assets/components/jquery-ui/themes/overcast/images/ui-icons_3383bb_256x240.png +0 -0
  1401. data/app/assets/components/jquery-ui/themes/overcast/images/ui-icons_454545_256x240.png +0 -0
  1402. data/app/assets/components/jquery-ui/themes/overcast/images/ui-icons_70b2e1_256x240.png +0 -0
  1403. data/app/assets/components/jquery-ui/themes/overcast/images/ui-icons_999999_256x240.png +0 -0
  1404. data/app/assets/components/jquery-ui/themes/overcast/images/ui-icons_fbc856_256x240.png +0 -0
  1405. data/app/assets/components/jquery-ui/themes/overcast/jquery-ui.css +1225 -0
  1406. data/app/assets/components/jquery-ui/themes/overcast/jquery-ui.min.css +7 -0
  1407. data/app/assets/components/jquery-ui/themes/overcast/theme.css +410 -0
  1408. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/animated-overlay.gif +0 -0
  1409. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-bg_diagonal-maze_20_6e4f1c_10x10.png +0 -0
  1410. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-bg_diagonal-maze_40_000000_10x10.png +0 -0
  1411. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_10_eceadf_60x60.png +0 -0
  1412. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_10_f8f7f6_60x60.png +0 -0
  1413. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_eceadf_60x60.png +0 -0
  1414. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_f7f3de_60x60.png +0 -0
  1415. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_15_ffffff_60x60.png +0 -0
  1416. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_65_654b24_60x60.png +0 -0
  1417. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-bg_fine-grain_68_b83400_60x60.png +0 -0
  1418. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-icons_222222_256x240.png +0 -0
  1419. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-icons_3572ac_256x240.png +0 -0
  1420. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-icons_8c291d_256x240.png +0 -0
  1421. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-icons_b83400_256x240.png +0 -0
  1422. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-icons_fbdb93_256x240.png +0 -0
  1423. data/app/assets/components/jquery-ui/themes/pepper-grinder/images/ui-icons_ffffff_256x240.png +0 -0
  1424. data/app/assets/components/jquery-ui/themes/pepper-grinder/jquery-ui.css +1225 -0
  1425. data/app/assets/components/jquery-ui/themes/pepper-grinder/jquery-ui.min.css +7 -0
  1426. data/app/assets/components/jquery-ui/themes/pepper-grinder/theme.css +410 -0
  1427. data/app/assets/components/jquery-ui/themes/redmond/images/animated-overlay.gif +0 -0
  1428. data/app/assets/components/jquery-ui/themes/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1429. data/app/assets/components/jquery-ui/themes/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  1430. data/app/assets/components/jquery-ui/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  1431. data/app/assets/components/jquery-ui/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  1432. data/app/assets/components/jquery-ui/themes/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1433. data/app/assets/components/jquery-ui/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  1434. data/app/assets/components/jquery-ui/themes/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  1435. data/app/assets/components/jquery-ui/themes/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  1436. data/app/assets/components/jquery-ui/themes/redmond/images/ui-icons_217bc0_256x240.png +0 -0
  1437. data/app/assets/components/jquery-ui/themes/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
  1438. data/app/assets/components/jquery-ui/themes/redmond/images/ui-icons_469bdd_256x240.png +0 -0
  1439. data/app/assets/components/jquery-ui/themes/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
  1440. data/app/assets/components/jquery-ui/themes/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
  1441. data/app/assets/components/jquery-ui/themes/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
  1442. data/app/assets/components/jquery-ui/themes/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
  1443. data/app/assets/components/jquery-ui/themes/redmond/jquery-ui.css +1225 -0
  1444. data/app/assets/components/jquery-ui/themes/redmond/jquery-ui.min.css +7 -0
  1445. data/app/assets/components/jquery-ui/themes/redmond/theme.css +410 -0
  1446. data/app/assets/components/jquery-ui/themes/smoothness/images/animated-overlay.gif +0 -0
  1447. data/app/assets/components/jquery-ui/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1448. data/app/assets/components/jquery-ui/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1449. data/app/assets/components/jquery-ui/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1450. data/app/assets/components/jquery-ui/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1451. data/app/assets/components/jquery-ui/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1452. data/app/assets/components/jquery-ui/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1453. data/app/assets/components/jquery-ui/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1454. data/app/assets/components/jquery-ui/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1455. data/app/assets/components/jquery-ui/themes/smoothness/images/ui-icons_222222_256x240.png +0 -0
  1456. data/app/assets/components/jquery-ui/themes/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  1457. data/app/assets/components/jquery-ui/themes/smoothness/images/ui-icons_454545_256x240.png +0 -0
  1458. data/app/assets/components/jquery-ui/themes/smoothness/images/ui-icons_888888_256x240.png +0 -0
  1459. data/app/assets/components/jquery-ui/themes/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  1460. data/app/assets/components/jquery-ui/themes/smoothness/jquery-ui.css +1225 -0
  1461. data/app/assets/components/jquery-ui/themes/smoothness/jquery-ui.min.css +7 -0
  1462. data/app/assets/components/jquery-ui/themes/smoothness/theme.css +410 -0
  1463. data/app/assets/components/jquery-ui/themes/south-street/images/animated-overlay.gif +0 -0
  1464. data/app/assets/components/jquery-ui/themes/south-street/images/ui-bg_glass_55_fcf0ba_1x400.png +0 -0
  1465. data/app/assets/components/jquery-ui/themes/south-street/images/ui-bg_gloss-wave_100_ece8da_500x100.png +0 -0
  1466. data/app/assets/components/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_100_f5f3e5_1x100.png +0 -0
  1467. data/app/assets/components/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_100_fafaf4_1x100.png +0 -0
  1468. data/app/assets/components/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_15_459e00_1x100.png +0 -0
  1469. data/app/assets/components/jquery-ui/themes/south-street/images/ui-bg_highlight-hard_95_cccccc_1x100.png +0 -0
  1470. data/app/assets/components/jquery-ui/themes/south-street/images/ui-bg_highlight-soft_25_67b021_1x100.png +0 -0
  1471. data/app/assets/components/jquery-ui/themes/south-street/images/ui-bg_highlight-soft_95_ffedad_1x100.png +0 -0
  1472. data/app/assets/components/jquery-ui/themes/south-street/images/ui-bg_inset-soft_15_2b2922_1x100.png +0 -0
  1473. data/app/assets/components/jquery-ui/themes/south-street/images/ui-icons_808080_256x240.png +0 -0
  1474. data/app/assets/components/jquery-ui/themes/south-street/images/ui-icons_847e71_256x240.png +0 -0
  1475. data/app/assets/components/jquery-ui/themes/south-street/images/ui-icons_8DC262_256x240.png +0 -0
  1476. data/app/assets/components/jquery-ui/themes/south-street/images/ui-icons_cd0a0a_256x240.png +0 -0
  1477. data/app/assets/components/jquery-ui/themes/south-street/images/ui-icons_eeeeee_256x240.png +0 -0
  1478. data/app/assets/components/jquery-ui/themes/south-street/images/ui-icons_ffffff_256x240.png +0 -0
  1479. data/app/assets/components/jquery-ui/themes/south-street/jquery-ui.css +1225 -0
  1480. data/app/assets/components/jquery-ui/themes/south-street/jquery-ui.min.css +7 -0
  1481. data/app/assets/components/jquery-ui/themes/south-street/theme.css +410 -0
  1482. data/app/assets/components/jquery-ui/themes/start/images/animated-overlay.gif +0 -0
  1483. data/app/assets/components/jquery-ui/themes/start/images/ui-bg_flat_55_999999_40x100.png +0 -0
  1484. data/app/assets/components/jquery-ui/themes/start/images/ui-bg_flat_75_aaaaaa_40x100.png +0 -0
  1485. data/app/assets/components/jquery-ui/themes/start/images/ui-bg_glass_45_0078ae_1x400.png +0 -0
  1486. data/app/assets/components/jquery-ui/themes/start/images/ui-bg_glass_55_f8da4e_1x400.png +0 -0
  1487. data/app/assets/components/jquery-ui/themes/start/images/ui-bg_glass_75_79c9ec_1x400.png +0 -0
  1488. data/app/assets/components/jquery-ui/themes/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png +0 -0
  1489. data/app/assets/components/jquery-ui/themes/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png +0 -0
  1490. data/app/assets/components/jquery-ui/themes/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png +0 -0
  1491. data/app/assets/components/jquery-ui/themes/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  1492. data/app/assets/components/jquery-ui/themes/start/images/ui-icons_0078ae_256x240.png +0 -0
  1493. data/app/assets/components/jquery-ui/themes/start/images/ui-icons_056b93_256x240.png +0 -0
  1494. data/app/assets/components/jquery-ui/themes/start/images/ui-icons_d8e7f3_256x240.png +0 -0
  1495. data/app/assets/components/jquery-ui/themes/start/images/ui-icons_e0fdff_256x240.png +0 -0
  1496. data/app/assets/components/jquery-ui/themes/start/images/ui-icons_f5e175_256x240.png +0 -0
  1497. data/app/assets/components/jquery-ui/themes/start/images/ui-icons_f7a50d_256x240.png +0 -0
  1498. data/app/assets/components/jquery-ui/themes/start/images/ui-icons_fcd113_256x240.png +0 -0
  1499. data/app/assets/components/jquery-ui/themes/start/jquery-ui.css +1225 -0
  1500. data/app/assets/components/jquery-ui/themes/start/jquery-ui.min.css +7 -0
  1501. data/app/assets/components/jquery-ui/themes/start/theme.css +410 -0
  1502. data/app/assets/components/jquery-ui/themes/sunny/images/animated-overlay.gif +0 -0
  1503. data/app/assets/components/jquery-ui/themes/sunny/images/ui-bg_diagonals-medium_20_d34d17_40x40.png +0 -0
  1504. data/app/assets/components/jquery-ui/themes/sunny/images/ui-bg_flat_30_cccccc_40x100.png +0 -0
  1505. data/app/assets/components/jquery-ui/themes/sunny/images/ui-bg_flat_50_5c5c5c_40x100.png +0 -0
  1506. data/app/assets/components/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_45_817865_500x100.png +0 -0
  1507. data/app/assets/components/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_60_fece2f_500x100.png +0 -0
  1508. data/app/assets/components/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_70_ffdd57_500x100.png +0 -0
  1509. data/app/assets/components/jquery-ui/themes/sunny/images/ui-bg_gloss-wave_90_fff9e5_500x100.png +0 -0
  1510. data/app/assets/components/jquery-ui/themes/sunny/images/ui-bg_highlight-soft_100_feeebd_1x100.png +0 -0
  1511. data/app/assets/components/jquery-ui/themes/sunny/images/ui-bg_inset-soft_30_ffffff_1x100.png +0 -0
  1512. data/app/assets/components/jquery-ui/themes/sunny/images/ui-icons_3d3d3d_256x240.png +0 -0
  1513. data/app/assets/components/jquery-ui/themes/sunny/images/ui-icons_bd7b00_256x240.png +0 -0
  1514. data/app/assets/components/jquery-ui/themes/sunny/images/ui-icons_d19405_256x240.png +0 -0
  1515. data/app/assets/components/jquery-ui/themes/sunny/images/ui-icons_eb990f_256x240.png +0 -0
  1516. data/app/assets/components/jquery-ui/themes/sunny/images/ui-icons_ed9f26_256x240.png +0 -0
  1517. data/app/assets/components/jquery-ui/themes/sunny/images/ui-icons_fadc7a_256x240.png +0 -0
  1518. data/app/assets/components/jquery-ui/themes/sunny/images/ui-icons_ffe180_256x240.png +0 -0
  1519. data/app/assets/components/jquery-ui/themes/sunny/jquery-ui.css +1225 -0
  1520. data/app/assets/components/jquery-ui/themes/sunny/jquery-ui.min.css +7 -0
  1521. data/app/assets/components/jquery-ui/themes/sunny/theme.css +410 -0
  1522. data/app/assets/components/jquery-ui/themes/swanky-purse/images/animated-overlay.gif +0 -0
  1523. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_10_4f4221_10x8.png +0 -0
  1524. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_20_372806_10x8.png +0 -0
  1525. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_25_675423_10x8.png +0 -0
  1526. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_25_d5ac5d_10x8.png +0 -0
  1527. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_8_261803_10x8.png +0 -0
  1528. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-bg_diamond_8_443113_10x8.png +0 -0
  1529. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-bg_flat_75_ddd4b0_40x100.png +0 -0
  1530. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-bg_highlight-hard_65_fee4bd_1x100.png +0 -0
  1531. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-icons_070603_256x240.png +0 -0
  1532. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-icons_e8e2b5_256x240.png +0 -0
  1533. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-icons_e9cd86_256x240.png +0 -0
  1534. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-icons_efec9f_256x240.png +0 -0
  1535. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-icons_f2ec64_256x240.png +0 -0
  1536. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-icons_f9f2bd_256x240.png +0 -0
  1537. data/app/assets/components/jquery-ui/themes/swanky-purse/images/ui-icons_ff7519_256x240.png +0 -0
  1538. data/app/assets/components/jquery-ui/themes/swanky-purse/jquery-ui.css +1225 -0
  1539. data/app/assets/components/jquery-ui/themes/swanky-purse/jquery-ui.min.css +7 -0
  1540. data/app/assets/components/jquery-ui/themes/swanky-purse/theme.css +410 -0
  1541. data/app/assets/components/jquery-ui/themes/trontastic/images/animated-overlay.gif +0 -0
  1542. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-bg_diagonals-small_50_262626_40x40.png +0 -0
  1543. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-bg_flat_0_303030_40x100.png +0 -0
  1544. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-bg_flat_0_4c4c4c_40x100.png +0 -0
  1545. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-bg_glass_40_0a0a0a_1x400.png +0 -0
  1546. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-bg_glass_55_f1fbe5_1x400.png +0 -0
  1547. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-bg_glass_60_000000_1x400.png +0 -0
  1548. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_55_000000_500x100.png +0 -0
  1549. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_85_9fda58_500x100.png +0 -0
  1550. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-bg_gloss-wave_95_f6ecd5_500x100.png +0 -0
  1551. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-icons_000000_256x240.png +0 -0
  1552. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-icons_1f1f1f_256x240.png +0 -0
  1553. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-icons_9fda58_256x240.png +0 -0
  1554. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-icons_b8ec79_256x240.png +0 -0
  1555. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-icons_cd0a0a_256x240.png +0 -0
  1556. data/app/assets/components/jquery-ui/themes/trontastic/images/ui-icons_ffffff_256x240.png +0 -0
  1557. data/app/assets/components/jquery-ui/themes/trontastic/jquery-ui.css +1225 -0
  1558. data/app/assets/components/jquery-ui/themes/trontastic/jquery-ui.min.css +7 -0
  1559. data/app/assets/components/jquery-ui/themes/trontastic/theme.css +410 -0
  1560. data/app/assets/components/jquery-ui/themes/ui-darkness/images/animated-overlay.gif +0 -0
  1561. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png +0 -0
  1562. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png +0 -0
  1563. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-bg_glass_20_555555_1x400.png +0 -0
  1564. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png +0 -0
  1565. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png +0 -0
  1566. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png +0 -0
  1567. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png +0 -0
  1568. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png +0 -0
  1569. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png +0 -0
  1570. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-icons_222222_256x240.png +0 -0
  1571. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-icons_4b8e0b_256x240.png +0 -0
  1572. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-icons_a83300_256x240.png +0 -0
  1573. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-icons_cccccc_256x240.png +0 -0
  1574. data/app/assets/components/jquery-ui/themes/ui-darkness/images/ui-icons_ffffff_256x240.png +0 -0
  1575. data/app/assets/components/jquery-ui/themes/ui-darkness/jquery-ui.css +1225 -0
  1576. data/app/assets/components/jquery-ui/themes/ui-darkness/jquery-ui.min.css +7 -0
  1577. data/app/assets/components/jquery-ui/themes/ui-darkness/theme.css +410 -0
  1578. data/app/assets/components/jquery-ui/themes/ui-lightness/images/animated-overlay.gif +0 -0
  1579. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  1580. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  1581. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  1582. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  1583. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  1584. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1585. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  1586. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  1587. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  1588. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  1589. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  1590. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  1591. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  1592. data/app/assets/components/jquery-ui/themes/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  1593. data/app/assets/components/jquery-ui/themes/ui-lightness/jquery-ui.css +1225 -0
  1594. data/app/assets/components/jquery-ui/themes/ui-lightness/jquery-ui.min.css +7 -0
  1595. data/app/assets/components/jquery-ui/themes/ui-lightness/theme.css +410 -0
  1596. data/app/assets/components/jquery-ui/themes/vader/images/animated-overlay.gif +0 -0
  1597. data/app/assets/components/jquery-ui/themes/vader/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1598. data/app/assets/components/jquery-ui/themes/vader/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1599. data/app/assets/components/jquery-ui/themes/vader/images/ui-bg_gloss-wave_16_121212_500x100.png +0 -0
  1600. data/app/assets/components/jquery-ui/themes/vader/images/ui-bg_highlight-hard_15_888888_1x100.png +0 -0
  1601. data/app/assets/components/jquery-ui/themes/vader/images/ui-bg_highlight-hard_55_555555_1x100.png +0 -0
  1602. data/app/assets/components/jquery-ui/themes/vader/images/ui-bg_highlight-soft_35_adadad_1x100.png +0 -0
  1603. data/app/assets/components/jquery-ui/themes/vader/images/ui-bg_highlight-soft_60_dddddd_1x100.png +0 -0
  1604. data/app/assets/components/jquery-ui/themes/vader/images/ui-bg_inset-soft_15_121212_1x100.png +0 -0
  1605. data/app/assets/components/jquery-ui/themes/vader/images/ui-icons_666666_256x240.png +0 -0
  1606. data/app/assets/components/jquery-ui/themes/vader/images/ui-icons_aaaaaa_256x240.png +0 -0
  1607. data/app/assets/components/jquery-ui/themes/vader/images/ui-icons_bbbbbb_256x240.png +0 -0
  1608. data/app/assets/components/jquery-ui/themes/vader/images/ui-icons_c98000_256x240.png +0 -0
  1609. data/app/assets/components/jquery-ui/themes/vader/images/ui-icons_cccccc_256x240.png +0 -0
  1610. data/app/assets/components/jquery-ui/themes/vader/images/ui-icons_cd0a0a_256x240.png +0 -0
  1611. data/app/assets/components/jquery-ui/themes/vader/images/ui-icons_f29a00_256x240.png +0 -0
  1612. data/app/assets/components/jquery-ui/themes/vader/jquery-ui.css +1225 -0
  1613. data/app/assets/components/jquery-ui/themes/vader/jquery-ui.min.css +7 -0
  1614. data/app/assets/components/jquery-ui/themes/vader/theme.css +410 -0
  1615. data/app/assets/components/jquery-ui/ui/.jshintrc +24 -0
  1616. data/app/assets/components/jquery-ui/ui/accordion.js +590 -0
  1617. data/app/assets/components/jquery-ui/ui/autocomplete.js +628 -0
  1618. data/app/assets/components/jquery-ui/ui/button.js +411 -0
  1619. data/app/assets/components/jquery-ui/ui/core.js +304 -0
  1620. data/app/assets/components/jquery-ui/ui/datepicker.js +2084 -0
  1621. data/app/assets/components/jquery-ui/ui/dialog.js +876 -0
  1622. data/app/assets/components/jquery-ui/ui/draggable.js +1132 -0
  1623. data/app/assets/components/jquery-ui/ui/droppable.js +413 -0
  1624. data/app/assets/components/jquery-ui/ui/effect-blind.js +90 -0
  1625. data/app/assets/components/jquery-ui/ui/effect-bounce.js +123 -0
  1626. data/app/assets/components/jquery-ui/ui/effect-clip.js +77 -0
  1627. data/app/assets/components/jquery-ui/ui/effect-drop.js +75 -0
  1628. data/app/assets/components/jquery-ui/ui/effect-explode.js +107 -0
  1629. data/app/assets/components/jquery-ui/ui/effect-fade.js +40 -0
  1630. data/app/assets/components/jquery-ui/ui/effect-fold.js +86 -0
  1631. data/app/assets/components/jquery-ui/ui/effect-highlight.js +60 -0
  1632. data/app/assets/components/jquery-ui/ui/effect-puff.js +60 -0
  1633. data/app/assets/components/jquery-ui/ui/effect-pulsate.js +73 -0
  1634. data/app/assets/components/jquery-ui/ui/effect-scale.js +89 -0
  1635. data/app/assets/components/jquery-ui/ui/effect-shake.js +84 -0
  1636. data/app/assets/components/jquery-ui/ui/effect-size.js +233 -0
  1637. data/app/assets/components/jquery-ui/ui/effect-slide.js +74 -0
  1638. data/app/assets/components/jquery-ui/ui/effect-transfer.js +57 -0
  1639. data/app/assets/components/jquery-ui/ui/effect.js +1301 -0
  1640. data/app/assets/components/jquery-ui/ui/i18n/datepicker-af.js +37 -0
  1641. data/app/assets/components/jquery-ui/ui/i18n/datepicker-ar-DZ.js +37 -0
  1642. data/app/assets/components/jquery-ui/ui/i18n/datepicker-ar.js +38 -0
  1643. data/app/assets/components/jquery-ui/ui/i18n/datepicker-az.js +37 -0
  1644. data/app/assets/components/jquery-ui/ui/i18n/datepicker-be.js +37 -0
  1645. data/app/assets/components/jquery-ui/ui/i18n/datepicker-bg.js +38 -0
  1646. data/app/assets/components/jquery-ui/ui/i18n/datepicker-bs.js +37 -0
  1647. data/app/assets/components/jquery-ui/ui/i18n/datepicker-ca.js +37 -0
  1648. data/app/assets/components/jquery-ui/ui/i18n/datepicker-cs.js +37 -0
  1649. data/app/assets/components/jquery-ui/ui/i18n/datepicker-cy-GB.js +37 -0
  1650. data/app/assets/components/jquery-ui/ui/i18n/datepicker-da.js +37 -0
  1651. data/app/assets/components/jquery-ui/ui/i18n/datepicker-de.js +37 -0
  1652. data/app/assets/components/jquery-ui/ui/i18n/datepicker-el.js +37 -0
  1653. data/app/assets/components/jquery-ui/ui/i18n/datepicker-en-AU.js +37 -0
  1654. data/app/assets/components/jquery-ui/ui/i18n/datepicker-en-GB.js +37 -0
  1655. data/app/assets/components/jquery-ui/ui/i18n/datepicker-en-NZ.js +37 -0
  1656. data/app/assets/components/jquery-ui/ui/i18n/datepicker-eo.js +37 -0
  1657. data/app/assets/components/jquery-ui/ui/i18n/datepicker-es.js +37 -0
  1658. data/app/assets/components/jquery-ui/ui/i18n/datepicker-et.js +37 -0
  1659. data/app/assets/components/jquery-ui/ui/i18n/datepicker-eu.js +36 -0
  1660. data/app/assets/components/jquery-ui/ui/i18n/datepicker-fa.js +73 -0
  1661. data/app/assets/components/jquery-ui/ui/i18n/datepicker-fi.js +37 -0
  1662. data/app/assets/components/jquery-ui/ui/i18n/datepicker-fo.js +37 -0
  1663. data/app/assets/components/jquery-ui/ui/i18n/datepicker-fr-CA.js +37 -0
  1664. data/app/assets/components/jquery-ui/ui/i18n/datepicker-fr-CH.js +37 -0
  1665. data/app/assets/components/jquery-ui/ui/i18n/datepicker-fr.js +39 -0
  1666. data/app/assets/components/jquery-ui/ui/i18n/datepicker-gl.js +37 -0
  1667. data/app/assets/components/jquery-ui/ui/i18n/datepicker-he.js +37 -0
  1668. data/app/assets/components/jquery-ui/ui/i18n/datepicker-hi.js +37 -0
  1669. data/app/assets/components/jquery-ui/ui/i18n/datepicker-hr.js +37 -0
  1670. data/app/assets/components/jquery-ui/ui/i18n/datepicker-hu.js +36 -0
  1671. data/app/assets/components/jquery-ui/ui/i18n/datepicker-hy.js +37 -0
  1672. data/app/assets/components/jquery-ui/ui/i18n/datepicker-id.js +37 -0
  1673. data/app/assets/components/jquery-ui/ui/i18n/datepicker-is.js +37 -0
  1674. data/app/assets/components/jquery-ui/ui/i18n/datepicker-it-CH.js +37 -0
  1675. data/app/assets/components/jquery-ui/ui/i18n/datepicker-it.js +37 -0
  1676. data/app/assets/components/jquery-ui/ui/i18n/datepicker-ja.js +37 -0
  1677. data/app/assets/components/jquery-ui/ui/i18n/datepicker-ka.js +35 -0
  1678. data/app/assets/components/jquery-ui/ui/i18n/datepicker-kk.js +37 -0
  1679. data/app/assets/components/jquery-ui/ui/i18n/datepicker-km.js +37 -0
  1680. data/app/assets/components/jquery-ui/ui/i18n/datepicker-ko.js +37 -0
  1681. data/app/assets/components/jquery-ui/ui/i18n/datepicker-ky.js +38 -0
  1682. data/app/assets/components/jquery-ui/ui/i18n/datepicker-lb.js +37 -0
  1683. data/app/assets/components/jquery-ui/ui/i18n/datepicker-lt.js +37 -0
  1684. data/app/assets/components/jquery-ui/ui/i18n/datepicker-lv.js +37 -0
  1685. data/app/assets/components/jquery-ui/ui/i18n/datepicker-mk.js +37 -0
  1686. data/app/assets/components/jquery-ui/ui/i18n/datepicker-ml.js +37 -0
  1687. data/app/assets/components/jquery-ui/ui/i18n/datepicker-ms.js +37 -0
  1688. data/app/assets/components/jquery-ui/ui/i18n/datepicker-nb.js +36 -0
  1689. data/app/assets/components/jquery-ui/ui/i18n/datepicker-nl-BE.js +37 -0
  1690. data/app/assets/components/jquery-ui/ui/i18n/datepicker-nl.js +37 -0
  1691. data/app/assets/components/jquery-ui/ui/i18n/datepicker-nn.js +36 -0
  1692. data/app/assets/components/jquery-ui/ui/i18n/datepicker-no.js +37 -0
  1693. data/app/assets/components/jquery-ui/ui/i18n/datepicker-pl.js +37 -0
  1694. data/app/assets/components/jquery-ui/ui/i18n/datepicker-pt-BR.js +37 -0
  1695. data/app/assets/components/jquery-ui/ui/i18n/datepicker-pt.js +36 -0
  1696. data/app/assets/components/jquery-ui/ui/i18n/datepicker-rm.js +35 -0
  1697. data/app/assets/components/jquery-ui/ui/i18n/datepicker-ro.js +40 -0
  1698. data/app/assets/components/jquery-ui/ui/i18n/datepicker-ru.js +37 -0
  1699. data/app/assets/components/jquery-ui/ui/i18n/datepicker-sk.js +37 -0
  1700. data/app/assets/components/jquery-ui/ui/i18n/datepicker-sl.js +38 -0
  1701. data/app/assets/components/jquery-ui/ui/i18n/datepicker-sq.js +37 -0
  1702. data/app/assets/components/jquery-ui/ui/i18n/datepicker-sr-SR.js +37 -0
  1703. data/app/assets/components/jquery-ui/ui/i18n/datepicker-sr.js +37 -0
  1704. data/app/assets/components/jquery-ui/ui/i18n/datepicker-sv.js +37 -0
  1705. data/app/assets/components/jquery-ui/ui/i18n/datepicker-ta.js +37 -0
  1706. data/app/assets/components/jquery-ui/ui/i18n/datepicker-th.js +37 -0
  1707. data/app/assets/components/jquery-ui/ui/i18n/datepicker-tj.js +37 -0
  1708. data/app/assets/components/jquery-ui/ui/i18n/datepicker-tr.js +37 -0
  1709. data/app/assets/components/jquery-ui/ui/i18n/datepicker-uk.js +38 -0
  1710. data/app/assets/components/jquery-ui/ui/i18n/datepicker-vi.js +37 -0
  1711. data/app/assets/components/jquery-ui/ui/i18n/datepicker-zh-CN.js +37 -0
  1712. data/app/assets/components/jquery-ui/ui/i18n/datepicker-zh-HK.js +37 -0
  1713. data/app/assets/components/jquery-ui/ui/i18n/datepicker-zh-TW.js +37 -0
  1714. data/app/assets/components/jquery-ui/ui/menu.js +646 -0
  1715. data/app/assets/components/jquery-ui/ui/minified/accordion.min.js +4 -0
  1716. data/app/assets/components/jquery-ui/ui/minified/autocomplete.min.js +4 -0
  1717. data/app/assets/components/jquery-ui/ui/minified/button.min.js +4 -0
  1718. data/app/assets/components/jquery-ui/ui/minified/core.min.js +4 -0
  1719. data/app/assets/components/jquery-ui/ui/minified/datepicker.min.js +5 -0
  1720. data/app/assets/components/jquery-ui/ui/minified/dialog.min.js +4 -0
  1721. data/app/assets/components/jquery-ui/ui/minified/draggable.min.js +4 -0
  1722. data/app/assets/components/jquery-ui/ui/minified/droppable.min.js +4 -0
  1723. data/app/assets/components/jquery-ui/ui/minified/effect-blind.min.js +4 -0
  1724. data/app/assets/components/jquery-ui/ui/minified/effect-bounce.min.js +4 -0
  1725. data/app/assets/components/jquery-ui/ui/minified/effect-clip.min.js +4 -0
  1726. data/app/assets/components/jquery-ui/ui/minified/effect-drop.min.js +4 -0
  1727. data/app/assets/components/jquery-ui/ui/minified/effect-explode.min.js +4 -0
  1728. data/app/assets/components/jquery-ui/ui/minified/effect-fade.min.js +4 -0
  1729. data/app/assets/components/jquery-ui/ui/minified/effect-fold.min.js +4 -0
  1730. data/app/assets/components/jquery-ui/ui/minified/effect-highlight.min.js +4 -0
  1731. data/app/assets/components/jquery-ui/ui/minified/effect-puff.min.js +4 -0
  1732. data/app/assets/components/jquery-ui/ui/minified/effect-pulsate.min.js +4 -0
  1733. data/app/assets/components/jquery-ui/ui/minified/effect-scale.min.js +4 -0
  1734. data/app/assets/components/jquery-ui/ui/minified/effect-shake.min.js +4 -0
  1735. data/app/assets/components/jquery-ui/ui/minified/effect-size.min.js +4 -0
  1736. data/app/assets/components/jquery-ui/ui/minified/effect-slide.min.js +4 -0
  1737. data/app/assets/components/jquery-ui/ui/minified/effect-transfer.min.js +4 -0
  1738. data/app/assets/components/jquery-ui/ui/minified/effect.min.js +4 -0
  1739. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-af.min.js +4 -0
  1740. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-ar-DZ.min.js +4 -0
  1741. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-ar.min.js +4 -0
  1742. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-az.min.js +4 -0
  1743. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-be.min.js +4 -0
  1744. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-bg.min.js +4 -0
  1745. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-bs.min.js +4 -0
  1746. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-ca.min.js +4 -0
  1747. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-cs.min.js +4 -0
  1748. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-cy-GB.min.js +4 -0
  1749. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-da.min.js +4 -0
  1750. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-de.min.js +4 -0
  1751. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-el.min.js +4 -0
  1752. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-en-AU.min.js +4 -0
  1753. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-en-GB.min.js +4 -0
  1754. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-en-NZ.min.js +4 -0
  1755. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-eo.min.js +4 -0
  1756. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-es.min.js +4 -0
  1757. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-et.min.js +4 -0
  1758. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-eu.min.js +4 -0
  1759. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-fa.min.js +4 -0
  1760. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-fi.min.js +4 -0
  1761. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-fo.min.js +4 -0
  1762. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-fr-CA.min.js +4 -0
  1763. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-fr-CH.min.js +4 -0
  1764. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-fr.min.js +4 -0
  1765. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-gl.min.js +4 -0
  1766. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-he.min.js +4 -0
  1767. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-hi.min.js +4 -0
  1768. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-hr.min.js +4 -0
  1769. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-hu.min.js +4 -0
  1770. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-hy.min.js +4 -0
  1771. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-id.min.js +4 -0
  1772. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-is.min.js +4 -0
  1773. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-it-CH.min.js +4 -0
  1774. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-it.min.js +4 -0
  1775. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-ja.min.js +4 -0
  1776. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-ka.min.js +4 -0
  1777. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-kk.min.js +4 -0
  1778. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-km.min.js +4 -0
  1779. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-ko.min.js +4 -0
  1780. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-ky.min.js +4 -0
  1781. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-lb.min.js +4 -0
  1782. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-lt.min.js +4 -0
  1783. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-lv.min.js +4 -0
  1784. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-mk.min.js +4 -0
  1785. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-ml.min.js +4 -0
  1786. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-ms.min.js +4 -0
  1787. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-nb.min.js +4 -0
  1788. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-nl-BE.min.js +4 -0
  1789. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-nl.min.js +4 -0
  1790. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-nn.min.js +4 -0
  1791. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-no.min.js +4 -0
  1792. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-pl.min.js +4 -0
  1793. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-pt-BR.min.js +4 -0
  1794. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-pt.min.js +4 -0
  1795. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-rm.min.js +4 -0
  1796. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-ro.min.js +4 -0
  1797. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-ru.min.js +4 -0
  1798. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-sk.min.js +4 -0
  1799. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-sl.min.js +4 -0
  1800. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-sq.min.js +4 -0
  1801. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-sr-SR.min.js +4 -0
  1802. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-sr.min.js +4 -0
  1803. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-sv.min.js +4 -0
  1804. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-ta.min.js +4 -0
  1805. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-th.min.js +4 -0
  1806. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-tj.min.js +4 -0
  1807. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-tr.min.js +4 -0
  1808. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-uk.min.js +4 -0
  1809. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-vi.min.js +4 -0
  1810. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-zh-CN.min.js +4 -0
  1811. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-zh-HK.min.js +4 -0
  1812. data/app/assets/components/jquery-ui/ui/minified/i18n/datepicker-zh-TW.min.js +4 -0
  1813. data/app/assets/components/jquery-ui/ui/minified/menu.min.js +4 -0
  1814. data/app/assets/components/jquery-ui/ui/minified/mouse.min.js +4 -0
  1815. data/app/assets/components/jquery-ui/ui/minified/position.min.js +4 -0
  1816. data/app/assets/components/jquery-ui/ui/minified/progressbar.min.js +4 -0
  1817. data/app/assets/components/jquery-ui/ui/minified/resizable.min.js +4 -0
  1818. data/app/assets/components/jquery-ui/ui/minified/selectable.min.js +4 -0
  1819. data/app/assets/components/jquery-ui/ui/minified/selectmenu.min.js +4 -0
  1820. data/app/assets/components/jquery-ui/ui/minified/slider.min.js +4 -0
  1821. data/app/assets/components/jquery-ui/ui/minified/sortable.min.js +4 -0
  1822. data/app/assets/components/jquery-ui/ui/minified/spinner.min.js +4 -0
  1823. data/app/assets/components/jquery-ui/ui/minified/tabs.min.js +4 -0
  1824. data/app/assets/components/jquery-ui/ui/minified/tooltip.min.js +4 -0
  1825. data/app/assets/components/jquery-ui/ui/minified/widget.min.js +4 -0
  1826. data/app/assets/components/jquery-ui/ui/mouse.js +199 -0
  1827. data/app/assets/components/jquery-ui/ui/position.js +517 -0
  1828. data/app/assets/components/jquery-ui/ui/progressbar.js +159 -0
  1829. data/app/assets/components/jquery-ui/ui/resizable.js +1152 -0
  1830. data/app/assets/components/jquery-ui/ui/selectable.js +287 -0
  1831. data/app/assets/components/jquery-ui/ui/selectmenu.js +615 -0
  1832. data/app/assets/components/jquery-ui/ui/slider.js +717 -0
  1833. data/app/assets/components/jquery-ui/ui/sortable.js +1315 -0
  1834. data/app/assets/components/jquery-ui/ui/spinner.js +514 -0
  1835. data/app/assets/components/jquery-ui/ui/tabs.js +886 -0
  1836. data/app/assets/components/jquery-ui/ui/tooltip.js +473 -0
  1837. data/app/assets/components/jquery-ui/ui/widget.js +558 -0
  1838. data/app/assets/components/jquery-validation/.bower.json +40 -0
  1839. data/app/assets/components/jquery-validation/CONTRIBUTING.md +53 -0
  1840. data/app/assets/components/jquery-validation/Gruntfile.js +186 -0
  1841. data/app/assets/components/jquery-validation/LICENSE.md +22 -0
  1842. data/app/assets/components/jquery-validation/README.md +65 -0
  1843. data/app/assets/components/jquery-validation/bower.json +31 -0
  1844. data/app/assets/components/jquery-validation/build/release.js +43 -0
  1845. data/app/assets/components/jquery-validation/changelog.md +534 -0
  1846. data/app/assets/components/jquery-validation/dist/additional-methods.js +998 -0
  1847. data/app/assets/components/jquery-validation/dist/additional-methods.min.js +4 -0
  1848. data/app/assets/components/jquery-validation/dist/jquery.validate.js +1398 -0
  1849. data/app/assets/components/jquery-validation/dist/jquery.validate.min.js +4 -0
  1850. data/app/assets/components/jquery-validation/package.json +57 -0
  1851. data/app/assets/components/jquery-validation/src/additional/accept.js +33 -0
  1852. data/app/assets/components/jquery-validation/src/additional/additional.js +24 -0
  1853. data/app/assets/components/jquery-validation/src/additional/alphanumeric.js +3 -0
  1854. data/app/assets/components/jquery-validation/src/additional/bankaccountNL.js +25 -0
  1855. data/app/assets/components/jquery-validation/src/additional/bankorgiroaccountNL.js +5 -0
  1856. data/app/assets/components/jquery-validation/src/additional/bic.js +16 -0
  1857. data/app/assets/components/jquery-validation/src/additional/cifES.js +61 -0
  1858. data/app/assets/components/jquery-validation/src/additional/cpfBR.js +57 -0
  1859. data/app/assets/components/jquery-validation/src/additional/creditcardtypes.js +69 -0
  1860. data/app/assets/components/jquery-validation/src/additional/currency.js +41 -0
  1861. data/app/assets/components/jquery-validation/src/additional/dateFA.js +3 -0
  1862. data/app/assets/components/jquery-validation/src/additional/dateITA.js +39 -0
  1863. data/app/assets/components/jquery-validation/src/additional/dateNL.js +3 -0
  1864. data/app/assets/components/jquery-validation/src/additional/extension.js +5 -0
  1865. data/app/assets/components/jquery-validation/src/additional/giroaccountNL.js +6 -0
  1866. data/app/assets/components/jquery-validation/src/additional/iban.js +122 -0
  1867. data/app/assets/components/jquery-validation/src/additional/integer.js +3 -0
  1868. data/app/assets/components/jquery-validation/src/additional/ipv4.js +3 -0
  1869. data/app/assets/components/jquery-validation/src/additional/ipv6.js +3 -0
  1870. data/app/assets/components/jquery-validation/src/additional/lettersonly.js +3 -0
  1871. data/app/assets/components/jquery-validation/src/additional/letterswithbasicpunc.js +3 -0
  1872. data/app/assets/components/jquery-validation/src/additional/mobileNL.js +3 -0
  1873. data/app/assets/components/jquery-validation/src/additional/mobileUK.js +13 -0
  1874. data/app/assets/components/jquery-validation/src/additional/nieES.js +34 -0
  1875. data/app/assets/components/jquery-validation/src/additional/nifES.js +25 -0
  1876. data/app/assets/components/jquery-validation/src/additional/notEqualTo.js +3 -0
  1877. data/app/assets/components/jquery-validation/src/additional/nowhitespace.js +3 -0
  1878. data/app/assets/components/jquery-validation/src/additional/pattern.js +22 -0
  1879. data/app/assets/components/jquery-validation/src/additional/phoneNL.js +6 -0
  1880. data/app/assets/components/jquery-validation/src/additional/phoneUK.js +13 -0
  1881. data/app/assets/components/jquery-validation/src/additional/phoneUS.js +21 -0
  1882. data/app/assets/components/jquery-validation/src/additional/phonesUK.js +14 -0
  1883. data/app/assets/components/jquery-validation/src/additional/postalCodeCA.js +16 -0
  1884. data/app/assets/components/jquery-validation/src/additional/postalcodeBR.js +11 -0
  1885. data/app/assets/components/jquery-validation/src/additional/postalcodeIT.js +4 -0
  1886. data/app/assets/components/jquery-validation/src/additional/postalcodeNL.js +3 -0
  1887. data/app/assets/components/jquery-validation/src/additional/postcodeUK.js +4 -0
  1888. data/app/assets/components/jquery-validation/src/additional/require_from_group.js +37 -0
  1889. data/app/assets/components/jquery-validation/src/additional/skip_or_fill_minimum.js +43 -0
  1890. data/app/assets/components/jquery-validation/src/additional/statesUS.js +58 -0
  1891. data/app/assets/components/jquery-validation/src/additional/strippedminlength.js +4 -0
  1892. data/app/assets/components/jquery-validation/src/additional/time.js +3 -0
  1893. data/app/assets/components/jquery-validation/src/additional/time12h.js +3 -0
  1894. data/app/assets/components/jquery-validation/src/additional/url2.js +4 -0
  1895. data/app/assets/components/jquery-validation/src/additional/vinUS.js +54 -0
  1896. data/app/assets/components/jquery-validation/src/additional/zipcodeUS.js +3 -0
  1897. data/app/assets/components/jquery-validation/src/additional/ziprange.js +3 -0
  1898. data/app/assets/components/jquery-validation/src/ajax.js +33 -0
  1899. data/app/assets/components/jquery-validation/src/core.js +1346 -0
  1900. data/app/assets/components/jquery-validation/src/localization/messages_ar.js +23 -0
  1901. data/app/assets/components/jquery-validation/src/localization/messages_bg.js +23 -0
  1902. data/app/assets/components/jquery-validation/src/localization/messages_bn_BD.js +23 -0
  1903. data/app/assets/components/jquery-validation/src/localization/messages_ca.js +23 -0
  1904. data/app/assets/components/jquery-validation/src/localization/messages_cs.js +23 -0
  1905. data/app/assets/components/jquery-validation/src/localization/messages_da.js +20 -0
  1906. data/app/assets/components/jquery-validation/src/localization/messages_de.js +20 -0
  1907. data/app/assets/components/jquery-validation/src/localization/messages_el.js +23 -0
  1908. data/app/assets/components/jquery-validation/src/localization/messages_es.js +26 -0
  1909. data/app/assets/components/jquery-validation/src/localization/messages_es_AR.js +27 -0
  1910. data/app/assets/components/jquery-validation/src/localization/messages_es_PE.js +27 -0
  1911. data/app/assets/components/jquery-validation/src/localization/messages_et.js +21 -0
  1912. data/app/assets/components/jquery-validation/src/localization/messages_eu.js +23 -0
  1913. data/app/assets/components/jquery-validation/src/localization/messages_fa.js +26 -0
  1914. data/app/assets/components/jquery-validation/src/localization/messages_fi.js +21 -0
  1915. data/app/assets/components/jquery-validation/src/localization/messages_fr.js +49 -0
  1916. data/app/assets/components/jquery-validation/src/localization/messages_ge.js +23 -0
  1917. data/app/assets/components/jquery-validation/src/localization/messages_gl.js +28 -0
  1918. data/app/assets/components/jquery-validation/src/localization/messages_he.js +23 -0
  1919. data/app/assets/components/jquery-validation/src/localization/messages_hr.js +23 -0
  1920. data/app/assets/components/jquery-validation/src/localization/messages_hu.js +22 -0
  1921. data/app/assets/components/jquery-validation/src/localization/messages_hy_AM.js +23 -0
  1922. data/app/assets/components/jquery-validation/src/localization/messages_id.js +22 -0
  1923. data/app/assets/components/jquery-validation/src/localization/messages_is.js +21 -0
  1924. data/app/assets/components/jquery-validation/src/localization/messages_it.js +27 -0
  1925. data/app/assets/components/jquery-validation/src/localization/messages_ja.js +23 -0
  1926. data/app/assets/components/jquery-validation/src/localization/messages_ka.js +23 -0
  1927. data/app/assets/components/jquery-validation/src/localization/messages_kk.js +23 -0
  1928. data/app/assets/components/jquery-validation/src/localization/messages_ko.js +23 -0
  1929. data/app/assets/components/jquery-validation/src/localization/messages_lt.js +23 -0
  1930. data/app/assets/components/jquery-validation/src/localization/messages_lv.js +23 -0
  1931. data/app/assets/components/jquery-validation/src/localization/messages_my.js +23 -0
  1932. data/app/assets/components/jquery-validation/src/localization/messages_nl.js +33 -0
  1933. data/app/assets/components/jquery-validation/src/localization/messages_no.js +23 -0
  1934. data/app/assets/components/jquery-validation/src/localization/messages_pl.js +23 -0
  1935. data/app/assets/components/jquery-validation/src/localization/messages_pt_BR.js +29 -0
  1936. data/app/assets/components/jquery-validation/src/localization/messages_pt_PT.js +27 -0
  1937. data/app/assets/components/jquery-validation/src/localization/messages_ro.js +23 -0
  1938. data/app/assets/components/jquery-validation/src/localization/messages_ru.js +23 -0
  1939. data/app/assets/components/jquery-validation/src/localization/messages_si.js +23 -0
  1940. data/app/assets/components/jquery-validation/src/localization/messages_sk.js +20 -0
  1941. data/app/assets/components/jquery-validation/src/localization/messages_sl.js +23 -0
  1942. data/app/assets/components/jquery-validation/src/localization/messages_sr.js +23 -0
  1943. data/app/assets/components/jquery-validation/src/localization/messages_sr_lat.js +23 -0
  1944. data/app/assets/components/jquery-validation/src/localization/messages_sv.js +21 -0
  1945. data/app/assets/components/jquery-validation/src/localization/messages_th.js +23 -0
  1946. data/app/assets/components/jquery-validation/src/localization/messages_tj.js +23 -0
  1947. data/app/assets/components/jquery-validation/src/localization/messages_tr.js +24 -0
  1948. data/app/assets/components/jquery-validation/src/localization/messages_uk.js +23 -0
  1949. data/app/assets/components/jquery-validation/src/localization/messages_vi.js +23 -0
  1950. data/app/assets/components/jquery-validation/src/localization/messages_zh.js +23 -0
  1951. data/app/assets/components/jquery-validation/src/localization/messages_zh_TW.js +24 -0
  1952. data/app/assets/components/jquery-validation/src/localization/methods_de.js +12 -0
  1953. data/app/assets/components/jquery-validation/src/localization/methods_es_CL.js +12 -0
  1954. data/app/assets/components/jquery-validation/src/localization/methods_fi.js +12 -0
  1955. data/app/assets/components/jquery-validation/src/localization/methods_nl.js +9 -0
  1956. data/app/assets/components/jquery-validation/src/localization/methods_pt.js +9 -0
  1957. data/app/assets/components/jquery-validation/validation.jquery.json +29 -0
  1958. data/app/assets/components/jquery.easing/.bower.json +36 -0
  1959. data/app/assets/components/jquery.easing/README.md +9 -0
  1960. data/app/assets/components/jquery.easing/bower.json +27 -0
  1961. data/app/assets/components/jquery.easing/js/jquery.easing.compatibility.js +58 -0
  1962. data/app/assets/components/jquery.easing/js/jquery.easing.js +205 -0
  1963. data/app/assets/components/jquery.easing/js/jquery.easing.min.js +1 -0
  1964. data/app/assets/components/jquery.easy-pie-chart/.bower.json +29 -0
  1965. data/app/assets/components/jquery.easy-pie-chart/.travis.yml +7 -0
  1966. data/app/assets/components/jquery.easy-pie-chart/Gruntfile.js +188 -0
  1967. data/app/assets/components/jquery.easy-pie-chart/Readme.md +268 -0
  1968. data/app/assets/components/jquery.easy-pie-chart/bower.json +19 -0
  1969. data/app/assets/components/jquery.easy-pie-chart/changelog.md +80 -0
  1970. data/app/assets/components/jquery.easy-pie-chart/dist/angular.easypiechart.js +397 -0
  1971. data/app/assets/components/jquery.easy-pie-chart/dist/angular.easypiechart.min.js +9 -0
  1972. data/app/assets/components/jquery.easy-pie-chart/dist/easypiechart.js +351 -0
  1973. data/app/assets/components/jquery.easy-pie-chart/dist/easypiechart.min.js +9 -0
  1974. data/app/assets/components/jquery.easy-pie-chart/dist/jquery.easypiechart.js +360 -0
  1975. data/app/assets/components/jquery.easy-pie-chart/dist/jquery.easypiechart.min.js +9 -0
  1976. data/app/assets/components/jquery.easy-pie-chart/docs/README.tmpl.md +32 -0
  1977. data/app/assets/components/jquery.easy-pie-chart/docs/bagdes.md +4 -0
  1978. data/app/assets/components/jquery.easy-pie-chart/docs/browser-support.md +9 -0
  1979. data/app/assets/components/jquery.easy-pie-chart/docs/callbacks.md +20 -0
  1980. data/app/assets/components/jquery.easy-pie-chart/docs/credits.md +1 -0
  1981. data/app/assets/components/jquery.easy-pie-chart/docs/features.md +13 -0
  1982. data/app/assets/components/jquery.easy-pie-chart/docs/get-started.md +68 -0
  1983. data/app/assets/components/jquery.easy-pie-chart/docs/options.md +59 -0
  1984. data/app/assets/components/jquery.easy-pie-chart/docs/plugin-api.md +52 -0
  1985. data/app/assets/components/jquery.easy-pie-chart/docs/test.md +1 -0
  1986. data/app/assets/components/jquery.easy-pie-chart/karma.conf.coffee +53 -0
  1987. data/app/assets/components/jquery.easy-pie-chart/package.json +51 -0
  1988. data/app/assets/components/jquery.easy-pie-chart/src/angular.directive.js +48 -0
  1989. data/app/assets/components/jquery.easy-pie-chart/src/easypiechart.js +134 -0
  1990. data/app/assets/components/jquery.easy-pie-chart/src/jquery.plugin.js +10 -0
  1991. data/app/assets/components/jquery.easy-pie-chart/src/renderer/canvas.js +190 -0
  1992. data/app/assets/components/jquery.easy-pie-chart/test/polyfills/bind.js +22 -0
  1993. data/app/assets/components/jquery.easy-pie-chart/test/unit/angular.directive.js +68 -0
  1994. data/app/assets/components/jquery.easy-pie-chart/test/unit/jquery.js +61 -0
  1995. data/app/assets/components/jquery.inputmask/.bower.json +40 -0
  1996. data/app/assets/components/jquery.inputmask/bower.json +22 -0
  1997. data/app/assets/components/jquery.inputmask/dist/inputmask/inputmask.js +1386 -0
  1998. data/app/assets/components/jquery.inputmask/dist/jquery.inputmask.bundle.js +2617 -0
  1999. data/app/assets/components/jquery.steps/.bower.json +60 -0
  2000. data/app/assets/components/jquery.steps/bower.json +47 -0
  2001. data/app/assets/components/jquery.steps/build/jquery.steps.js +2042 -0
  2002. data/app/assets/components/jquery.steps/build/jquery.steps.min.js +6 -0
  2003. data/app/assets/components/jquery.steps/demo/css/jquery.steps.css +382 -0
  2004. data/app/assets/components/jquery.steps/demo/css/main.css +300 -0
  2005. data/app/assets/components/jquery.steps/demo/css/normalize.css +533 -0
  2006. data/app/assets/components/jquery.steps/demo/index.html +85 -0
  2007. data/app/assets/components/jquery.steps/demo/tabs.html +90 -0
  2008. data/app/assets/components/jquery.steps/demo/vertical.html +86 -0
  2009. data/app/assets/components/jqueryui-touch-punch/.bower.json +19 -0
  2010. data/app/assets/components/jqueryui-touch-punch/README.md +41 -0
  2011. data/app/assets/components/jqueryui-touch-punch/bower.json +10 -0
  2012. data/app/assets/components/jqueryui-touch-punch/jquery.ui.touch-punch.js +180 -0
  2013. data/app/assets/components/jqueryui-touch-punch/jquery.ui.touch-punch.min.js +11 -0
  2014. data/app/assets/components/loaders.css/.bower.json +32 -0
  2015. data/app/assets/components/loaders.css/Gulpfile.coffee +36 -0
  2016. data/app/assets/components/loaders.css/README.md +106 -0
  2017. data/app/assets/components/loaders.css/bower.json +23 -0
  2018. data/app/assets/components/loaders.css/demo/demo.css +89 -0
  2019. data/app/assets/components/loaders.css/demo/demo.html +234 -0
  2020. data/app/assets/components/loaders.css/demo/src/demo.jade +205 -0
  2021. data/app/assets/components/loaders.css/demo/src/demo.scss +125 -0
  2022. data/app/assets/components/loaders.css/loaders.css +1882 -0
  2023. data/app/assets/components/loaders.css/loaders.css.js +40 -0
  2024. data/app/assets/components/loaders.css/loaders.min.css +1 -0
  2025. data/app/assets/components/loaders.css/package.json +33 -0
  2026. data/app/assets/components/loaders.css/src/_functions.scss +3 -0
  2027. data/app/assets/components/loaders.css/src/_mixins.scss +25 -0
  2028. data/app/assets/components/loaders.css/src/_variables.scss +6 -0
  2029. data/app/assets/components/loaders.css/src/animations/ball-beat.scss +28 -0
  2030. data/app/assets/components/loaders.css/src/animations/ball-clip-rotate-multiple.scss +44 -0
  2031. data/app/assets/components/loaders.css/src/animations/ball-clip-rotate-pulse.scss +60 -0
  2032. data/app/assets/components/loaders.css/src/animations/ball-clip-rotate.scss +30 -0
  2033. data/app/assets/components/loaders.css/src/animations/ball-grid-beat.scss +37 -0
  2034. data/app/assets/components/loaders.css/src/animations/ball-grid-pulse.scss +42 -0
  2035. data/app/assets/components/loaders.css/src/animations/ball-pulse-rise.scss +64 -0
  2036. data/app/assets/components/loaders.css/src/animations/ball-pulse-round.scss +24 -0
  2037. data/app/assets/components/loaders.css/src/animations/ball-pulse-sync.scss +36 -0
  2038. data/app/assets/components/loaders.css/src/animations/ball-pulse.scss +38 -0
  2039. data/app/assets/components/loaders.css/src/animations/ball-rotate.scss +47 -0
  2040. data/app/assets/components/loaders.css/src/animations/ball-scale-multiple.scss +48 -0
  2041. data/app/assets/components/loaders.css/src/animations/ball-scale-ripple-multiple.scss +47 -0
  2042. data/app/assets/components/loaders.css/src/animations/ball-scale-ripple.scss +29 -0
  2043. data/app/assets/components/loaders.css/src/animations/ball-scale.scss +25 -0
  2044. data/app/assets/components/loaders.css/src/animations/ball-spin-fade-loader.scss +68 -0
  2045. data/app/assets/components/loaders.css/src/animations/ball-spin-loader.scss +65 -0
  2046. data/app/assets/components/loaders.css/src/animations/ball-triangle-trace.scss +83 -0
  2047. data/app/assets/components/loaders.css/src/animations/ball-zig-zag-deflect.scss +70 -0
  2048. data/app/assets/components/loaders.css/src/animations/ball-zig-zag.scss +51 -0
  2049. data/app/assets/components/loaders.css/src/animations/cube-transition.scss +41 -0
  2050. data/app/assets/components/loaders.css/src/animations/line-scale-pulse-out-rapid.scss +33 -0
  2051. data/app/assets/components/loaders.css/src/animations/line-scale-pulse-out.scss +35 -0
  2052. data/app/assets/components/loaders.css/src/animations/line-scale-random.scss +38 -0
  2053. data/app/assets/components/loaders.css/src/animations/line-scale.scss +34 -0
  2054. data/app/assets/components/loaders.css/src/animations/line-spin-fade-loader.scss +73 -0
  2055. data/app/assets/components/loaders.css/src/animations/pacman.scss +92 -0
  2056. data/app/assets/components/loaders.css/src/animations/semi-circle-spin.scss +34 -0
  2057. data/app/assets/components/loaders.css/src/animations/square-spin.scss +30 -0
  2058. data/app/assets/components/loaders.css/src/animations/triangle-skew-spin.scss +33 -0
  2059. data/app/assets/components/loaders.css/src/loaders.scss +54 -0
  2060. data/app/assets/components/matchMedia/.bower.json +21 -0
  2061. data/app/assets/components/matchMedia/LICENSE.txt +7 -0
  2062. data/app/assets/components/matchMedia/README.md +37 -0
  2063. data/app/assets/components/matchMedia/bower.json +12 -0
  2064. data/app/assets/components/matchMedia/matchMedia.addListener.js +75 -0
  2065. data/app/assets/components/matchMedia/matchMedia.js +46 -0
  2066. data/app/assets/components/matchMedia/test/body.html +75 -0
  2067. data/app/assets/components/matchMedia/test/head.html +74 -0
  2068. data/app/assets/components/matchMedia/test/iframe_body.html +9 -0
  2069. data/app/assets/components/matchMedia/test/iframe_head.html +9 -0
  2070. data/app/assets/components/matchMedia/test/lib/JSLitmus.js +649 -0
  2071. data/app/assets/components/mjolnic-bootstrap-colorpicker/.bower.json +30 -0
  2072. data/app/assets/components/mjolnic-bootstrap-colorpicker/CONTRIBUTING.md +37 -0
  2073. data/app/assets/components/mjolnic-bootstrap-colorpicker/README.md +22 -0
  2074. data/app/assets/components/mjolnic-bootstrap-colorpicker/bower.json +20 -0
  2075. data/app/assets/components/mjolnic-bootstrap-colorpicker/dist/css/bootstrap-colorpicker.css +251 -0
  2076. data/app/assets/components/mjolnic-bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css +9 -0
  2077. data/app/assets/components/mjolnic-bootstrap-colorpicker/dist/img/bootstrap-colorpicker/alpha-horizontal.png +0 -0
  2078. data/app/assets/components/mjolnic-bootstrap-colorpicker/dist/img/bootstrap-colorpicker/alpha.png +0 -0
  2079. data/app/assets/components/mjolnic-bootstrap-colorpicker/dist/img/bootstrap-colorpicker/hue-horizontal.png +0 -0
  2080. data/app/assets/components/mjolnic-bootstrap-colorpicker/dist/img/bootstrap-colorpicker/hue.png +0 -0
  2081. data/app/assets/components/mjolnic-bootstrap-colorpicker/dist/img/bootstrap-colorpicker/saturation.png +0 -0
  2082. data/app/assets/components/mjolnic-bootstrap-colorpicker/dist/js/bootstrap-colorpicker.js +1079 -0
  2083. data/app/assets/components/mjolnic-bootstrap-colorpicker/dist/js/bootstrap-colorpicker.min.js +1 -0
  2084. data/app/assets/components/mocha/.bower.json +30 -0
  2085. data/app/assets/components/mocha/History.md +654 -0
  2086. data/app/assets/components/mocha/Readme.md +172 -0
  2087. data/app/assets/components/mocha/bower.json +20 -0
  2088. data/app/assets/components/mocha/media/logo.svg +8 -0
  2089. data/app/assets/components/mocha/mocha.css +270 -0
  2090. data/app/assets/components/mocha/mocha.js +5812 -0
  2091. data/app/assets/components/modernizr/.bower.json +32 -0
  2092. data/app/assets/components/modernizr/bower.json +24 -0
  2093. data/app/assets/components/modernizr/modernizr.custom.js +3 -0
  2094. data/app/assets/components/moment/moment-with-locales.js +13700 -0
  2095. data/app/assets/components/moment/moment.js +4463 -0
  2096. data/app/assets/components/moment-timezone/moment-timezone-with-data-2012-2022.js +1201 -0
  2097. data/app/assets/components/moment-timezone/moment-timezone-with-data.js +1201 -0
  2098. data/app/assets/components/moment-timezone/moment-timezone.js +601 -0
  2099. data/app/assets/components/morris.js/.bower.json +30 -0
  2100. data/app/assets/components/morris.js/.travis.yml +19 -0
  2101. data/app/assets/components/morris.js/Gruntfile.js +90 -0
  2102. data/app/assets/components/morris.js/README.md +234 -0
  2103. data/app/assets/components/morris.js/bower.json +20 -0
  2104. data/app/assets/components/morris.js/bower.travis.json +20 -0
  2105. data/app/assets/components/morris.js/examples/_template.html +18 -0
  2106. data/app/assets/components/morris.js/examples/area-as-line.html +31 -0
  2107. data/app/assets/components/morris.js/examples/area.html +34 -0
  2108. data/app/assets/components/morris.js/examples/bar-colors.html +44 -0
  2109. data/app/assets/components/morris.js/examples/bar-no-axes.html +31 -0
  2110. data/app/assets/components/morris.js/examples/bar.html +32 -0
  2111. data/app/assets/components/morris.js/examples/days.html +37 -0
  2112. data/app/assets/components/morris.js/examples/decimal-custom-hover.html +37 -0
  2113. data/app/assets/components/morris.js/examples/diagonal-xlabels-bar.html +38 -0
  2114. data/app/assets/components/morris.js/examples/diagonal-xlabels.html +38 -0
  2115. data/app/assets/components/morris.js/examples/donut-colors.html +38 -0
  2116. data/app/assets/components/morris.js/examples/donut-formatter.html +27 -0
  2117. data/app/assets/components/morris.js/examples/donut.html +29 -0
  2118. data/app/assets/components/morris.js/examples/dst.html +30 -0
  2119. data/app/assets/components/morris.js/examples/events.html +57 -0
  2120. data/app/assets/components/morris.js/examples/goals.html +33 -0
  2121. data/app/assets/components/morris.js/examples/lib/example.css +13 -0
  2122. data/app/assets/components/morris.js/examples/lib/example.js +4 -0
  2123. data/app/assets/components/morris.js/examples/months-no-smooth.html +38 -0
  2124. data/app/assets/components/morris.js/examples/negative.html +36 -0
  2125. data/app/assets/components/morris.js/examples/no-grid.html +38 -0
  2126. data/app/assets/components/morris.js/examples/non-continuous.html +42 -0
  2127. data/app/assets/components/morris.js/examples/non-date.html +37 -0
  2128. data/app/assets/components/morris.js/examples/quarters.html +54 -0
  2129. data/app/assets/components/morris.js/examples/resize.html +42 -0
  2130. data/app/assets/components/morris.js/examples/stacked_bars.html +31 -0
  2131. data/app/assets/components/morris.js/examples/timestamps.html +38 -0
  2132. data/app/assets/components/morris.js/examples/updating.html +49 -0
  2133. data/app/assets/components/morris.js/examples/weeks.html +53 -0
  2134. data/app/assets/components/morris.js/examples/years.html +37 -0
  2135. data/app/assets/components/morris.js/lib/morris.area.coffee +66 -0
  2136. data/app/assets/components/morris.js/lib/morris.bar.coffee +208 -0
  2137. data/app/assets/components/morris.js/lib/morris.coffee +43 -0
  2138. data/app/assets/components/morris.js/lib/morris.donut.coffee +213 -0
  2139. data/app/assets/components/morris.js/lib/morris.grid.coffee +499 -0
  2140. data/app/assets/components/morris.js/lib/morris.hover.coffee +44 -0
  2141. data/app/assets/components/morris.js/lib/morris.line.coffee +405 -0
  2142. data/app/assets/components/morris.js/morris.css +2 -0
  2143. data/app/assets/components/morris.js/morris.js +1892 -0
  2144. data/app/assets/components/morris.js/morris.min.js +7 -0
  2145. data/app/assets/components/morris.js/package.json +36 -0
  2146. data/app/assets/components/morris.js/spec/lib/area/area_spec.coffee +60 -0
  2147. data/app/assets/components/morris.js/spec/lib/bar/bar_spec.coffee +127 -0
  2148. data/app/assets/components/morris.js/spec/lib/bar/colours.coffee +36 -0
  2149. data/app/assets/components/morris.js/spec/lib/commas_spec.coffee +38 -0
  2150. data/app/assets/components/morris.js/spec/lib/donut/donut_spec.coffee +76 -0
  2151. data/app/assets/components/morris.js/spec/lib/grid/auto_grid_lines_spec.coffee +25 -0
  2152. data/app/assets/components/morris.js/spec/lib/grid/set_data_spec.coffee +208 -0
  2153. data/app/assets/components/morris.js/spec/lib/grid/y_label_format_spec.coffee +15 -0
  2154. data/app/assets/components/morris.js/spec/lib/hover_spec.coffee +64 -0
  2155. data/app/assets/components/morris.js/spec/lib/label_series_spec.coffee +186 -0
  2156. data/app/assets/components/morris.js/spec/lib/line/line_spec.coffee +211 -0
  2157. data/app/assets/components/morris.js/spec/lib/pad_spec.coffee +17 -0
  2158. data/app/assets/components/morris.js/spec/lib/parse_time_spec.coffee +35 -0
  2159. data/app/assets/components/morris.js/spec/specs.html +34 -0
  2160. data/app/assets/components/morris.js/spec/support/placeholder.coffee +6 -0
  2161. data/app/assets/components/morris.js/spec/viz/examples.js +56 -0
  2162. data/app/assets/components/morris.js/spec/viz/exemplary/area0.png +0 -0
  2163. data/app/assets/components/morris.js/spec/viz/exemplary/bar0.png +0 -0
  2164. data/app/assets/components/morris.js/spec/viz/exemplary/line0.png +0 -0
  2165. data/app/assets/components/morris.js/spec/viz/exemplary/stacked_bar0.png +0 -0
  2166. data/app/assets/components/morris.js/spec/viz/run.sh +32 -0
  2167. data/app/assets/components/morris.js/spec/viz/test.html +34 -0
  2168. data/app/assets/components/morris.js/spec/viz/visual_specs.js +66 -0
  2169. data/app/assets/components/nestable/.bower.json +13 -0
  2170. data/app/assets/components/nestable/README.md +107 -0
  2171. data/app/assets/components/nestable/index.html +304 -0
  2172. data/app/assets/components/nestable/jquery.nestable.js +484 -0
  2173. data/app/assets/components/parsleyjs/.bower.json +50 -0
  2174. data/app/assets/components/parsleyjs/bower.json +39 -0
  2175. data/app/assets/components/parsleyjs/dist/parsley.js +2230 -0
  2176. data/app/assets/components/parsleyjs/dist/parsley.min.js +9 -0
  2177. data/app/assets/components/parsleyjs/dist/parsley.remote.js +2502 -0
  2178. data/app/assets/components/parsleyjs/dist/parsley.remote.min.js +9 -0
  2179. data/app/assets/components/parsleyjs/src/config.js +35 -0
  2180. data/app/assets/components/parsleyjs/src/extra/plugin/bind.js +47 -0
  2181. data/app/assets/components/parsleyjs/src/extra/plugin/remote.js +271 -0
  2182. data/app/assets/components/parsleyjs/src/extra/validator/comparison.js +52 -0
  2183. data/app/assets/components/parsleyjs/src/extra/validator/dateiso.js +11 -0
  2184. data/app/assets/components/parsleyjs/src/extra/validator/luhn.js +28 -0
  2185. data/app/assets/components/parsleyjs/src/extra/validator/notequalto.js +13 -0
  2186. data/app/assets/components/parsleyjs/src/extra/validator/words.js +32 -0
  2187. data/app/assets/components/parsleyjs/src/i18n/ar.js +33 -0
  2188. data/app/assets/components/parsleyjs/src/i18n/bg.js +33 -0
  2189. data/app/assets/components/parsleyjs/src/i18n/ca.js +33 -0
  2190. data/app/assets/components/parsleyjs/src/i18n/cs.extra.js +13 -0
  2191. data/app/assets/components/parsleyjs/src/i18n/cs.js +33 -0
  2192. data/app/assets/components/parsleyjs/src/i18n/da.js +33 -0
  2193. data/app/assets/components/parsleyjs/src/i18n/de.extra.js +13 -0
  2194. data/app/assets/components/parsleyjs/src/i18n/de.js +33 -0
  2195. data/app/assets/components/parsleyjs/src/i18n/en.extra.js +14 -0
  2196. data/app/assets/components/parsleyjs/src/i18n/en.js +33 -0
  2197. data/app/assets/components/parsleyjs/src/i18n/es.js +32 -0
  2198. data/app/assets/components/parsleyjs/src/i18n/fa.js +33 -0
  2199. data/app/assets/components/parsleyjs/src/i18n/fi.extra.js +6 -0
  2200. data/app/assets/components/parsleyjs/src/i18n/fi.js +33 -0
  2201. data/app/assets/components/parsleyjs/src/i18n/fr.extra.js +7 -0
  2202. data/app/assets/components/parsleyjs/src/i18n/fr.js +33 -0
  2203. data/app/assets/components/parsleyjs/src/i18n/he.extra.js +6 -0
  2204. data/app/assets/components/parsleyjs/src/i18n/he.js +33 -0
  2205. data/app/assets/components/parsleyjs/src/i18n/id.extra.js +6 -0
  2206. data/app/assets/components/parsleyjs/src/i18n/id.js +33 -0
  2207. data/app/assets/components/parsleyjs/src/i18n/it.extra.js +6 -0
  2208. data/app/assets/components/parsleyjs/src/i18n/it.js +33 -0
  2209. data/app/assets/components/parsleyjs/src/i18n/ja.js +33 -0
  2210. data/app/assets/components/parsleyjs/src/i18n/ko.js +33 -0
  2211. data/app/assets/components/parsleyjs/src/i18n/ms_MY.extra.js +13 -0
  2212. data/app/assets/components/parsleyjs/src/i18n/ms_MY.js +33 -0
  2213. data/app/assets/components/parsleyjs/src/i18n/nl.extra.js +11 -0
  2214. data/app/assets/components/parsleyjs/src/i18n/nl.js +30 -0
  2215. data/app/assets/components/parsleyjs/src/i18n/no.js +33 -0
  2216. data/app/assets/components/parsleyjs/src/i18n/pl.js +33 -0
  2217. data/app/assets/components/parsleyjs/src/i18n/pt-br.js +33 -0
  2218. data/app/assets/components/parsleyjs/src/i18n/ro.extra.js +14 -0
  2219. data/app/assets/components/parsleyjs/src/i18n/ro.js +33 -0
  2220. data/app/assets/components/parsleyjs/src/i18n/ru.extra.js +9 -0
  2221. data/app/assets/components/parsleyjs/src/i18n/ru.js +38 -0
  2222. data/app/assets/components/parsleyjs/src/i18n/sq.js +33 -0
  2223. data/app/assets/components/parsleyjs/src/i18n/sv.extra.js +6 -0
  2224. data/app/assets/components/parsleyjs/src/i18n/sv.js +33 -0
  2225. data/app/assets/components/parsleyjs/src/i18n/th.js +33 -0
  2226. data/app/assets/components/parsleyjs/src/i18n/tr.js +33 -0
  2227. data/app/assets/components/parsleyjs/src/i18n/uk.extra.js +9 -0
  2228. data/app/assets/components/parsleyjs/src/i18n/uk.js +38 -0
  2229. data/app/assets/components/parsleyjs/src/i18n/zh_cn.extra.js +6 -0
  2230. data/app/assets/components/parsleyjs/src/i18n/zh_cn.js +33 -0
  2231. data/app/assets/components/parsleyjs/src/i18n/zh_tw.js +33 -0
  2232. data/app/assets/components/parsleyjs/src/main.js +4 -0
  2233. data/app/assets/components/parsleyjs/src/parsley/abstract.js +128 -0
  2234. data/app/assets/components/parsleyjs/src/parsley/defaults.js +65 -0
  2235. data/app/assets/components/parsleyjs/src/parsley/factory/constraint.js +41 -0
  2236. data/app/assets/components/parsleyjs/src/parsley/factory.js +164 -0
  2237. data/app/assets/components/parsleyjs/src/parsley/field.js +299 -0
  2238. data/app/assets/components/parsleyjs/src/parsley/form.js +149 -0
  2239. data/app/assets/components/parsleyjs/src/parsley/multiple.js +83 -0
  2240. data/app/assets/components/parsleyjs/src/parsley/pubsub.js +96 -0
  2241. data/app/assets/components/parsleyjs/src/parsley/ui.js +408 -0
  2242. data/app/assets/components/parsleyjs/src/parsley/utils.js +118 -0
  2243. data/app/assets/components/parsleyjs/src/parsley/validator.js +287 -0
  2244. data/app/assets/components/parsleyjs/src/parsley.css +33 -0
  2245. data/app/assets/components/parsleyjs/src/parsley.js +104 -0
  2246. data/app/assets/components/parsleyjs/src/wrap/append.js +2 -0
  2247. data/app/assets/components/parsleyjs/src/wrap/prepend.js +23 -0
  2248. data/app/assets/components/raphael/.bower.json +29 -0
  2249. data/app/assets/components/raphael/bower.json +19 -0
  2250. data/app/assets/components/raphael/dev/amdDev.js +6 -0
  2251. data/app/assets/components/raphael/dev/index.js +8 -0
  2252. data/app/assets/components/raphael/dev/require.js +2053 -0
  2253. data/app/assets/components/raphael/license.txt +21 -0
  2254. data/app/assets/components/raphael/raphael-min.js +11 -0
  2255. data/app/assets/components/raphael/raphael.js +8239 -0
  2256. data/app/assets/components/requirejs/.bower.json +27 -0
  2257. data/app/assets/components/requirejs/README.md +4 -0
  2258. data/app/assets/components/requirejs/bower.json +18 -0
  2259. data/app/assets/components/requirejs/require.js +2103 -0
  2260. data/app/assets/components/rickshaw/.bower.json +14 -0
  2261. data/app/assets/components/rickshaw/.jshintignore +5 -0
  2262. data/app/assets/components/rickshaw/.jshintrc +11 -0
  2263. data/app/assets/components/rickshaw/.rock.yml +4 -0
  2264. data/app/assets/components/rickshaw/CONTRIBUTING.md +9 -0
  2265. data/app/assets/components/rickshaw/README.md +207 -0
  2266. data/app/assets/components/rickshaw/examples/ajax.html +44 -0
  2267. data/app/assets/components/rickshaw/examples/bars.html +52 -0
  2268. data/app/assets/components/rickshaw/examples/colors.html +88 -0
  2269. data/app/assets/components/rickshaw/examples/css/extensions.css +184 -0
  2270. data/app/assets/components/rickshaw/examples/css/lines.css +21 -0
  2271. data/app/assets/components/rickshaw/examples/data/data.json +14 -0
  2272. data/app/assets/components/rickshaw/examples/data/data.jsonp +14 -0
  2273. data/app/assets/components/rickshaw/examples/data/data2.json +14 -0
  2274. data/app/assets/components/rickshaw/examples/data/status.json +1 -0
  2275. data/app/assets/components/rickshaw/examples/extensions.html +280 -0
  2276. data/app/assets/components/rickshaw/examples/fixed.html +54 -0
  2277. data/app/assets/components/rickshaw/examples/formatter.html +83 -0
  2278. data/app/assets/components/rickshaw/examples/gaps.html +46 -0
  2279. data/app/assets/components/rickshaw/examples/hover.html +130 -0
  2280. data/app/assets/components/rickshaw/examples/images/interp_cardinal.png +0 -0
  2281. data/app/assets/components/rickshaw/examples/images/interp_linear.png +0 -0
  2282. data/app/assets/components/rickshaw/examples/images/interp_step.png +0 -0
  2283. data/app/assets/components/rickshaw/examples/images/offset_pct.png +0 -0
  2284. data/app/assets/components/rickshaw/examples/images/offset_stack.png +0 -0
  2285. data/app/assets/components/rickshaw/examples/images/offset_stream.png +0 -0
  2286. data/app/assets/components/rickshaw/examples/images/offset_value.png +0 -0
  2287. data/app/assets/components/rickshaw/examples/images/om_bar.png +0 -0
  2288. data/app/assets/components/rickshaw/examples/images/om_curves.png +0 -0
  2289. data/app/assets/components/rickshaw/examples/images/om_lines.png +0 -0
  2290. data/app/assets/components/rickshaw/examples/images/om_percent.png +0 -0
  2291. data/app/assets/components/rickshaw/examples/images/om_scatter.png +0 -0
  2292. data/app/assets/components/rickshaw/examples/images/om_stack.png +0 -0
  2293. data/app/assets/components/rickshaw/examples/images/om_step.png +0 -0
  2294. data/app/assets/components/rickshaw/examples/images/om_stream.png +0 -0
  2295. data/app/assets/components/rickshaw/examples/inconsistent.html +46 -0
  2296. data/app/assets/components/rickshaw/examples/index.html +241 -0
  2297. data/app/assets/components/rickshaw/examples/js/extensions.js +135 -0
  2298. data/app/assets/components/rickshaw/examples/jsonp.html +58 -0
  2299. data/app/assets/components/rickshaw/examples/legend.html +88 -0
  2300. data/app/assets/components/rickshaw/examples/lineplot.html +34 -0
  2301. data/app/assets/components/rickshaw/examples/lines.html +82 -0
  2302. data/app/assets/components/rickshaw/examples/logscale.html +100 -0
  2303. data/app/assets/components/rickshaw/examples/milliseconds.html +69 -0
  2304. data/app/assets/components/rickshaw/examples/multi.html +102 -0
  2305. data/app/assets/components/rickshaw/examples/negative.html +32 -0
  2306. data/app/assets/components/rickshaw/examples/refresh.html +50 -0
  2307. data/app/assets/components/rickshaw/examples/resize.html +50 -0
  2308. data/app/assets/components/rickshaw/examples/scaled.html +109 -0
  2309. data/app/assets/components/rickshaw/examples/scatterplot.html +46 -0
  2310. data/app/assets/components/rickshaw/examples/screenshots/ajax.png +0 -0
  2311. data/app/assets/components/rickshaw/examples/screenshots/colors.png +0 -0
  2312. data/app/assets/components/rickshaw/examples/screenshots/extensions.png +0 -0
  2313. data/app/assets/components/rickshaw/examples/screenshots/lines.png +0 -0
  2314. data/app/assets/components/rickshaw/examples/screenshots/logscale.png +0 -0
  2315. data/app/assets/components/rickshaw/examples/screenshots/scaled.png +0 -0
  2316. data/app/assets/components/rickshaw/examples/screenshots/scatterplot.png +0 -0
  2317. data/app/assets/components/rickshaw/examples/screenshots/simple.png +0 -0
  2318. data/app/assets/components/rickshaw/examples/screenshots/start.png +0 -0
  2319. data/app/assets/components/rickshaw/examples/screenshots/status.png +0 -0
  2320. data/app/assets/components/rickshaw/examples/screenshots/stops.png +0 -0
  2321. data/app/assets/components/rickshaw/examples/screenshots/y_axis.png +0 -0
  2322. data/app/assets/components/rickshaw/examples/series.html +166 -0
  2323. data/app/assets/components/rickshaw/examples/simple.html +29 -0
  2324. data/app/assets/components/rickshaw/examples/socket.io/README.md +13 -0
  2325. data/app/assets/components/rickshaw/examples/socket.io/app.js +41 -0
  2326. data/app/assets/components/rickshaw/examples/socket.io/package.json +16 -0
  2327. data/app/assets/components/rickshaw/examples/socket.io/socket.io.html +44 -0
  2328. data/app/assets/components/rickshaw/examples/sparse.html +58 -0
  2329. data/app/assets/components/rickshaw/examples/start.html +26 -0
  2330. data/app/assets/components/rickshaw/examples/status.html +58 -0
  2331. data/app/assets/components/rickshaw/examples/stops.html +90 -0
  2332. data/app/assets/components/rickshaw/examples/timescale.html +56 -0
  2333. data/app/assets/components/rickshaw/examples/x_axis.html +80 -0
  2334. data/app/assets/components/rickshaw/examples/y_axis.html +60 -0
  2335. data/app/assets/components/rickshaw/package.json +36 -0
  2336. data/app/assets/components/rickshaw/rickshaw.css +355 -0
  2337. data/app/assets/components/rickshaw/rickshaw.js +4068 -0
  2338. data/app/assets/components/rickshaw/rickshaw.min.css +1 -0
  2339. data/app/assets/components/rickshaw/rickshaw.min.js +3 -0
  2340. data/app/assets/components/rickshaw/src/css/detail.css +105 -0
  2341. data/app/assets/components/rickshaw/src/css/graph.css +177 -0
  2342. data/app/assets/components/rickshaw/src/css/legend.css +73 -0
  2343. data/app/assets/components/rickshaw/src/helpers/endUMD.js +2 -0
  2344. data/app/assets/components/rickshaw/src/helpers/startUMD.js +11 -0
  2345. data/app/assets/components/rickshaw/src/js/Rickshaw.Class.js +204 -0
  2346. data/app/assets/components/rickshaw/src/js/Rickshaw.Color.Palette.js +48 -0
  2347. data/app/assets/components/rickshaw/src/js/Rickshaw.Compat.ClassList.js +135 -0
  2348. data/app/assets/components/rickshaw/src/js/Rickshaw.Fixtures.Color.js +159 -0
  2349. data/app/assets/components/rickshaw/src/js/Rickshaw.Fixtures.Number.js +24 -0
  2350. data/app/assets/components/rickshaw/src/js/Rickshaw.Fixtures.RandomData.js +39 -0
  2351. data/app/assets/components/rickshaw/src/js/Rickshaw.Fixtures.Time.Local.js +131 -0
  2352. data/app/assets/components/rickshaw/src/js/Rickshaw.Fixtures.Time.js +115 -0
  2353. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Ajax.js +74 -0
  2354. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Annotate.js +105 -0
  2355. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Axis.Time.js +85 -0
  2356. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Axis.X.js +118 -0
  2357. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Axis.Y.Scaled.js +60 -0
  2358. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Axis.Y.js +117 -0
  2359. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Behavior.Series.Highlight.js +80 -0
  2360. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Behavior.Series.Order.js +44 -0
  2361. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Behavior.Series.Toggle.js +128 -0
  2362. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.HoverDetail.js +277 -0
  2363. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.JSONP.js +14 -0
  2364. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Legend.js +87 -0
  2365. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.RangeSlider.Preview.js +480 -0
  2366. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.RangeSlider.js +92 -0
  2367. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Renderer.Area.js +101 -0
  2368. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Renderer.Bar.js +112 -0
  2369. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Renderer.Line.js +29 -0
  2370. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Renderer.LinePlot.js +84 -0
  2371. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Renderer.Multi.js +161 -0
  2372. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Renderer.ScatterPlot.js +55 -0
  2373. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Renderer.Stack.js +30 -0
  2374. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Renderer.js +175 -0
  2375. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Smoother.js +78 -0
  2376. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.Socketio.js +11 -0
  2377. data/app/assets/components/rickshaw/src/js/Rickshaw.Graph.js +322 -0
  2378. data/app/assets/components/rickshaw/src/js/Rickshaw.Series.FixedDuration.js +80 -0
  2379. data/app/assets/components/rickshaw/src/js/Rickshaw.Series.js +165 -0
  2380. data/app/assets/components/rickshaw/src/js/Rickshaw.js +36 -0
  2381. data/app/assets/components/rickshaw/tests/Rickshaw.Class.js +52 -0
  2382. data/app/assets/components/rickshaw/tests/Rickshaw.Fixtures.Time.Local.js +66 -0
  2383. data/app/assets/components/rickshaw/tests/Rickshaw.Fixtures.Time.js +64 -0
  2384. data/app/assets/components/rickshaw/tests/Rickshaw.Graph.Axis.X.js +44 -0
  2385. data/app/assets/components/rickshaw/tests/Rickshaw.Graph.Axis.Y.js +45 -0
  2386. data/app/assets/components/rickshaw/tests/Rickshaw.Graph.Legend.js +95 -0
  2387. data/app/assets/components/rickshaw/tests/Rickshaw.Graph.RangeSlider.Preview.js +53 -0
  2388. data/app/assets/components/rickshaw/tests/Rickshaw.Graph.Renderer.Multi.js +51 -0
  2389. data/app/assets/components/rickshaw/tests/Rickshaw.Graph.Renderer.Scatterplot.js +29 -0
  2390. data/app/assets/components/rickshaw/tests/Rickshaw.Graph.Renderer.js +203 -0
  2391. data/app/assets/components/rickshaw/tests/Rickshaw.Graph.js +337 -0
  2392. data/app/assets/components/rickshaw/tests/Rickshaw.Series.FixedDuration.js +75 -0
  2393. data/app/assets/components/rickshaw/tests/Rickshaw.Series.js +171 -0
  2394. data/app/assets/components/rickshaw/tests/data/simple.svg +1 -0
  2395. data/app/assets/components/rickshaw/tutorial/example_01.html +24 -0
  2396. data/app/assets/components/rickshaw/tutorial/example_02.html +24 -0
  2397. data/app/assets/components/rickshaw/tutorial/example_03.html +27 -0
  2398. data/app/assets/components/rickshaw/tutorial/example_04.html +51 -0
  2399. data/app/assets/components/rickshaw/tutorial/example_05.html +74 -0
  2400. data/app/assets/components/rickshaw/tutorial/example_06.html +83 -0
  2401. data/app/assets/components/rickshaw/tutorial/example_07.html +106 -0
  2402. data/app/assets/components/rickshaw/tutorial/introduction.html +259 -0
  2403. data/app/assets/components/rickshaw/tutorial/style.css +82 -0
  2404. data/app/assets/components/rickshaw/tutorial/transform.pl +25 -0
  2405. data/app/assets/components/rickshaw/tutorial/transform_epoch.pl +32 -0
  2406. data/app/assets/components/rickshaw/tutorial/transform_region.pl +34 -0
  2407. data/app/assets/components/rickshaw/tutorial/vendor/prettify/prettify.css +28 -0
  2408. data/app/assets/components/rickshaw/tutorial/vendor/prettify/prettify.js +1479 -0
  2409. data/app/assets/components/rickshaw/vendor/d3.layout.min.js +1 -0
  2410. data/app/assets/components/rickshaw/vendor/d3.min.js +2 -0
  2411. data/app/assets/components/rickshaw/vendor/d3.v2.js +7026 -0
  2412. data/app/assets/components/rickshaw/vendor/d3.v3.js +5 -0
  2413. data/app/assets/components/screenfull/.bower.json +31 -0
  2414. data/app/assets/components/screenfull/bower.json +20 -0
  2415. data/app/assets/components/screenfull/dist/screenfull.js +145 -0
  2416. data/app/assets/components/seiyria-bootstrap-slider/.bower.json +35 -0
  2417. data/app/assets/components/seiyria-bootstrap-slider/CONTRIBUTING.md +18 -0
  2418. data/app/assets/components/seiyria-bootstrap-slider/Gruntfile.js +235 -0
  2419. data/app/assets/components/seiyria-bootstrap-slider/LICENSE.md +24 -0
  2420. data/app/assets/components/seiyria-bootstrap-slider/README.md +204 -0
  2421. data/app/assets/components/seiyria-bootstrap-slider/bower.json +26 -0
  2422. data/app/assets/components/seiyria-bootstrap-slider/composer.json +30 -0
  2423. data/app/assets/components/seiyria-bootstrap-slider/css/bootstrap-slider.css +252 -0
  2424. data/app/assets/components/seiyria-bootstrap-slider/dependencies/css/bootstrap.min.css +5 -0
  2425. data/app/assets/components/seiyria-bootstrap-slider/dependencies/js/jquery.min.js +5 -0
  2426. data/app/assets/components/seiyria-bootstrap-slider/dependencies/js/modernizr.js +1406 -0
  2427. data/app/assets/components/seiyria-bootstrap-slider/dist/bootstrap-slider.min.js +29 -0
  2428. data/app/assets/components/seiyria-bootstrap-slider/dist/css/bootstrap-slider.css +255 -0
  2429. data/app/assets/components/seiyria-bootstrap-slider/dist/css/bootstrap-slider.min.css +28 -0
  2430. data/app/assets/components/seiyria-bootstrap-slider/index.html +1025 -0
  2431. data/app/assets/components/seiyria-bootstrap-slider/js/bootstrap-slider.js +1550 -0
  2432. data/app/assets/components/seiyria-bootstrap-slider/package.json +91 -0
  2433. data/app/assets/components/seiyria-bootstrap-slider/sass/slider.scss +218 -0
  2434. data/app/assets/components/seiyria-bootstrap-slider/scripts/postpublish.sh +24 -0
  2435. data/app/assets/components/seiyria-bootstrap-slider/test/phantom_bind_polyfill.js +41 -0
  2436. data/app/assets/components/seiyria-bootstrap-slider/test/specs/ConflictingOptionsSpec.js +73 -0
  2437. data/app/assets/components/seiyria-bootstrap-slider/test/specs/DestroyMethodTests.js +334 -0
  2438. data/app/assets/components/seiyria-bootstrap-slider/test/specs/DraggingHandlesSpec.js +72 -0
  2439. data/app/assets/components/seiyria-bootstrap-slider/test/specs/ElementDataAttributesSpec.js +152 -0
  2440. data/app/assets/components/seiyria-bootstrap-slider/test/specs/EventsSpec.js +303 -0
  2441. data/app/assets/components/seiyria-bootstrap-slider/test/specs/FocusOptionSpec.js +67 -0
  2442. data/app/assets/components/seiyria-bootstrap-slider/test/specs/KeyboardSupportSpec.js +455 -0
  2443. data/app/assets/components/seiyria-bootstrap-slider/test/specs/LogarithmicScaleSpec.js +101 -0
  2444. data/app/assets/components/seiyria-bootstrap-slider/test/specs/LowAndHighTrackSpec.js +224 -0
  2445. data/app/assets/components/seiyria-bootstrap-slider/test/specs/NamespaceSpec.js +46 -0
  2446. data/app/assets/components/seiyria-bootstrap-slider/test/specs/OrientationSpec.js +75 -0
  2447. data/app/assets/components/seiyria-bootstrap-slider/test/specs/PublicMethodsSpec.js +584 -0
  2448. data/app/assets/components/seiyria-bootstrap-slider/test/specs/RefreshMethodSpec.js +34 -0
  2449. data/app/assets/components/seiyria-bootstrap-slider/test/specs/TickLabelSpec.js +74 -0
  2450. data/app/assets/components/seiyria-bootstrap-slider/test/specs/TickMarksSpec.js +177 -0
  2451. data/app/assets/components/seiyria-bootstrap-slider/test/specs/TooltipPositionOptionSpec.js +172 -0
  2452. data/app/assets/components/seiyria-bootstrap-slider/test/specs/TooltipSplitOptionSpec.js +71 -0
  2453. data/app/assets/components/seiyria-bootstrap-slider/test/specs/offMethodSpec.js +33 -0
  2454. data/app/assets/components/seiyria-bootstrap-slider/tpl/SpecRunner.tpl +74 -0
  2455. data/app/assets/components/seiyria-bootstrap-slider/tpl/index.tpl +1025 -0
  2456. data/app/assets/components/select2/.bower.json +23 -0
  2457. data/app/assets/components/select2/.editorconfig +6 -0
  2458. data/app/assets/components/select2/.jshintignore +4 -0
  2459. data/app/assets/components/select2/.jshintrc +25 -0
  2460. data/app/assets/components/select2/.travis.yml +20 -0
  2461. data/app/assets/components/select2/CONTRIBUTING.md +110 -0
  2462. data/app/assets/components/select2/Gruntfile.js +368 -0
  2463. data/app/assets/components/select2/LICENSE.md +21 -0
  2464. data/app/assets/components/select2/README.md +105 -0
  2465. data/app/assets/components/select2/bower.json +12 -0
  2466. data/app/assets/components/select2/component.json +19 -0
  2467. data/app/assets/components/select2/composer.json +22 -0
  2468. data/app/assets/components/select2/dist/css/select2.css +431 -0
  2469. data/app/assets/components/select2/dist/css/select2.min.css +1 -0
  2470. data/app/assets/components/select2/dist/js/i18n/az.js +3 -0
  2471. data/app/assets/components/select2/dist/js/i18n/bg.js +3 -0
  2472. data/app/assets/components/select2/dist/js/i18n/ca.js +3 -0
  2473. data/app/assets/components/select2/dist/js/i18n/cs.js +3 -0
  2474. data/app/assets/components/select2/dist/js/i18n/da.js +3 -0
  2475. data/app/assets/components/select2/dist/js/i18n/de.js +3 -0
  2476. data/app/assets/components/select2/dist/js/i18n/en.js +3 -0
  2477. data/app/assets/components/select2/dist/js/i18n/es.js +3 -0
  2478. data/app/assets/components/select2/dist/js/i18n/et.js +3 -0
  2479. data/app/assets/components/select2/dist/js/i18n/eu.js +3 -0
  2480. data/app/assets/components/select2/dist/js/i18n/fa.js +3 -0
  2481. data/app/assets/components/select2/dist/js/i18n/fi.js +3 -0
  2482. data/app/assets/components/select2/dist/js/i18n/fr.js +3 -0
  2483. data/app/assets/components/select2/dist/js/i18n/gl.js +3 -0
  2484. data/app/assets/components/select2/dist/js/i18n/he.js +3 -0
  2485. data/app/assets/components/select2/dist/js/i18n/hi.js +3 -0
  2486. data/app/assets/components/select2/dist/js/i18n/hr.js +3 -0
  2487. data/app/assets/components/select2/dist/js/i18n/hu.js +3 -0
  2488. data/app/assets/components/select2/dist/js/i18n/id.js +3 -0
  2489. data/app/assets/components/select2/dist/js/i18n/is.js +3 -0
  2490. data/app/assets/components/select2/dist/js/i18n/it.js +3 -0
  2491. data/app/assets/components/select2/dist/js/i18n/ko.js +3 -0
  2492. data/app/assets/components/select2/dist/js/i18n/lt.js +3 -0
  2493. data/app/assets/components/select2/dist/js/i18n/lv.js +3 -0
  2494. data/app/assets/components/select2/dist/js/i18n/mk.js +3 -0
  2495. data/app/assets/components/select2/dist/js/i18n/nb.js +3 -0
  2496. data/app/assets/components/select2/dist/js/i18n/nl.js +3 -0
  2497. data/app/assets/components/select2/dist/js/i18n/pl.js +3 -0
  2498. data/app/assets/components/select2/dist/js/i18n/pt-BR.js +3 -0
  2499. data/app/assets/components/select2/dist/js/i18n/pt.js +3 -0
  2500. data/app/assets/components/select2/dist/js/i18n/ro.js +3 -0
  2501. data/app/assets/components/select2/dist/js/i18n/ru.js +3 -0
  2502. data/app/assets/components/select2/dist/js/i18n/sk.js +3 -0
  2503. data/app/assets/components/select2/dist/js/i18n/sr.js +3 -0
  2504. data/app/assets/components/select2/dist/js/i18n/sv.js +3 -0
  2505. data/app/assets/components/select2/dist/js/i18n/th.js +3 -0
  2506. data/app/assets/components/select2/dist/js/i18n/tr.js +3 -0
  2507. data/app/assets/components/select2/dist/js/i18n/uk.js +3 -0
  2508. data/app/assets/components/select2/dist/js/i18n/vi.js +3 -0
  2509. data/app/assets/components/select2/dist/js/i18n/zh-CN.js +3 -0
  2510. data/app/assets/components/select2/dist/js/i18n/zh-TW.js +3 -0
  2511. data/app/assets/components/select2/dist/js/select2.full.js +6114 -0
  2512. data/app/assets/components/select2/dist/js/select2.full.min.js +3 -0
  2513. data/app/assets/components/select2/dist/js/select2.js +5403 -0
  2514. data/app/assets/components/select2/dist/js/select2.min.js +2 -0
  2515. data/app/assets/components/select2/docs/README.md +38 -0
  2516. data/app/assets/components/select2/docs/_includes/footer.html +11 -0
  2517. data/app/assets/components/select2/docs/_includes/head.html +24 -0
  2518. data/app/assets/components/select2/docs/_includes/navigation.html +55 -0
  2519. data/app/assets/components/select2/docs/_layouts/default.html +23 -0
  2520. data/app/assets/components/select2/docs/_layouts/home.html +30 -0
  2521. data/app/assets/components/select2/docs/announcements-4.0.html +734 -0
  2522. data/app/assets/components/select2/docs/community.html +156 -0
  2523. data/app/assets/components/select2/docs/examples.html +1140 -0
  2524. data/app/assets/components/select2/docs/index.html +200 -0
  2525. data/app/assets/components/select2/docs/options.html +1616 -0
  2526. data/app/assets/components/select2/docs/vendor/css/bootstrap.min.css +5 -0
  2527. data/app/assets/components/select2/docs/vendor/css/font-awesome.min.css +4 -0
  2528. data/app/assets/components/select2/docs/vendor/css/prettify.css +30 -0
  2529. data/app/assets/components/select2/docs/vendor/fonts/FontAwesome.otf +0 -0
  2530. data/app/assets/components/select2/docs/vendor/fonts/fontawesome-webfont.eot +0 -0
  2531. data/app/assets/components/select2/docs/vendor/fonts/fontawesome-webfont.svg +520 -0
  2532. data/app/assets/components/select2/docs/vendor/fonts/fontawesome-webfont.ttf +0 -0
  2533. data/app/assets/components/select2/docs/vendor/fonts/fontawesome-webfont.woff +0 -0
  2534. data/app/assets/components/select2/docs/vendor/images/flags/ak.png +0 -0
  2535. data/app/assets/components/select2/docs/vendor/images/flags/al.png +0 -0
  2536. data/app/assets/components/select2/docs/vendor/images/flags/ar.png +0 -0
  2537. data/app/assets/components/select2/docs/vendor/images/flags/az.png +0 -0
  2538. data/app/assets/components/select2/docs/vendor/images/flags/ca.png +0 -0
  2539. data/app/assets/components/select2/docs/vendor/images/flags/co.png +0 -0
  2540. data/app/assets/components/select2/docs/vendor/images/flags/ct.png +0 -0
  2541. data/app/assets/components/select2/docs/vendor/images/flags/de.png +0 -0
  2542. data/app/assets/components/select2/docs/vendor/images/flags/fl.png +0 -0
  2543. data/app/assets/components/select2/docs/vendor/images/flags/ga.png +0 -0
  2544. data/app/assets/components/select2/docs/vendor/images/flags/hi.png +0 -0
  2545. data/app/assets/components/select2/docs/vendor/images/flags/ia.png +0 -0
  2546. data/app/assets/components/select2/docs/vendor/images/flags/id.png +0 -0
  2547. data/app/assets/components/select2/docs/vendor/images/flags/il.png +0 -0
  2548. data/app/assets/components/select2/docs/vendor/images/flags/in.png +0 -0
  2549. data/app/assets/components/select2/docs/vendor/images/flags/ks.png +0 -0
  2550. data/app/assets/components/select2/docs/vendor/images/flags/ky.png +0 -0
  2551. data/app/assets/components/select2/docs/vendor/images/flags/la.png +0 -0
  2552. data/app/assets/components/select2/docs/vendor/images/flags/ma.png +0 -0
  2553. data/app/assets/components/select2/docs/vendor/images/flags/md.png +0 -0
  2554. data/app/assets/components/select2/docs/vendor/images/flags/me.png +0 -0
  2555. data/app/assets/components/select2/docs/vendor/images/flags/mi.png +0 -0
  2556. data/app/assets/components/select2/docs/vendor/images/flags/mn.png +0 -0
  2557. data/app/assets/components/select2/docs/vendor/images/flags/mo.png +0 -0
  2558. data/app/assets/components/select2/docs/vendor/images/flags/ms.png +0 -0
  2559. data/app/assets/components/select2/docs/vendor/images/flags/mt.png +0 -0
  2560. data/app/assets/components/select2/docs/vendor/images/flags/nc.png +0 -0
  2561. data/app/assets/components/select2/docs/vendor/images/flags/nd.png +0 -0
  2562. data/app/assets/components/select2/docs/vendor/images/flags/ne.png +0 -0
  2563. data/app/assets/components/select2/docs/vendor/images/flags/nh.png +0 -0
  2564. data/app/assets/components/select2/docs/vendor/images/flags/nj.png +0 -0
  2565. data/app/assets/components/select2/docs/vendor/images/flags/nm.png +0 -0
  2566. data/app/assets/components/select2/docs/vendor/images/flags/nv.png +0 -0
  2567. data/app/assets/components/select2/docs/vendor/images/flags/ny.png +0 -0
  2568. data/app/assets/components/select2/docs/vendor/images/flags/oh.png +0 -0
  2569. data/app/assets/components/select2/docs/vendor/images/flags/ok.png +0 -0
  2570. data/app/assets/components/select2/docs/vendor/images/flags/or.png +0 -0
  2571. data/app/assets/components/select2/docs/vendor/images/flags/pa.png +0 -0
  2572. data/app/assets/components/select2/docs/vendor/images/flags/ri.png +0 -0
  2573. data/app/assets/components/select2/docs/vendor/images/flags/sc.png +0 -0
  2574. data/app/assets/components/select2/docs/vendor/images/flags/sd.png +0 -0
  2575. data/app/assets/components/select2/docs/vendor/images/flags/tn.png +0 -0
  2576. data/app/assets/components/select2/docs/vendor/images/flags/tx.png +0 -0
  2577. data/app/assets/components/select2/docs/vendor/images/flags/ut.png +0 -0
  2578. data/app/assets/components/select2/docs/vendor/images/flags/va.png +0 -0
  2579. data/app/assets/components/select2/docs/vendor/images/flags/vt.png +0 -0
  2580. data/app/assets/components/select2/docs/vendor/images/flags/wa.png +0 -0
  2581. data/app/assets/components/select2/docs/vendor/images/flags/wi.png +0 -0
  2582. data/app/assets/components/select2/docs/vendor/images/flags/wv.png +0 -0
  2583. data/app/assets/components/select2/docs/vendor/images/flags/wy.png +0 -0
  2584. data/app/assets/components/select2/docs/vendor/js/bootstrap.min.js +6 -0
  2585. data/app/assets/components/select2/docs/vendor/js/jquery.min.js +4 -0
  2586. data/app/assets/components/select2/docs/vendor/js/placeholders.jquery.min.js +2 -0
  2587. data/app/assets/components/select2/docs/vendor/js/prettify.min.js +28 -0
  2588. data/app/assets/components/select2/package.json +59 -0
  2589. data/app/assets/components/select2/select2.jquery.json +32 -0
  2590. data/app/assets/components/select2/src/js/banner.end.js +6 -0
  2591. data/app/assets/components/select2/src/js/banner.start.js +6 -0
  2592. data/app/assets/components/select2/src/js/jquery.mousewheel.shim.js +6 -0
  2593. data/app/assets/components/select2/src/js/jquery.select2.js +57 -0
  2594. data/app/assets/components/select2/src/js/jquery.shim.js +14 -0
  2595. data/app/assets/components/select2/src/js/select2/compat/containerCss.js +56 -0
  2596. data/app/assets/components/select2/src/js/select2/compat/dropdownCss.js +56 -0
  2597. data/app/assets/components/select2/src/js/select2/compat/initSelection.js +42 -0
  2598. data/app/assets/components/select2/src/js/select2/compat/inputData.js +127 -0
  2599. data/app/assets/components/select2/src/js/select2/compat/matcher.js +42 -0
  2600. data/app/assets/components/select2/src/js/select2/compat/query.js +26 -0
  2601. data/app/assets/components/select2/src/js/select2/compat/utils.js +43 -0
  2602. data/app/assets/components/select2/src/js/select2/core.js +528 -0
  2603. data/app/assets/components/select2/src/js/select2/data/ajax.js +101 -0
  2604. data/app/assets/components/select2/src/js/select2/data/array.js +79 -0
  2605. data/app/assets/components/select2/src/js/select2/data/base.js +40 -0
  2606. data/app/assets/components/select2/src/js/select2/data/maximumInputLength.js +31 -0
  2607. data/app/assets/components/select2/src/js/select2/data/maximumSelectionLength.js +31 -0
  2608. data/app/assets/components/select2/src/js/select2/data/minimumInputLength.js +30 -0
  2609. data/app/assets/components/select2/src/js/select2/data/select.js +285 -0
  2610. data/app/assets/components/select2/src/js/select2/data/tags.js +119 -0
  2611. data/app/assets/components/select2/src/js/select2/data/tokenizer.js +86 -0
  2612. data/app/assets/components/select2/src/js/select2/defaults.js +396 -0
  2613. data/app/assets/components/select2/src/js/select2/diacritics.js +847 -0
  2614. data/app/assets/components/select2/src/js/select2/dropdown/attachBody.js +202 -0
  2615. data/app/assets/components/select2/src/js/select2/dropdown/attachContainer.js +18 -0
  2616. data/app/assets/components/select2/src/js/select2/dropdown/closeOnSelect.js +32 -0
  2617. data/app/assets/components/select2/src/js/select2/dropdown/hidePlaceholder.js +42 -0
  2618. data/app/assets/components/select2/src/js/select2/dropdown/infiniteScroll.js +87 -0
  2619. data/app/assets/components/select2/src/js/select2/dropdown/minimumResultsForSearch.js +39 -0
  2620. data/app/assets/components/select2/src/js/select2/dropdown/search.js +95 -0
  2621. data/app/assets/components/select2/src/js/select2/dropdown/selectOnClose.js +29 -0
  2622. data/app/assets/components/select2/src/js/select2/dropdown/stopPropagation.js +38 -0
  2623. data/app/assets/components/select2/src/js/select2/dropdown.js +38 -0
  2624. data/app/assets/components/select2/src/js/select2/i18n/az.js +27 -0
  2625. data/app/assets/components/select2/src/js/select2/i18n/bg.js +47 -0
  2626. data/app/assets/components/select2/src/js/select2/i18n/ca.js +52 -0
  2627. data/app/assets/components/select2/src/js/select2/i18n/cs.js +61 -0
  2628. data/app/assets/components/select2/src/js/select2/i18n/da.js +40 -0
  2629. data/app/assets/components/select2/src/js/select2/i18n/de.js +37 -0
  2630. data/app/assets/components/select2/src/js/select2/i18n/en.js +44 -0
  2631. data/app/assets/components/select2/src/js/select2/i18n/es.js +52 -0
  2632. data/app/assets/components/select2/src/js/select2/i18n/et.js +53 -0
  2633. data/app/assets/components/select2/src/js/select2/i18n/eu.js +51 -0
  2634. data/app/assets/components/select2/src/js/select2/i18n/fa.js +38 -0
  2635. data/app/assets/components/select2/src/js/select2/i18n/fi.js +27 -0
  2636. data/app/assets/components/select2/src/js/select2/i18n/fr.js +46 -0
  2637. data/app/assets/components/select2/src/js/select2/i18n/gl.js +51 -0
  2638. data/app/assets/components/select2/src/js/select2/i18n/he.js +44 -0
  2639. data/app/assets/components/select2/src/js/select2/i18n/hi.js +39 -0
  2640. data/app/assets/components/select2/src/js/select2/i18n/hr.js +41 -0
  2641. data/app/assets/components/select2/src/js/select2/i18n/hu.js +27 -0
  2642. data/app/assets/components/select2/src/js/select2/i18n/id.js +27 -0
  2643. data/app/assets/components/select2/src/js/select2/i18n/is.js +41 -0
  2644. data/app/assets/components/select2/src/js/select2/i18n/it.js +48 -0
  2645. data/app/assets/components/select2/src/js/select2/i18n/ko.js +36 -0
  2646. data/app/assets/components/select2/src/js/select2/i18n/lt.js +51 -0
  2647. data/app/assets/components/select2/src/js/select2/i18n/lv.js +51 -0
  2648. data/app/assets/components/select2/src/js/select2/i18n/mk.js +47 -0
  2649. data/app/assets/components/select2/src/js/select2/i18n/nb.js +35 -0
  2650. data/app/assets/components/select2/src/js/select2/i18n/nl.js +42 -0
  2651. data/app/assets/components/select2/src/js/select2/i18n/pl.js +45 -0
  2652. data/app/assets/components/select2/src/js/select2/i18n/pt-BR.js +46 -0
  2653. data/app/assets/components/select2/src/js/select2/i18n/pt.js +40 -0
  2654. data/app/assets/components/select2/src/js/select2/i18n/ro.js +48 -0
  2655. data/app/assets/components/select2/src/js/select2/i18n/ru.js +58 -0
  2656. data/app/assets/components/select2/src/js/select2/i18n/sk.js +56 -0
  2657. data/app/assets/components/select2/src/js/select2/i18n/sr.js +52 -0
  2658. data/app/assets/components/select2/src/js/select2/i18n/sv.js +37 -0
  2659. data/app/assets/components/select2/src/js/select2/i18n/th.js +33 -0
  2660. data/app/assets/components/select2/src/js/select2/i18n/tr.js +33 -0
  2661. data/app/assets/components/select2/src/js/select2/i18n/uk.js +43 -0
  2662. data/app/assets/components/select2/src/js/select2/i18n/vi.js +37 -0
  2663. data/app/assets/components/select2/src/js/select2/i18n/zh-CN.js +36 -0
  2664. data/app/assets/components/select2/src/js/select2/i18n/zh-TW.js +33 -0
  2665. data/app/assets/components/select2/src/js/select2/keys.js +25 -0
  2666. data/app/assets/components/select2/src/js/select2/options.js +122 -0
  2667. data/app/assets/components/select2/src/js/select2/results.js +508 -0
  2668. data/app/assets/components/select2/src/js/select2/selection/allowClear.js +97 -0
  2669. data/app/assets/components/select2/src/js/select2/selection/base.js +140 -0
  2670. data/app/assets/components/select2/src/js/select2/selection/clickMask.js +29 -0
  2671. data/app/assets/components/select2/src/js/select2/selection/eventRelay.js +45 -0
  2672. data/app/assets/components/select2/src/js/select2/selection/multiple.js +101 -0
  2673. data/app/assets/components/select2/src/js/select2/selection/placeholder.js +49 -0
  2674. data/app/assets/components/select2/src/js/select2/selection/search.js +154 -0
  2675. data/app/assets/components/select2/src/js/select2/selection/single.js +93 -0
  2676. data/app/assets/components/select2/src/js/select2/selection/stopPropagation.js +38 -0
  2677. data/app/assets/components/select2/src/js/select2/translation.js +36 -0
  2678. data/app/assets/components/select2/src/js/select2/utils.js +262 -0
  2679. data/app/assets/components/select2/src/js/wrapper.end.js +12 -0
  2680. data/app/assets/components/select2/src/js/wrapper.start.js +23 -0
  2681. data/app/assets/components/select2/src/scss/_dropdown.scss +73 -0
  2682. data/app/assets/components/select2/src/scss/_multiple.scss +34 -0
  2683. data/app/assets/components/select2/src/scss/_single.scss +30 -0
  2684. data/app/assets/components/select2/src/scss/core.scss +48 -0
  2685. data/app/assets/components/select2/src/scss/mixins/_gradients.scss +13 -0
  2686. data/app/assets/components/select2/src/scss/theme/classic/_defaults.scss +34 -0
  2687. data/app/assets/components/select2/src/scss/theme/classic/_multiple.scss +93 -0
  2688. data/app/assets/components/select2/src/scss/theme/classic/_single.scss +124 -0
  2689. data/app/assets/components/select2/src/scss/theme/classic/layout.scss +63 -0
  2690. data/app/assets/components/select2/src/scss/theme/default/_multiple.scss +94 -0
  2691. data/app/assets/components/select2/src/scss/theme/default/_single.scss +83 -0
  2692. data/app/assets/components/select2/src/scss/theme/default/layout.scss +95 -0
  2693. data/app/assets/components/select2/tests/a11y/selection-tests.js +179 -0
  2694. data/app/assets/components/select2/tests/data/array-tests.js +245 -0
  2695. data/app/assets/components/select2/tests/data/base-tests.js +29 -0
  2696. data/app/assets/components/select2/tests/data/inputData-tests.js +158 -0
  2697. data/app/assets/components/select2/tests/data/maximumInputLength-tests.js +138 -0
  2698. data/app/assets/components/select2/tests/data/maximumSelectionLength-tests.js +202 -0
  2699. data/app/assets/components/select2/tests/data/minimumInputLength-tests.js +138 -0
  2700. data/app/assets/components/select2/tests/data/select-tests.js +457 -0
  2701. data/app/assets/components/select2/tests/data/tags-tests.js +241 -0
  2702. data/app/assets/components/select2/tests/dropdown/dropdownCss-tests.js +104 -0
  2703. data/app/assets/components/select2/tests/dropdown/selectOnClose-tests.js +137 -0
  2704. data/app/assets/components/select2/tests/dropdown/stopPropagation-tests.js +33 -0
  2705. data/app/assets/components/select2/tests/helpers.js +46 -0
  2706. data/app/assets/components/select2/tests/integration/select2-methods.js +139 -0
  2707. data/app/assets/components/select2/tests/integration.html +19 -0
  2708. data/app/assets/components/select2/tests/options/data-tests.js +44 -0
  2709. data/app/assets/components/select2/tests/options/deprecated-tests.js +250 -0
  2710. data/app/assets/components/select2/tests/options/translation-tests.js +28 -0
  2711. data/app/assets/components/select2/tests/options/width-tests.js +66 -0
  2712. data/app/assets/components/select2/tests/selection/allowClear-tests.js +218 -0
  2713. data/app/assets/components/select2/tests/selection/containerCss-tests.js +104 -0
  2714. data/app/assets/components/select2/tests/selection/multiple-tests.js +72 -0
  2715. data/app/assets/components/select2/tests/selection/placeholder-tests.js +74 -0
  2716. data/app/assets/components/select2/tests/selection/single-tests.js +88 -0
  2717. data/app/assets/components/select2/tests/selection/stopPropagation-tests.js +33 -0
  2718. data/app/assets/components/select2/tests/unit.html +88 -0
  2719. data/app/assets/components/select2/tests/utils/decorator-tests.js +189 -0
  2720. data/app/assets/components/select2/tests/utils/escapeMarkup-tests.js +36 -0
  2721. data/app/assets/components/select2/tests/vendor/jquery-1.7.2.js +9404 -0
  2722. data/app/assets/components/select2/tests/vendor/qunit-1.14.0.css +237 -0
  2723. data/app/assets/components/select2/tests/vendor/qunit-1.14.0.js +2288 -0
  2724. data/app/assets/components/select2/vendor/almond-0.2.9.js +421 -0
  2725. data/app/assets/components/select2/vendor/jquery-2.1.0.js +9111 -0
  2726. data/app/assets/components/select2/vendor/jquery.mousewheel.js +221 -0
  2727. data/app/assets/components/select2-bootstrap-theme/.bower.json +29 -0
  2728. data/app/assets/components/select2-bootstrap-theme/Gruntfile.js +128 -0
  2729. data/app/assets/components/select2-bootstrap-theme/README.md +58 -0
  2730. data/app/assets/components/select2-bootstrap-theme/bower.json +19 -0
  2731. data/app/assets/components/select2-bootstrap-theme/dist/select2-bootstrap.css +598 -0
  2732. data/app/assets/components/select2-bootstrap-theme/dist/select2-bootstrap.min.css +1 -0
  2733. data/app/assets/components/select2-bootstrap-theme/docs/4.0.0.html +4 -0
  2734. data/app/assets/components/select2-bootstrap-theme/docs/_config.yml +5 -0
  2735. data/app/assets/components/select2-bootstrap-theme/docs/_includes/footer-links.html +7 -0
  2736. data/app/assets/components/select2-bootstrap-theme/docs/_includes/footer.html +10 -0
  2737. data/app/assets/components/select2-bootstrap-theme/docs/_includes/head.html +13 -0
  2738. data/app/assets/components/select2-bootstrap-theme/docs/_includes/navbar.html +23 -0
  2739. data/app/assets/components/select2-bootstrap-theme/docs/_includes/scripts.html +2 -0
  2740. data/app/assets/components/select2-bootstrap-theme/docs/_includes/select2-select.html +55 -0
  2741. data/app/assets/components/select2-bootstrap-theme/docs/_layouts/default.html +628 -0
  2742. data/app/assets/components/select2-bootstrap-theme/docs/_layouts/minimal.html +7 -0
  2743. data/app/assets/components/select2-bootstrap-theme/docs/_sass/_alert.sass +17 -0
  2744. data/app/assets/components/select2-bootstrap-theme/docs/_sass/_anchorjs.sass +6 -0
  2745. data/app/assets/components/select2-bootstrap-theme/docs/_sass/_buttons.sass +8 -0
  2746. data/app/assets/components/select2-bootstrap-theme/docs/_sass/_common.sass +25 -0
  2747. data/app/assets/components/select2-bootstrap-theme/docs/_sass/_extends.sass +4 -0
  2748. data/app/assets/components/select2-bootstrap-theme/docs/_sass/_footer.sass +22 -0
  2749. data/app/assets/components/select2-bootstrap-theme/docs/_sass/_home.sass +8 -0
  2750. data/app/assets/components/select2-bootstrap-theme/docs/_sass/_jumbotron.sass +36 -0
  2751. data/app/assets/components/select2-bootstrap-theme/docs/_sass/_mixins.sass +9 -0
  2752. data/app/assets/components/select2-bootstrap-theme/docs/_sass/_navbar.sass +4 -0
  2753. data/app/assets/components/select2-bootstrap-theme/docs/_sass/_select2-result-repository.sass +40 -0
  2754. data/app/assets/components/select2-bootstrap-theme/docs/_sass/_variables.sass +1 -0
  2755. data/app/assets/components/select2-bootstrap-theme/docs/css/bootstrap.min.css +5 -0
  2756. data/app/assets/components/select2-bootstrap-theme/docs/css/gh-pages.sass +16 -0
  2757. data/app/assets/components/select2-bootstrap-theme/docs/css/select2-bootstrap.css +598 -0
  2758. data/app/assets/components/select2-bootstrap-theme/docs/favicon.ico +0 -0
  2759. data/app/assets/components/select2-bootstrap-theme/docs/fonts/glyphicons-halflings-regular.eot +0 -0
  2760. data/app/assets/components/select2-bootstrap-theme/docs/fonts/glyphicons-halflings-regular.svg +288 -0
  2761. data/app/assets/components/select2-bootstrap-theme/docs/fonts/glyphicons-halflings-regular.ttf +0 -0
  2762. data/app/assets/components/select2-bootstrap-theme/docs/fonts/glyphicons-halflings-regular.woff +0 -0
  2763. data/app/assets/components/select2-bootstrap-theme/docs/fonts/glyphicons-halflings-regular.woff2 +0 -0
  2764. data/app/assets/components/select2-bootstrap-theme/docs/index.html +54 -0
  2765. data/app/assets/components/select2-bootstrap-theme/docs/js/anchor.min.js +6 -0
  2766. data/app/assets/components/select2-bootstrap-theme/docs/js/bootstrap.min.js +7 -0
  2767. data/app/assets/components/select2-bootstrap-theme/docs/js/respond.min.js +5 -0
  2768. data/app/assets/components/select2-bootstrap-theme/package.json +43 -0
  2769. data/app/assets/components/select2-bootstrap-theme/src/build.scss +3 -0
  2770. data/app/assets/components/select2-bootstrap-theme/src/select2-bootstrap.scss +768 -0
  2771. data/app/assets/components/select2-bootstrap-theme/tests/less_test.js +25 -0
  2772. data/app/assets/components/select2-bootstrap-theme/tests/scss_test.js +25 -0
  2773. data/app/assets/components/select2-bootstrap-theme/tests/support/less.patch +610 -0
  2774. data/app/assets/components/select2-bootstrap-theme/tests/support/scss.patch +4 -0
  2775. data/app/assets/components/skycons/.bower.json +13 -0
  2776. data/app/assets/components/skycons/README.md +50 -0
  2777. data/app/assets/components/skycons/index.html +156 -0
  2778. data/app/assets/components/skycons/skycons.js +730 -0
  2779. data/app/assets/components/slimScroll/.bower.json +45 -0
  2780. data/app/assets/components/slimScroll/README.md +8 -0
  2781. data/app/assets/components/slimScroll/bower.json +32 -0
  2782. data/app/assets/components/slimScroll/examples/allow-page-scroll.html +94 -0
  2783. data/app/assets/components/slimScroll/examples/chaining.html +80 -0
  2784. data/app/assets/components/slimScroll/examples/disable-fade-out.html +94 -0
  2785. data/app/assets/components/slimScroll/examples/dynamic-content.html +81 -0
  2786. data/app/assets/components/slimScroll/examples/height-width.html +125 -0
  2787. data/app/assets/components/slimScroll/examples/index.html +9 -0
  2788. data/app/assets/components/slimScroll/examples/libs/prettify/prettify.css +52 -0
  2789. data/app/assets/components/slimScroll/examples/libs/prettify/prettify.js +1477 -0
  2790. data/app/assets/components/slimScroll/examples/mouse-wheel.html +99 -0
  2791. data/app/assets/components/slimScroll/examples/multiple-elements.html +120 -0
  2792. data/app/assets/components/slimScroll/examples/navigation.html +30 -0
  2793. data/app/assets/components/slimScroll/examples/nested.html +82 -0
  2794. data/app/assets/components/slimScroll/examples/programmatic-scrolling.html +138 -0
  2795. data/app/assets/components/slimScroll/examples/rail.html +190 -0
  2796. data/app/assets/components/slimScroll/examples/scroll-events.html +88 -0
  2797. data/app/assets/components/slimScroll/examples/scrollbar.html +189 -0
  2798. data/app/assets/components/slimScroll/examples/start-position.html +100 -0
  2799. data/app/assets/components/slimScroll/examples/style.css +13 -0
  2800. data/app/assets/components/slimScroll/jquery.slimscroll.js +470 -0
  2801. data/app/assets/components/slimScroll/jquery.slimscroll.min.js +16 -0
  2802. data/app/assets/components/slimScroll/package.js +13 -0
  2803. data/app/assets/components/slimScroll/package.json +31 -0
  2804. data/app/assets/components/slimScroll/slimScroll.jquery.json +30 -0
  2805. data/app/assets/components/sparkline/.bower.json +14 -0
  2806. data/app/assets/components/sparkline/index.js +3054 -0
  2807. data/app/assets/components/spinkit/.bower.json +29 -0
  2808. data/app/assets/components/spinkit/CHANGELOG.md +26 -0
  2809. data/app/assets/components/spinkit/CONTRIBUTING.md +22 -0
  2810. data/app/assets/components/spinkit/README.md +72 -0
  2811. data/app/assets/components/spinkit/bower.json +19 -0
  2812. data/app/assets/components/spinkit/css/spinkit.css +684 -0
  2813. data/app/assets/components/spinkit/css/spinners/1-rotating-plane.css +35 -0
  2814. data/app/assets/components/spinkit/css/spinners/10-fading-circle.css +129 -0
  2815. data/app/assets/components/spinkit/css/spinners/11-folding-cube.css +85 -0
  2816. data/app/assets/components/spinkit/css/spinners/2-double-bounce.css +44 -0
  2817. data/app/assets/components/spinkit/css/spinners/3-wave.css +56 -0
  2818. data/app/assets/components/spinkit/css/spinners/4-wandering-cubes.css +68 -0
  2819. data/app/assets/components/spinkit/css/spinners/5-pulse.css +32 -0
  2820. data/app/assets/components/spinkit/css/spinners/6-chasing-dots.css +58 -0
  2821. data/app/assets/components/spinkit/css/spinners/7-three-bounce.css +44 -0
  2822. data/app/assets/components/spinkit/css/spinners/8-circle.css +133 -0
  2823. data/app/assets/components/spinkit/css/spinners/9-cube-grid.css +76 -0
  2824. data/app/assets/components/spinkit/examples/1-rotating-plane.html +49 -0
  2825. data/app/assets/components/spinkit/examples/10-fading-circle.html +156 -0
  2826. data/app/assets/components/spinkit/examples/11-folding-cube.html +104 -0
  2827. data/app/assets/components/spinkit/examples/2-double-bounce.html +61 -0
  2828. data/app/assets/components/spinkit/examples/3-wave.html +76 -0
  2829. data/app/assets/components/spinkit/examples/4-wandering-cubes.html +85 -0
  2830. data/app/assets/components/spinkit/examples/5-pulse.html +46 -0
  2831. data/app/assets/components/spinkit/examples/6-chasing-dots.html +75 -0
  2832. data/app/assets/components/spinkit/examples/7-three-bounce.html +62 -0
  2833. data/app/assets/components/spinkit/examples/8-circle.html +160 -0
  2834. data/app/assets/components/spinkit/examples/9-cube-grid.html +100 -0
  2835. data/app/assets/components/spinkit/gulpfile.js +96 -0
  2836. data/app/assets/components/spinkit/package.json +34 -0
  2837. data/app/assets/components/spinkit/scss/_variables.scss +3 -0
  2838. data/app/assets/components/spinkit/scss/spinkit.scss +11 -0
  2839. data/app/assets/components/spinkit/scss/spinners/1-rotating-plane.scss +25 -0
  2840. data/app/assets/components/spinkit/scss/spinners/10-fading-circle.scss +63 -0
  2841. data/app/assets/components/spinkit/scss/spinners/11-folding-cube.scss +70 -0
  2842. data/app/assets/components/spinkit/scss/spinners/2-double-bounce.scss +38 -0
  2843. data/app/assets/components/spinkit/scss/spinners/3-wave.scss +42 -0
  2844. data/app/assets/components/spinkit/scss/spinners/4-wandering-cubes.scss +51 -0
  2845. data/app/assets/components/spinkit/scss/spinners/5-pulse.scss +25 -0
  2846. data/app/assets/components/spinkit/scss/spinners/6-chasing-dots.scss +52 -0
  2847. data/app/assets/components/spinkit/scss/spinners/7-three-bounce.scss +40 -0
  2848. data/app/assets/components/spinkit/scss/spinners/8-circle.scss +62 -0
  2849. data/app/assets/components/spinkit/scss/spinners/9-cube-grid.scss +55 -0
  2850. data/app/assets/components/sweetalert/.bower.json +35 -0
  2851. data/app/assets/components/sweetalert/.editorconfig +11 -0
  2852. data/app/assets/components/sweetalert/.jshintrc +11 -0
  2853. data/app/assets/components/sweetalert/.travis.yml +8 -0
  2854. data/app/assets/components/sweetalert/README.md +157 -0
  2855. data/app/assets/components/sweetalert/bower.json +25 -0
  2856. data/app/assets/components/sweetalert/dev/gulpfile-wrap-template.js +18 -0
  2857. data/app/assets/components/sweetalert/dev/ie9.css +23 -0
  2858. data/app/assets/components/sweetalert/dev/loader-animation.css +209 -0
  2859. data/app/assets/components/sweetalert/dev/modules/default-params.js +26 -0
  2860. data/app/assets/components/sweetalert/dev/modules/handle-click.js +128 -0
  2861. data/app/assets/components/sweetalert/dev/modules/handle-dom.js +161 -0
  2862. data/app/assets/components/sweetalert/dev/modules/handle-key.js +73 -0
  2863. data/app/assets/components/sweetalert/dev/modules/handle-swal-dom.js +148 -0
  2864. data/app/assets/components/sweetalert/dev/modules/injected-html.js +69 -0
  2865. data/app/assets/components/sweetalert/dev/modules/set-params.js +221 -0
  2866. data/app/assets/components/sweetalert/dev/modules/utils.js +71 -0
  2867. data/app/assets/components/sweetalert/dev/sweetalert.es6.js +311 -0
  2868. data/app/assets/components/sweetalert/dev/sweetalert.scss +648 -0
  2869. data/app/assets/components/sweetalert/dist/sweetalert-dev.js +1285 -0
  2870. data/app/assets/components/sweetalert/dist/sweetalert.css +932 -0
  2871. data/app/assets/components/sweetalert/dist/sweetalert.min.js +1 -0
  2872. data/app/assets/components/sweetalert/example/example.css +442 -0
  2873. data/app/assets/components/sweetalert/example/example.scss +580 -0
  2874. data/app/assets/components/sweetalert/example/images/logo_big.png +0 -0
  2875. data/app/assets/components/sweetalert/example/images/logo_big@2x.png +0 -0
  2876. data/app/assets/components/sweetalert/example/images/logo_small.png +0 -0
  2877. data/app/assets/components/sweetalert/example/images/logo_small@2x.png +0 -0
  2878. data/app/assets/components/sweetalert/example/images/te-logo-small.svg +12 -0
  2879. data/app/assets/components/sweetalert/example/images/thumbs-up.jpg +0 -0
  2880. data/app/assets/components/sweetalert/example/images/vs_icon.png +0 -0
  2881. data/app/assets/components/sweetalert/example/images/vs_icon@2x.png +0 -0
  2882. data/app/assets/components/sweetalert/gulpfile.js +108 -0
  2883. data/app/assets/components/sweetalert/index.html +584 -0
  2884. data/app/assets/components/sweetalert/lib/modules/default-params.js +32 -0
  2885. data/app/assets/components/sweetalert/lib/modules/handle-click.js +135 -0
  2886. data/app/assets/components/sweetalert/lib/modules/handle-dom.js +191 -0
  2887. data/app/assets/components/sweetalert/lib/modules/handle-key.js +79 -0
  2888. data/app/assets/components/sweetalert/lib/modules/handle-swal-dom.js +167 -0
  2889. data/app/assets/components/sweetalert/lib/modules/injected-html.js +42 -0
  2890. data/app/assets/components/sweetalert/lib/modules/set-params.js +225 -0
  2891. data/app/assets/components/sweetalert/lib/modules/utils.js +73 -0
  2892. data/app/assets/components/sweetalert/lib/sweetalert.js +303 -0
  2893. data/app/assets/components/sweetalert/package.json +46 -0
  2894. data/app/assets/components/sweetalert/sweetalert.gif +0 -0
  2895. data/app/assets/components/sweetalert/test/index.html +25 -0
  2896. data/app/assets/components/sweetalert/test/tests.js +141 -0
  2897. data/app/assets/components/sweetalert/themes/facebook/facebook.css +111 -0
  2898. data/app/assets/components/sweetalert/themes/facebook/facebook.scss +146 -0
  2899. data/app/assets/components/sweetalert/themes/google/google.css +115 -0
  2900. data/app/assets/components/sweetalert/themes/google/google.scss +148 -0
  2901. data/app/assets/components/sweetalert/themes/twitter/twitter.css +140 -0
  2902. data/app/assets/components/sweetalert/themes/twitter/twitter.scss +177 -0
  2903. data/app/assets/components/whirl/.bower.json +28 -0
  2904. data/app/assets/components/whirl/README.md +92 -0
  2905. data/app/assets/components/whirl/bower.json +19 -0
  2906. data/app/assets/components/whirl/dist/whirl.css +472 -0
  2907. data/app/assets/components/whirl/dist/whirl.min.css +1 -0
  2908. data/app/assets/components/whirl/gulpfile.js +129 -0
  2909. data/app/assets/components/whirl/package.json +22 -0
  2910. data/app/assets/components/whirl/src/jade/index.jade +19 -0
  2911. data/app/assets/components/whirl/src/scss/core.scss +64 -0
  2912. data/app/assets/components/whirl/src/scss/whirls/bar/bar-follow.scss +15 -0
  2913. data/app/assets/components/whirl/src/scss/whirls/bar/bar.scss +19 -0
  2914. data/app/assets/components/whirl/src/scss/whirls/blade/blade.scss +15 -0
  2915. data/app/assets/components/whirl/src/scss/whirls/double-up/double-up.scss +8 -0
  2916. data/app/assets/components/whirl/src/scss/whirls/duo/duo.scss +10 -0
  2917. data/app/assets/components/whirl/src/scss/whirls/helicopter/helicopter.scss +13 -0
  2918. data/app/assets/components/whirl/src/scss/whirls/line/line-back-and-forth-grow.scss +25 -0
  2919. data/app/assets/components/whirl/src/scss/whirls/line/line-back-and-forth.scss +18 -0
  2920. data/app/assets/components/whirl/src/scss/whirls/line/line-grow.scss +19 -0
  2921. data/app/assets/components/whirl/src/scss/whirls/line/line.scss +20 -0
  2922. data/app/assets/components/whirl/src/scss/whirls/ringed/ringed.scss +12 -0
  2923. data/app/assets/components/whirl/src/scss/whirls/shadow/shadow-oval-left.scss +25 -0
  2924. data/app/assets/components/whirl/src/scss/whirls/shadow/shadow-oval-right.scss +25 -0
  2925. data/app/assets/components/whirl/src/scss/whirls/shadow/shadow.scss +25 -0
  2926. data/app/assets/components/whirl/src/scss/whirls/spherical/spherical-horizontal.scss +19 -0
  2927. data/app/assets/components/whirl/src/scss/whirls/spherical/spherical-vertical.scss +19 -0
  2928. data/app/assets/components/whirl/src/scss/whirls/traditional/traditional.scss +12 -0
  2929. data/app/assets/components/whirl/whirl-config.json +41 -0
  2930. data/app/assets/components/whirl/whirl.css +472 -0
  2931. data/app/assets/components/whirl/whirl.min.css +1 -0
  2932. data/app/assets/components/x-editable/.bower.json +30 -0
  2933. data/app/assets/components/x-editable/bower.json +20 -0
  2934. data/app/assets/components/x-editable/dist/bootstrap-editable/css/bootstrap-editable.css +663 -0
  2935. data/app/assets/components/x-editable/dist/bootstrap-editable/img/clear.png +0 -0
  2936. data/app/assets/components/x-editable/dist/bootstrap-editable/img/loading.gif +0 -0
  2937. data/app/assets/components/x-editable/dist/bootstrap-editable/js/bootstrap-editable.js +7007 -0
  2938. data/app/assets/components/x-editable/dist/bootstrap-editable/js/bootstrap-editable.min.js +7 -0
  2939. data/app/assets/components/x-editable/dist/bootstrap3-editable/css/bootstrap-editable.css +663 -0
  2940. data/app/assets/components/x-editable/dist/bootstrap3-editable/img/clear.png +0 -0
  2941. data/app/assets/components/x-editable/dist/bootstrap3-editable/img/loading.gif +0 -0
  2942. data/app/assets/components/x-editable/dist/bootstrap3-editable/js/bootstrap-editable.js +6807 -0
  2943. data/app/assets/components/x-editable/dist/bootstrap3-editable/js/bootstrap-editable.min.js +7 -0
  2944. data/app/assets/components/x-editable/dist/inputs-ext/address/address.css +9 -0
  2945. data/app/assets/components/x-editable/dist/inputs-ext/address/address.js +170 -0
  2946. data/app/assets/components/x-editable/dist/inputs-ext/typeaheadjs/lib/typeahead.js +1139 -0
  2947. data/app/assets/components/x-editable/dist/inputs-ext/typeaheadjs/lib/typeahead.js-bootstrap.css +49 -0
  2948. data/app/assets/components/x-editable/dist/inputs-ext/typeaheadjs/typeaheadjs.js +86 -0
  2949. data/app/assets/components/x-editable/dist/inputs-ext/wysihtml5/bootstrap-wysihtml5-0.0.2/bootstrap-wysihtml5-0.0.2.css +102 -0
  2950. data/app/assets/components/x-editable/dist/inputs-ext/wysihtml5/bootstrap-wysihtml5-0.0.2/bootstrap-wysihtml5-0.0.2.js +499 -0
  2951. data/app/assets/components/x-editable/dist/inputs-ext/wysihtml5/bootstrap-wysihtml5-0.0.2/bootstrap-wysihtml5-0.0.2.min.js +1 -0
  2952. data/app/assets/components/x-editable/dist/inputs-ext/wysihtml5/bootstrap-wysihtml5-0.0.2/wysihtml5-0.3.0.js +9521 -0
  2953. data/app/assets/components/x-editable/dist/inputs-ext/wysihtml5/bootstrap-wysihtml5-0.0.2/wysihtml5-0.3.0.min.js +261 -0
  2954. data/app/assets/components/x-editable/dist/inputs-ext/wysihtml5/bootstrap-wysihtml5-0.0.2/wysiwyg-color.css +67 -0
  2955. data/app/assets/components/x-editable/dist/inputs-ext/wysihtml5/wysihtml5.js +138 -0
  2956. data/app/assets/components/x-editable/dist/jquery-editable/css/jquery-editable.css +213 -0
  2957. data/app/assets/components/x-editable/dist/jquery-editable/img/clear.png +0 -0
  2958. data/app/assets/components/x-editable/dist/jquery-editable/img/loading.gif +0 -0
  2959. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/animated-overlay.gif +0 -0
  2960. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  2961. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  2962. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  2963. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  2964. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  2965. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  2966. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  2967. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  2968. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-icons_217bc0_256x240.png +0 -0
  2969. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
  2970. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-icons_469bdd_256x240.png +0 -0
  2971. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
  2972. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
  2973. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
  2974. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
  2975. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/jquery-ui-1.10.3.custom.css +649 -0
  2976. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/css/redmond/jquery-ui-1.10.3.custom.min.css +5 -0
  2977. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/js/jquery-ui-1.10.3.custom.js +2340 -0
  2978. data/app/assets/components/x-editable/dist/jquery-editable/jquery-ui-datepicker/js/jquery-ui-1.10.3.custom.min.js +7 -0
  2979. data/app/assets/components/x-editable/dist/jquery-editable/js/jquery-editable-poshytip.js +5118 -0
  2980. data/app/assets/components/x-editable/dist/jquery-editable/js/jquery-editable-poshytip.min.js +6 -0
  2981. data/app/assets/components/x-editable/dist/jqueryui-editable/css/jqueryui-editable.css +213 -0
  2982. data/app/assets/components/x-editable/dist/jqueryui-editable/img/clear.png +0 -0
  2983. data/app/assets/components/x-editable/dist/jqueryui-editable/img/loading.gif +0 -0
  2984. data/app/assets/components/x-editable/dist/jqueryui-editable/js/jqueryui-editable.js +5065 -0
  2985. data/app/assets/components/x-editable/dist/jqueryui-editable/js/jqueryui-editable.min.js +6 -0
  2986. data/app/assets/fonts/Simple-Line-Icons.eot +0 -0
  2987. data/app/assets/fonts/Simple-Line-Icons.svg +211 -0
  2988. data/app/assets/fonts/Simple-Line-Icons.ttf +0 -0
  2989. data/app/assets/fonts/Simple-Line-Icons.woff +0 -0
  2990. data/app/assets/fonts/Simple-Line-Icons.woff2 +0 -0
  2991. data/app/assets/fonts/fa-brands-400.ttf +0 -0
  2992. data/app/assets/fonts/fa-brands-400.woff2 +0 -0
  2993. data/app/assets/fonts/fa-regular-400.ttf +0 -0
  2994. data/app/assets/fonts/fa-regular-400.woff2 +0 -0
  2995. data/app/assets/fonts/fa-solid-900.ttf +0 -0
  2996. data/app/assets/fonts/fa-solid-900.woff2 +0 -0
  2997. data/app/assets/fonts/fa-v4compatibility.ttf +0 -0
  2998. data/app/assets/fonts/fa-v4compatibility.woff2 +0 -0
  2999. data/app/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  3000. data/app/assets/fonts/glyphicons-halflings-regular.svg +288 -0
  3001. data/app/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  3002. data/app/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  3003. data/app/assets/fonts/glyphicons-halflings-regular.woff2 +0 -0
  3004. data/app/assets/fonts/weathericons-regular-webfont.eot +0 -0
  3005. data/app/assets/fonts/weathericons-regular-webfont.svg +257 -0
  3006. data/app/assets/fonts/weathericons-regular-webfont.ttf +0 -0
  3007. data/app/assets/fonts/weathericons-regular-webfont.woff +0 -0
  3008. data/app/assets/fonts/weathericons-regular-webfont.woff2 +0 -0
  3009. data/app/assets/images/favicon.ico +0 -0
  3010. data/app/assets/images/favicon.png +0 -0
  3011. data/app/assets/images/radius-theme/bg1.jpg +0 -0
  3012. data/app/assets/images/radius-theme/bg10.jpg +0 -0
  3013. data/app/assets/images/radius-theme/bg2.jpg +0 -0
  3014. data/app/assets/images/radius-theme/bg3.jpg +0 -0
  3015. data/app/assets/images/radius-theme/bg4.jpg +0 -0
  3016. data/app/assets/images/radius-theme/bg5.jpg +0 -0
  3017. data/app/assets/images/radius-theme/bg6.jpg +0 -0
  3018. data/app/assets/images/radius-theme/bg7.jpg +0 -0
  3019. data/app/assets/images/radius-theme/bg8.jpg +0 -0
  3020. data/app/assets/images/radius-theme/bg9.jpg +0 -0
  3021. data/app/assets/images/radius-theme/dummy.png +0 -0
  3022. data/app/assets/images/radius-theme/lock-bg.jpg +0 -0
  3023. data/app/assets/images/radius-theme/logo-single.png +0 -0
  3024. data/app/assets/images/radius-theme/logo.png +0 -0
  3025. data/app/assets/images/radius-theme/mb-sample.jpg +0 -0
  3026. data/app/assets/images/radius-theme/mockup.png +0 -0
  3027. data/app/assets/images/radius-theme/profile-bg.jpg +0 -0
  3028. data/app/assets/images/radius-theme/user/01.jpg +0 -0
  3029. data/app/assets/images/radius-theme/user/02.jpg +0 -0
  3030. data/app/assets/images/radius-theme/user/03.jpg +0 -0
  3031. data/app/assets/images/radius-theme/user/04.jpg +0 -0
  3032. data/app/assets/images/radius-theme/user/05.jpg +0 -0
  3033. data/app/assets/images/radius-theme/user/06.jpg +0 -0
  3034. data/app/assets/images/radius-theme/user/07.jpg +0 -0
  3035. data/app/assets/images/radius-theme/user/08.jpg +0 -0
  3036. data/app/assets/images/radius-theme/user/09.jpg +0 -0
  3037. data/app/assets/images/radius-theme/user/10.jpg +0 -0
  3038. data/app/assets/images/radius-theme/user/11.jpg +0 -0
  3039. data/app/assets/images/radius-theme/user/12.jpg +0 -0
  3040. data/app/assets/images/radius-theme/user/13.jpg +0 -0
  3041. data/app/assets/javascripts/radius-theme/app.init.js +36 -0
  3042. data/app/assets/javascripts/radius-theme/modules/bootstrap-start.js +28 -0
  3043. data/app/assets/javascripts/radius-theme/modules/calendar.js +262 -0
  3044. data/app/assets/javascripts/radius-theme/modules/chart-easypie.js +64 -0
  3045. data/app/assets/javascripts/radius-theme/modules/chart-knob.js +47 -0
  3046. data/app/assets/javascripts/radius-theme/modules/chart.js +296 -0
  3047. data/app/assets/javascripts/radius-theme/modules/chartist.js +242 -0
  3048. data/app/assets/javascripts/radius-theme/modules/classyloader.js +45 -0
  3049. data/app/assets/javascripts/radius-theme/modules/clear-storage.js +25 -0
  3050. data/app/assets/javascripts/radius-theme/modules/color-picker.js +25 -0
  3051. data/app/assets/javascripts/radius-theme/modules/constants.js +34 -0
  3052. data/app/assets/javascripts/radius-theme/modules/demo/demo-datatable.js +113 -0
  3053. data/app/assets/javascripts/radius-theme/modules/demo/demo-flot.js +660 -0
  3054. data/app/assets/javascripts/radius-theme/modules/demo/demo-forms.js +71 -0
  3055. data/app/assets/javascripts/radius-theme/modules/demo/demo-jqcloud.js +57 -0
  3056. data/app/assets/javascripts/radius-theme/modules/demo/demo-jqgrid.js +140 -0
  3057. data/app/assets/javascripts/radius-theme/modules/demo/demo-nestable.js +55 -0
  3058. data/app/assets/javascripts/radius-theme/modules/demo/demo-panels.js +53 -0
  3059. data/app/assets/javascripts/radius-theme/modules/demo/demo-search.js +39 -0
  3060. data/app/assets/javascripts/radius-theme/modules/demo/demo-sortable.js +18 -0
  3061. data/app/assets/javascripts/radius-theme/modules/demo/demo-upload.js +48 -0
  3062. data/app/assets/javascripts/radius-theme/modules/demo/demo-vector-map.js +48 -0
  3063. data/app/assets/javascripts/radius-theme/modules/demo/demo-wizard.js +57 -0
  3064. data/app/assets/javascripts/radius-theme/modules/demo/demo-xeditable.js +123 -0
  3065. data/app/assets/javascripts/radius-theme/modules/flatdoc.js +16 -0
  3066. data/app/assets/javascripts/radius-theme/modules/fullscreen.js +42 -0
  3067. data/app/assets/javascripts/radius-theme/modules/gmap.js +83 -0
  3068. data/app/assets/javascripts/radius-theme/modules/imagecrop.js +221 -0
  3069. data/app/assets/javascripts/radius-theme/modules/load-css.js +49 -0
  3070. data/app/assets/javascripts/radius-theme/modules/maps-vector.js +81 -0
  3071. data/app/assets/javascripts/radius-theme/modules/morris.js +79 -0
  3072. data/app/assets/javascripts/radius-theme/modules/navbar-search.js +64 -0
  3073. data/app/assets/javascripts/radius-theme/modules/notify.js +206 -0
  3074. data/app/assets/javascripts/radius-theme/modules/now.js +23 -0
  3075. data/app/assets/javascripts/radius-theme/modules/panel-tools.js +188 -0
  3076. data/app/assets/javascripts/radius-theme/modules/play-animation.js +73 -0
  3077. data/app/assets/javascripts/radius-theme/modules/porlets.js +77 -0
  3078. data/app/assets/javascripts/radius-theme/modules/rickshaw.js +104 -0
  3079. data/app/assets/javascripts/radius-theme/modules/select2.js +30 -0
  3080. data/app/assets/javascripts/radius-theme/modules/sidebar.js +177 -0
  3081. data/app/assets/javascripts/radius-theme/modules/skycons.js +21 -0
  3082. data/app/assets/javascripts/radius-theme/modules/slimscroll.js +13 -0
  3083. data/app/assets/javascripts/radius-theme/modules/sparkline.js +28 -0
  3084. data/app/assets/javascripts/radius-theme/modules/sweetalert.js +65 -0
  3085. data/app/assets/javascripts/radius-theme/modules/table-checkall.js +23 -0
  3086. data/app/assets/javascripts/radius-theme/modules/toggle-state.js +106 -0
  3087. data/app/assets/javascripts/radius-theme/modules/tour.js +45 -0
  3088. data/app/assets/javascripts/radius-theme/modules/utils.js +166 -0
  3089. data/app/assets/javascripts/radius-theme.js +10 -0
  3090. data/app/assets/stylesheets/font-awesome.css.erb +8676 -0
  3091. data/app/assets/stylesheets/overrides/_status_badges.scss +39 -0
  3092. data/app/assets/stylesheets/overrides/_theme_extensions.scss +18 -0
  3093. data/app/assets/stylesheets/overrides/_utility.scss +131 -0
  3094. data/app/assets/stylesheets/radius-theme/app/alerts.scss +84 -0
  3095. data/app/assets/stylesheets/radius-theme/app/animate.scss +221 -0
  3096. data/app/assets/stylesheets/radius-theme/app/bootstrap-datetimepicker.scss +373 -0
  3097. data/app/assets/stylesheets/radius-theme/app/bootstrap-reset.scss +316 -0
  3098. data/app/assets/stylesheets/radius-theme/app/breadcrumbs.scss +33 -0
  3099. data/app/assets/stylesheets/radius-theme/app/button-extra.scss +170 -0
  3100. data/app/assets/stylesheets/radius-theme/app/calendar.scss +107 -0
  3101. data/app/assets/stylesheets/radius-theme/app/chart-easypie.scss +28 -0
  3102. data/app/assets/stylesheets/radius-theme/app/chart-flot.scss +64 -0
  3103. data/app/assets/stylesheets/radius-theme/app/circles.scss +92 -0
  3104. data/app/assets/stylesheets/radius-theme/app/customizations.scss +21 -0
  3105. data/app/assets/stylesheets/radius-theme/app/datatable.scss +121 -0
  3106. data/app/assets/stylesheets/radius-theme/app/docs.scss +199 -0
  3107. data/app/assets/stylesheets/radius-theme/app/dropdown-extra.scss +62 -0
  3108. data/app/assets/stylesheets/radius-theme/app/footer.scss +13 -0
  3109. data/app/assets/stylesheets/radius-theme/app/form-elements.scss +320 -0
  3110. data/app/assets/stylesheets/radius-theme/app/form-imgcrop.scss +64 -0
  3111. data/app/assets/stylesheets/radius-theme/app/form-tags.scss +19 -0
  3112. data/app/assets/stylesheets/radius-theme/app/form-validation.scss +30 -0
  3113. data/app/assets/stylesheets/radius-theme/app/form-wizard.scss +279 -0
  3114. data/app/assets/stylesheets/radius-theme/app/gmap.scss +13 -0
  3115. data/app/assets/stylesheets/radius-theme/app/half-float.scss +45 -0
  3116. data/app/assets/stylesheets/radius-theme/app/jqgrid.scss +226 -0
  3117. data/app/assets/stylesheets/radius-theme/app/layout-animation.scss +45 -0
  3118. data/app/assets/stylesheets/radius-theme/app/layout-extra.scss +268 -0
  3119. data/app/assets/stylesheets/radius-theme/app/layout.scss +462 -0
  3120. data/app/assets/stylesheets/radius-theme/app/loaders.scss +1882 -0
  3121. data/app/assets/stylesheets/radius-theme/app/mailbox.scss +131 -0
  3122. data/app/assets/stylesheets/radius-theme/app/masonry-grid.scss +1177 -0
  3123. data/app/assets/stylesheets/radius-theme/app/media-queries.scss +20 -0
  3124. data/app/assets/stylesheets/radius-theme/app/nestable.scss +103 -0
  3125. data/app/assets/stylesheets/radius-theme/app/notify.scss +143 -0
  3126. data/app/assets/stylesheets/radius-theme/app/offsidebar.scss +105 -0
  3127. data/app/assets/stylesheets/radius-theme/app/panels.scss +122 -0
  3128. data/app/assets/stylesheets/radius-theme/app/placeholder.scss +43 -0
  3129. data/app/assets/stylesheets/radius-theme/app/plugins.scss +185 -0
  3130. data/app/assets/stylesheets/radius-theme/app/portlets.scss +41 -0
  3131. data/app/assets/stylesheets/radius-theme/app/print.scss +32 -0
  3132. data/app/assets/stylesheets/radius-theme/app/progress-extra.scss +42 -0
  3133. data/app/assets/stylesheets/radius-theme/app/radial-bar.scss +152 -0
  3134. data/app/assets/stylesheets/radius-theme/app/row-extra.scss +50 -0
  3135. data/app/assets/stylesheets/radius-theme/app/settings.scss +65 -0
  3136. data/app/assets/stylesheets/radius-theme/app/sidebar.scss +261 -0
  3137. data/app/assets/stylesheets/radius-theme/app/slim-scroll.scss +27 -0
  3138. data/app/assets/stylesheets/radius-theme/app/spinner.scss +196 -0
  3139. data/app/assets/stylesheets/radius-theme/app/table-extras.scss +70 -0
  3140. data/app/assets/stylesheets/radius-theme/app/table-grid.scss +84 -0
  3141. data/app/assets/stylesheets/radius-theme/app/timeline.scss +261 -0
  3142. data/app/assets/stylesheets/radius-theme/app/todo.scss +49 -0
  3143. data/app/assets/stylesheets/radius-theme/app/top-navbar.scss +313 -0
  3144. data/app/assets/stylesheets/radius-theme/app/typo.scss +14 -0
  3145. data/app/assets/stylesheets/radius-theme/app/user-block.scss +79 -0
  3146. data/app/assets/stylesheets/radius-theme/app/utils-definitions.scss +114 -0
  3147. data/app/assets/stylesheets/radius-theme/app/utils.scss +423 -0
  3148. data/app/assets/stylesheets/radius-theme/app/variables.scss +921 -0
  3149. data/app/assets/stylesheets/radius-theme/app/vector-map.scss +38 -0
  3150. data/app/assets/stylesheets/radius-theme/app/widget.scss +36 -0
  3151. data/app/assets/stylesheets/radius-theme/app.scss +184 -0
  3152. data/app/assets/stylesheets/radius-theme/bootstrap/_bootstrap-compass.scss +9 -0
  3153. data/app/assets/stylesheets/radius-theme/bootstrap/_bootstrap-mincer.scss +19 -0
  3154. data/app/assets/stylesheets/radius-theme/bootstrap/_bootstrap-sprockets.scss +9 -0
  3155. data/app/assets/stylesheets/radius-theme/bootstrap/_bootstrap.scss +56 -0
  3156. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_alerts.scss +73 -0
  3157. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_badges.scss +68 -0
  3158. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_breadcrumbs.scss +28 -0
  3159. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_button-groups.scss +244 -0
  3160. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_buttons.scss +168 -0
  3161. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_carousel.scss +270 -0
  3162. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_close.scss +36 -0
  3163. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_code.scss +69 -0
  3164. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_component-animations.scss +37 -0
  3165. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_dropdowns.scss +216 -0
  3166. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_forms.scss +617 -0
  3167. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_glyphicons.scss +307 -0
  3168. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_grid.scss +84 -0
  3169. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_input-groups.scss +171 -0
  3170. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_jumbotron.scss +54 -0
  3171. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_labels.scss +66 -0
  3172. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_list-group.scss +130 -0
  3173. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_media.scss +66 -0
  3174. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_mixins.scss +40 -0
  3175. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_modals.scss +150 -0
  3176. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_navbar.scss +662 -0
  3177. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_navs.scss +242 -0
  3178. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_normalize.scss +424 -0
  3179. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_pager.scss +54 -0
  3180. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_pagination.scss +89 -0
  3181. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_panels.scss +271 -0
  3182. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_popovers.scss +131 -0
  3183. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_print.scss +101 -0
  3184. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_progress-bars.scss +87 -0
  3185. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_responsive-embed.scss +35 -0
  3186. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_responsive-utilities.scss +179 -0
  3187. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_scaffolding.scss +161 -0
  3188. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_tables.scss +234 -0
  3189. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_theme.scss +291 -0
  3190. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_thumbnails.scss +38 -0
  3191. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_tooltip.scss +101 -0
  3192. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_type.scss +298 -0
  3193. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_utilities.scss +55 -0
  3194. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_variables.scss +874 -0
  3195. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/_wells.scss +29 -0
  3196. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_alerts.scss +14 -0
  3197. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_background-variant.scss +12 -0
  3198. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_border-radius.scss +18 -0
  3199. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_buttons.scss +65 -0
  3200. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_center-block.scss +7 -0
  3201. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_clearfix.scss +22 -0
  3202. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_forms.scss +88 -0
  3203. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_gradients.scss +58 -0
  3204. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_grid-framework.scss +81 -0
  3205. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_grid.scss +122 -0
  3206. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_hide-text.scss +21 -0
  3207. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_image.scss +33 -0
  3208. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_labels.scss +12 -0
  3209. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_list-group.scss +32 -0
  3210. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_nav-divider.scss +10 -0
  3211. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  3212. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_opacity.scss +8 -0
  3213. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_pagination.scss +24 -0
  3214. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_panels.scss +24 -0
  3215. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_progress-bar.scss +10 -0
  3216. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_reset-filter.scss +8 -0
  3217. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_reset-text.scss +18 -0
  3218. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_resize.scss +6 -0
  3219. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_responsive-visibility.scss +21 -0
  3220. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_size.scss +10 -0
  3221. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_tab-focus.scss +9 -0
  3222. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_table-row.scss +28 -0
  3223. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_text-emphasis.scss +12 -0
  3224. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_text-overflow.scss +8 -0
  3225. data/app/assets/stylesheets/radius-theme/bootstrap/bootstrap/mixins/_vendor-prefixes.scss +222 -0
  3226. data/app/assets/stylesheets/radius-theme/masquerade.scss +12 -0
  3227. data/app/assets/stylesheets/radius-theme/themes/theme-a.scss +217 -0
  3228. data/app/assets/stylesheets/radius-theme/themes/theme-b.scss +216 -0
  3229. data/app/assets/stylesheets/radius-theme/themes/theme-c.scss +218 -0
  3230. data/app/assets/stylesheets/radius-theme/themes/theme-d.scss +218 -0
  3231. data/app/assets/stylesheets/radius-theme/themes/theme-e.scss +219 -0
  3232. data/app/assets/stylesheets/radius-theme/themes/theme-f.scss +218 -0
  3233. data/app/assets/stylesheets/radius-theme/themes/theme-g.scss +217 -0
  3234. data/app/assets/stylesheets/radius-theme/themes/theme-h.scss +217 -0
  3235. data/app/assets/stylesheets/radius-theme.scss +4 -0
  3236. data/app/assets/stylesheets/simple-line-icons.scss.erb +758 -0
  3237. data/app/assets/stylesheets/weather-icons.css.erb +1842 -0
  3238. data/app/helpers/icon_helper.rb +96 -0
  3239. data/app/helpers/radius_helper.rb +18 -0
  3240. data/app/views/radius/_masquerade_bar.html.erb +9 -0
  3241. data/app/views/radius/_topnavbar.html.erb +111 -0
  3242. data/app/views/radius/forms/_form_errors.html.slim +6 -0
  3243. data/lib/radius/rails/engine.rb +0 -2
  3244. data/lib/radius/rails/version.rb +1 -1
  3245. data/lib/radius-rails.rb +10 -0
  3246. data/lib/templates/rails/scaffold_controller/controller.rb.tt +67 -0
  3247. data/lib/templates/slim/scaffold/_form.html.slim.tt +39 -0
  3248. data/lib/templates/slim/scaffold/edit.html.slim.tt +10 -0
  3249. data/lib/templates/slim/scaffold/index.html.slim.tt +32 -0
  3250. data/lib/templates/slim/scaffold/new.html.slim.tt +8 -0
  3251. data/lib/templates/slim/scaffold/show.html.slim.tt +18 -0
  3252. data/radius-rails.gemspec +3 -5
  3253. data/vendor/stylelint-15.6.0/lib/__tests__/fixtures/node_modules/test.css +1 -0
  3254. metadata +3259 -41
  3255. data/app/assets/images/corporate-bar-logo.png +0 -0
  3256. data/app/assets/stylesheets/corporate-bar.css.scss +0 -81
  3257. data/app/views/radius/_corporate_bar.html.erb +0 -43
  3258. data/app/views/radius/_ga.html.erb +0 -9
  3259. data/app/views/radius/_zendesk.html.erb +0 -23
  3260. /data/app/assets/stylesheets/{bonveno-webfont.css.scss → bonveno-webfont.scss} +0 -0
  3261. /data/app/assets/stylesheets/{environment-ribbon.css.scss → environment-ribbon.scss} +0 -0
  3262. /data/app/assets/stylesheets/{nevis-webfont.css.scss → nevis-webfont.scss} +0 -0
@@ -0,0 +1,2502 @@
1
+ /*!
2
+ * Parsleyjs
3
+ * Guillaume Potier - <guillaume@wisembly.com>
4
+ * Version 2.1.3 - built Wed Jul 29 2015 08:27:00
5
+ * MIT Licensed
6
+ *
7
+ */
8
+ !(function (factory) {
9
+ if (typeof define === 'function' && define.amd) {
10
+ // AMD. Register as an anonymous module depending on jQuery.
11
+ define(['jquery'], factory);
12
+ } else if (typeof exports === 'object') {
13
+ // Node/CommonJS
14
+ module.exports = factory(require('jquery'));
15
+ } else {
16
+ // Register plugin with global jQuery object.
17
+ factory(jQuery);
18
+ }
19
+ }(function ($) {
20
+ // small hack for requirejs if jquery is loaded through map and not path
21
+ // see http://requirejs.org/docs/jquery.html
22
+ if ('undefined' === typeof $ && 'undefined' !== typeof window.jQuery)
23
+ $ = window.jQuery;
24
+ var globalID = 1,
25
+ pastWarnings = {};
26
+ var ParsleyUtils = {
27
+ // Parsley DOM-API
28
+ // returns object from dom attributes and values
29
+ attr: function ($element, namespace, obj) {
30
+ var
31
+ attribute, attributes,
32
+ regex = new RegExp('^' + namespace, 'i');
33
+ if ('undefined' === typeof obj)
34
+ obj = {};
35
+ else {
36
+ // Clear all own properties. This won't affect prototype's values
37
+ for (var i in obj) {
38
+ if (obj.hasOwnProperty(i))
39
+ delete obj[i];
40
+ }
41
+ }
42
+ if ('undefined' === typeof $element || 'undefined' === typeof $element[0])
43
+ return obj;
44
+ attributes = $element[0].attributes;
45
+ for (var i = attributes.length; i--; ) {
46
+ attribute = attributes[i];
47
+ if (attribute && attribute.specified && regex.test(attribute.name)) {
48
+ obj[this.camelize(attribute.name.slice(namespace.length))] = this.deserializeValue(attribute.value);
49
+ }
50
+ }
51
+ return obj;
52
+ },
53
+ checkAttr: function ($element, namespace, checkAttr) {
54
+ return $element.is('[' + namespace + checkAttr + ']');
55
+ },
56
+ setAttr: function ($element, namespace, attr, value) {
57
+ $element[0].setAttribute(this.dasherize(namespace + attr), String(value));
58
+ },
59
+ generateID: function () {
60
+ return '' + globalID++;
61
+ },
62
+ /** Third party functions **/
63
+ // Zepto deserialize function
64
+ deserializeValue: function (value) {
65
+ var num;
66
+ try {
67
+ return value ?
68
+ value == "true" ||
69
+ (value == "false" ? false :
70
+ value == "null" ? null :
71
+ !isNaN(num = Number(value)) ? num :
72
+ /^[\[\{]/.test(value) ? $.parseJSON(value) :
73
+ value)
74
+ : value;
75
+ } catch (e) { return value; }
76
+ },
77
+ // Zepto camelize function
78
+ camelize: function (str) {
79
+ return str.replace(/-+(.)?/g, function (match, chr) {
80
+ return chr ? chr.toUpperCase() : '';
81
+ });
82
+ },
83
+ // Zepto dasherize function
84
+ dasherize: function (str) {
85
+ return str.replace(/::/g, '/')
86
+ .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2')
87
+ .replace(/([a-z\d])([A-Z])/g, '$1_$2')
88
+ .replace(/_/g, '-')
89
+ .toLowerCase();
90
+ },
91
+ warn: function() {
92
+ if (window.console && 'function' === typeof window.console.warn)
93
+ window.console.warn.apply(window.console, arguments);
94
+ },
95
+ warnOnce: function(msg) {
96
+ if (!pastWarnings[msg]) {
97
+ pastWarnings[msg] = true;
98
+ this.warn.apply(this, arguments);
99
+ }
100
+ },
101
+ _resetWarnings: function() {
102
+ pastWarnings = {};
103
+ },
104
+ // Object.create polyfill, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create#Polyfill
105
+ objectCreate: Object.create || (function () {
106
+ var Object = function () {};
107
+ return function (prototype) {
108
+ if (arguments.length > 1) {
109
+ throw Error('Second argument not supported');
110
+ }
111
+ if (typeof prototype != 'object') {
112
+ throw TypeError('Argument must be an object');
113
+ }
114
+ Object.prototype = prototype;
115
+ var result = new Object();
116
+ Object.prototype = null;
117
+ return result;
118
+ };
119
+ })()
120
+ };
121
+ // All these options could be overriden and specified directly in DOM using
122
+ // `data-parsley-` default DOM-API
123
+ // eg: `inputs` can be set in DOM using `data-parsley-inputs="input, textarea"`
124
+ // eg: `data-parsley-stop-on-first-failing-constraint="false"`
125
+
126
+ var ParsleyDefaults = {
127
+ // ### General
128
+ // Default data-namespace for DOM API
129
+ namespace: 'data-parsley-',
130
+ // Supported inputs by default
131
+ inputs: 'input, textarea, select',
132
+ // Excluded inputs by default
133
+ excluded: 'input[type=button], input[type=submit], input[type=reset], input[type=hidden]',
134
+ // Stop validating field on highest priority failing constraint
135
+ priorityEnabled: true,
136
+ // ### Field only
137
+ // identifier used to group together inputs (e.g. radio buttons...)
138
+ multiple: null,
139
+ // identifier (or array of identifiers) used to validate only a select group of inputs
140
+ group: null,
141
+ // ### UI
142
+ // Enable\Disable error messages
143
+ uiEnabled: true,
144
+ // Key events threshold before validation
145
+ validationThreshold: 3,
146
+ // Focused field on form validation error. 'first'|'last'|'none'
147
+ focus: 'first',
148
+ // `$.Event()` that will trigger validation. eg: `keyup`, `change`...
149
+ trigger: false,
150
+ // Class that would be added on every failing validation Parsley field
151
+ errorClass: 'parsley-error',
152
+ // Same for success validation
153
+ successClass: 'parsley-success',
154
+ // Return the `$element` that will receive these above success or error classes
155
+ // Could also be (and given directly from DOM) a valid selector like `'#div'`
156
+ classHandler: function (ParsleyField) {},
157
+ // Return the `$element` where errors will be appended
158
+ // Could also be (and given directly from DOM) a valid selector like `'#div'`
159
+ errorsContainer: function (ParsleyField) {},
160
+ // ul elem that would receive errors' list
161
+ errorsWrapper: '<ul class="parsley-errors-list"></ul>',
162
+ // li elem that would receive error message
163
+ errorTemplate: '<li></li>'
164
+ };
165
+
166
+ var ParsleyAbstract = function () {};
167
+ ParsleyAbstract.prototype = {
168
+ asyncSupport: false,
169
+ actualizeOptions: function () {
170
+ ParsleyUtils.attr(this.$element, this.options.namespace, this.domOptions);
171
+ if (this.parent && this.parent.actualizeOptions)
172
+ this.parent.actualizeOptions();
173
+ return this;
174
+ },
175
+ _resetOptions: function (initOptions) {
176
+ this.domOptions = ParsleyUtils.objectCreate(this.parent.options);
177
+ this.options = ParsleyUtils.objectCreate(this.domOptions);
178
+ // Shallow copy of ownProperties of initOptions:
179
+ for (var i in initOptions) {
180
+ if (initOptions.hasOwnProperty(i))
181
+ this.options[i] = initOptions[i];
182
+ }
183
+ this.actualizeOptions();
184
+ },
185
+ // ParsleyValidator validate proxy function . Could be replaced by third party scripts
186
+ validateThroughValidator: function (value, constraints, priority) {
187
+ return window.ParsleyValidator.validate(value, constraints, priority);
188
+ },
189
+ _listeners: null,
190
+ // Register a callback for the given event name.
191
+ // Callback is called with context as the first argument and the `this`.
192
+ // The context is the current parsley instance, or window.Parsley if global.
193
+ // A return value of `false` will interrupt the calls
194
+ on: function (name, fn) {
195
+ this._listeners = this._listeners || {};
196
+ var queue = this._listeners[name] = this._listeners[name] || [];
197
+ queue.push(fn);
198
+ return this;
199
+ },
200
+ // Deprecated. Use `on` instead.
201
+ subscribe: function(name, fn) {
202
+ $.listenTo(this, name.toLowerCase(), fn);
203
+ },
204
+ // Unregister a callback (or all if none is given) for the given event name
205
+ off: function (name, fn) {
206
+ var queue = this._listeners && this._listeners[name];
207
+ if (queue) {
208
+ if (!fn) {
209
+ delete this._listeners[name];
210
+ } else {
211
+ for(var i = queue.length; i--; )
212
+ if (queue[i] === fn)
213
+ queue.splice(i, 1);
214
+ }
215
+ }
216
+ return this;
217
+ },
218
+ // Deprecated. Use `off`
219
+ unsubscribe: function(name, fn) {
220
+ $.unsubscribeTo(this, name.toLowerCase());
221
+ },
222
+ // Trigger an event of the given name.
223
+ // A return value of `false` interrupts the callback chain.
224
+ // Returns false if execution was interrupted.
225
+ trigger: function (name, target) {
226
+ target = target || this;
227
+ var queue = this._listeners && this._listeners[name];
228
+ var result, parentResult;
229
+ if (queue) {
230
+ for(var i = queue.length; i--; ) {
231
+ result = queue[i].call(target, target);
232
+ if (result === false) return result;
233
+ }
234
+ }
235
+ if (this.parent) {
236
+ return this.parent.trigger(name, target);
237
+ }
238
+ return true;
239
+ },
240
+ // Reset UI
241
+ reset: function () {
242
+ // Field case: just emit a reset event for UI
243
+ if ('ParsleyForm' !== this.__class__)
244
+ return this._trigger('reset');
245
+ // Form case: emit a reset event for each field
246
+ for (var i = 0; i < this.fields.length; i++)
247
+ this.fields[i]._trigger('reset');
248
+ this._trigger('reset');
249
+ },
250
+ // Destroy Parsley instance (+ UI)
251
+ destroy: function () {
252
+ // Field case: emit destroy event to clean UI and then destroy stored instance
253
+ if ('ParsleyForm' !== this.__class__) {
254
+ this.$element.removeData('Parsley');
255
+ this.$element.removeData('ParsleyFieldMultiple');
256
+ this._trigger('destroy');
257
+ return;
258
+ }
259
+ // Form case: destroy all its fields and then destroy stored instance
260
+ for (var i = 0; i < this.fields.length; i++)
261
+ this.fields[i].destroy();
262
+ this.$element.removeData('Parsley');
263
+ this._trigger('destroy');
264
+ },
265
+ _findRelatedMultiple: function() {
266
+ return this.parent.$element.find('[' + this.options.namespace + 'multiple="' + this.options.multiple +'"]');
267
+ }
268
+ };
269
+ /*!
270
+ * validator.js
271
+ * Guillaume Potier - <guillaume@wisembly.com>
272
+ * Version 1.0.1 - built Mon Aug 25 2014 16:10:10
273
+ * MIT Licensed
274
+ *
275
+ */
276
+ var Validator = ( function ( ) {
277
+ var exports = {};
278
+ /**
279
+ * Validator
280
+ */
281
+ var Validator = function ( options ) {
282
+ this.__class__ = 'Validator';
283
+ this.__version__ = '1.0.1';
284
+ this.options = options || {};
285
+ this.bindingKey = this.options.bindingKey || '_validatorjsConstraint';
286
+ };
287
+ Validator.prototype = {
288
+ constructor: Validator,
289
+ /*
290
+ * Validate string: validate( string, Assert, string ) || validate( string, [ Assert, Assert ], [ string, string ] )
291
+ * Validate object: validate( object, Constraint, string ) || validate( object, Constraint, [ string, string ] )
292
+ * Validate binded object: validate( object, string ) || validate( object, [ string, string ] )
293
+ */
294
+ validate: function ( objectOrString, AssertsOrConstraintOrGroup, group ) {
295
+ if ( 'string' !== typeof objectOrString && 'object' !== typeof objectOrString )
296
+ throw new Error( 'You must validate an object or a string' );
297
+ // string / array validation
298
+ if ( 'string' === typeof objectOrString || _isArray(objectOrString) )
299
+ return this._validateString( objectOrString, AssertsOrConstraintOrGroup, group );
300
+ // binded object validation
301
+ if ( this.isBinded( objectOrString ) )
302
+ return this._validateBindedObject( objectOrString, AssertsOrConstraintOrGroup );
303
+ // regular object validation
304
+ return this._validateObject( objectOrString, AssertsOrConstraintOrGroup, group );
305
+ },
306
+ bind: function ( object, constraint ) {
307
+ if ( 'object' !== typeof object )
308
+ throw new Error( 'Must bind a Constraint to an object' );
309
+ object[ this.bindingKey ] = new Constraint( constraint );
310
+ return this;
311
+ },
312
+ unbind: function ( object ) {
313
+ if ( 'undefined' === typeof object._validatorjsConstraint )
314
+ return this;
315
+ delete object[ this.bindingKey ];
316
+ return this;
317
+ },
318
+ isBinded: function ( object ) {
319
+ return 'undefined' !== typeof object[ this.bindingKey ];
320
+ },
321
+ getBinded: function ( object ) {
322
+ return this.isBinded( object ) ? object[ this.bindingKey ] : null;
323
+ },
324
+ _validateString: function ( string, assert, group ) {
325
+ var result, failures = [];
326
+ if ( !_isArray( assert ) )
327
+ assert = [ assert ];
328
+ for ( var i = 0; i < assert.length; i++ ) {
329
+ if ( ! ( assert[ i ] instanceof Assert) )
330
+ throw new Error( 'You must give an Assert or an Asserts array to validate a string' );
331
+ result = assert[ i ].check( string, group );
332
+ if ( result instanceof Violation )
333
+ failures.push( result );
334
+ }
335
+ return failures.length ? failures : true;
336
+ },
337
+ _validateObject: function ( object, constraint, group ) {
338
+ if ( 'object' !== typeof constraint )
339
+ throw new Error( 'You must give a constraint to validate an object' );
340
+ if ( constraint instanceof Constraint )
341
+ return constraint.check( object, group );
342
+ return new Constraint( constraint ).check( object, group );
343
+ },
344
+ _validateBindedObject: function ( object, group ) {
345
+ return object[ this.bindingKey ].check( object, group );
346
+ }
347
+ };
348
+ Validator.errorCode = {
349
+ must_be_a_string: 'must_be_a_string',
350
+ must_be_an_array: 'must_be_an_array',
351
+ must_be_a_number: 'must_be_a_number',
352
+ must_be_a_string_or_array: 'must_be_a_string_or_array'
353
+ };
354
+ /**
355
+ * Constraint
356
+ */
357
+ var Constraint = function ( data, options ) {
358
+ this.__class__ = 'Constraint';
359
+ this.options = options || {};
360
+ this.nodes = {};
361
+ if ( data ) {
362
+ try {
363
+ this._bootstrap( data );
364
+ } catch ( err ) {
365
+ throw new Error( 'Should give a valid mapping object to Constraint', err, data );
366
+ }
367
+ }
368
+ };
369
+ Constraint.prototype = {
370
+ constructor: Constraint,
371
+ check: function ( object, group ) {
372
+ var result, failures = {};
373
+ // check all constraint nodes.
374
+ for ( var property in this.nodes ) {
375
+ var isRequired = false;
376
+ var constraint = this.get(property);
377
+ var constraints = _isArray( constraint ) ? constraint : [constraint];
378
+ for (var i = constraints.length - 1; i >= 0; i--) {
379
+ if ( 'Required' === constraints[i].__class__ ) {
380
+ isRequired = constraints[i].requiresValidation( group );
381
+ continue;
382
+ }
383
+ }
384
+ if ( ! this.has( property, object ) && ! this.options.strict && ! isRequired ) {
385
+ continue;
386
+ }
387
+ try {
388
+ if (! this.has( property, this.options.strict || isRequired ? object : undefined ) ) {
389
+ // we trigger here a HaveProperty Assert violation to have uniform Violation object in the end
390
+ new Assert().HaveProperty( property ).validate( object );
391
+ }
392
+ result = this._check( property, object[ property ], group );
393
+ // check returned an array of Violations or an object mapping Violations
394
+ if ( ( _isArray( result ) && result.length > 0 ) || ( !_isArray( result ) && !_isEmptyObject( result ) ) ) {
395
+ failures[ property ] = result;
396
+ }
397
+ } catch ( violation ) {
398
+ failures[ property ] = violation;
399
+ }
400
+ }
401
+ return _isEmptyObject(failures) ? true : failures;
402
+ },
403
+ add: function ( node, object ) {
404
+ if ( object instanceof Assert || ( _isArray( object ) && object[ 0 ] instanceof Assert ) ) {
405
+ this.nodes[ node ] = object;
406
+ return this;
407
+ }
408
+ if ( 'object' === typeof object && !_isArray( object ) ) {
409
+ this.nodes[ node ] = object instanceof Constraint ? object : new Constraint( object );
410
+ return this;
411
+ }
412
+ throw new Error( 'Should give an Assert, an Asserts array, a Constraint', object );
413
+ },
414
+ has: function ( node, nodes ) {
415
+ nodes = 'undefined' !== typeof nodes ? nodes : this.nodes;
416
+ return 'undefined' !== typeof nodes[ node ];
417
+ },
418
+ get: function ( node, placeholder ) {
419
+ return this.has( node ) ? this.nodes[ node ] : placeholder || null;
420
+ },
421
+ remove: function ( node ) {
422
+ var _nodes = [];
423
+ for ( var i in this.nodes )
424
+ if ( i !== node )
425
+ _nodes[ i ] = this.nodes[ i ];
426
+ this.nodes = _nodes;
427
+ return this;
428
+ },
429
+ _bootstrap: function ( data ) {
430
+ if ( data instanceof Constraint )
431
+ return this.nodes = data.nodes;
432
+ for ( var node in data )
433
+ this.add( node, data[ node ] );
434
+ },
435
+ _check: function ( node, value, group ) {
436
+ // Assert
437
+ if ( this.nodes[ node ] instanceof Assert )
438
+ return this._checkAsserts( value, [ this.nodes[ node ] ], group );
439
+ // Asserts
440
+ if ( _isArray( this.nodes[ node ] ) )
441
+ return this._checkAsserts( value, this.nodes[ node ], group );
442
+ // Constraint -> check api
443
+ if ( this.nodes[ node ] instanceof Constraint )
444
+ return this.nodes[ node ].check( value, group );
445
+ throw new Error( 'Invalid node', this.nodes[ node ] );
446
+ },
447
+ _checkAsserts: function ( value, asserts, group ) {
448
+ var result, failures = [];
449
+ for ( var i = 0; i < asserts.length; i++ ) {
450
+ result = asserts[ i ].check( value, group );
451
+ if ( 'undefined' !== typeof result && true !== result )
452
+ failures.push( result );
453
+ // Some asserts (Collection for example) could return an object
454
+ // if ( result && ! ( result instanceof Violation ) )
455
+ // return result;
456
+ //
457
+ // // Vast assert majority return Violation
458
+ // if ( result instanceof Violation )
459
+ // failures.push( result );
460
+ }
461
+ return failures;
462
+ }
463
+ };
464
+ /**
465
+ * Violation
466
+ */
467
+ var Violation = function ( assert, value, violation ) {
468
+ this.__class__ = 'Violation';
469
+ if ( ! ( assert instanceof Assert ) )
470
+ throw new Error( 'Should give an assertion implementing the Assert interface' );
471
+ this.assert = assert;
472
+ this.value = value;
473
+ if ( 'undefined' !== typeof violation )
474
+ this.violation = violation;
475
+ };
476
+ Violation.prototype = {
477
+ show: function () {
478
+ var show = {
479
+ assert: this.assert.__class__,
480
+ value: this.value
481
+ };
482
+ if ( this.violation )
483
+ show.violation = this.violation;
484
+ return show;
485
+ },
486
+ __toString: function () {
487
+ if ( 'undefined' !== typeof this.violation )
488
+ this.violation = '", ' + this.getViolation().constraint + ' expected was ' + this.getViolation().expected;
489
+ return this.assert.__class__ + ' assert failed for "' + this.value + this.violation || '';
490
+ },
491
+ getViolation: function () {
492
+ var constraint, expected;
493
+ for ( constraint in this.violation )
494
+ expected = this.violation[ constraint ];
495
+ return { constraint: constraint, expected: expected };
496
+ }
497
+ };
498
+ /**
499
+ * Assert
500
+ */
501
+ var Assert = function ( group ) {
502
+ this.__class__ = 'Assert';
503
+ this.__parentClass__ = this.__class__;
504
+ this.groups = [];
505
+ if ( 'undefined' !== typeof group )
506
+ this.addGroup( group );
507
+ };
508
+ Assert.prototype = {
509
+ construct: Assert,
510
+ requiresValidation: function ( group ) {
511
+ if ( group && !this.hasGroup( group ) )
512
+ return false;
513
+ if ( !group && this.hasGroups() )
514
+ return false;
515
+ return true;
516
+ },
517
+ check: function ( value, group ) {
518
+ if ( !this.requiresValidation( group ) )
519
+ return;
520
+ try {
521
+ return this.validate( value, group );
522
+ } catch ( violation ) {
523
+ return violation;
524
+ }
525
+ },
526
+ hasGroup: function ( group ) {
527
+ if ( _isArray( group ) )
528
+ return this.hasOneOf( group );
529
+ // All Asserts respond to "Any" group
530
+ if ( 'Any' === group )
531
+ return true;
532
+ // Asserts with no group also respond to "Default" group. Else return false
533
+ if ( !this.hasGroups() )
534
+ return 'Default' === group;
535
+ return -1 !== this.groups.indexOf( group );
536
+ },
537
+ hasOneOf: function ( groups ) {
538
+ for ( var i = 0; i < groups.length; i++ )
539
+ if ( this.hasGroup( groups[ i ] ) )
540
+ return true;
541
+ return false;
542
+ },
543
+ hasGroups: function () {
544
+ return this.groups.length > 0;
545
+ },
546
+ addGroup: function ( group ) {
547
+ if ( _isArray( group ) )
548
+ return this.addGroups( group );
549
+ if ( !this.hasGroup( group ) )
550
+ this.groups.push( group );
551
+ return this;
552
+ },
553
+ removeGroup: function ( group ) {
554
+ var _groups = [];
555
+ for ( var i = 0; i < this.groups.length; i++ )
556
+ if ( group !== this.groups[ i ] )
557
+ _groups.push( this.groups[ i ] );
558
+ this.groups = _groups;
559
+ return this;
560
+ },
561
+ addGroups: function ( groups ) {
562
+ for ( var i = 0; i < groups.length; i++ )
563
+ this.addGroup( groups[ i ] );
564
+ return this;
565
+ },
566
+ /**
567
+ * Asserts definitions
568
+ */
569
+ HaveProperty: function ( node ) {
570
+ this.__class__ = 'HaveProperty';
571
+ this.node = node;
572
+ this.validate = function ( object ) {
573
+ if ( 'undefined' === typeof object[ this.node ] )
574
+ throw new Violation( this, object, { value: this.node } );
575
+ return true;
576
+ };
577
+ return this;
578
+ },
579
+ Blank: function () {
580
+ this.__class__ = 'Blank';
581
+ this.validate = function ( value ) {
582
+ if ( 'string' !== typeof value )
583
+ throw new Violation( this, value, { value: Validator.errorCode.must_be_a_string } );
584
+ if ( '' !== value.replace( /^\s+/g, '' ).replace( /\s+$/g, '' ) )
585
+ throw new Violation( this, value );
586
+ return true;
587
+ };
588
+ return this;
589
+ },
590
+ Callback: function ( fn ) {
591
+ this.__class__ = 'Callback';
592
+ this.arguments = Array.prototype.slice.call( arguments );
593
+ if ( 1 === this.arguments.length )
594
+ this.arguments = [];
595
+ else
596
+ this.arguments.splice( 0, 1 );
597
+ if ( 'function' !== typeof fn )
598
+ throw new Error( 'Callback must be instanciated with a function' );
599
+ this.fn = fn;
600
+ this.validate = function ( value ) {
601
+ var result = this.fn.apply( this, [ value ].concat( this.arguments ) );
602
+ if ( true !== result )
603
+ throw new Violation( this, value, { result: result } );
604
+ return true;
605
+ };
606
+ return this;
607
+ },
608
+ Choice: function ( list ) {
609
+ this.__class__ = 'Choice';
610
+ if ( !_isArray( list ) && 'function' !== typeof list )
611
+ throw new Error( 'Choice must be instanciated with an array or a function' );
612
+ this.list = list;
613
+ this.validate = function ( value ) {
614
+ var list = 'function' === typeof this.list ? this.list() : this.list;
615
+ for ( var i = 0; i < list.length; i++ )
616
+ if ( value === list[ i ] )
617
+ return true;
618
+ throw new Violation( this, value, { choices: list } );
619
+ };
620
+ return this;
621
+ },
622
+ Collection: function ( assertOrConstraint ) {
623
+ this.__class__ = 'Collection';
624
+ this.constraint = 'undefined' !== typeof assertOrConstraint ? (assertOrConstraint instanceof Assert ? assertOrConstraint : new Constraint( assertOrConstraint )) : false;
625
+ this.validate = function ( collection, group ) {
626
+ var result, validator = new Validator(), count = 0, failures = {}, groups = this.groups.length ? this.groups : group;
627
+ if ( !_isArray( collection ) )
628
+ throw new Violation( this, collection, { value: Validator.errorCode.must_be_an_array } );
629
+ for ( var i = 0; i < collection.length; i++ ) {
630
+ result = this.constraint ?
631
+ validator.validate( collection[ i ], this.constraint, groups ) :
632
+ validator.validate( collection[ i ], groups );
633
+ if ( !_isEmptyObject( result ) )
634
+ failures[ count ] = result;
635
+ count++;
636
+ }
637
+ return !_isEmptyObject( failures ) ? failures : true;
638
+ };
639
+ return this;
640
+ },
641
+ Count: function ( count ) {
642
+ this.__class__ = 'Count';
643
+ this.count = count;
644
+ this.validate = function ( array ) {
645
+ if ( !_isArray( array ) )
646
+ throw new Violation( this, array, { value: Validator.errorCode.must_be_an_array } );
647
+ var count = 'function' === typeof this.count ? this.count( array ) : this.count;
648
+ if ( isNaN( Number( count ) ) )
649
+ throw new Error( 'Count must be a valid interger', count );
650
+ if ( count !== array.length )
651
+ throw new Violation( this, array, { count: count } );
652
+ return true;
653
+ };
654
+ return this;
655
+ },
656
+ Email: function () {
657
+ this.__class__ = 'Email';
658
+ this.validate = function ( value ) {
659
+ var regExp = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i;
660
+ if ( 'string' !== typeof value )
661
+ throw new Violation( this, value, { value: Validator.errorCode.must_be_a_string } );
662
+ if ( !regExp.test( value ) )
663
+ throw new Violation( this, value );
664
+ return true;
665
+ };
666
+ return this;
667
+ },
668
+ EqualTo: function ( reference ) {
669
+ this.__class__ = 'EqualTo';
670
+ if ( 'undefined' === typeof reference )
671
+ throw new Error( 'EqualTo must be instanciated with a value or a function' );
672
+ this.reference = reference;
673
+ this.validate = function ( value ) {
674
+ var reference = 'function' === typeof this.reference ? this.reference( value ) : this.reference;
675
+ if ( reference !== value )
676
+ throw new Violation( this, value, { value: reference } );
677
+ return true;
678
+ };
679
+ return this;
680
+ },
681
+ GreaterThan: function ( threshold ) {
682
+ this.__class__ = 'GreaterThan';
683
+ if ( 'undefined' === typeof threshold )
684
+ throw new Error( 'Should give a threshold value' );
685
+ this.threshold = threshold;
686
+ this.validate = function ( value ) {
687
+ if ( '' === value || isNaN( Number( value ) ) )
688
+ throw new Violation( this, value, { value: Validator.errorCode.must_be_a_number } );
689
+ if ( this.threshold >= value )
690
+ throw new Violation( this, value, { threshold: this.threshold } );
691
+ return true;
692
+ };
693
+ return this;
694
+ },
695
+ GreaterThanOrEqual: function ( threshold ) {
696
+ this.__class__ = 'GreaterThanOrEqual';
697
+ if ( 'undefined' === typeof threshold )
698
+ throw new Error( 'Should give a threshold value' );
699
+ this.threshold = threshold;
700
+ this.validate = function ( value ) {
701
+ if ( '' === value || isNaN( Number( value ) ) )
702
+ throw new Violation( this, value, { value: Validator.errorCode.must_be_a_number } );
703
+ if ( this.threshold > value )
704
+ throw new Violation( this, value, { threshold: this.threshold } );
705
+ return true;
706
+ };
707
+ return this;
708
+ },
709
+ InstanceOf: function ( classRef ) {
710
+ this.__class__ = 'InstanceOf';
711
+ if ( 'undefined' === typeof classRef )
712
+ throw new Error( 'InstanceOf must be instanciated with a value' );
713
+ this.classRef = classRef;
714
+ this.validate = function ( value ) {
715
+ if ( true !== (value instanceof this.classRef) )
716
+ throw new Violation( this, value, { classRef: this.classRef } );
717
+ return true;
718
+ };
719
+ return this;
720
+ },
721
+ Length: function ( boundaries ) {
722
+ this.__class__ = 'Length';
723
+ if ( !boundaries.min && !boundaries.max )
724
+ throw new Error( 'Lenth assert must be instanciated with a { min: x, max: y } object' );
725
+ this.min = boundaries.min;
726
+ this.max = boundaries.max;
727
+ this.validate = function ( value ) {
728
+ if ( 'string' !== typeof value && !_isArray( value ) )
729
+ throw new Violation( this, value, { value: Validator.errorCode.must_be_a_string_or_array } );
730
+ if ( 'undefined' !== typeof this.min && this.min === this.max && value.length !== this.min )
731
+ throw new Violation( this, value, { min: this.min, max: this.max } );
732
+ if ( 'undefined' !== typeof this.max && value.length > this.max )
733
+ throw new Violation( this, value, { max: this.max } );
734
+ if ( 'undefined' !== typeof this.min && value.length < this.min )
735
+ throw new Violation( this, value, { min: this.min } );
736
+ return true;
737
+ };
738
+ return this;
739
+ },
740
+ LessThan: function ( threshold ) {
741
+ this.__class__ = 'LessThan';
742
+ if ( 'undefined' === typeof threshold )
743
+ throw new Error( 'Should give a threshold value' );
744
+ this.threshold = threshold;
745
+ this.validate = function ( value ) {
746
+ if ( '' === value || isNaN( Number( value ) ) )
747
+ throw new Violation( this, value, { value: Validator.errorCode.must_be_a_number } );
748
+ if ( this.threshold <= value )
749
+ throw new Violation( this, value, { threshold: this.threshold } );
750
+ return true;
751
+ };
752
+ return this;
753
+ },
754
+ LessThanOrEqual: function ( threshold ) {
755
+ this.__class__ = 'LessThanOrEqual';
756
+ if ( 'undefined' === typeof threshold )
757
+ throw new Error( 'Should give a threshold value' );
758
+ this.threshold = threshold;
759
+ this.validate = function ( value ) {
760
+ if ( '' === value || isNaN( Number( value ) ) )
761
+ throw new Violation( this, value, { value: Validator.errorCode.must_be_a_number } );
762
+ if ( this.threshold < value )
763
+ throw new Violation( this, value, { threshold: this.threshold } );
764
+ return true;
765
+ };
766
+ return this;
767
+ },
768
+ NotNull: function () {
769
+ this.__class__ = 'NotNull';
770
+ this.validate = function ( value ) {
771
+ if ( null === value || 'undefined' === typeof value )
772
+ throw new Violation( this, value );
773
+ return true;
774
+ };
775
+ return this;
776
+ },
777
+ NotBlank: function () {
778
+ this.__class__ = 'NotBlank';
779
+ this.validate = function ( value ) {
780
+ if ( 'string' !== typeof value )
781
+ throw new Violation( this, value, { value: Validator.errorCode.must_be_a_string } );
782
+ if ( '' === value.replace( /^\s+/g, '' ).replace( /\s+$/g, '' ) )
783
+ throw new Violation( this, value );
784
+ return true;
785
+ };
786
+ return this;
787
+ },
788
+ Null: function () {
789
+ this.__class__ = 'Null';
790
+ this.validate = function ( value ) {
791
+ if ( null !== value )
792
+ throw new Violation( this, value );
793
+ return true;
794
+ };
795
+ return this;
796
+ },
797
+ Range: function ( min, max ) {
798
+ this.__class__ = 'Range';
799
+ if ( 'undefined' === typeof min || 'undefined' === typeof max )
800
+ throw new Error( 'Range assert expects min and max values' );
801
+ this.min = min;
802
+ this.max = max;
803
+ this.validate = function ( value ) {
804
+ try {
805
+ // validate strings and objects with their Length
806
+ if ( ( 'string' === typeof value && isNaN( Number( value ) ) ) || _isArray( value ) )
807
+ new Assert().Length( { min: this.min, max: this.max } ).validate( value );
808
+ // validate numbers with their value
809
+ else
810
+ new Assert().GreaterThanOrEqual( this.min ).validate( value ) && new Assert().LessThanOrEqual( this.max ).validate( value );
811
+ return true;
812
+ } catch ( violation ) {
813
+ throw new Violation( this, value, violation.violation );
814
+ }
815
+ return true;
816
+ };
817
+ return this;
818
+ },
819
+ Regexp: function ( regexp, flag ) {
820
+ this.__class__ = 'Regexp';
821
+ if ( 'undefined' === typeof regexp )
822
+ throw new Error( 'You must give a regexp' );
823
+ this.regexp = regexp;
824
+ this.flag = flag || '';
825
+ this.validate = function ( value ) {
826
+ if ( 'string' !== typeof value )
827
+ throw new Violation( this, value, { value: Validator.errorCode.must_be_a_string } );
828
+ if ( !new RegExp( this.regexp, this.flag ).test( value ) )
829
+ throw new Violation( this, value, { regexp: this.regexp, flag: this.flag } );
830
+ return true;
831
+ };
832
+ return this;
833
+ },
834
+ Required: function () {
835
+ this.__class__ = 'Required';
836
+ this.validate = function ( value ) {
837
+ if ( 'undefined' === typeof value )
838
+ throw new Violation( this, value );
839
+ try {
840
+ if ( 'string' === typeof value )
841
+ new Assert().NotNull().validate( value ) && new Assert().NotBlank().validate( value );
842
+ else if ( true === _isArray( value ) )
843
+ new Assert().Length( { min: 1 } ).validate( value );
844
+ } catch ( violation ) {
845
+ throw new Violation( this, value );
846
+ }
847
+ return true;
848
+ };
849
+ return this;
850
+ },
851
+ // Unique() or Unique ( { key: foo } )
852
+ Unique: function ( object ) {
853
+ this.__class__ = 'Unique';
854
+ if ( 'object' === typeof object )
855
+ this.key = object.key;
856
+ this.validate = function ( array ) {
857
+ var value, store = [];
858
+ if ( !_isArray( array ) )
859
+ throw new Violation( this, array, { value: Validator.errorCode.must_be_an_array } );
860
+ for ( var i = 0; i < array.length; i++ ) {
861
+ value = 'object' === typeof array[ i ] ? array[ i ][ this.key ] : array[ i ];
862
+ if ( 'undefined' === typeof value )
863
+ continue;
864
+ if ( -1 !== store.indexOf( value ) )
865
+ throw new Violation( this, array, { value: value } );
866
+ store.push( value );
867
+ }
868
+ return true;
869
+ };
870
+ return this;
871
+ }
872
+ };
873
+ // expose to the world these awesome classes
874
+ exports.Assert = Assert;
875
+ exports.Validator = Validator;
876
+ exports.Violation = Violation;
877
+ exports.Constraint = Constraint;
878
+ /**
879
+ * Some useful object prototypes / functions here
880
+ */
881
+ // IE8<= compatibility
882
+ // https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf
883
+ if (!Array.prototype.indexOf)
884
+ Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {
885
+ "use strict";
886
+ if (this === null) {
887
+ throw new TypeError();
888
+ }
889
+ var t = Object(this);
890
+ var len = t.length >>> 0;
891
+ if (len === 0) {
892
+ return -1;
893
+ }
894
+ var n = 0;
895
+ if (arguments.length > 1) {
896
+ n = Number(arguments[1]);
897
+ if (n != n) { // shortcut for verifying if it's NaN
898
+ n = 0;
899
+ } else if (n !== 0 && n != Infinity && n != -Infinity) {
900
+ n = (n > 0 || -1) * Math.floor(Math.abs(n));
901
+ }
902
+ }
903
+ if (n >= len) {
904
+ return -1;
905
+ }
906
+ var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
907
+ for (; k < len; k++) {
908
+ if (k in t && t[k] === searchElement) {
909
+ return k;
910
+ }
911
+ }
912
+ return -1;
913
+ };
914
+ // Test if object is empty, useful for Constraint violations check
915
+ var _isEmptyObject = function ( obj ) {
916
+ for ( var property in obj )
917
+ return false;
918
+ return true;
919
+ };
920
+ var _isArray = function ( obj ) {
921
+ return Object.prototype.toString.call( obj ) === '[object Array]';
922
+ };
923
+ // AMD export
924
+ if ( typeof define === 'function' && define.amd ) {
925
+ define( 'vendors/validator.js/dist/validator',[],function() {
926
+ return exports;
927
+ } );
928
+ // commonjs export
929
+ } else if ( typeof module !== 'undefined' && module.exports ) {
930
+ module.exports = exports;
931
+ // browser
932
+ } else {
933
+ window[ 'undefined' !== typeof validatorjs_ns ? validatorjs_ns : 'Validator' ] = exports;
934
+ }
935
+
936
+ return exports;
937
+ } )( );
938
+
939
+ // This is needed for Browserify usage that requires Validator.js through module.exports
940
+ Validator = 'undefined' !== typeof Validator ? Validator : ('undefined' !== typeof module ? module.exports : null);
941
+ var ParsleyValidator = function (validators, catalog) {
942
+ this.__class__ = 'ParsleyValidator';
943
+ this.Validator = Validator;
944
+ // Default Parsley locale is en
945
+ this.locale = 'en';
946
+ this.init(validators || {}, catalog || {});
947
+ };
948
+ ParsleyValidator.prototype = {
949
+ init: function (validators, catalog) {
950
+ this.catalog = catalog;
951
+ // Copy prototype's validators:
952
+ this.validators = $.extend({}, this.validators);
953
+ for (var name in validators)
954
+ this.addValidator(name, validators[name].fn, validators[name].priority, validators[name].requirementsTransformer);
955
+ window.Parsley.trigger('parsley:validator:init');
956
+ },
957
+ // Set new messages locale if we have dictionary loaded in ParsleyConfig.i18n
958
+ setLocale: function (locale) {
959
+ if ('undefined' === typeof this.catalog[locale])
960
+ throw new Error(locale + ' is not available in the catalog');
961
+ this.locale = locale;
962
+ return this;
963
+ },
964
+ // Add a new messages catalog for a given locale. Set locale for this catalog if set === `true`
965
+ addCatalog: function (locale, messages, set) {
966
+ if ('object' === typeof messages)
967
+ this.catalog[locale] = messages;
968
+ if (true === set)
969
+ return this.setLocale(locale);
970
+ return this;
971
+ },
972
+ // Add a specific message for a given constraint in a given locale
973
+ addMessage: function (locale, name, message) {
974
+ if ('undefined' === typeof this.catalog[locale])
975
+ this.catalog[locale] = {};
976
+ this.catalog[locale][name.toLowerCase()] = message;
977
+ return this;
978
+ },
979
+ validate: function (value, constraints, priority) {
980
+ return new this.Validator.Validator().validate.apply(new Validator.Validator(), arguments);
981
+ },
982
+ // Add a new validator
983
+ addValidator: function (name, fn, priority, requirementsTransformer) {
984
+ if (this.validators[name])
985
+ ParsleyUtils.warn('Validator "' + name + '" is already defined.');
986
+ else if (ParsleyDefaults.hasOwnProperty(name)) {
987
+ ParsleyUtils.warn('"' + name + '" is a restricted keyword and is not a valid validator name.');
988
+ return;
989
+ };
990
+ return this._setValidator(name, fn, priority, requirementsTransformer);
991
+ },
992
+ updateValidator: function (name, fn, priority, requirementsTransformer) {
993
+ if (!this.validators[name]) {
994
+ ParsleyUtils.warn('Validator "' + name + '" is not already defined.');
995
+ return this.addValidator(name, fn, priority, requirementsTransformer);
996
+ }
997
+ return this._setValidator(name, fn, priority, requirementsTransformer);
998
+ },
999
+ removeValidator: function (name) {
1000
+ if (!this.validators[name])
1001
+ ParsleyUtils.warn('Validator "' + name + '" is not defined.');
1002
+ delete this.validators[name];
1003
+ return this;
1004
+ },
1005
+ _setValidator: function (name, fn, priority, requirementsTransformer) {
1006
+ this.validators[name] = function (requirements) {
1007
+ return $.extend(new Validator.Assert().Callback(fn, requirements), {
1008
+ priority: priority,
1009
+ requirementsTransformer: requirementsTransformer
1010
+ });
1011
+ };
1012
+ return this;
1013
+ },
1014
+ getErrorMessage: function (constraint) {
1015
+ var message;
1016
+ // Type constraints are a bit different, we have to match their requirements too to find right error message
1017
+ if ('type' === constraint.name) {
1018
+ var typeMessages = this.catalog[this.locale][constraint.name] || {};
1019
+ message = typeMessages[constraint.requirements];
1020
+ } else
1021
+ message = this.formatMessage(this.catalog[this.locale][constraint.name], constraint.requirements);
1022
+ return message || this.catalog[this.locale].defaultMessage || this.catalog.en.defaultMessage;
1023
+ },
1024
+ // Kind of light `sprintf()` implementation
1025
+ formatMessage: function (string, parameters) {
1026
+ if ('object' === typeof parameters) {
1027
+ for (var i in parameters)
1028
+ string = this.formatMessage(string, parameters[i]);
1029
+ return string;
1030
+ }
1031
+ return 'string' === typeof string ? string.replace(new RegExp('%s', 'i'), parameters) : '';
1032
+ },
1033
+ // Here is the Parsley default validators list.
1034
+ // This is basically Validatorjs validators, with different API for some of them
1035
+ // and a Parsley priority set
1036
+ validators: {
1037
+ notblank: function () {
1038
+ return $.extend(new Validator.Assert().NotBlank(), { priority: 2 });
1039
+ },
1040
+ required: function () {
1041
+ return $.extend(new Validator.Assert().Required(), { priority: 512 });
1042
+ },
1043
+ type: function (type) {
1044
+ var assert;
1045
+ switch (type) {
1046
+ case 'email':
1047
+ assert = new Validator.Assert().Email();
1048
+ break;
1049
+ // range type just ensure we have a number here
1050
+ case 'range':
1051
+ case 'number':
1052
+ assert = new Validator.Assert().Regexp('^-?(?:\\d+|\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$');
1053
+ break;
1054
+ case 'integer':
1055
+ assert = new Validator.Assert().Regexp('^-?\\d+$');
1056
+ break;
1057
+ case 'digits':
1058
+ assert = new Validator.Assert().Regexp('^\\d+$');
1059
+ break;
1060
+ case 'alphanum':
1061
+ assert = new Validator.Assert().Regexp('^\\w+$', 'i');
1062
+ break;
1063
+ case 'url':
1064
+ // Thanks to https://gist.github.com/dperini/729294
1065
+ // Voted best validator in https://mathiasbynens.be/demo/url-regex
1066
+ // Modified to make scheme optional and allow local IPs
1067
+ assert = new Validator.Assert().Regexp(
1068
+ "^" +
1069
+ // protocol identifier
1070
+ "(?:(?:https?|ftp)://)?" + // ** mod: make scheme optional
1071
+ // user:pass authentication
1072
+ "(?:\\S+(?::\\S*)?@)?" +
1073
+ "(?:" +
1074
+ // IP address exclusion
1075
+ // private & local networks
1076
+ // "(?!(?:10|127)(?:\\.\\d{1,3}){3})" + // ** mod: allow local networks
1077
+ // "(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})" + // ** mod: allow local networks
1078
+ // "(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})" + // ** mod: allow local networks
1079
+ // IP address dotted notation octets
1080
+ // excludes loopback network 0.0.0.0
1081
+ // excludes reserved space >= 224.0.0.0
1082
+ // excludes network & broacast addresses
1083
+ // (first & last IP address of each class)
1084
+ "(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])" +
1085
+ "(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}" +
1086
+ "(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))" +
1087
+ "|" +
1088
+ // host name
1089
+ "(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)" +
1090
+ // domain name
1091
+ "(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*" +
1092
+ // TLD identifier
1093
+ "(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))" +
1094
+ ")" +
1095
+ // port number
1096
+ "(?::\\d{2,5})?" +
1097
+ // resource path
1098
+ "(?:/\\S*)?" +
1099
+ "$", 'i');
1100
+ break;
1101
+ default:
1102
+ throw new Error('validator type `' + type + '` is not supported');
1103
+ }
1104
+ return $.extend(assert, { priority: 256 });
1105
+ },
1106
+ pattern: function (regexp) {
1107
+ var flags = '';
1108
+ // Test if RegExp is literal, if not, nothing to be done, otherwise, we need to isolate flags and pattern
1109
+ if (!!(/^\/.*\/(?:[gimy]*)$/.test(regexp))) {
1110
+ // Replace the regexp literal string with the first match group: ([gimy]*)
1111
+ // If no flag is present, this will be a blank string
1112
+ flags = regexp.replace(/.*\/([gimy]*)$/, '$1');
1113
+ // Again, replace the regexp literal string with the first match group:
1114
+ // everything excluding the opening and closing slashes and the flags
1115
+ regexp = regexp.replace(new RegExp('^/(.*?)/' + flags + '$'), '$1');
1116
+ }
1117
+ return $.extend(new Validator.Assert().Regexp(regexp, flags), { priority: 64 });
1118
+ },
1119
+ minlength: function (value) {
1120
+ return $.extend(new Validator.Assert().Length({ min: value }), {
1121
+ priority: 30,
1122
+ requirementsTransformer: function () {
1123
+ return 'string' === typeof value && !isNaN(value) ? parseInt(value, 10) : value;
1124
+ }
1125
+ });
1126
+ },
1127
+ maxlength: function (value) {
1128
+ return $.extend(new Validator.Assert().Length({ max: value }), {
1129
+ priority: 30,
1130
+ requirementsTransformer: function () {
1131
+ return 'string' === typeof value && !isNaN(value) ? parseInt(value, 10) : value;
1132
+ }
1133
+ });
1134
+ },
1135
+ length: function (array) {
1136
+ return $.extend(new Validator.Assert().Length({ min: array[0], max: array[1] }), { priority: 32 });
1137
+ },
1138
+ mincheck: function (length) {
1139
+ return this.minlength(length);
1140
+ },
1141
+ maxcheck: function (length) {
1142
+ return this.maxlength(length);
1143
+ },
1144
+ check: function (array) {
1145
+ return this.length(array);
1146
+ },
1147
+ min: function (value) {
1148
+ return $.extend(new Validator.Assert().GreaterThanOrEqual(value), {
1149
+ priority: 30,
1150
+ requirementsTransformer: function () {
1151
+ return 'string' === typeof value && !isNaN(value) ? parseInt(value, 10) : value;
1152
+ }
1153
+ });
1154
+ },
1155
+ max: function (value) {
1156
+ return $.extend(new Validator.Assert().LessThanOrEqual(value), {
1157
+ priority: 30,
1158
+ requirementsTransformer: function () {
1159
+ return 'string' === typeof value && !isNaN(value) ? parseInt(value, 10) : value;
1160
+ }
1161
+ });
1162
+ },
1163
+ range: function (array) {
1164
+ return $.extend(new Validator.Assert().Range(array[0], array[1]), {
1165
+ priority: 32,
1166
+ requirementsTransformer: function () {
1167
+ for (var i = 0; i < array.length; i++)
1168
+ array[i] = 'string' === typeof array[i] && !isNaN(array[i]) ? parseInt(array[i], 10) : array[i];
1169
+ return array;
1170
+ }
1171
+ });
1172
+ },
1173
+ equalto: function (value) {
1174
+ return $.extend(new Validator.Assert().EqualTo(value), {
1175
+ priority: 256,
1176
+ requirementsTransformer: function () {
1177
+ return $(value).length ? $(value).val() : value;
1178
+ }
1179
+ });
1180
+ }
1181
+ }
1182
+ };
1183
+
1184
+ var ParsleyUI = function (options) {
1185
+ this.__class__ = 'ParsleyUI';
1186
+ };
1187
+ ParsleyUI.prototype = {
1188
+ listen: function () {
1189
+ var that = this;
1190
+ window.Parsley
1191
+ .on('form:init', function () { that.setupForm (this); } )
1192
+ .on('field:init', function () { that.setupField(this); } )
1193
+ .on('field:validated', function () { that.reflow (this); } )
1194
+ .on('form:validated', function () { that.focus (this); } )
1195
+ .on('field:reset', function () { that.reset (this); } )
1196
+ .on('form:destroy', function () { that.destroy (this); } )
1197
+ .on('field:destroy', function () { that.destroy (this); } );
1198
+ return this;
1199
+ },
1200
+ reflow: function (fieldInstance) {
1201
+ // If this field has not an active UI (case for multiples) don't bother doing something
1202
+ if ('undefined' === typeof fieldInstance._ui || false === fieldInstance._ui.active)
1203
+ return;
1204
+ // Diff between two validation results
1205
+ var diff = this._diff(fieldInstance.validationResult, fieldInstance._ui.lastValidationResult);
1206
+ // Then store current validation result for next reflow
1207
+ fieldInstance._ui.lastValidationResult = fieldInstance.validationResult;
1208
+ // Field have been validated at least once if here. Useful for binded key events...
1209
+ fieldInstance._ui.validatedOnce = true;
1210
+ // Handle valid / invalid / none field class
1211
+ this.manageStatusClass(fieldInstance);
1212
+ // Add, remove, updated errors messages
1213
+ this.manageErrorsMessages(fieldInstance, diff);
1214
+ // Triggers impl
1215
+ this.actualizeTriggers(fieldInstance);
1216
+ // If field is not valid for the first time, bind keyup trigger to ease UX and quickly inform user
1217
+ if ((diff.kept.length || diff.added.length) && true !== fieldInstance._ui.failedOnce)
1218
+ this.manageFailingFieldTrigger(fieldInstance);
1219
+ },
1220
+ // Returns an array of field's error message(s)
1221
+ getErrorsMessages: function (fieldInstance) {
1222
+ // No error message, field is valid
1223
+ if (true === fieldInstance.validationResult)
1224
+ return [];
1225
+ var messages = [];
1226
+ for (var i = 0; i < fieldInstance.validationResult.length; i++)
1227
+ messages.push(this._getErrorMessage(fieldInstance, fieldInstance.validationResult[i].assert));
1228
+ return messages;
1229
+ },
1230
+ manageStatusClass: function (fieldInstance) {
1231
+ if (fieldInstance.hasConstraints() && fieldInstance.needsValidation() && true === fieldInstance.validationResult)
1232
+ this._successClass(fieldInstance);
1233
+ else if (fieldInstance.validationResult.length > 0)
1234
+ this._errorClass(fieldInstance);
1235
+ else
1236
+ this._resetClass(fieldInstance);
1237
+ },
1238
+ manageErrorsMessages: function (fieldInstance, diff) {
1239
+ if ('undefined' !== typeof fieldInstance.options.errorsMessagesDisabled)
1240
+ return;
1241
+ // Case where we have errorMessage option that configure an unique field error message, regardless failing validators
1242
+ if ('undefined' !== typeof fieldInstance.options.errorMessage) {
1243
+ if ((diff.added.length || diff.kept.length)) {
1244
+ this._insertErrorWrapper(fieldInstance);
1245
+ if (0 === fieldInstance._ui.$errorsWrapper.find('.parsley-custom-error-message').length)
1246
+ fieldInstance._ui.$errorsWrapper
1247
+ .append(
1248
+ $(fieldInstance.options.errorTemplate)
1249
+ .addClass('parsley-custom-error-message')
1250
+ );
1251
+ return fieldInstance._ui.$errorsWrapper
1252
+ .addClass('filled')
1253
+ .find('.parsley-custom-error-message')
1254
+ .html(fieldInstance.options.errorMessage);
1255
+ }
1256
+ return fieldInstance._ui.$errorsWrapper
1257
+ .removeClass('filled')
1258
+ .find('.parsley-custom-error-message')
1259
+ .remove();
1260
+ }
1261
+ // Show, hide, update failing constraints messages
1262
+ for (var i = 0; i < diff.removed.length; i++)
1263
+ this.removeError(fieldInstance, diff.removed[i].assert.name, true);
1264
+ for (i = 0; i < diff.added.length; i++)
1265
+ this.addError(fieldInstance, diff.added[i].assert.name, undefined, diff.added[i].assert, true);
1266
+ for (i = 0; i < diff.kept.length; i++)
1267
+ this.updateError(fieldInstance, diff.kept[i].assert.name, undefined, diff.kept[i].assert, true);
1268
+ },
1269
+ // TODO: strange API here, intuitive for manual usage with addError(pslyInstance, 'foo', 'bar')
1270
+ // but a little bit complex for above internal usage, with forced undefined parameter...
1271
+ addError: function (fieldInstance, name, message, assert, doNotUpdateClass) {
1272
+ this._insertErrorWrapper(fieldInstance);
1273
+ fieldInstance._ui.$errorsWrapper
1274
+ .addClass('filled')
1275
+ .append(
1276
+ $(fieldInstance.options.errorTemplate)
1277
+ .addClass('parsley-' + name)
1278
+ .html(message || this._getErrorMessage(fieldInstance, assert))
1279
+ );
1280
+ if (true !== doNotUpdateClass)
1281
+ this._errorClass(fieldInstance);
1282
+ },
1283
+ // Same as above
1284
+ updateError: function (fieldInstance, name, message, assert, doNotUpdateClass) {
1285
+ fieldInstance._ui.$errorsWrapper
1286
+ .addClass('filled')
1287
+ .find('.parsley-' + name)
1288
+ .html(message || this._getErrorMessage(fieldInstance, assert));
1289
+ if (true !== doNotUpdateClass)
1290
+ this._errorClass(fieldInstance);
1291
+ },
1292
+ // Same as above twice
1293
+ removeError: function (fieldInstance, name, doNotUpdateClass) {
1294
+ fieldInstance._ui.$errorsWrapper
1295
+ .removeClass('filled')
1296
+ .find('.parsley-' + name)
1297
+ .remove();
1298
+ // edge case possible here: remove a standard Parsley error that is still failing in fieldInstance.validationResult
1299
+ // but highly improbable cuz' manually removing a well Parsley handled error makes no sense.
1300
+ if (true !== doNotUpdateClass)
1301
+ this.manageStatusClass(fieldInstance);
1302
+ },
1303
+ focus: function (formInstance) {
1304
+ formInstance._focusedField = null;
1305
+ if (true === formInstance.validationResult || 'none' === formInstance.options.focus)
1306
+ return null;
1307
+ for (var i = 0; i < formInstance.fields.length; i++) {
1308
+ var field = formInstance.fields[i];
1309
+ if (true !== field.validationResult && field.validationResult.length > 0 && 'undefined' === typeof field.options.noFocus) {
1310
+ formInstance._focusedField = field.$element;
1311
+ if ('first' === formInstance.options.focus)
1312
+ break;
1313
+ }
1314
+ }
1315
+ if (null === formInstance._focusedField)
1316
+ return null;
1317
+ return formInstance._focusedField.focus();
1318
+ },
1319
+ _getErrorMessage: function (fieldInstance, constraint) {
1320
+ var customConstraintErrorMessage = constraint.name + 'Message';
1321
+ if ('undefined' !== typeof fieldInstance.options[customConstraintErrorMessage])
1322
+ return window.ParsleyValidator.formatMessage(fieldInstance.options[customConstraintErrorMessage], constraint.requirements);
1323
+ return window.ParsleyValidator.getErrorMessage(constraint);
1324
+ },
1325
+ _diff: function (newResult, oldResult, deep) {
1326
+ var
1327
+ added = [],
1328
+ kept = [];
1329
+ for (var i = 0; i < newResult.length; i++) {
1330
+ var found = false;
1331
+ for (var j = 0; j < oldResult.length; j++)
1332
+ if (newResult[i].assert.name === oldResult[j].assert.name) {
1333
+ found = true;
1334
+ break;
1335
+ }
1336
+ if (found)
1337
+ kept.push(newResult[i]);
1338
+ else
1339
+ added.push(newResult[i]);
1340
+ }
1341
+ return {
1342
+ kept: kept,
1343
+ added: added,
1344
+ removed: !deep ? this._diff(oldResult, newResult, true).added : []
1345
+ };
1346
+ },
1347
+ setupForm: function (formInstance) {
1348
+ formInstance.$element.on('submit.Parsley', false, $.proxy(formInstance.onSubmitValidate, formInstance));
1349
+ // UI could be disabled
1350
+ if (false === formInstance.options.uiEnabled)
1351
+ return;
1352
+ formInstance.$element.attr('novalidate', '');
1353
+ },
1354
+ setupField: function (fieldInstance) {
1355
+ var _ui = { active: false };
1356
+ // UI could be disabled
1357
+ if (false === fieldInstance.options.uiEnabled)
1358
+ return;
1359
+ _ui.active = true;
1360
+ // Give field its Parsley id in DOM
1361
+ fieldInstance.$element.attr(fieldInstance.options.namespace + 'id', fieldInstance.__id__);
1362
+ /** Generate important UI elements and store them in fieldInstance **/
1363
+ // $errorClassHandler is the $element that woul have parsley-error and parsley-success classes
1364
+ _ui.$errorClassHandler = this._manageClassHandler(fieldInstance);
1365
+ // $errorsWrapper is a div that would contain the various field errors, it will be appended into $errorsContainer
1366
+ _ui.errorsWrapperId = 'parsley-id-' + (fieldInstance.options.multiple ? 'multiple-' + fieldInstance.options.multiple : fieldInstance.__id__);
1367
+ _ui.$errorsWrapper = $(fieldInstance.options.errorsWrapper).attr('id', _ui.errorsWrapperId);
1368
+ // ValidationResult UI storage to detect what have changed bwt two validations, and update DOM accordingly
1369
+ _ui.lastValidationResult = [];
1370
+ _ui.validatedOnce = false;
1371
+ _ui.validationInformationVisible = false;
1372
+ // Store it in fieldInstance for later
1373
+ fieldInstance._ui = _ui;
1374
+ // Bind triggers first time
1375
+ this.actualizeTriggers(fieldInstance);
1376
+ },
1377
+ // Determine which element will have `parsley-error` and `parsley-success` classes
1378
+ _manageClassHandler: function (fieldInstance) {
1379
+ // An element selector could be passed through DOM with `data-parsley-class-handler=#foo`
1380
+ if ('string' === typeof fieldInstance.options.classHandler && $(fieldInstance.options.classHandler).length)
1381
+ return $(fieldInstance.options.classHandler);
1382
+ // Class handled could also be determined by function given in Parsley options
1383
+ var $handler = fieldInstance.options.classHandler(fieldInstance);
1384
+ // If this function returned a valid existing DOM element, go for it
1385
+ if ('undefined' !== typeof $handler && $handler.length)
1386
+ return $handler;
1387
+ // Otherwise, if simple element (input, texatrea, select...) it will perfectly host the classes
1388
+ if (!fieldInstance.options.multiple || fieldInstance.$element.is('select'))
1389
+ return fieldInstance.$element;
1390
+ // But if multiple element (radio, checkbox), that would be their parent
1391
+ return fieldInstance.$element.parent();
1392
+ },
1393
+ _insertErrorWrapper: function (fieldInstance) {
1394
+ var $errorsContainer;
1395
+ // Nothing to do if already inserted
1396
+ if (0 !== fieldInstance._ui.$errorsWrapper.parent().length)
1397
+ return fieldInstance._ui.$errorsWrapper.parent();
1398
+ if ('string' === typeof fieldInstance.options.errorsContainer) {
1399
+ if ($(fieldInstance.options.errorsContainer).length)
1400
+ return $(fieldInstance.options.errorsContainer).append(fieldInstance._ui.$errorsWrapper);
1401
+ else
1402
+ ParsleyUtils.warn('The errors container `' + fieldInstance.options.errorsContainer + '` does not exist in DOM');
1403
+ }
1404
+ else if ('function' === typeof fieldInstance.options.errorsContainer)
1405
+ $errorsContainer = fieldInstance.options.errorsContainer(fieldInstance);
1406
+ if ('undefined' !== typeof $errorsContainer && $errorsContainer.length)
1407
+ return $errorsContainer.append(fieldInstance._ui.$errorsWrapper);
1408
+ var $from = fieldInstance.$element;
1409
+ if (fieldInstance.options.multiple)
1410
+ $from = $from.parent();
1411
+ return $from.after(fieldInstance._ui.$errorsWrapper);
1412
+ },
1413
+ actualizeTriggers: function (fieldInstance) {
1414
+ var $toBind = fieldInstance.$element;
1415
+ if (fieldInstance.options.multiple)
1416
+ $toBind = $('[' + fieldInstance.options.namespace + 'multiple="' + fieldInstance.options.multiple + '"]');
1417
+ // Remove Parsley events already binded on this field
1418
+ $toBind.off('.Parsley');
1419
+ // If no trigger is set, all good
1420
+ if (false === fieldInstance.options.trigger)
1421
+ return;
1422
+ var triggers = fieldInstance.options.trigger.replace(/^\s+/g , '').replace(/\s+$/g , '');
1423
+ if ('' === triggers)
1424
+ return;
1425
+ // Bind fieldInstance.eventValidate if exists (for parsley.ajax for example), ParsleyUI.eventValidate otherwise
1426
+ $toBind.on(
1427
+ triggers.split(' ').join('.Parsley ') + '.Parsley',
1428
+ $.proxy('function' === typeof fieldInstance.eventValidate ? fieldInstance.eventValidate : this.eventValidate, fieldInstance));
1429
+ },
1430
+ // Called through $.proxy with fieldInstance. `this` context is ParsleyField
1431
+ eventValidate: function (event) {
1432
+ // For keyup, keypress, keydown... events that could be a little bit obstrusive
1433
+ // do not validate if val length < min threshold on first validation. Once field have been validated once and info
1434
+ // about success or failure have been displayed, always validate with this trigger to reflect every yalidation change.
1435
+ if (new RegExp('key').test(event.type))
1436
+ if (!this._ui.validationInformationVisible && this.getValue().length <= this.options.validationThreshold)
1437
+ return;
1438
+ this._ui.validatedOnce = true;
1439
+ this.validate();
1440
+ },
1441
+ manageFailingFieldTrigger: function (fieldInstance) {
1442
+ fieldInstance._ui.failedOnce = true;
1443
+ // Radio and checkboxes fields must bind every field multiple
1444
+ if (fieldInstance.options.multiple)
1445
+ $('[' + fieldInstance.options.namespace + 'multiple="' + fieldInstance.options.multiple + '"]').each(function () {
1446
+ if (!new RegExp('change', 'i').test($(this).parsley().options.trigger || ''))
1447
+ return $(this).on('change.ParsleyFailedOnce', false, $.proxy(fieldInstance.validate, fieldInstance));
1448
+ });
1449
+ // Select case
1450
+ if (fieldInstance.$element.is('select'))
1451
+ if (!new RegExp('change', 'i').test(fieldInstance.options.trigger || ''))
1452
+ return fieldInstance.$element.on('change.ParsleyFailedOnce', false, $.proxy(fieldInstance.validate, fieldInstance));
1453
+ // All other inputs fields
1454
+ if (!new RegExp('keyup', 'i').test(fieldInstance.options.trigger || ''))
1455
+ return fieldInstance.$element.on('keyup.ParsleyFailedOnce', false, $.proxy(fieldInstance.validate, fieldInstance));
1456
+ },
1457
+ reset: function (parsleyInstance) {
1458
+ // Reset all event listeners
1459
+ this.actualizeTriggers(parsleyInstance);
1460
+ parsleyInstance.$element.off('.ParsleyFailedOnce');
1461
+ // Nothing to do if UI never initialized for this field
1462
+ if ('undefined' === typeof parsleyInstance._ui)
1463
+ return;
1464
+ if ('ParsleyForm' === parsleyInstance.__class__)
1465
+ return;
1466
+ // Reset all errors' li
1467
+ parsleyInstance._ui.$errorsWrapper
1468
+ .removeClass('filled')
1469
+ .children()
1470
+ .remove();
1471
+ // Reset validation class
1472
+ this._resetClass(parsleyInstance);
1473
+ // Reset validation flags and last validation result
1474
+ parsleyInstance._ui.validatedOnce = false;
1475
+ parsleyInstance._ui.lastValidationResult = [];
1476
+ parsleyInstance._ui.validationInformationVisible = false;
1477
+ parsleyInstance._ui.failedOnce = false;
1478
+ },
1479
+ destroy: function (parsleyInstance) {
1480
+ this.reset(parsleyInstance);
1481
+ if ('ParsleyForm' === parsleyInstance.__class__)
1482
+ return;
1483
+ if ('undefined' !== typeof parsleyInstance._ui)
1484
+ parsleyInstance._ui.$errorsWrapper.remove();
1485
+ delete parsleyInstance._ui;
1486
+ },
1487
+ _successClass: function (fieldInstance) {
1488
+ fieldInstance._ui.validationInformationVisible = true;
1489
+ fieldInstance._ui.$errorClassHandler.removeClass(fieldInstance.options.errorClass).addClass(fieldInstance.options.successClass);
1490
+ },
1491
+ _errorClass: function (fieldInstance) {
1492
+ fieldInstance._ui.validationInformationVisible = true;
1493
+ fieldInstance._ui.$errorClassHandler.removeClass(fieldInstance.options.successClass).addClass(fieldInstance.options.errorClass);
1494
+ },
1495
+ _resetClass: function (fieldInstance) {
1496
+ fieldInstance._ui.$errorClassHandler.removeClass(fieldInstance.options.successClass).removeClass(fieldInstance.options.errorClass);
1497
+ }
1498
+ };
1499
+
1500
+ var ParsleyForm = function (element, domOptions, options) {
1501
+ this.__class__ = 'ParsleyForm';
1502
+ this.__id__ = ParsleyUtils.generateID();
1503
+ this.$element = $(element);
1504
+ this.domOptions = domOptions;
1505
+ this.options = options;
1506
+ this.parent = window.Parsley;
1507
+ this.fields = [];
1508
+ this.validationResult = null;
1509
+ };
1510
+ ParsleyForm.prototype = {
1511
+ onSubmitValidate: function (event) {
1512
+ this.validate(undefined, undefined, event);
1513
+ // prevent form submission if validation fails
1514
+ if ((false === this.validationResult || !this._trigger('submit')) && event instanceof $.Event) {
1515
+ event.stopImmediatePropagation();
1516
+ event.preventDefault();
1517
+ }
1518
+ return this;
1519
+ },
1520
+ // @returns boolean
1521
+ validate: function (group, force, event) {
1522
+ this.submitEvent = event;
1523
+ this.validationResult = true;
1524
+ var fieldValidationResult = [];
1525
+ // fire validate event to eventually modify things before very validation
1526
+ this._trigger('validate');
1527
+ // Refresh form DOM options and form's fields that could have changed
1528
+ this._refreshFields();
1529
+ this._withoutReactualizingFormOptions(function(){
1530
+ // loop through fields to validate them one by one
1531
+ for (var i = 0; i < this.fields.length; i++) {
1532
+ // do not validate a field if not the same as given validation group
1533
+ if (group && !this._isFieldInGroup(this.fields[i], group))
1534
+ continue;
1535
+ fieldValidationResult = this.fields[i].validate(force);
1536
+ if (true !== fieldValidationResult && fieldValidationResult.length > 0 && this.validationResult)
1537
+ this.validationResult = false;
1538
+ }
1539
+ });
1540
+ this._trigger(this.validationResult ? 'success' : 'error');
1541
+ this._trigger('validated');
1542
+ return this.validationResult;
1543
+ },
1544
+ // Iterate over refreshed fields, and stop on first failure
1545
+ isValid: function (group, force) {
1546
+ this._refreshFields();
1547
+ return this._withoutReactualizingFormOptions(function(){
1548
+ for (var i = 0; i < this.fields.length; i++) {
1549
+ // do not validate a field if not the same as given validation group
1550
+ if (group && !this._isFieldInGroup(this.fields[i], group))
1551
+ continue;
1552
+ if (false === this.fields[i].isValid(force))
1553
+ return false;
1554
+ }
1555
+ return true;
1556
+ });
1557
+ },
1558
+ _isFieldInGroup: function (field, group) {
1559
+ if($.isArray(field.options.group))
1560
+ return -1 !== $.inArray(group, field.options.group);
1561
+ return field.options.group === group;
1562
+ },
1563
+ _refreshFields: function () {
1564
+ return this.actualizeOptions()._bindFields();
1565
+ },
1566
+ _bindFields: function () {
1567
+ var self = this,
1568
+ oldFields = this.fields;
1569
+ this.fields = [];
1570
+ this.fieldsMappedById = {};
1571
+ this._withoutReactualizingFormOptions(function(){
1572
+ this.$element
1573
+ .find(this.options.inputs)
1574
+ .not(this.options.excluded)
1575
+ .each(function () {
1576
+ var fieldInstance = new Parsley.Factory(this, {}, self);
1577
+ // Only add valid and not excluded `ParsleyField` and `ParsleyFieldMultiple` children
1578
+ if (('ParsleyField' === fieldInstance.__class__ || 'ParsleyFieldMultiple' === fieldInstance.__class__) && (true !== fieldInstance.options.excluded))
1579
+ if ('undefined' === typeof self.fieldsMappedById[fieldInstance.__class__ + '-' + fieldInstance.__id__]) {
1580
+ self.fieldsMappedById[fieldInstance.__class__ + '-' + fieldInstance.__id__] = fieldInstance;
1581
+ self.fields.push(fieldInstance);
1582
+ }
1583
+ });
1584
+ $(oldFields).not(self.fields).each(function () {
1585
+ this._trigger('reset');
1586
+ });
1587
+ });
1588
+ return this;
1589
+ },
1590
+ // Internal only.
1591
+ // Looping on a form's fields to do validation or similar
1592
+ // will trigger reactualizing options on all of them, which
1593
+ // in turn will reactualize the form's options.
1594
+ // To avoid calling actualizeOptions so many times on the form
1595
+ // for nothing, _withoutReactualizingFormOptions temporarily disables
1596
+ // the method actualizeOptions on this form while `fn` is called.
1597
+ _withoutReactualizingFormOptions: function (fn) {
1598
+ var oldActualizeOptions = this.actualizeOptions;
1599
+ this.actualizeOptions = function() { return this };
1600
+ var result = fn.call(this); // Keep the current `this`.
1601
+ this.actualizeOptions = oldActualizeOptions;
1602
+ return result;
1603
+ },
1604
+ // Internal only.
1605
+ // Shortcut to trigger an event
1606
+ // Returns true iff event is not interrupted and default not prevented.
1607
+ _trigger: function (eventName) {
1608
+ eventName = 'form:' + eventName;
1609
+ return this.trigger.apply(this, arguments);
1610
+ }
1611
+ };
1612
+
1613
+ var ConstraintFactory = function (parsleyField, name, requirements, priority, isDomConstraint) {
1614
+ var assert = {};
1615
+ if (!new RegExp('ParsleyField').test(parsleyField.__class__))
1616
+ throw new Error('ParsleyField or ParsleyFieldMultiple instance expected');
1617
+ if ('function' === typeof window.ParsleyValidator.validators[name])
1618
+ assert = window.ParsleyValidator.validators[name](requirements);
1619
+ if ('Assert' !== assert.__parentClass__)
1620
+ throw new Error('Valid validator expected');
1621
+ var getPriority = function () {
1622
+ if ('undefined' !== typeof parsleyField.options[name + 'Priority'])
1623
+ return parsleyField.options[name + 'Priority'];
1624
+ return assert.priority || 2;
1625
+ };
1626
+ priority = priority || getPriority();
1627
+ // If validator have a requirementsTransformer, execute it
1628
+ if ('function' === typeof assert.requirementsTransformer) {
1629
+ requirements = assert.requirementsTransformer();
1630
+ // rebuild assert with new requirements
1631
+ assert = window.ParsleyValidator.validators[name](requirements);
1632
+ }
1633
+ return $.extend(assert, {
1634
+ name: name,
1635
+ requirements: requirements,
1636
+ priority: priority,
1637
+ groups: [priority],
1638
+ isDomConstraint: isDomConstraint || ParsleyUtils.checkAttr(parsleyField.$element, parsleyField.options.namespace, name)
1639
+ });
1640
+ };
1641
+
1642
+ var ParsleyField = function (field, domOptions, options, parsleyFormInstance) {
1643
+ this.__class__ = 'ParsleyField';
1644
+ this.__id__ = ParsleyUtils.generateID();
1645
+ this.$element = $(field);
1646
+ // Set parent if we have one
1647
+ if ('undefined' !== typeof parsleyFormInstance) {
1648
+ this.parent = parsleyFormInstance;
1649
+ }
1650
+ this.options = options;
1651
+ this.domOptions = domOptions;
1652
+ // Initialize some properties
1653
+ this.constraints = [];
1654
+ this.constraintsByName = {};
1655
+ this.validationResult = [];
1656
+ // Bind constraints
1657
+ this._bindConstraints();
1658
+ };
1659
+ ParsleyField.prototype = {
1660
+ // # Public API
1661
+ // Validate field and trigger some events for mainly `ParsleyUI`
1662
+ // @returns validationResult:
1663
+ // - `true` if field valid
1664
+ // - `[Violation, [Violation...]]` if there were validation errors
1665
+ validate: function (force) {
1666
+ this.value = this.getValue();
1667
+ // Field Validate event. `this.value` could be altered for custom needs
1668
+ this._trigger('validate');
1669
+ this._trigger(this.isValid(force, this.value) ? 'success' : 'error');
1670
+ // Field validated event. `this.validationResult` could be altered for custom needs too
1671
+ this._trigger('validated');
1672
+ return this.validationResult;
1673
+ },
1674
+ hasConstraints: function () {
1675
+ return 0 !== this.constraints.length;
1676
+ },
1677
+ // An empty optional field does not need validation
1678
+ needsValidation: function (value) {
1679
+ if ('undefined' === typeof value)
1680
+ value = this.getValue();
1681
+ // If a field is empty and not required, it is valid
1682
+ // Except if `data-parsley-validate-if-empty` explicitely added, useful for some custom validators
1683
+ if (!value.length && !this._isRequired() && 'undefined' === typeof this.options.validateIfEmpty)
1684
+ return false;
1685
+ return true;
1686
+ },
1687
+ // Just validate field. Do not trigger any event
1688
+ // - `false` if there are constraints and at least one of them failed
1689
+ // - `true` in all other cases
1690
+ isValid: function (force, value) {
1691
+ // Recompute options and rebind constraints to have latest changes
1692
+ this.refreshConstraints();
1693
+ this.validationResult = true;
1694
+ // A field without constraint is valid
1695
+ if (!this.hasConstraints())
1696
+ return true;
1697
+ // Value could be passed as argument, needed to add more power to 'parsley:field:validate'
1698
+ if ('undefined' === typeof value || null === value)
1699
+ value = this.getValue();
1700
+ if (!this.needsValidation(value) && true !== force)
1701
+ return true;
1702
+ // If we want to validate field against all constraints, just call Validator and let it do the job
1703
+ var priorities = ['Any'];
1704
+ if (false !== this.options.priorityEnabled) {
1705
+ // Sort priorities to validate more important first
1706
+ priorities = this._getConstraintsSortedPriorities();
1707
+ }
1708
+ // Iterate over priorities one by one, and validate related asserts one by one
1709
+ for (var i = 0; i < priorities.length; i++)
1710
+ if (true !== (this.validationResult = this.validateThroughValidator(value, this.constraints, priorities[i])))
1711
+ return false;
1712
+ return true;
1713
+ },
1714
+ // @returns Parsley field computed value that could be overrided or configured in DOM
1715
+ getValue: function () {
1716
+ var value;
1717
+ // Value could be overriden in DOM or with explicit options
1718
+ if ('function' === typeof this.options.value)
1719
+ value = this.options.value(this);
1720
+ else if ('undefined' !== typeof this.options.value)
1721
+ value = this.options.value;
1722
+ else
1723
+ value = this.$element.val();
1724
+ // Handle wrong DOM or configurations
1725
+ if ('undefined' === typeof value || null === value)
1726
+ return '';
1727
+ return this._handleWhitespace(value);
1728
+ },
1729
+ // Actualize options that could have change since previous validation
1730
+ // Re-bind accordingly constraints (could be some new, removed or updated)
1731
+ refreshConstraints: function () {
1732
+ return this.actualizeOptions()._bindConstraints();
1733
+ },
1734
+ /**
1735
+ * Add a new constraint to a field
1736
+ *
1737
+ * @method addConstraint
1738
+ * @param {String} name
1739
+ * @param {Mixed} requirements optional
1740
+ * @param {Number} priority optional
1741
+ * @param {Boolean} isDomConstraint optional
1742
+ */
1743
+ addConstraint: function (name, requirements, priority, isDomConstraint) {
1744
+ if ('function' === typeof window.ParsleyValidator.validators[name]) {
1745
+ var constraint = new ConstraintFactory(this, name, requirements, priority, isDomConstraint);
1746
+ // if constraint already exist, delete it and push new version
1747
+ if ('undefined' !== this.constraintsByName[constraint.name])
1748
+ this.removeConstraint(constraint.name);
1749
+ this.constraints.push(constraint);
1750
+ this.constraintsByName[constraint.name] = constraint;
1751
+ }
1752
+ return this;
1753
+ },
1754
+ // Remove a constraint
1755
+ removeConstraint: function (name) {
1756
+ for (var i = 0; i < this.constraints.length; i++)
1757
+ if (name === this.constraints[i].name) {
1758
+ this.constraints.splice(i, 1);
1759
+ break;
1760
+ }
1761
+ delete this.constraintsByName[name];
1762
+ return this;
1763
+ },
1764
+ // Update a constraint (Remove + re-add)
1765
+ updateConstraint: function (name, parameters, priority) {
1766
+ return this.removeConstraint(name)
1767
+ .addConstraint(name, parameters, priority);
1768
+ },
1769
+ // # Internals
1770
+ // Internal only.
1771
+ // Bind constraints from config + options + DOM
1772
+ _bindConstraints: function () {
1773
+ var constraints = [], constraintsByName = {};
1774
+ // clean all existing DOM constraints to only keep javascript user constraints
1775
+ for (var i = 0; i < this.constraints.length; i++)
1776
+ if (false === this.constraints[i].isDomConstraint) {
1777
+ constraints.push(this.constraints[i]);
1778
+ constraintsByName[this.constraints[i].name] = this.constraints[i];
1779
+ }
1780
+ this.constraints = constraints;
1781
+ this.constraintsByName = constraintsByName;
1782
+ // then re-add Parsley DOM-API constraints
1783
+ for (var name in this.options)
1784
+ this.addConstraint(name, this.options[name]);
1785
+ // finally, bind special HTML5 constraints
1786
+ return this._bindHtml5Constraints();
1787
+ },
1788
+ // Internal only.
1789
+ // Bind specific HTML5 constraints to be HTML5 compliant
1790
+ _bindHtml5Constraints: function () {
1791
+ // html5 required
1792
+ if (this.$element.hasClass('required') || this.$element.attr('required'))
1793
+ this.addConstraint('required', true, undefined, true);
1794
+ // html5 pattern
1795
+ if ('string' === typeof this.$element.attr('pattern'))
1796
+ this.addConstraint('pattern', this.$element.attr('pattern'), undefined, true);
1797
+ // range
1798
+ if ('undefined' !== typeof this.$element.attr('min') && 'undefined' !== typeof this.$element.attr('max'))
1799
+ this.addConstraint('range', [this.$element.attr('min'), this.$element.attr('max')], undefined, true);
1800
+ // HTML5 min
1801
+ else if ('undefined' !== typeof this.$element.attr('min'))
1802
+ this.addConstraint('min', this.$element.attr('min'), undefined, true);
1803
+ // HTML5 max
1804
+ else if ('undefined' !== typeof this.$element.attr('max'))
1805
+ this.addConstraint('max', this.$element.attr('max'), undefined, true);
1806
+
1807
+ // length
1808
+ if ('undefined' !== typeof this.$element.attr('minlength') && 'undefined' !== typeof this.$element.attr('maxlength'))
1809
+ this.addConstraint('length', [this.$element.attr('minlength'), this.$element.attr('maxlength')], undefined, true);
1810
+ // HTML5 minlength
1811
+ else if ('undefined' !== typeof this.$element.attr('minlength'))
1812
+ this.addConstraint('minlength', this.$element.attr('minlength'), undefined, true);
1813
+ // HTML5 maxlength
1814
+ else if ('undefined' !== typeof this.$element.attr('maxlength'))
1815
+ this.addConstraint('maxlength', this.$element.attr('maxlength'), undefined, true);
1816
+
1817
+ // html5 types
1818
+ var type = this.$element.attr('type');
1819
+ if ('undefined' === typeof type)
1820
+ return this;
1821
+ // Small special case here for HTML5 number: integer validator if step attribute is undefined or an integer value, number otherwise
1822
+ if ('number' === type) {
1823
+ if (('undefined' === typeof this.$element.attr('step')) || (0 === parseFloat(this.$element.attr('step')) % 1)) {
1824
+ return this.addConstraint('type', 'integer', undefined, true);
1825
+ } else {
1826
+ return this.addConstraint('type', 'number', undefined, true);
1827
+ }
1828
+ // Regular other HTML5 supported types
1829
+ } else if (/^(email|url|range)$/i.test(type)) {
1830
+ return this.addConstraint('type', type, undefined, true);
1831
+ }
1832
+ return this;
1833
+ },
1834
+ // Internal only.
1835
+ // Field is required if have required constraint without `false` value
1836
+ _isRequired: function () {
1837
+ if ('undefined' === typeof this.constraintsByName.required)
1838
+ return false;
1839
+ return false !== this.constraintsByName.required.requirements;
1840
+ },
1841
+ // Internal only.
1842
+ // Shortcut to trigger an event
1843
+ _trigger: function (eventName) {
1844
+ eventName = 'field:' + eventName;
1845
+ return this.trigger.apply(this, arguments);
1846
+ },
1847
+ // Internal only
1848
+ // Handles whitespace in a value
1849
+ // Use `data-parsley-whitespace="squish"` to auto squish input value
1850
+ // Use `data-parsley-whitespace="trim"` to auto trim input value
1851
+ _handleWhitespace: function (value) {
1852
+ if (true === this.options.trimValue)
1853
+ ParsleyUtils.warnOnce('data-parsley-trim-value="true" is deprecated, please use data-parsley-whitespace="trim"');
1854
+ if ('squish' === this.options.whitespace)
1855
+ value = value.replace(/\s{2,}/g, ' ');
1856
+ if (('trim' === this.options.whitespace) || ('squish' === this.options.whitespace) || (true === this.options.trimValue))
1857
+ value = value.replace(/^\s+|\s+$/g, '');
1858
+ return value;
1859
+ },
1860
+ // Internal only.
1861
+ // Sort constraints by priority DESC
1862
+ _getConstraintsSortedPriorities: function () {
1863
+ var priorities = [];
1864
+ // Create array unique of priorities
1865
+ for (var i = 0; i < this.constraints.length; i++)
1866
+ if (-1 === priorities.indexOf(this.constraints[i].priority))
1867
+ priorities.push(this.constraints[i].priority);
1868
+ // Sort them by priority DESC
1869
+ priorities.sort(function (a, b) { return b - a; });
1870
+ return priorities;
1871
+ }
1872
+ };
1873
+
1874
+ var ParsleyMultiple = function () {
1875
+ this.__class__ = 'ParsleyFieldMultiple';
1876
+ };
1877
+ ParsleyMultiple.prototype = {
1878
+ // Add new `$element` sibling for multiple field
1879
+ addElement: function ($element) {
1880
+ this.$elements.push($element);
1881
+ return this;
1882
+ },
1883
+ // See `ParsleyField.refreshConstraints()`
1884
+ refreshConstraints: function () {
1885
+ var fieldConstraints;
1886
+ this.constraints = [];
1887
+ // Select multiple special treatment
1888
+ if (this.$element.is('select')) {
1889
+ this.actualizeOptions()._bindConstraints();
1890
+ return this;
1891
+ }
1892
+ // Gather all constraints for each input in the multiple group
1893
+ for (var i = 0; i < this.$elements.length; i++) {
1894
+ // Check if element have not been dynamically removed since last binding
1895
+ if (!$('html').has(this.$elements[i]).length) {
1896
+ this.$elements.splice(i, 1);
1897
+ continue;
1898
+ }
1899
+ fieldConstraints = this.$elements[i].data('ParsleyFieldMultiple').refreshConstraints().constraints;
1900
+ for (var j = 0; j < fieldConstraints.length; j++)
1901
+ this.addConstraint(fieldConstraints[j].name, fieldConstraints[j].requirements, fieldConstraints[j].priority, fieldConstraints[j].isDomConstraint);
1902
+ }
1903
+ return this;
1904
+ },
1905
+ // See `ParsleyField.getValue()`
1906
+ getValue: function () {
1907
+ // Value could be overriden in DOM
1908
+ if ('undefined' !== typeof this.options.value)
1909
+ return this.options.value;
1910
+ // Radio input case
1911
+ if (this.$element.is('input[type=radio]'))
1912
+ return this._findRelatedMultiple().filter(':checked').val() || '';
1913
+ // checkbox input case
1914
+ if (this.$element.is('input[type=checkbox]')) {
1915
+ var values = [];
1916
+ this._findRelatedMultiple().filter(':checked').each(function () {
1917
+ values.push($(this).val());
1918
+ });
1919
+ return values;
1920
+ }
1921
+ // Select multiple case
1922
+ if (this.$element.is('select') && null === this.$element.val())
1923
+ return [];
1924
+ // Default case that should never happen
1925
+ return this.$element.val();
1926
+ },
1927
+ _init: function () {
1928
+ this.$elements = [this.$element];
1929
+ return this;
1930
+ }
1931
+ };
1932
+
1933
+ var ParsleyFactory = function (element, options, parsleyFormInstance) {
1934
+ this.$element = $(element);
1935
+ // If the element has already been bound, returns its saved Parsley instance
1936
+ var savedparsleyFormInstance = this.$element.data('Parsley');
1937
+ if (savedparsleyFormInstance) {
1938
+ // If the saved instance has been bound without a ParsleyForm parent and there is one given in this call, add it
1939
+ if ('undefined' !== typeof parsleyFormInstance && savedparsleyFormInstance.parent === window.Parsley) {
1940
+ savedparsleyFormInstance.parent = parsleyFormInstance;
1941
+ savedparsleyFormInstance._resetOptions(savedparsleyFormInstance.options);
1942
+ }
1943
+ return savedparsleyFormInstance;
1944
+ }
1945
+ // Parsley must be instantiated with a DOM element or jQuery $element
1946
+ if (!this.$element.length)
1947
+ throw new Error('You must bind Parsley on an existing element.');
1948
+ if ('undefined' !== typeof parsleyFormInstance && 'ParsleyForm' !== parsleyFormInstance.__class__)
1949
+ throw new Error('Parent instance must be a ParsleyForm instance');
1950
+ this.parent = parsleyFormInstance || window.Parsley;
1951
+ return this.init(options);
1952
+ };
1953
+ ParsleyFactory.prototype = {
1954
+ init: function (options) {
1955
+ this.__class__ = 'Parsley';
1956
+ this.__version__ = '2.1.3';
1957
+ this.__id__ = ParsleyUtils.generateID();
1958
+ // Pre-compute options
1959
+ this._resetOptions(options);
1960
+ // A ParsleyForm instance is obviously a `<form>` element but also every node that is not an input and has the `data-parsley-validate` attribute
1961
+ if (this.$element.is('form') || (ParsleyUtils.checkAttr(this.$element, this.options.namespace, 'validate') && !this.$element.is(this.options.inputs)))
1962
+ return this.bind('parsleyForm');
1963
+ // Every other element is bound as a `ParsleyField` or `ParsleyFieldMultiple`
1964
+ return this.isMultiple() ? this.handleMultiple() : this.bind('parsleyField');
1965
+ },
1966
+ isMultiple: function () {
1967
+ return (this.$element.is('input[type=radio], input[type=checkbox]')) || (this.$element.is('select') && 'undefined' !== typeof this.$element.attr('multiple'));
1968
+ },
1969
+ // Multiples fields are a real nightmare :(
1970
+ // Maybe some refactoring would be appreciated here...
1971
+ handleMultiple: function () {
1972
+ var
1973
+ that = this,
1974
+ name,
1975
+ multiple,
1976
+ parsleyMultipleInstance;
1977
+ // Handle multiple name
1978
+ if (this.options.multiple)
1979
+ ; // We already have our 'multiple' identifier
1980
+ else if ('undefined' !== typeof this.$element.attr('name') && this.$element.attr('name').length)
1981
+ this.options.multiple = name = this.$element.attr('name');
1982
+ else if ('undefined' !== typeof this.$element.attr('id') && this.$element.attr('id').length)
1983
+ this.options.multiple = this.$element.attr('id');
1984
+ // Special select multiple input
1985
+ if (this.$element.is('select') && 'undefined' !== typeof this.$element.attr('multiple')) {
1986
+ this.options.multiple = this.options.multiple || this.__id__;
1987
+ return this.bind('parsleyFieldMultiple');
1988
+ // Else for radio / checkboxes, we need a `name` or `data-parsley-multiple` to properly bind it
1989
+ } else if (!this.options.multiple) {
1990
+ ParsleyUtils.warn('To be bound by Parsley, a radio, a checkbox and a multiple select input must have either a name or a multiple option.', this.$element);
1991
+ return this;
1992
+ }
1993
+ // Remove special chars
1994
+ this.options.multiple = this.options.multiple.replace(/(:|\.|\[|\]|\{|\}|\$)/g, '');
1995
+ // Add proper `data-parsley-multiple` to siblings if we have a valid multiple name
1996
+ if ('undefined' !== typeof name) {
1997
+ $('input[name="' + name + '"]').each(function () {
1998
+ if ($(this).is('input[type=radio], input[type=checkbox]'))
1999
+ $(this).attr(that.options.namespace + 'multiple', that.options.multiple);
2000
+ });
2001
+ }
2002
+ // Check here if we don't already have a related multiple instance saved
2003
+ var $previouslyRelated = this._findRelatedMultiple();
2004
+ for (var i = 0; i < $previouslyRelated.length; i++) {
2005
+ parsleyMultipleInstance = $($previouslyRelated.get(i)).data('Parsley');
2006
+ if ('undefined' !== typeof parsleyMultipleInstance) {
2007
+ if (!this.$element.data('ParsleyFieldMultiple')) {
2008
+ parsleyMultipleInstance.addElement(this.$element);
2009
+ }
2010
+ break;
2011
+ }
2012
+ }
2013
+ // Create a secret ParsleyField instance for every multiple field. It will be stored in `data('ParsleyFieldMultiple')`
2014
+ // And will be useful later to access classic `ParsleyField` stuff while being in a `ParsleyFieldMultiple` instance
2015
+ this.bind('parsleyField', true);
2016
+ return parsleyMultipleInstance || this.bind('parsleyFieldMultiple');
2017
+ },
2018
+ // Return proper `ParsleyForm`, `ParsleyField` or `ParsleyFieldMultiple`
2019
+ bind: function (type, doNotStore) {
2020
+ var parsleyInstance;
2021
+ switch (type) {
2022
+ case 'parsleyForm':
2023
+ parsleyInstance = $.extend(
2024
+ new ParsleyForm(this.$element, this.domOptions, this.options),
2025
+ window.ParsleyExtend
2026
+ )._bindFields();
2027
+ break;
2028
+ case 'parsleyField':
2029
+ parsleyInstance = $.extend(
2030
+ new ParsleyField(this.$element, this.domOptions, this.options, this.parent),
2031
+ window.ParsleyExtend
2032
+ );
2033
+ break;
2034
+ case 'parsleyFieldMultiple':
2035
+ parsleyInstance = $.extend(
2036
+ new ParsleyField(this.$element, this.domOptions, this.options, this.parent),
2037
+ new ParsleyMultiple(),
2038
+ window.ParsleyExtend
2039
+ )._init();
2040
+ break;
2041
+ default:
2042
+ throw new Error(type + 'is not a supported Parsley type');
2043
+ }
2044
+ if (this.options.multiple)
2045
+ ParsleyUtils.setAttr(this.$element, this.options.namespace, 'multiple', this.options.multiple);
2046
+ if ('undefined' !== typeof doNotStore) {
2047
+ this.$element.data('ParsleyFieldMultiple', parsleyInstance);
2048
+ return parsleyInstance;
2049
+ }
2050
+ // Store the freshly bound instance in a DOM element for later access using jQuery `data()`
2051
+ this.$element.data('Parsley', parsleyInstance);
2052
+ // Tell the world we have a new ParsleyForm or ParsleyField instance!
2053
+ parsleyInstance._trigger('init');
2054
+ return parsleyInstance;
2055
+ }
2056
+ };
2057
+
2058
+ var
2059
+ o = $({}),
2060
+ deprecated = function () {
2061
+ ParsleyUtils.warnOnce("Parsley's pubsub module is deprecated; use the 'on' and 'off' methods on parsley instances or window.Parsley");
2062
+ };
2063
+ // Returns an event handler that calls `fn` with the arguments it expects
2064
+ function adapt(fn, context) {
2065
+ // Store to allow unbinding
2066
+ if (!fn.parsleyAdaptedCallback) {
2067
+ fn.parsleyAdaptedCallback = function () {
2068
+ var args = Array.prototype.slice.call(arguments, 0);
2069
+ args.unshift(this);
2070
+ fn.apply(context || o, args);
2071
+ };
2072
+ }
2073
+ return fn.parsleyAdaptedCallback;
2074
+ }
2075
+ var eventPrefix = 'parsley:';
2076
+ // Converts 'parsley:form:validate' into 'form:validate'
2077
+ function eventName(name) {
2078
+ if (name.lastIndexOf(eventPrefix, 0) === 0)
2079
+ return name.substr(eventPrefix.length);
2080
+ return name;
2081
+ }
2082
+ // $.listen is deprecated. Use Parsley.on instead.
2083
+ $.listen = function (name, callback) {
2084
+ var context;
2085
+ deprecated();
2086
+ if ('object' === typeof arguments[1] && 'function' === typeof arguments[2]) {
2087
+ context = arguments[1];
2088
+ callback = arguments[2];
2089
+ }
2090
+ if ('function' !== typeof arguments[1])
2091
+ throw new Error('Wrong parameters');
2092
+ window.Parsley.on(eventName(name), adapt(callback, context));
2093
+ };
2094
+ $.listenTo = function (instance, name, fn) {
2095
+ deprecated();
2096
+ if (!(instance instanceof ParsleyField) && !(instance instanceof ParsleyForm))
2097
+ throw new Error('Must give Parsley instance');
2098
+ if ('string' !== typeof name || 'function' !== typeof fn)
2099
+ throw new Error('Wrong parameters');
2100
+ instance.on(eventName(name), adapt(fn));
2101
+ };
2102
+ $.unsubscribe = function (name, fn) {
2103
+ deprecated();
2104
+ if ('string' !== typeof name || 'function' !== typeof fn)
2105
+ throw new Error('Wrong arguments');
2106
+ window.Parsley.off(eventName(name), fn.parsleyAdaptedCallback);
2107
+ };
2108
+ $.unsubscribeTo = function (instance, name) {
2109
+ deprecated();
2110
+ if (!(instance instanceof ParsleyField) && !(instance instanceof ParsleyForm))
2111
+ throw new Error('Must give Parsley instance');
2112
+ instance.off(eventName(name));
2113
+ };
2114
+ $.unsubscribeAll = function (name) {
2115
+ deprecated();
2116
+ window.Parsley.off(eventName(name));
2117
+ $('form,input,textarea,select').each(function() {
2118
+ var instance = $(this).data('Parsley');
2119
+ if (instance) {
2120
+ instance.off(eventName(name));
2121
+ }
2122
+ });
2123
+ };
2124
+ // $.emit is deprecated. Use jQuery events instead.
2125
+ $.emit = function (name, instance) {
2126
+ deprecated();
2127
+ var instanceGiven = (instance instanceof ParsleyField) || (instance instanceof ParsleyForm);
2128
+ var args = Array.prototype.slice.call(arguments, instanceGiven ? 2 : 1);
2129
+ args.unshift(eventName(name));
2130
+ if (!instanceGiven) {
2131
+ instance = window.Parsley;
2132
+ }
2133
+ instance.trigger.apply(instance, args);
2134
+ };
2135
+
2136
+ // ParsleyConfig definition if not already set
2137
+ window.ParsleyConfig = window.ParsleyConfig || {};
2138
+ window.ParsleyConfig.i18n = window.ParsleyConfig.i18n || {};
2139
+ // Define then the messages
2140
+ window.ParsleyConfig.i18n.en = jQuery.extend(window.ParsleyConfig.i18n.en || {}, {
2141
+ defaultMessage: "This value seems to be invalid.",
2142
+ type: {
2143
+ email: "This value should be a valid email.",
2144
+ url: "This value should be a valid url.",
2145
+ number: "This value should be a valid number.",
2146
+ integer: "This value should be a valid integer.",
2147
+ digits: "This value should be digits.",
2148
+ alphanum: "This value should be alphanumeric."
2149
+ },
2150
+ notblank: "This value should not be blank.",
2151
+ required: "This value is required.",
2152
+ pattern: "This value seems to be invalid.",
2153
+ min: "This value should be greater than or equal to %s.",
2154
+ max: "This value should be lower than or equal to %s.",
2155
+ range: "This value should be between %s and %s.",
2156
+ minlength: "This value is too short. It should have %s characters or more.",
2157
+ maxlength: "This value is too long. It should have %s characters or fewer.",
2158
+ length: "This value length is invalid. It should be between %s and %s characters long.",
2159
+ mincheck: "You must select at least %s choices.",
2160
+ maxcheck: "You must select %s choices or fewer.",
2161
+ check: "You must select between %s and %s choices.",
2162
+ equalto: "This value should be the same."
2163
+ });
2164
+ // If file is loaded after Parsley main file, auto-load locale
2165
+ if ('undefined' !== typeof window.ParsleyValidator)
2166
+ window.ParsleyValidator.addCatalog('en', window.ParsleyConfig.i18n.en, true);
2167
+
2168
+ // Parsley.js 2.1.3
2169
+ // http://parsleyjs.org
2170
+ // (c) 2012-2015 Guillaume Potier, Wisembly
2171
+ // Parsley may be freely distributed under the MIT license.
2172
+
2173
+ // Inherit `on`, `off` & `trigger` to Parsley:
2174
+ var Parsley = $.extend(new ParsleyAbstract(), {
2175
+ $element: $(document),
2176
+ actualizeOptions: null,
2177
+ _resetOptions: null,
2178
+ Factory: ParsleyFactory,
2179
+ version: '2.1.3'
2180
+ });
2181
+ // Supplement ParsleyField and Form with ParsleyAbstract
2182
+ // This way, the constructors will have access to those methods
2183
+ $.extend(ParsleyField.prototype, ParsleyAbstract.prototype);
2184
+ $.extend(ParsleyForm.prototype, ParsleyAbstract.prototype);
2185
+ // Inherit actualizeOptions and _resetOptions:
2186
+ $.extend(ParsleyFactory.prototype, ParsleyAbstract.prototype);
2187
+ // ### jQuery API
2188
+ // `$('.elem').parsley(options)` or `$('.elem').psly(options)`
2189
+ $.fn.parsley = $.fn.psly = function (options) {
2190
+ if (this.length > 1) {
2191
+ var instances = [];
2192
+ this.each(function () {
2193
+ instances.push($(this).parsley(options));
2194
+ });
2195
+ return instances;
2196
+ }
2197
+ // Return undefined if applied to non existing DOM element
2198
+ if (!$(this).length) {
2199
+ ParsleyUtils.warn('You must bind Parsley on an existing element.');
2200
+ return;
2201
+ }
2202
+ return new ParsleyFactory(this, options);
2203
+ };
2204
+ // ### ParsleyField and ParsleyForm extension
2205
+ // Ensure the extension is now defined if it wasn't previously
2206
+ if ('undefined' === typeof window.ParsleyExtend)
2207
+ window.ParsleyExtend = {};
2208
+ // ### Parsley config
2209
+ // Inherit from ParsleyDefault, and copy over any existing values
2210
+ Parsley.options = $.extend(ParsleyUtils.objectCreate(ParsleyDefaults), window.ParsleyConfig);
2211
+ window.ParsleyConfig = Parsley.options; // Old way of accessing global options
2212
+ // ### Globals
2213
+ window.Parsley = window.psly = Parsley;
2214
+ window.ParsleyUtils = ParsleyUtils;
2215
+ window.ParsleyValidator = new ParsleyValidator(window.ParsleyConfig.validators, window.ParsleyConfig.i18n);
2216
+ // ### ParsleyUI
2217
+ // UI is a separate class that only listens to some events and then modifies the DOM accordingly
2218
+ // Could be overriden by defining a `window.ParsleyConfig.ParsleyUI` appropriate class (with `listen()` method basically)
2219
+ window.ParsleyUI = 'function' === typeof window.ParsleyConfig.ParsleyUI ?
2220
+ new window.ParsleyConfig.ParsleyUI().listen() : new ParsleyUI().listen();
2221
+ // ### PARSLEY auto-binding
2222
+ // Prevent it by setting `ParsleyConfig.autoBind` to `false`
2223
+ if (false !== window.ParsleyConfig.autoBind)
2224
+ $(function () {
2225
+ // Works only on `data-parsley-validate`.
2226
+ if ($('[data-parsley-validate]').length)
2227
+ $('[data-parsley-validate]').parsley();
2228
+ });
2229
+ return window.Parsley;
2230
+ }));
2231
+
2232
+ // `window.ParsleyExtend`, like `ParsleyAbstract`, is inherited by `ParsleyField` and `ParsleyForm`
2233
+ // That way, we could add new methods or redefine some for these both classes. In particular case
2234
+ // We are adding async validation methods that returns promises, bind them properly to triggered
2235
+ // Events like onkeyup when field is invalid or on form submit. These validation methods adds an
2236
+ // Extra `remote` validator which could not be simply added like other `ParsleyExtra` validators
2237
+ // Because returns promises instead of booleans.
2238
+ (function($){
2239
+
2240
+ window.ParsleyExtend = window.ParsleyExtend || {};
2241
+ window.ParsleyExtend = $.extend(true, window.ParsleyExtend, {
2242
+ asyncSupport: true,
2243
+
2244
+ asyncValidators: {
2245
+ 'default': {
2246
+ fn: function (xhr) {
2247
+ return 'resolved' === xhr.state();
2248
+ },
2249
+ url: false
2250
+ },
2251
+ reverse: {
2252
+ fn: function (xhr) {
2253
+ // If reverse option is set, a failing ajax request is considered successful
2254
+ return 'rejected' === xhr.state();
2255
+ },
2256
+ url: false
2257
+ }
2258
+ },
2259
+
2260
+ addAsyncValidator: function (name, fn, url, options) {
2261
+ this.asyncValidators[name.toLowerCase()] = {
2262
+ fn: fn,
2263
+ url: url || false,
2264
+ options: options || {}
2265
+ };
2266
+
2267
+ return this;
2268
+ },
2269
+
2270
+ asyncValidate: function () {
2271
+ if ('ParsleyForm' === this.__class__)
2272
+ return this._asyncValidateForm.apply(this, arguments);
2273
+
2274
+ return this._asyncValidateField.apply(this, arguments);
2275
+ },
2276
+
2277
+ asyncIsValid: function () {
2278
+ if ('ParsleyField' === this.__class__)
2279
+ return this._asyncIsValidField.apply(this, arguments);
2280
+
2281
+ return this._asyncIsValidForm.apply(this, arguments);
2282
+ },
2283
+
2284
+ onSubmitValidate: function (event) {
2285
+ var that = this;
2286
+
2287
+ // This is a Parsley generated submit event, do not validate, do not prevent, simply exit and keep normal behavior
2288
+ if (true === event.parsley)
2289
+ return;
2290
+
2291
+ // Clone the event object
2292
+ this.submitEvent = $.extend(true, {}, event);
2293
+
2294
+ // Prevent form submit and immediately stop its event propagation
2295
+ if (event instanceof $.Event) {
2296
+ event.stopImmediatePropagation();
2297
+ event.preventDefault();
2298
+ }
2299
+
2300
+ return this._asyncValidateForm(undefined, event)
2301
+ .done(function () {
2302
+ // If user do not have prevented the event, re-submit form
2303
+ if (that._trigger('submit') && !that.submitEvent.isDefaultPrevented())
2304
+ that.$element.trigger($.extend($.Event('submit'), { parsley: true }));
2305
+ });
2306
+ },
2307
+
2308
+ eventValidate: function (event) {
2309
+ // For keyup, keypress, keydown.. events that could be a little bit obstrusive
2310
+ // do not validate if val length < min threshold on first validation. Once field have been validated once and info
2311
+ // about success or failure have been displayed, always validate with this trigger to reflect every yalidation change.
2312
+ if (new RegExp('key').test(event.type))
2313
+ if (!this._ui.validationInformationVisible && this.getValue().length <= this.options.validationThreshold)
2314
+ return;
2315
+
2316
+ this._ui.validatedOnce = true;
2317
+ this.asyncValidate();
2318
+ },
2319
+
2320
+ // Returns Promise
2321
+ _asyncValidateForm: function (group, event) {
2322
+ var
2323
+ that = this,
2324
+ promises = [];
2325
+
2326
+ this._refreshFields();
2327
+
2328
+ this._trigger('validate');
2329
+
2330
+ for (var i = 0; i < this.fields.length; i++) {
2331
+
2332
+ // do not validate a field if not the same as given validation group
2333
+ if (group && group !== this.fields[i].options.group)
2334
+ continue;
2335
+
2336
+ promises.push(this.fields[i]._asyncValidateField());
2337
+ }
2338
+
2339
+ return $.when.apply($, promises)
2340
+ .done(function () {
2341
+ that._trigger('success');
2342
+ })
2343
+ .fail(function () {
2344
+ that._trigger('error');
2345
+ })
2346
+ .always(function () {
2347
+ that._trigger('validated');
2348
+ });
2349
+ },
2350
+
2351
+ _asyncIsValidForm: function (group, force) {
2352
+ var promises = [];
2353
+ this._refreshFields();
2354
+
2355
+ for (var i = 0; i < this.fields.length; i++) {
2356
+
2357
+ // do not validate a field if not the same as given validation group
2358
+ if (group && group !== this.fields[i].options.group)
2359
+ continue;
2360
+
2361
+ promises.push(this.fields[i]._asyncIsValidField(force));
2362
+ }
2363
+
2364
+ return $.when.apply($, promises);
2365
+ },
2366
+
2367
+ _asyncValidateField: function (force) {
2368
+ var that = this;
2369
+
2370
+ this._trigger('validate');
2371
+
2372
+ return this._asyncIsValidField(force)
2373
+ .done(function () {
2374
+ that._trigger('success');
2375
+ })
2376
+ .fail(function () {
2377
+ that._trigger('error');
2378
+ })
2379
+ .always(function () {
2380
+ that._trigger('validated');
2381
+ });
2382
+ },
2383
+
2384
+ _asyncIsValidField: function (force, value) {
2385
+ var
2386
+ deferred = $.Deferred(),
2387
+ remoteConstraintIndex;
2388
+
2389
+ // If regular isValid (matching regular constraints) returns `false`, no need to go further
2390
+ // Directly reject promise, do not run remote validator and save server load
2391
+ if (false === this.isValid(force, value))
2392
+ deferred.rejectWith(this);
2393
+
2394
+ // If regular constraints are valid, and there is a remote validator registered, run it
2395
+ else if ('undefined' !== typeof this.constraintsByName.remote)
2396
+ this._remote(deferred);
2397
+
2398
+ // Otherwise all is good, resolve promise
2399
+ else
2400
+ deferred.resolveWith(this);
2401
+
2402
+ // Return promise
2403
+ return deferred.promise();
2404
+ },
2405
+
2406
+ _remote: function (deferred) {
2407
+ var
2408
+ that = this,
2409
+ data = {},
2410
+ ajaxOptions,
2411
+ csr,
2412
+ validator = this.options.remoteValidator || (true === this.options.remoteReverse ? 'reverse' : 'default');
2413
+
2414
+ validator = validator.toLowerCase();
2415
+
2416
+ if ('undefined' === typeof this.asyncValidators[validator])
2417
+ throw new Error('Calling an undefined async validator: `' + validator + '`');
2418
+
2419
+ // Fill data with current value
2420
+ data[this.$element.attr('name') || this.$element.attr('id')] = this.getValue();
2421
+
2422
+ // Merge options passed in from the function with the ones in the attribute
2423
+ this.options.remoteOptions = $.extend(true, this.options.remoteOptions || {} , this.asyncValidators[validator].options);
2424
+
2425
+ // All `$.ajax(options)` could be overridden or extended directly from DOM in `data-parsley-remote-options`
2426
+ ajaxOptions = $.extend(true, {}, {
2427
+ url: this.asyncValidators[validator].url || this.options.remote,
2428
+ data: data,
2429
+ type: 'GET'
2430
+ }, this.options.remoteOptions || {});
2431
+
2432
+ // Generate store key based on ajax options
2433
+ csr = $.param(ajaxOptions);
2434
+
2435
+ // Initialise querry cache
2436
+ if ('undefined' === typeof this._remoteCache)
2437
+ this._remoteCache = {};
2438
+
2439
+ // Try to retrieve stored xhr
2440
+ if (!this._remoteCache[csr]) {
2441
+ // Prevent multi burst xhr queries
2442
+ if (this._xhr && 'pending' === this._xhr.state())
2443
+ this._xhr.abort();
2444
+
2445
+ // Make ajax call
2446
+ this._xhr = $.ajax(ajaxOptions);
2447
+
2448
+ // Store remote call result to avoid next calls with exact same parameters
2449
+ this._remoteCache[csr] = this._xhr;
2450
+ }
2451
+
2452
+ this._remoteCache[csr]
2453
+ .done(function (data, textStatus, xhr) {
2454
+ that._handleRemoteResult(validator, xhr, deferred);
2455
+ })
2456
+ .fail(function (xhr, status, message) {
2457
+ // If we aborted the query, do not handle nothing for this value
2458
+ if ('abort' === status)
2459
+ return;
2460
+
2461
+ that._handleRemoteResult(validator, xhr, deferred);
2462
+ });
2463
+ },
2464
+
2465
+ _handleRemoteResult: function (validator, xhr, deferred) {
2466
+ // If true, simply resolve and exit
2467
+ if ('function' === typeof this.asyncValidators[validator].fn && this.asyncValidators[validator].fn.call(this, xhr)) {
2468
+ deferred.resolveWith(this);
2469
+
2470
+ return;
2471
+ }
2472
+
2473
+ // Else, create a proper remote validation Violation to trigger right UI
2474
+ this.validationResult = [
2475
+ new window.ParsleyValidator.Validator.Violation(
2476
+ this.constraintsByName.remote,
2477
+ this.getValue(),
2478
+ null
2479
+ )
2480
+ ];
2481
+
2482
+ deferred.rejectWith(this);
2483
+ }
2484
+ });
2485
+
2486
+ // Remote validator is just an always true sync validator with lowest (-1) priority possible
2487
+ // It will be overloaded in `validateThroughValidator()` that will do the heavy async work
2488
+ // This 'hack' is needed not to mess up too much with error messages and stuff in `ParsleyUI`
2489
+ window.ParsleyConfig = window.ParsleyConfig || {};
2490
+ window.ParsleyConfig.validators = window.ParsleyConfig.validators || {};
2491
+ window.ParsleyConfig.validators.remote = {
2492
+ fn: function () {
2493
+ return true;
2494
+ },
2495
+ priority: -1
2496
+ };
2497
+
2498
+ window.Parsley.on('form:submit', function () {
2499
+ this._remoteCache = {};
2500
+ });
2501
+
2502
+ })(jQuery);