radius-rails 0.0.6 → 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 (3259) 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 +3256 -38
  3255. data/app/assets/images/corporate-bar-logo.png +0 -0
  3256. data/app/assets/stylesheets/corporate-bar.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
@@ -0,0 +1,2500 @@
1
+ # Web Styleguide - Style guide to harmonize HTML, Javascript and CSS / Sass coding style
2
+
3
+ This document defines formatting and style rules for HTML, Javascript and CSS / SCSS. It aims at improving
4
+ collaboration, code quality, and enabling supporting infrastructure. It applies to raw, working files that use HTML,
5
+ Javascript and CSS, including Sass (SCSS) files.
6
+
7
+ If a group of developers start to use a style guide, errors become more obvious. If a certain parts of code are not
8
+ complying with the style guide it could be a style error but it could also be a bug. This makes it easier to review
9
+ code and to ensure errors are spotted more easily.
10
+
11
+ Tools are free to obfuscate, minify, and compile as long as the general code quality is maintained
12
+ and the raw files developers need to work with comply with the style guide.
13
+
14
+ You can also contribute to this style guide!
15
+
16
+ ***
17
+
18
+ ## General style rules
19
+
20
+ This section covers some general style rules that can be applied for HTML, Javascript and CSS / SCSS.
21
+
22
+ ***
23
+
24
+ ### File / Resource names
25
+
26
+ All file names in a web project should follow the same naming conventions. For readability purpose the minus (-) sign
27
+ is ideal for separating parts in a file name. Also it's a common separator in canonical URL and URL slugs
28
+ (i.e. `//example.com/blog/my-blog-entry` or `//s.example.com/images/big-black-background.jpg`). Therefore it's quite obvious
29
+ that the minus sign should be used to separate parts in a resource name.
30
+
31
+ Always start a file name with a letter and avoid numbers (except versions in the post-fix as outlined in the post-fix
32
+ note) where possible. There are special allowed cases where you need to start a filename with a special sign in order to
33
+ flag it for a special purpose (i.e. underscore for compass to ignore a certain file for direct css compilation).
34
+
35
+ All letters in a resource name should be lower case. This is a best practice as some operating systems support case
36
+ sensitive file names and we should not mix the cases to minimize confusion and possible sources for human errors.
37
+
38
+ There are cases where you will need to include some post- or pre-fixes or extensions (i.e. .min.js, .min.css) or
39
+ reeving which includes some pre-fixes (i.e. file hashes like 3fa89b.main.min.css). In those cases we recommend to use
40
+ dot's to separate the clear purpose of this additional meta-data in a filename.
41
+
42
+ **Not recommended**
43
+ ```
44
+ MyScript.js
45
+ myCamelCaseName.css
46
+ i_love_underscores.html
47
+ 1001-scripts.js
48
+ my-file-min.css
49
+ ```
50
+
51
+ **Recommended**
52
+ ```
53
+ my-script.js
54
+ my-camel-case-name.css
55
+ i-love-underscores.html
56
+ thousand-and-one-scripts.js
57
+ my-file.min.css
58
+ ```
59
+
60
+ ***
61
+
62
+ ### Protocol
63
+
64
+ Omit the protocol from embedded resources.
65
+
66
+ Omit the protocol portion (`http:`, `https:`) from URLs pointing to images and other media files, style sheets, and
67
+ scripts unless the respective files are not available over both protocols.
68
+
69
+ Omitting the protocol—which makes the URL relative—prevents mixed content issues and results in minor file size savings.
70
+
71
+ **Not recommended**
72
+ ```
73
+ <script src="http://cdn.com/foundation.min.js"></script>
74
+ ```
75
+
76
+ **Recommended**
77
+ ```
78
+ <script src="//cdn.com/foundation.min.js"></script>
79
+ ```
80
+
81
+ **Not recommended**
82
+ ```
83
+ .example {
84
+ background: url(http://static.example.com/images/bg.jpg);
85
+ }
86
+ ```
87
+
88
+ **Recommended**
89
+ ```
90
+ .example {
91
+ background: url(//static.example.com/images/bg.jpg);
92
+ }
93
+ ```
94
+
95
+ ***
96
+
97
+ ### Text indentation
98
+
99
+ Indent by 2 spaces at a time.
100
+
101
+ ```
102
+ <ul>
103
+ <li>Fantastic</li>
104
+ <li>Great</li>
105
+ <li>
106
+ <a href="#">Test</a>
107
+ </li>
108
+ </ul>
109
+ ```
110
+
111
+ ```
112
+ @media screen and (min-width: 1100px) {
113
+ body {
114
+ font-size: 100%;
115
+ }
116
+ }
117
+ ```
118
+
119
+ ```
120
+ (function(){
121
+ var x = 10;
122
+
123
+ function y(a, b) {
124
+ return {
125
+ result: (a + b) * x
126
+ }
127
+
128
+ }
129
+ }());
130
+ ```
131
+
132
+ ***
133
+
134
+ ### Comments
135
+
136
+ Comments are the only way others and **YOURSELF** know why a particular code was written and why it was written in the
137
+ way it was. It's crucial that you comment your code parts and specially code that is not trivial.
138
+
139
+ Self explaining code is a **MYTH**. There is no such thing as self explaining code. Also there is no such thing as too
140
+ many comments. There is only too little comments.
141
+
142
+ When you comment code don't comment what's coded, comment why it was coded this way and comment the thinking behind.
143
+ Also include links in your comments to open issues, specifications etc.
144
+
145
+ **Not recommended**
146
+ ```
147
+ var offset = 0;
148
+
149
+ if(includeLabels) {
150
+ // Add offset of 20
151
+ offset = 20;
152
+ }
153
+ ```
154
+
155
+ **Recommended**
156
+ ```
157
+ var offset = 0;
158
+
159
+ if(includeLabels) {
160
+ // If the labels are included we need to have a minimum offset of 20 pixels
161
+ // We need to set it explicitly because of the following bug: http://somebrowservendor.com/issue-tracker/ISSUE-1
162
+ offset = 20;
163
+ }
164
+ ```
165
+
166
+ Consider using annotations in your comments that help to structure commends and add meta information. For Javascript
167
+ use [JSDoc](http://usejsdoc.org/) or [YUIDoc](http://yui.github.io/yuidoc/). You can also use tools to generate
168
+ documentation from these comments. This is also a great way to encourage developers to write comments. Once comments
169
+ will be used to generate a living documentation they often start to spend more time for detailed comments.
170
+
171
+ ***
172
+
173
+ ### Code linting
174
+
175
+ For programming languages with less strictness it's important to enforce style rules and formatting guidelines.
176
+ Writing and following a style guide is a good practice but having an automated process that is enforcing it is even
177
+ better. Trust is good, control is better.
178
+
179
+ For Javascript we recommend to use JSLint / JSHint. In the repository for this styleguide you can also find a
180
+ [dotfile for jshint (.jshintrc)](.jshintrc). You can use this file with JSHint to enforce style
181
+ checking in your Javascript projects.
182
+
183
+ ***
184
+
185
+ ## HTML style rules
186
+
187
+ ***
188
+
189
+ ### Document type
190
+
191
+ HTML5 (HTML syntax) is preferred for all HTML documents: `<!DOCTYPE html>`.
192
+
193
+ (It’s recommended to use HTML, as text/html. Do not use XHTML. XHTML, as application/xhtml+xml,
194
+ lacks both browser and infrastructure support and offers less room for optimization than HTML.)
195
+
196
+ Although fine with HTML, do not close void elements, i.e. write `<br>`, not `<br />`.
197
+
198
+ ***
199
+
200
+ ### HTML validity
201
+
202
+ Use valid HTML code unless that is not possible due to otherwise unattainable performance goals regarding file size.
203
+
204
+ Use tools such as the W3C HTML validator to test.
205
+
206
+ Using valid HTML is a measurable baseline quality attribute that contributes to learning about technical requirements
207
+ and constraints, and that ensures proper HTML usage.
208
+
209
+ **Not recommended**
210
+ ```
211
+ <title>Test</title>
212
+ <article>This is only a test.
213
+ ```
214
+
215
+ **Recommended**
216
+ ```
217
+ <!DOCTYPE html>
218
+ <meta charset="utf-8">
219
+ <title>Test</title>
220
+ <article>This is only a test.</article>
221
+ ```
222
+
223
+ ***
224
+
225
+ ### Optional Tags
226
+
227
+ The HTML5 specification defines what tags can be omitted in the HTML markup. For readability purpose the raw source
228
+ file should **NOT** omit optional tags. Omitting optional tags can lead to readability and scannability issues, and
229
+ therefore should not be used in the raw source files.
230
+
231
+ Omitting tags can lead to significant page size reductions specially on large scale sites. For this purpose you should
232
+ consider an HTML minification post processing of your raw files for distribution purpose.
233
+
234
+ ***
235
+
236
+ ### Script loading
237
+
238
+ For performance reasons it's important to load scripts asynchronously. A script loaded in the `<head>` like this
239
+ `<script src="main.js"></script>` will block the whole DOM parsing until the script has fully loaded and executed. This
240
+ will delay the page to be displayed until the script has fully loaded. With larger scripts this can have a big impact
241
+ on user experience.
242
+
243
+ Asynchronous script loading helps to minimize this performance impact. If browser support is only concerned about IE10+
244
+ the HTML5 async attribute on scripts should be used. This will prevent DOM parser blocking and you can even place your
245
+ script element into the `<head>` element.
246
+
247
+ If you need to support older browsers it's common practice to use script loaders that will make use of dynamic script
248
+ injection. You should consider [yepnope](http://yepnopejs.com/) or [labjs](http://labjs.com/). The problem with injected
249
+ scripts though is that [they will not start loading until CSS Object Model is ready](https://www.igvita.com/2014/05/20/script-injected-async-scripts-considered-harmful/)
250
+ (shortly after the CSS from the head is loaded). This can also load to delay of your behavior added by these javascript
251
+ which can again affect the user experience.
252
+
253
+ As a result of the above described behaviors you should always consider the following best practice if you need to
254
+ support old browsers (IE9-).
255
+
256
+ Add your script element just before the body close tag and add them with a async attribute. This will not load the
257
+ scripts asynchronously on old browsers but they will only block the DOM parser just before the body close which is not
258
+ affecting the user experience too much. On modern browsers this will delay the script load until the DOM parser
259
+ discovers the script element at the end of the body, but they will then asynchronously load the script and don't wait
260
+ for CSSOM to complete before loading (execution will still happen after CSSOM).
261
+
262
+ **Recommended for modern and old browsers**
263
+ ```
264
+ <html>
265
+ <head>
266
+ <link rel="stylesheet" href="main.css">
267
+ </head>
268
+ <body>
269
+ <!-- body goes here -->
270
+
271
+ <script src="main.js" async></script>
272
+ </body>
273
+ </html>
274
+ ```
275
+
276
+ **Recommended for only modern browsers**
277
+ ```
278
+ <html>
279
+ <head>
280
+ <link rel="stylesheet" href="main.css">
281
+ <script src="main.js" async></script>
282
+ </head>
283
+ <body>
284
+ <!-- body goes here -->
285
+ </body>
286
+ </html>
287
+ ```
288
+
289
+ ***
290
+
291
+ ### Semantics
292
+
293
+ Use elements (sometimes incorrectly called “tags”) for what they have been created for. For example, use heading
294
+ elements for headings, p elements for paragraphs, a elements for anchors, etc.
295
+
296
+ Using HTML according to its purpose is important for accessibility, reuse, and code efficiency reasons.
297
+
298
+ The following bad / good example should outline some of the major important semantic HTML cases:
299
+
300
+ **Not recommended**
301
+ ```
302
+ <b>My page title</b>
303
+ <div class="top-navigation">
304
+ <div class="nav-item"><a href="#home">Home</a></div>
305
+ <div class="nav-item"><a href="#news">News</a></div>
306
+ <div class="nav-item"><a href="#about">About</a></div>
307
+ </div>
308
+
309
+ <div class="news-page">
310
+ <div class="page-section news">
311
+ <div class="title">All news articles</div>
312
+ <div class="news-article">
313
+ <h2>Bad article</h2>
314
+ <div class="intro">Introduction sub-title</div>
315
+ <div class="content">This is a very bad example for HTML semantics</div>
316
+ <div class="article-side-notes">I think I'm more on the side and should not receive the main credits</div>
317
+ <div class="article-foot-notes">
318
+ This article was created by David <div class="time">2014-01-01 00:00</div>
319
+ </div>
320
+ </div>
321
+
322
+ <div class="section-footer">
323
+ Related sections: Events, Public holidays
324
+ </div>
325
+ </div>
326
+ </div>
327
+
328
+ <div class="page-footer">
329
+ Copyright 2014
330
+ </div>
331
+ ```
332
+
333
+ **Recommended**
334
+ ```
335
+ <!-- The page header should go into a header element -->
336
+ <header>
337
+ <!-- As this title belongs to the page structure it's a heading and h1 should be used -->
338
+ <h1>My page title</h1>
339
+ </header>
340
+
341
+ <!-- All navigation should go into a nav element -->
342
+ <nav class="top-navigation">
343
+ <!-- A listing of elements should always go to UL (OL for ordered listings) -->
344
+ <ul>
345
+ <li class="nav-item"><a href="#home">Home</a></li>
346
+ <li class="nav-item"><a href="#news">News</a></li>
347
+ <li class="nav-item"><a href="#about">About</a></li>
348
+ </ul>
349
+ </nav>
350
+
351
+ <!-- The main part of the page should go into a main element (also use role="main" for accessibility) -->
352
+ <main class="news-page" role="main">
353
+ <!-- A section of a page should go into a section element. Divide a page into sections with semantic elements. -->
354
+ <section class="page-section news">
355
+ <!-- A section header should go into a section element -->
356
+ <header>
357
+ <!-- As a page section belongs to the page structure heading elements should be used (in this case h2) -->
358
+ <h2 class="title">All news articles</h2>
359
+ </header>
360
+
361
+ <!-- If a section / module can be seen as an article (news article, blog entry, products teaser, any other
362
+ re-usable module / section that can occur multiple times on a page) a article element should be used -->
363
+ <article class="news-article">
364
+ <!-- An article can contain a header that contains the summary / introduction information of the article -->
365
+ <header>
366
+ <!-- As a article title does not belong to the overall page structure there should not be any heading tag! -->
367
+ <div class="article-title">Good article</div>
368
+ <!-- Small can optionally be used to reduce importance -->
369
+ <small class="intro">Introduction sub-title</small>
370
+ </header>
371
+
372
+ <!-- For the main content in a section or article there is no semantic element -->
373
+ <div class="content">
374
+ <p>This is a good example for HTML semantics</p>
375
+ </div>
376
+ <!-- For content that is represented as side note or less important information in a given context use aside -->
377
+ <aside class="article-side-notes">
378
+ <p>I think I'm more on the side and should not receive the main credits</p>
379
+ </aside>
380
+ <!-- Articles can also contain footers. If you have footnotes for an article place them into a footer element -->
381
+ <footer class="article-foot-notes">
382
+ <!-- The time element can be used to annotate a timestamp. Use the datetime attribute to specify ISO time
383
+ while the actual text in the time element can also be more human readable / relative -->
384
+ <p>This article was created by David <time datetime="2014-01-01 00:00" class="time">1 month ago</time></p>
385
+ </footer>
386
+ </article>
387
+
388
+ <!-- In a section, footnotes or similar information can also go into a footer element -->
389
+ <footer class="section-footer">
390
+ <p>Related sections: Events, Public holidays</p>
391
+ </footer>
392
+ </section>
393
+ </main>
394
+
395
+ <!-- Your page footer should go into a global footer element -->
396
+ <footer class="page-footer">
397
+ Copyright 2014
398
+ </footer>
399
+
400
+ ```
401
+
402
+ ***
403
+
404
+ ### Multimedia fallback
405
+
406
+ For multimedia, such as images, videos, animated objects via canvas, make sure to offer alternative access. For images
407
+ that means use of meaningful alternative text (alt) and for video and audio transcripts and captions, if available.
408
+
409
+ Providing alternative contents is important for accessibility reasons: A blind user has few cues to tell what an
410
+ image is about without @alt, and other users may have no way of understanding what video or audio contents are about
411
+ either.
412
+
413
+ (For images whose alt attributes would introduce redundancy, and for images whose purpose is purely decorative which
414
+ you cannot immediately use CSS for, use no alternative text, as in alt="".)
415
+
416
+ **Not recommended**
417
+ ```
418
+ <img src="luke-skywalker.jpg">
419
+ ```
420
+
421
+ **Recommended**
422
+ ```
423
+ <img src="luke-skywalker.jpg" alt="Luke skywalker riding an alien horse">
424
+ ```
425
+
426
+ When writing alt tags always try to describe the image as if you'd need to describe what's on the image to somebody
427
+ over the phone or who can't see the real picture.
428
+
429
+ **Not recommended**
430
+ ```
431
+ <img src="huge-spaceship-approaching-earth.jpg" alt="Header image">
432
+ ```
433
+
434
+ **Recommended**
435
+ ```
436
+ <img src="huge-spaceship-approaching-earth.jpg" alt="A huge spaceship that is approaching the earth">
437
+ ```
438
+
439
+ ***
440
+
441
+ ### Separation of Concerns
442
+
443
+ It's very important that you understand the different concerns in web and that you know how to and why to separate them.
444
+ In the web we have information (html markup), appearance (css) and behavior (Javascript) and we need to separate them as
445
+ far as possible in order to keep a maintainable and clean code.
446
+
447
+ Strictly keep structure (markup), presentation (styling), and behavior (scripting) apart, and try to keep the
448
+ interaction between the three to an absolute minimum.
449
+
450
+ That is, make sure documents and templates contain only HTML and HTML that is solely serving structural purposes.
451
+ Move everything presentational into style sheets, and everything behavioral into scripts.
452
+
453
+ In addition, keep the contact area as small as possible by linking as few style sheets and scripts as possible from
454
+ documents and templates.
455
+
456
+ Clean separation of concerns implies the following things:
457
+
458
+ 1. Don't use more than one or two stylesheets (i.e. main.css, vendor.css)
459
+ 1. Don't use more than one or two scripts (use concatination)
460
+ 1. Don't use inline styles (`<style>.no-good {}</style>`)
461
+ 1. Don't use element style attributes (`<hr style="border-top: 5px solid black">`)
462
+ 1. Don't use inline scripts (`<script>alert('no good')</script>`)
463
+ 1. Don't use presentational elements (i.e. `<b>`, `<u>`, `<center>`, `<font>`, `<b>`
464
+ 1. Don't use presentational class names (i.e. red, left, center)
465
+
466
+ **Not recommended**
467
+ ```
468
+ <!DOCTYPE html>
469
+ <html>
470
+ <head>
471
+ <link rel="stylesheet" href="base.css">
472
+ <link rel="stylesheet" href="grid.css">
473
+ <link rel="stylesheet" href="type.css">
474
+ <link rel="stylesheet" href="modules/teaser.css">
475
+ </head>
476
+ <body>
477
+ <h1 style="font-size: 3rem"></h1>
478
+ <b>I'm a subtitle and I'm bold!</b>
479
+ <center>Dare you center me!</center>
480
+ <script>
481
+ alert('Just dont...');
482
+ </script>
483
+ <div class="red">I'm important!</div>
484
+ </body>
485
+ </html>
486
+ ```
487
+
488
+ **Recommended**
489
+ ```
490
+ <!DOCTYPE html>
491
+ <html>
492
+ <head>
493
+ <!-- Concatinate your style sheets into a single one -->
494
+ <link rel="stylesheet" href="main.css">
495
+ </head>
496
+ <body>
497
+ <!-- Don't use style attributes but assign sensible classes and apply styles in the stylesheet -->
498
+ <h1 class="title"></h1>
499
+ <!-- Don't use presentational elements and assign sensible classes -->
500
+ <div class="sub-title">I'm a subtitle and I'm bold!</div>
501
+ <!-- Maybe your comments get centered in your presentation but that decision is up to the stylesheet -->
502
+ <span class="comment">Dare you center me!</span>
503
+ <!-- You wanted to make it red because it's important so then also name the class important and decide in the stylesheet
504
+ what you want to do with it -->
505
+ <div class="important">I'm important!</div>
506
+
507
+ <!-- Put all your scripts into files and concatinate them into a single one -->
508
+ <script async src="main.js"></script>
509
+ </body>
510
+ </html>
511
+ ```
512
+
513
+ ***
514
+
515
+ ### HTML is content only
516
+
517
+ Don't pollute your HTML markup with non-content information. There is a tendency to solve design problems at
518
+ the information's cost. The HTML markup should only contain content relevant information and design problems should
519
+ never be solved within the markup.
520
+
521
+ The only purpose of HTML markup is to represent content information.
522
+
523
+ - Don't introduce a specific HTML structure just to solve some visual design problems
524
+ - Don't use `<img>` elements for visual design elements
525
+
526
+ The following examples show two common things that are done wrong when it comes to solving design problems.
527
+
528
+ **Not recommended**
529
+ ```
530
+ <!-- We should not introduce an additional element just to solve a design problem -->
531
+ <span class="text-box">
532
+ <span class="square"></span>
533
+ See the square next to me?
534
+ </span>
535
+
536
+ ```
537
+ ```
538
+ .text-box > .square {
539
+ display: inline-block;
540
+ width: 1rem;
541
+ height: 1rem;
542
+ background-color: red;
543
+ }
544
+ ```
545
+
546
+
547
+ **Recommended**
548
+ ```
549
+ <!-- That's clean markup! -->
550
+ <span class="text-box">
551
+ See the square next to me?
552
+ </span>
553
+
554
+ ```
555
+ ```
556
+ // We use a :before pseudo element to solve the design problem of placing a colored square in front of the text content
557
+ .text-box:before {
558
+ content: "";
559
+ display: inline-block;
560
+ width: 1rem;
561
+ height: 1rem;
562
+ background-color: red;
563
+ }
564
+ ```
565
+
566
+ The only reason for images and svg graphics to be included in the markup is because they represent content relevant
567
+ information.
568
+
569
+ **Not recommended**
570
+ ```
571
+ <!-- Content images should never be used for design elements! -->
572
+ <span class="text-box">
573
+ <img src="square.svg" alt="Square" />
574
+ See the square next to me?
575
+ </span>
576
+ ```
577
+
578
+ **Recommended**
579
+ ```
580
+ <!-- That's clean markup! -->
581
+ <span class="text-box">
582
+ See the square next to me?
583
+ </span>
584
+
585
+ ```
586
+ ```
587
+ // We use a :before pseudo element with a background image to solve the problem
588
+ .text-box:before {
589
+ content: "";
590
+ display: inline-block;
591
+ width: 1rem;
592
+ height: 1rem;
593
+ background: url(square.svg) no-repeat;
594
+ background-size: 100%;
595
+ }
596
+ ```
597
+
598
+ ***
599
+
600
+ ### Type attributes
601
+
602
+ Omit type attributes for style sheets and scripts. Do not use type attributes for style sheets (unless not using CSS)
603
+ and scripts (unless not using JavaScript). Specifying type attributes in these contexts is not necessary as
604
+ HTML5 implies text/css and text/javascript as defaults. This can be safely done even for older browsers.
605
+
606
+ **Not recommended**
607
+ ```
608
+ <link rel="stylesheet" href="main.css" type="text/css">
609
+ <script src="main.js" type="text/javascript"></script>
610
+ ```
611
+
612
+ **Recommended**
613
+ ```
614
+ <link rel="stylesheet" href="main.css">
615
+ <script src="main.js"></script>
616
+ ```
617
+
618
+ ***
619
+
620
+ ### General Accessibility
621
+
622
+ If you use proper HTML5 semantics a lot of accessibility issues are already solved. ARIA is using some default roles
623
+ for most of the semantic elements which, if used correctly, solves a lot of the issues already. If you use `nav`,
624
+ `aside`, `main`, `footer` etc. ARIA will use some related default roles. For more details you can reference the
625
+ [ARIA specification](http://rawgit.com/w3c/aria-in-html/master/index.html#recommendations-table) recommendation table
626
+ which contains the defaults for the HTML semantic elements.
627
+
628
+ Additional roles can be used to give more accessibility context (i.e. `role="tab"`).
629
+
630
+ ***
631
+
632
+ ### Tab Index for Accessibility
633
+
634
+ Check your document for tab order and assign tabindex values in order to change the tab flow based on priority. You
635
+ can disable the tab index of an element by setting `tabindex="-1"` on any element.
636
+
637
+ If you add functionality to a element that is not focusable by default, you should always add a `tabindex` in order to
638
+ make the element focusable. This will also enable the CSS pseudo selector `:focus`. Choose an appropriate index value
639
+ for `tabindex` or use `tabindex="0"` to group elements into one tab order level and enforce ordering in natural reading
640
+ order.
641
+
642
+ ***
643
+
644
+ ### Microdata for SEO and Accessibility
645
+
646
+ If the SEO relevance and / or accessibility environment is given then you should consider to use microdata where
647
+ possible. Microdata is a way to annotate your data in your markup that follows some specific semantics.
648
+
649
+ Google, Microsoft and Yahoo! have more or less agreed on how to use this additional data and using it correctly has
650
+ great influence on your searches.
651
+
652
+ You can visit [schema.org](http://schema.org/) for more details.
653
+
654
+ Simple example of a movie on a web page:
655
+
656
+ **Without microdata**
657
+ ```
658
+ <div>
659
+ <h1>Avatar</h1>
660
+ <span>Director: James Cameron (born August 16, 1954)</span>
661
+ <span>Science fiction</span>
662
+ <a href="../movies/avatar-theatrical-trailer.html">Trailer</a>
663
+ </div>
664
+ ```
665
+
666
+ **With microdata**
667
+ ```
668
+ <div itemscope itemtype ="http://schema.org/Movie">
669
+ <h1 itemprop="name">Avatar</h1>
670
+ <div itemprop="director" itemscope itemtype="http://schema.org/Person">
671
+ Director: <span itemprop="name">James Cameron</span> (born <span itemprop="birthDate">August 16, 1954)</span>
672
+ </div>
673
+ <span itemprop="genre">Science fiction</span>
674
+ <a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">Trailer</a>
675
+ </div>
676
+ ```
677
+
678
+ ***
679
+
680
+ ### IDs for anchors
681
+
682
+ It's generally a good practice to give all headings on a page a ID. With these ID's on headings you can use the
683
+ browsers default behavior and include the ID names as hash tags in the URL. By default this causes the browser to scroll
684
+ to the position this element.
685
+
686
+ If you'd enter the URL `http://your-site.com/about#best-practices` in your browser then the browser would scroll down
687
+ so that the H3 below would be scrolled into the view.
688
+
689
+ ```
690
+ <h3 id="best-practices">Best practices</h3>
691
+ ```
692
+
693
+ ***
694
+
695
+ ### General formatting
696
+
697
+ Use a new line for every block, list, or table element, and indent every such child element.
698
+ Independent of the styling of an element (as CSS allows elements to assume a different role per display property),
699
+ put every block, list, or table element on a new line.
700
+
701
+ Also, indent them if they are child elements of a block, list, or table element.
702
+
703
+ (If you run into issues around whitespace between list items it’s acceptable to put all li elements in one line.
704
+ A linter is encouraged to throw a warning instead of an error.)
705
+
706
+ **Recommended**
707
+ ```
708
+ <blockquote>
709
+ <p><em>Space</em>, the final frontier.</p>
710
+ </blockquote>
711
+
712
+ <ul>
713
+ <li>Moe</li>
714
+ <li>Larry</li>
715
+ <li>Curly</li>
716
+ </ul>
717
+
718
+ <table>
719
+ <thead>
720
+ <tr>
721
+ <th scope="col">Income</th>
722
+ <th scope="col">Taxes</th>
723
+ </tr>
724
+ </thead>
725
+ <tbody>
726
+ <tr>
727
+ <td>$ 5.00</td>
728
+ <td>$ 4.50</td>
729
+ </tr>
730
+ </tbody>
731
+ </table>
732
+ ```
733
+
734
+ ***
735
+
736
+ ### HTML quotation marks
737
+
738
+ When quoting attributes values, use double quotation marks. Use double ("") rather than single quotation marks ('')
739
+ around attribute values.
740
+
741
+ **Not recommended**
742
+ ```
743
+ <div class='news-article'></div>
744
+ ```
745
+
746
+ **Recommended**
747
+ ```
748
+ <div class="news-article"></div>
749
+ ```
750
+
751
+ ***
752
+
753
+ ## Javascript style guide
754
+
755
+ ***
756
+
757
+ ### Global namespace pollution and IIFE
758
+
759
+ Always wrap your code into a IIFE (Immediately-Invoked Function Expression) in order to create an isolated closure
760
+ scope. This prevents you from polluting the global namespace.
761
+
762
+ IIFE can also secure your code from modifications that happened in the global namespace (i.e. 3rd party libraries,
763
+ window reference, overridden undefined keyword etc.)
764
+
765
+ **Not recommended**
766
+ ```
767
+ var x = 10,
768
+ y = 100;
769
+
770
+ // Declaring variables in the global scope is resulting in global scope pollution. All variables declared like this
771
+ // will be stored in the window object. This is very unclean and needs to be avoided.
772
+ console.log(window.x + ' ' + window.y);
773
+ ```
774
+
775
+ **Recommended**
776
+ ```
777
+ // We declare a IIFE and pass parameters into the function that we will use from the global space
778
+ (function(log, w, undefined){
779
+ 'use strict';
780
+
781
+ var x = 10,
782
+ y = 100;
783
+
784
+ // Will output 'true true'
785
+ log((w.x === undefined) + ' ' + (w.y === undefined));
786
+
787
+ }(window.console.log, window));
788
+ ```
789
+
790
+ ***
791
+
792
+ ### IIFE (Immediately-Executed Function Expression)
793
+
794
+ Use IIFE whenever you want to create a new closure scope. This can be used to create privacy and to keep memory clean.
795
+
796
+ Every javascript file should start with an IIFE.
797
+
798
+ The IIFE should be written so you're keeping the execution brackets inside of the surrounding brackets. Although the
799
+ writing the executing brackets outside of the surrounding brackets is valid the second example should be used as this
800
+ sets clear boundaries for the IIFE as the surrounding brackets isolate the whole IIFE.
801
+
802
+ **Not recommended**
803
+ ```
804
+ (function(){})();
805
+ ```
806
+
807
+ **Recommended**
808
+ ```
809
+ (function(){}());
810
+ ```
811
+
812
+ The following pattern should be used to format your IIFE:
813
+
814
+ ```
815
+ (function(){
816
+ 'use strict';
817
+
818
+ // Code goes here
819
+
820
+ }());
821
+ ```
822
+
823
+ If you want to use global variables or variables form an outer IIFE you should pass them as parameters to your IIFE:
824
+ ```
825
+ (function($, w, d){
826
+ 'use strict';
827
+
828
+ $(function() {
829
+ w.alert(d.querySelectorAll('div').length);
830
+ });
831
+ }(jQuery, window, document));
832
+ ```
833
+
834
+ ***
835
+
836
+ ### Strict mode
837
+
838
+ ECMAScript 5 strict mode can be enabled globally in your script or on function level. It enables more strict error
839
+ handling as well different javascript semantics. Strict mode also enforces a syntax that allows engines to optimize
840
+ the javascript better and strict more scripts can run faster than normal scripts.
841
+
842
+ Strict mode also blocks the usage of reserved words that possibly get introduced in the future.
843
+
844
+ You should always enforce strict mode in your scripts. Do so by applying it in your isolation IIFE. Don't apply it to
845
+ your whole script by include it as first statement in your script. This could possibly cause issues with 3rd party
846
+ libraries.
847
+
848
+ **Not recommended**
849
+ ```
850
+ // Script starts here
851
+ 'use strict';
852
+
853
+ (function(){
854
+
855
+ // Your code starts here
856
+
857
+ }());
858
+ ```
859
+
860
+ **Recommended**
861
+ ```
862
+ (function(){
863
+ 'use strict';
864
+
865
+ // Your code starts here
866
+
867
+ }());
868
+ ```
869
+
870
+ ***
871
+
872
+ ### Variable declarations
873
+
874
+ Always use `var` to declare your variables. When you fail to specify var, the variable gets placed in the global
875
+ context, potentially clobbering existing values. Also, if there's no declaration, it's hard to tell in what scope a
876
+ variable lives (e.g., it could be in the Document or Window just as easily as in the local scope).
877
+ So always declare with var.
878
+
879
+ Using strict mode can help to identify issues where you might mistyped a variable name resulting in a ReferenceError.
880
+
881
+ **Not recommended**
882
+ ```
883
+ x = 10;
884
+ y = 100;
885
+ ```
886
+
887
+ **Recommended**
888
+ ```
889
+ var x = 10,
890
+ y = 100;
891
+ ```
892
+
893
+ ***
894
+
895
+ ### Understand Javascript scope and hoisting
896
+
897
+ In Javascript variable and function declarations will be hoisted before execution. Javascript only knows function scope
898
+ and there is no block scope as you know it from other programming languages. This means that if you declare a variable
899
+ inside a if statement or for loop this variable is declared for the whole function scope and not only locally in the
900
+ block statement.
901
+
902
+ To illustrate this check the following example that will show how a javascript interpreter is hoisting the declarations
903
+ in a function scope:
904
+
905
+ **Raw function**
906
+ ```
907
+ (function(log){
908
+ 'use strict';
909
+
910
+ var a = 10;
911
+
912
+ for(var i = 0; i < a; i++) {
913
+ var b = i * i;
914
+ log(b);
915
+ }
916
+
917
+ if(a === 10) {
918
+ var f = function() {
919
+ log(a);
920
+ };
921
+ f();
922
+ }
923
+
924
+ function x() {
925
+ log('Mr. X!');
926
+ }
927
+ x();
928
+
929
+ }(window.console.log));
930
+ ```
931
+
932
+ **Hoisted by Javscript engine**
933
+ ```
934
+ (function(log){
935
+ 'use strict';
936
+ // All variables used in the closure will be hoisted to the top of the function
937
+ var a,
938
+ i,
939
+ b,
940
+ f;
941
+ // All functions in the closure will be hoisted to the top
942
+ function x() {
943
+ log('Mr. X!');
944
+ }
945
+
946
+ a = 10;
947
+
948
+ for(i = 0; i < a; i++) {
949
+ b = i * i;
950
+ log(b);
951
+ }
952
+
953
+ if(a === 10) {
954
+ // Function assignments will only result in hoisted variables but the function body will not be hoisted
955
+ // Only by using a real function declaration the whole function will be hoisted with its body
956
+ f = function() {
957
+ log(a);
958
+ };
959
+ f();
960
+ }
961
+
962
+ x();
963
+
964
+ }(window.console.log));
965
+ ```
966
+
967
+ Considering now the hoisting above you can now see that you could also run the following code without any exceptions:
968
+
969
+ **Valid code**
970
+ ```
971
+ (function(log){
972
+ 'use strict';
973
+
974
+ var a = 10;
975
+
976
+ i = 5;
977
+
978
+ x();
979
+
980
+ for(var i; i < a; i++) {
981
+ log(b);
982
+ var b = i * i;
983
+ }
984
+
985
+ if(a === 10) {
986
+ f = function() {
987
+ log(a);
988
+ };
989
+ f();
990
+
991
+ var f;
992
+ }
993
+
994
+ function x() {
995
+ log('Mr. X!');
996
+ }
997
+
998
+ }(window.console.log));
999
+ ```
1000
+
1001
+ As you can see this looks very confusing and misunderstanding hoisting can lead to unexpected results. To minimize the
1002
+ risk of errors and bugs that resulted from misunderstanding hoisting your should follow the style rule of hoisted
1003
+ declarations in the next section.
1004
+
1005
+ ***
1006
+
1007
+ ### Use hoisted declarations
1008
+
1009
+ To minimize risk of misunderstanding and misinterpreting results from hoisted variable and function declarations (see
1010
+ previous section) you should always try to hoist your variable and function declarations manually. This means that
1011
+ you should declare all your variables that you're using in a function as a fist statement in the function.
1012
+
1013
+ Use only one `var` keyword and comma separate multiple declarations.
1014
+
1015
+ **Not recommended**
1016
+ ```
1017
+ (function(log){
1018
+ 'use strict';
1019
+
1020
+ var a = 10;
1021
+ var b = 10;
1022
+
1023
+ for(var i = 0; i < 10; i++) {
1024
+ var c = a * b * i;
1025
+ }
1026
+
1027
+ function f() {
1028
+
1029
+ }
1030
+
1031
+ var d = 100;
1032
+ var x = function() {
1033
+ return d * d;
1034
+ };
1035
+ log(x());
1036
+
1037
+ }(window.console.log));
1038
+ ```
1039
+
1040
+ **Recommended**
1041
+ ```
1042
+ (function(log){
1043
+ 'use strict';
1044
+
1045
+ var a = 10,
1046
+ b = 10,
1047
+ i,
1048
+ c,
1049
+ d,
1050
+ x;
1051
+
1052
+ function f() {
1053
+
1054
+ }
1055
+
1056
+ for(i = 0; i < 10; i++) {
1057
+ c = a * b * i;
1058
+ }
1059
+
1060
+
1061
+
1062
+ d = 100;
1063
+ x = function() {
1064
+ return d * d;
1065
+ };
1066
+ log(x());
1067
+
1068
+ }(window.console.log));
1069
+ ```
1070
+
1071
+ Being pragmatic you should directly initialize your variables during hoisted declaration.
1072
+
1073
+ **Not recommended**
1074
+ ```
1075
+ var a,
1076
+ b,
1077
+ c;
1078
+
1079
+ a = 10;
1080
+ b = 10;
1081
+ c = 100;
1082
+ ```
1083
+
1084
+ **Recommended**
1085
+ ```
1086
+ var a = 10,
1087
+ b = 10,
1088
+ c = 100;
1089
+ ```
1090
+
1091
+ ***
1092
+
1093
+ ### Always use strict equal
1094
+
1095
+ Always use `===` explicit comparison operators and avoid the hassle you can go through by debugging issues resulted
1096
+ from the very much overcomplicated javascript type coercion.
1097
+
1098
+ If you're using `===` operators both operands need to be from the same type in order to be valid and there will no
1099
+ type coercion be performed.
1100
+
1101
+ If you'd like to get more information on type coercion you should read
1102
+ [this article by Dmitry Soshnikov](http://dmitrysoshnikov.com/notes/note-2-ecmascript-equality-operators/).
1103
+
1104
+ By using only `==` you're telling javascript to use type coercion where needed which can be very complicated to trace
1105
+ down. A few examples can be seen below that should give you a indication how strange type coercion can feel:
1106
+
1107
+ ```
1108
+ (function(log){
1109
+ 'use strict';
1110
+
1111
+ log('0' == 0); // true
1112
+ log('' == false); // true
1113
+ log('1' == true); // true
1114
+ log(null == undefined); // true
1115
+
1116
+ var x = {
1117
+ valueOf: function() {
1118
+ return 'X';
1119
+ }
1120
+ };
1121
+
1122
+ log(x == 'X');
1123
+
1124
+ }(window.console.log));
1125
+ ```
1126
+
1127
+ ***
1128
+
1129
+ ### Use truthy / falsy checks wisely
1130
+
1131
+ By only putting one variable or expression into a if statement you're creating a truthy / falsy check. The expression
1132
+ `if(a == true)` is not the same as `if(a)`. The later expression is creating a special check which is called truthy /
1133
+ falsy check. This check performs some special operations in order to evaluate to true or false. The following
1134
+ expressions are falsy in javascript `false`, `0`, `undefined`, `null`, `NaN`, `''` (empty string).
1135
+
1136
+ Truthy / falsy checks are very helpful as they allow you to quickly react on a group of conditions that you'd like to
1137
+ take care of but you need to be sure about what you actually want to do.
1138
+
1139
+ The following example shows how truthy / falsy checks work:
1140
+
1141
+ ```
1142
+ (function(log){
1143
+ 'use strict';
1144
+
1145
+ function logTruthyFalsy(expr) {
1146
+ if(expr) {
1147
+ log('truthy');
1148
+ } else {
1149
+ log('falsy');
1150
+ }
1151
+ }
1152
+
1153
+ logTruthyFalsy(true); // truthy
1154
+ logTruthyFalsy(1); // truthy
1155
+ logTruthyFalsy({}); // truthy
1156
+ logTruthyFalsy([]); // truthy
1157
+ logTruthyFalsy('0'); // truthy
1158
+
1159
+ logTruthyFalsy(false); // falsy
1160
+ logTruthyFalsy(0); // falsy
1161
+ logTruthyFalsy(undefined); // falsy
1162
+ logTruthyFalsy(null); // falsy
1163
+ logTruthyFalsy(NaN); // falsy
1164
+ logTruthyFalsy(''); // falsy
1165
+
1166
+ }(window.console.log));
1167
+ ```
1168
+
1169
+ ***
1170
+
1171
+ ### Logical operators for variable assignments
1172
+
1173
+ The logical operators `||` and `&&` can also be used to return non-boolean values. If used with non booleans the
1174
+ operands will evaluate each expression from left to right and performs a falsy check. Depending on the operation, one
1175
+ of the expressions will be returned. This can be very helpful for variable assignments and should be considered in
1176
+ order to simplify your code.
1177
+
1178
+ **Not recommended**
1179
+ ```
1180
+ if(!x) {
1181
+ if(!y) {
1182
+ x = 1;
1183
+ } else {
1184
+ x = y;
1185
+ }
1186
+ }
1187
+ ```
1188
+
1189
+ **Recommended**
1190
+ ```
1191
+ x = x || y || 1;
1192
+ ```
1193
+
1194
+ This shorthand is often used to validated function parameters. The following example illustrates one usage example:
1195
+
1196
+ ```
1197
+ (function(log){
1198
+ 'use strict';
1199
+
1200
+ function multiply(a, b) {
1201
+ a = a || 1;
1202
+ b = b || 1;
1203
+
1204
+ log('Result ' + a * b);
1205
+ }
1206
+
1207
+ multiply(); // Result 1
1208
+ multiply(10); // Result 10
1209
+ multiply(3, NaN); // Result 3
1210
+ multiply(9, 5); // Result 45
1211
+
1212
+ }(window.console.log));
1213
+ ```
1214
+
1215
+ ***
1216
+
1217
+ ### Semicolons
1218
+
1219
+ Always use semicolons. Relying on implicit insertion can cause subtle, hard to debug problems. Don't do it.
1220
+ You're better than that. There are a couple places where missing semicolons are particularly dangerous:
1221
+
1222
+ ```
1223
+ // 1.
1224
+ MyClass.prototype.myMethod = function() {
1225
+ return 42;
1226
+ } // No semicolon here.
1227
+
1228
+ (function() {
1229
+ // Some initialization code wrapped in a function to create a scope for locals.
1230
+ })();
1231
+
1232
+
1233
+ var x = {
1234
+ 'i': 1,
1235
+ 'j': 2
1236
+ } // No semicolon here.
1237
+
1238
+ // 2. Trying to do one thing on Internet Explorer and another on Firefox.
1239
+ // I know you'd never write code like this, but throw me a bone.
1240
+ [ffVersion, ieVersion][isIE]();
1241
+
1242
+
1243
+ var THINGS_TO_EAT = [apples, oysters, sprayOnCheese] // No semicolon here.
1244
+
1245
+ // 3. conditional execution a la bash
1246
+ -1 == resultOfOperation() || die();
1247
+ ```
1248
+
1249
+ **So what happens?**
1250
+
1251
+ 1. JavaScript error - first the function returning 42 is called with the second function as a parameter, then
1252
+ the number 42 is "called" resulting in an error.
1253
+ 1. You will most likely get a 'no such property in undefined' error at runtime as it tries to
1254
+ call `x[ffVersion, ieVersion][isIE]()`.
1255
+ 1. `die` is always called since the array minus 1 is `NaN` which is never equal to anything (not even if
1256
+ `resultOfOperation()` returns `NaN`) and `THINGS_TO_EAT` gets assigned the result of `die()`.
1257
+
1258
+ **Why?**
1259
+
1260
+ JavaScript requires statements to end with a semicolon, except when it thinks it can safely infer their existence.
1261
+ In each of these examples, a function declaration or object or array literal is used inside a statement. The closing
1262
+ brackets are not enough to signal the end of the statement. Javascript never ends a statement if the next token is an
1263
+ infix or bracket operator.
1264
+
1265
+ This has really surprised people, so make sure your assignments end with semicolons.
1266
+
1267
+ **Clarification: Semicolons and functions**
1268
+
1269
+ Semicolons should be included at the end of function expressions, but not at the end of function declarations.
1270
+ The distinction is best illustrated with an example:
1271
+
1272
+ ```
1273
+ var foo = function() {
1274
+ return true;
1275
+ }; // semicolon here.
1276
+
1277
+ function foo() {
1278
+ return true;
1279
+ } // no semicolon here.
1280
+ ```
1281
+
1282
+ ***
1283
+
1284
+ ### Nested functions
1285
+
1286
+ Nested functions can be very useful, for example in the creation of continuations and for the task of hiding helper
1287
+ functions. Feel free to use them.
1288
+
1289
+ ***
1290
+
1291
+ ### Function declaration within blocks
1292
+
1293
+ Do not declare functions in blocks. This is not valid in ECMAScript 5 strict mode. Functions should be declared on
1294
+ top level. Don't hesitate to use variables initialized with function expressions inside of blocks though:
1295
+
1296
+ **Not recommended**
1297
+ ```
1298
+ if (x) {
1299
+ function foo() {}
1300
+ }
1301
+ ```
1302
+
1303
+ **Recommended**
1304
+ ```
1305
+ if (x) {
1306
+ var foo = function() {};
1307
+ }
1308
+ ```
1309
+
1310
+ ***
1311
+
1312
+ ### Exceptions
1313
+
1314
+ You basically can't avoid exceptions if you're doing something non-trivial (using an application development framework,
1315
+ etc.).
1316
+
1317
+ Without custom exceptions, returning error information from a function that also returns a value can be tricky, not to
1318
+ mention inelegant. Bad solutions include passing in a reference type to hold error information or always returning
1319
+ Objects with a potential error member. These basically amount to a primitive exception handling hack.
1320
+ Feel free to use custom exceptions when appropriate.
1321
+
1322
+ In complex environments you should consider throwing objects rather than just strings (default throws).
1323
+
1324
+ ```
1325
+ if(name === undefined) {
1326
+ throw {
1327
+ name: 'System Error',
1328
+ message: 'A name should always be specified!'
1329
+ }
1330
+ }
1331
+ ```
1332
+
1333
+ ***
1334
+
1335
+ ### Standard features
1336
+
1337
+ Always preferred over non-standards features. For maximum portability and compatibility, always prefer standards
1338
+ features over non-standards features (e.g., `string.charAt(3)` over `string[3]` and element access with DOM functions
1339
+ instead of using an application-specific shorthand).
1340
+
1341
+ ***
1342
+
1343
+ ### Simple prototypical inheritance
1344
+
1345
+ If you need inheritance of your objects in Javascript follow a simple pattern to create inheritance. If you know that
1346
+ you'll end up with complex object inheritance consider a inheritance library like
1347
+ [Proto.js by Axel Rauschmayer](https://github.com/rauschma/proto-js).
1348
+
1349
+ For simple cases use like the bellow.
1350
+
1351
+ ```
1352
+ (function(log){
1353
+ 'use strict';
1354
+
1355
+ // Constructor function
1356
+ function Apple(name) {
1357
+ this.name = name;
1358
+ }
1359
+ // Defining a method of apple
1360
+ Apple.prototype.eat = function() {
1361
+ log('Eating ' + this.name);
1362
+ };
1363
+
1364
+ // Constructor function
1365
+ function GrannySmithApple() {
1366
+ // Invoking parent constructor
1367
+ Apple.prototype.constructor.call(this, 'Granny Smith');
1368
+ }
1369
+ // Set parent prototype while creating a copy with Object.create
1370
+ GrannySmithApple.prototype = Object.create(Apple.prototype);
1371
+ // Set constructor to the sub type, otherwise points to Apple
1372
+ GrannySmithApple.prototype.constructor = GrannySmithApple;
1373
+
1374
+ // Calling a super method
1375
+ GrannySmithApple.prototype.eat = function() {
1376
+ // Be sure to apply it onto our current object with call(this)
1377
+ Apple.prototype.eat.call(this);
1378
+
1379
+ log('Poor Grany Smith');
1380
+ };
1381
+
1382
+ // Instantiation
1383
+ var apple = new Apple('Test Apple');
1384
+ var grannyApple = new GrannySmithApple();
1385
+
1386
+ log(apple.name); // Test Apple
1387
+ log(grannyApple.name); // Granny Smith
1388
+
1389
+ // Instance checks
1390
+ log(apple instanceof Apple); // true
1391
+ log(apple instanceof GrannySmithApple); // false
1392
+
1393
+ log(grannyApple instanceof Apple); // true
1394
+ log(grannyApple instanceof GrannySmithApple); // true
1395
+
1396
+ // Calling method that calls super method
1397
+ grannyApple.eat(); // Eating Granny Smith\nPoor Grany Smith
1398
+
1399
+ }(window.console.log));
1400
+ ```
1401
+
1402
+ ***
1403
+
1404
+ ### Use Closures
1405
+
1406
+ The ability to create closures is perhaps the most useful and often overlooked feature of JS.
1407
+ Here is [a good description of how closures work](http://jibbering.com/faq/faq_notes/closures.html).
1408
+
1409
+ ***
1410
+
1411
+ ### Don't create functions in loops
1412
+
1413
+ It's generally a potential source for bugs if you write functions that create a closure inside of simple loops. The
1414
+ following example illustrates a common pitfall.
1415
+
1416
+ **Not recommended**
1417
+ ```
1418
+ (function(log, w){
1419
+ 'use strict';
1420
+
1421
+ // numbers and i is defined in the current function closure
1422
+ var numbers = [1, 2, 3],
1423
+ i;
1424
+
1425
+ for(i = 0; i < numbers.length; i++) {
1426
+ w.setTimeout(function() {
1427
+ // At the moment when this gets executed the i variable, coming from the outer function scope
1428
+ // is set to 3 and the current program is alerting the message 3 times
1429
+ // 'Index 3 with number undefined
1430
+ // If you understand closures in javascript you know how to deal with those cases
1431
+ // It's best to just avoid functions / new closures in loops as this prevents those issues
1432
+
1433
+ w.alert('Index ' + i + ' with number ' + numbers[i]);
1434
+ }, 0);
1435
+ }
1436
+
1437
+ }(window.console.log, window));
1438
+ ```
1439
+
1440
+ The following variation of the above example solves our problem / bug but still violates our policy to not create
1441
+ functions / closures inside of loops.
1442
+
1443
+ **Not recommended**
1444
+ ```
1445
+ (function(log, w){
1446
+ 'use strict';
1447
+
1448
+ // numbers and i is defined in the current function closure
1449
+ var numbers = [1, 2, 3],
1450
+ i;
1451
+
1452
+ for(i = 0; i < numbers.length; i++) {
1453
+ // Creating a new closure scope with an IIFE solves the problem
1454
+ // The delayed function will use index and number which are
1455
+ // in their own closure scope (one closure per loop iteration).
1456
+ // ---
1457
+ // Still this is not recommended as we violate our rule to not
1458
+ // create functions within loops and we are creating two!
1459
+
1460
+ (function(index, number){
1461
+ w.setTimeout(function() {
1462
+ // Will output as expected 0 > 1, 1 > 2, 2 > 3
1463
+ w.alert('Index ' + index + ' with number ' + number);
1464
+ }, 0);
1465
+ }(i, numbers[i]));
1466
+ }
1467
+
1468
+ }(window.console.log, window));
1469
+ ```
1470
+
1471
+ The following variation solves our problem / bug and we also comply with our style guide. However, this seems to be
1472
+ heavily overcomplicated and we should look for a better / easier way.
1473
+
1474
+ **Partially recommended**
1475
+ ```
1476
+ (function(log, w){
1477
+ 'use strict';
1478
+
1479
+ // numbers and i is defined in the current function closure
1480
+ var numbers = [1, 2, 3],
1481
+ i;
1482
+
1483
+ // Create a function outside of the loop that will accept arguments to create a
1484
+ // function closure scope. This function will return a function that executes in this
1485
+ // closure parent scope.
1486
+ function alertIndexWithNumber(index, number) {
1487
+ return function() {
1488
+ w.alert('Index ' + index + ' with number ' + number);
1489
+ };
1490
+ }
1491
+
1492
+ // First parameter is a function call that returns a function.
1493
+ // ---
1494
+ // This solves our problem and we don't create a function inside our loop
1495
+ for(i = 0; i < numbers.length; i++) {
1496
+ w.setTimeout(alertIndexWithNumber(i, numbers[i]), 0);
1497
+ }
1498
+
1499
+ }(window.console.log, window));
1500
+ ```
1501
+
1502
+ By using a functional approach for our loop we solve the problem immediately as we create a new closure with every loop.
1503
+ Functional style is recommended and will also lead to more natural and expected results.
1504
+
1505
+ **Recommended**
1506
+ ```
1507
+ (function(log, w){
1508
+ 'use strict';
1509
+
1510
+ // numbers and i is defined in the current function closure
1511
+ var numbers = [1, 2, 3],
1512
+ i;
1513
+
1514
+ numbers.forEach(function(number, index) {
1515
+ w.setTimeout(function() {
1516
+ w.alert('Index ' + index + ' with number ' + number);
1517
+ }, 0);
1518
+ });
1519
+
1520
+ }(window.console.log, window));
1521
+ ```
1522
+
1523
+ ***
1524
+
1525
+ ### The (evil) eval function
1526
+
1527
+ `eval()` makes for confusing semantics and is dangerous to use if the string being eval()'d contains user input.
1528
+ There's usually a better, clearer, and safer way to write your code, so its use is generally not permitted.
1529
+
1530
+ ***
1531
+
1532
+ ### The this keyword
1533
+
1534
+ Use the `this` keyword only in object constructors, methods, and in setting up closures. The semantics of this can be
1535
+ tricky. At times it refers to the global object (in most places), the scope of the caller (in eval), a node in the DOM
1536
+ tree (when attached using an event handler HTML attribute), a newly created object (in a constructor), or some other
1537
+ object (if function was call()ed or apply()ed).
1538
+
1539
+ Because this is so easy to get wrong, limit its use to those places where it is required:
1540
+
1541
+ - in constructors
1542
+ - in methods of objects (including in the creation of closures)
1543
+
1544
+ ***
1545
+
1546
+ ### Functional is preferred
1547
+
1548
+ Using functional style programming you can simplify your code and reduce maintenance cost by gaining easy re-usability,
1549
+ proper isolation and less dependencies.
1550
+
1551
+ The following example compares two solutions for the same problem of summing up all number elements in an array. The
1552
+ first example is a classical procedural approach while the second one makes use of functional style programming and the
1553
+ ECMA Script 5.1 array functions.
1554
+
1555
+ Exception: In situations where performance is considered to be more important than maintainability then you might
1556
+ consider the most performant solution over the most maintainable (i.e. using simple for loop over forEach)
1557
+
1558
+ **Not recommended**
1559
+ ```
1560
+ (function(log){
1561
+ 'use strict';
1562
+
1563
+ var arr = [10, 3, 7, 9, 100, 20],
1564
+ sum = 0,
1565
+ i;
1566
+
1567
+
1568
+ for(i = 0; i < arr.length; i++) {
1569
+ sum += arr[i];
1570
+ }
1571
+
1572
+ log('The sum of array ' + arr + ' is: ' + sum)
1573
+
1574
+ }(window.console.log));
1575
+ ```
1576
+
1577
+ **Recommended**
1578
+ ```
1579
+ (function(log){
1580
+ 'use strict';
1581
+
1582
+ var arr = [10, 3, 7, 9, 100, 20];
1583
+
1584
+ var sum = arr.reduce(function(prevValue, currentValue) {
1585
+ return prevValue + currentValue;
1586
+ }, 0);
1587
+
1588
+ log('The sum of array ' + arr + ' is: ' + sum);
1589
+
1590
+ }(window.console.log));
1591
+ ```
1592
+
1593
+ An other example would be to filter an array for certain criteria so that we can create a new array that only contains
1594
+ those elements that match the criteria.
1595
+
1596
+ **Not recommended**
1597
+ ```
1598
+ (function(log){
1599
+ 'use strict';
1600
+
1601
+ var numbers = [11, 3, 7, 9, 100, 20, 14, 10],
1602
+ numbersGreaterTen = [],
1603
+ i;
1604
+
1605
+
1606
+ for(i = 0; i < numbers.length; i++) {
1607
+ if(numbers[i] > 10) {
1608
+ numbersGreaterTen.push(numbers[i]);
1609
+ }
1610
+ }
1611
+
1612
+ log('From the list of numbers ' + numbers + ' only ' + numbersGreaterTen + ' are greater than ten');
1613
+
1614
+ }(window.console.log));
1615
+ ```
1616
+
1617
+ **Recommended**
1618
+ ```
1619
+ (function(log){
1620
+ 'use strict';
1621
+
1622
+ var numbers = [11, 3, 7, 9, 100, 20, 14, 10];
1623
+
1624
+ var numbersGreaterTen = numbers.filter(function(element) {
1625
+ return element > 10;
1626
+ });
1627
+
1628
+ log('From the list of numbers ' + numbers + ' only ' + numbersGreaterTen + ' are greater than ten');
1629
+
1630
+ }(window.console.log));
1631
+ ```
1632
+
1633
+ ***
1634
+
1635
+ ### Use ECMA Script 5
1636
+
1637
+ Use the syntactical sugar and functional style that was added with ECMA Script 5. It's simplifying your programming
1638
+ style and makes your code more flexible and re-usable.
1639
+
1640
+ ***
1641
+
1642
+ ### Array and object property iteration
1643
+
1644
+ The ECMA5 way to iterate over an array is preferred. Use Array.forEach or Array.every if you would like to cancel the
1645
+ iteration at a certain condition.
1646
+
1647
+ ```
1648
+ (function(log){
1649
+ 'use strict';
1650
+
1651
+ // Iterate over an array and break at a certain condition
1652
+ [1, 2, 3, 4, 5].every(function(element, index, arr) {
1653
+ log(element + ' at index ' + index + ' in array ' + arr);
1654
+
1655
+ if(index !== 5) {
1656
+ return true;
1657
+ }
1658
+ });
1659
+
1660
+ // Defining a simple javascript object
1661
+ var obj = {
1662
+ a: 'A',
1663
+ b: 'B',
1664
+ 'c-d-e': 'CDE'
1665
+ };
1666
+
1667
+ // Iterating over the object keys
1668
+ Object.keys(obj).forEach(function(element, index, arr) {
1669
+ log('Key ' + element + ' has value ' + obj[element]);
1670
+ });
1671
+
1672
+ }(window.console.log));
1673
+ ```
1674
+
1675
+ ***
1676
+
1677
+ ### Don't use switch
1678
+
1679
+ switch is a very error prone control statement in every programming language. Use if else if instead.
1680
+
1681
+ ***
1682
+
1683
+ ### Array and Object literals
1684
+
1685
+ Use Array and Object literals instead of Array and Object constructors. Array constructors are error-prone due to their
1686
+ arguments.
1687
+
1688
+ **Not recommended**
1689
+ ```
1690
+ // Length is 3.
1691
+ var a1 = new Array(x1, x2, x3);
1692
+
1693
+ // Length is 2.
1694
+ var a2 = new Array(x1, x2);
1695
+
1696
+ // If x1 is a number and it is a natural number the length will be x1.
1697
+ // If x1 is a number but not a natural number this will throw an exception.
1698
+ // Otherwise the array will have one element with x1 as its value.
1699
+ var a3 = new Array(x1);
1700
+
1701
+ // Length is 0.
1702
+ var a4 = new Array();
1703
+ ```
1704
+
1705
+ Because of this, if someone changes the code to pass 1 argument instead of 2 arguments, the array might not have the
1706
+ expected length. To avoid these kinds of weird cases, always use the more readable array literal.
1707
+
1708
+ **Recommended**
1709
+ ```
1710
+ var a = [x1, x2, x3];
1711
+ var a2 = [x1, x2];
1712
+ var a3 = [x1];
1713
+ var a4 = [];
1714
+ ```
1715
+
1716
+ Object constructors don't have the same problems, but for readability and consistency object literals should be used.
1717
+
1718
+ **Not recommended**
1719
+ ```
1720
+ var o = new Object();
1721
+
1722
+ var o2 = new Object();
1723
+ o2.a = 0;
1724
+ o2.b = 1;
1725
+ o2.c = 2;
1726
+ o2['strange key'] = 3;
1727
+ ```
1728
+
1729
+ Should be written as:
1730
+
1731
+ **Recommended**
1732
+ ```
1733
+ var o = {};
1734
+
1735
+ var o2 = {
1736
+ a: 0,
1737
+ b: 1,
1738
+ c: 2,
1739
+ 'strange key': 3
1740
+ };
1741
+ ```
1742
+
1743
+ ***
1744
+
1745
+ ### Modifying prototypes of builtin objects
1746
+
1747
+ Modifying builtins like `Object.prototype` and `Array.prototype` are strictly forbidden. Modifying other builtins like
1748
+ `Function.prototype` is less dangerous but still leads to hard to debug issues in production and should be avoided.
1749
+
1750
+ ***
1751
+
1752
+ ### Custom toString() methods
1753
+
1754
+ You can control how your objects string-ify themselves by defining a custom `toString()` method. This is fine, but you
1755
+ need to ensure that your method (1) always succeeds and (2) does not have side-effects. If your method doesn't meet
1756
+ these criteria, it's very easy to run into serious problems. For example, if `toString()` calls a method that does an
1757
+ assert, assert might try to output the name of the object in which it failed, which of course requires
1758
+ calling `toString()`.
1759
+
1760
+ ***
1761
+
1762
+ ### Parentheses
1763
+
1764
+ Use sparingly and in general only where required by the syntax and semantics. Never use parentheses for unary
1765
+ operators such as `delete`, `typeof` and `void` or after keywords such as `return`, `throw` as well
1766
+ as others (`case`, in or `new`).
1767
+
1768
+ ***
1769
+
1770
+ ### Strings
1771
+
1772
+ For consistency single-quotes (') are preferred to double-quotes ("). This is helpful when creating
1773
+ strings that include HTML:
1774
+
1775
+ ```
1776
+ var msg = 'This is some HTML <div class="makes-sense"></div>';
1777
+ ```
1778
+
1779
+ ***
1780
+
1781
+ ### Conditional Ternary Operator (shorthand if)
1782
+
1783
+ Use the ternary operator for assignments or return statements. Use it only in simple conditions and avoid it in complex
1784
+ ones. No body likes to wrap his brain around 10 lines of nested ternary operators.
1785
+
1786
+ **Not recommended**
1787
+ ```
1788
+ if(x === 10) {
1789
+ return 'valid';
1790
+ } else {
1791
+ return 'invalid';
1792
+ }
1793
+ ```
1794
+
1795
+ **Recommended**
1796
+ ```
1797
+ return x === 10 ? 'valid' : 'invalid';
1798
+ ```
1799
+
1800
+ ***
1801
+
1802
+ ## CSS and Sass (SCSS) style rules
1803
+
1804
+ ***
1805
+
1806
+ ### ID and class naming
1807
+
1808
+ Instead of presentational or cryptic names, always use ID and class names that reflect the purpose of the element in
1809
+ question, or that are otherwise generic.
1810
+
1811
+ Names that are specific and reflect the purpose of the element should be preferred as these are most understandable
1812
+ and the least likely to change.
1813
+
1814
+ Generic names are simply a fallback for elements that have no particular or no meaning different from their siblings.
1815
+ They are typically needed as “helpers.”
1816
+
1817
+ Even though class names and ID's have no semantic meaning to computer interpreters, semantic names are often the right
1818
+ choice as they represent the information meaning and don't introduce presentational constraints.
1819
+
1820
+ **Not recommended**
1821
+ ```
1822
+ .fw-800 {
1823
+ font-weight: 800;
1824
+ }
1825
+
1826
+ .red {
1827
+ color: red;
1828
+ }
1829
+ ```
1830
+
1831
+ **Recommended**
1832
+ ```
1833
+ .heavy {
1834
+ font-weight: 800;
1835
+ }
1836
+
1837
+ .important {
1838
+ color: red;
1839
+ }
1840
+ ```
1841
+
1842
+ ***
1843
+
1844
+ ### Avoid ID's where possible
1845
+
1846
+ In general ID's should not be used to apply style. Styles on ID's can't be re-used and you can only use them once per
1847
+ page. The only valid location for using an ID would be to identify a page or a whole site. Still you should always
1848
+ consider using a class that you use once instead of an id.
1849
+
1850
+ **Not recommended**
1851
+ ```
1852
+ #content .title {
1853
+ font-size: 2em;
1854
+ }
1855
+ ```
1856
+
1857
+ **Recommended**
1858
+ ```
1859
+ .content .title {
1860
+ font-size: 2em;
1861
+ }
1862
+ ```
1863
+
1864
+ One other argument against using ID's would be that selector chains containing ID's are over-prioritized. A selector
1865
+ containing just one ID is weighted higher than a selector containing 1000 class names only which makes it very odd.
1866
+
1867
+ ```
1868
+ // This selecor is considered with higher priority
1869
+ #content .title {
1870
+ color: red;
1871
+ }
1872
+
1873
+ // than this selector!
1874
+ html body div.content.news-content .title.content-title.important {
1875
+ color: blue;
1876
+ }
1877
+ ```
1878
+
1879
+ ***
1880
+
1881
+ ### Avoid elements in CSS selectors
1882
+
1883
+ When building your selectors use clear, precise and sensible class names. Don't use element selectors. If you're only
1884
+ concerned about your class names and not about your elements your code gets a lot more maintainable.
1885
+
1886
+ From a separation of concerns perspective you don't want to dictate the markup / semantics from the presentation layer.
1887
+ It might be that a ordered list needs to be changed to an unordered list or that a div will be converted to an article.
1888
+ If you only care about sensible class names and don't use element selectors you'd only need to change your markup and
1889
+ not your css.
1890
+
1891
+ **Not recommended**
1892
+ ```
1893
+ div.content > header.content-header > h2.title {
1894
+ font-size: 2em;
1895
+ }
1896
+ ```
1897
+
1898
+ **Recommended**
1899
+ ```
1900
+ .content > .content-header > .title {
1901
+ font-size: 2em;
1902
+ }
1903
+ ```
1904
+
1905
+ ***
1906
+
1907
+ ### Be as precise as possible
1908
+
1909
+ A lot of front-end developers don't use direct child selectors when they write their selector chains. Sometimes this
1910
+ can cause painful design issues and other times it's just a performance eater. However, in any case, it's a very bad
1911
+ practice. If you don't write very generic selectors that need to match down to the bottom of the DOM you should always
1912
+ consider direct child selectors.
1913
+
1914
+ Consider the following DOM:
1915
+
1916
+ ```
1917
+ <article class="content news-content">
1918
+ <span class="title">News event</span>
1919
+ <div class="content-body">
1920
+ <div class="title content-title">
1921
+ Check this out
1922
+ </div>
1923
+
1924
+ <p>This is a news article content</p>
1925
+
1926
+ <div class="teaser">
1927
+ <div class="title">Buy this</div>
1928
+ <div class="teaser-content">Yey!</div>
1929
+ </div>
1930
+ </div>
1931
+ </article>
1932
+ ```
1933
+
1934
+ The following CSS would apply to all three elements that have a title class. This then would need to be overridden again
1935
+ with more granular selectors in order to fix the content title and the teaser title.
1936
+
1937
+ **Not recommended**
1938
+ ```
1939
+ .content .title {
1940
+ font-size: 2rem;
1941
+ }
1942
+ ```
1943
+
1944
+ **Recommended**
1945
+ ```
1946
+ .content > .title {
1947
+ font-size: 2rem;
1948
+ }
1949
+
1950
+ .content > .content-body > .title {
1951
+ font-size: 1.5rem;
1952
+ }
1953
+
1954
+ .content > .content-body > .teaser > .title {
1955
+ font-size: 1.2rem;
1956
+ }
1957
+ ```
1958
+
1959
+ ***
1960
+
1961
+ ### Shorthand Properties
1962
+
1963
+ CSS offers a variety of shorthand properties (like font) that should be used whenever possible, even in cases where
1964
+ only one value is explicitly set.
1965
+
1966
+ Using shorthand properties is useful for code efficiency and understandability.
1967
+
1968
+ **Not recommended**
1969
+ ```
1970
+ border-top-style: none;
1971
+ font-family: palatino, georgia, serif;
1972
+ font-size: 100%;
1973
+ line-height: 1.6;
1974
+ padding-bottom: 2em;
1975
+ padding-left: 1em;
1976
+ padding-right: 1em;
1977
+ padding-top: 0;
1978
+ ```
1979
+
1980
+ **Recommended**
1981
+ ```
1982
+ border-top: 0;
1983
+ font: 100%/1.6 palatino, georgia, serif;
1984
+ padding: 0 1em 2em;
1985
+ ```
1986
+
1987
+ ***
1988
+
1989
+ ### 0 and units
1990
+
1991
+ Omit unit specification after “0” values. Do not use units after 0 values unless they are required.
1992
+
1993
+ **Not recommended**
1994
+ ```
1995
+ padding-bottom: 0px;
1996
+ margin: 0em;
1997
+ ```
1998
+
1999
+ **Recommended**
2000
+ ```
2001
+ padding-bottom: 0;
2002
+ margin: 0;
2003
+ ```
2004
+
2005
+ ***
2006
+
2007
+ ### Hexadecimal Notation
2008
+
2009
+ Use 3 character hexadecimal notation where possible. For color values that permit it, 3 character hexadecimal notation
2010
+ is shorter and more succinct.
2011
+
2012
+ Always use lower case hex digits.
2013
+
2014
+ **Not recommended**
2015
+ ```
2016
+ color: #FF33AA;
2017
+ ```
2018
+
2019
+ **Recommended**
2020
+ ```
2021
+ color: #f3a;
2022
+ ```
2023
+
2024
+ ***
2025
+
2026
+ ### ID and Class Name Delimiters
2027
+
2028
+ Separate words in ID and class names by a hyphen. Do not concatenate words and abbreviations in selectors by any
2029
+ characters (including none at all) other than hyphens, in order to improve understanding and scannability.
2030
+
2031
+ Also as the standard foresees attribute selectors that recognise hyphens as separator of words `[attribute|=value]`
2032
+ it's best to stick to the hyphen as separator.
2033
+
2034
+ **Not recommended**
2035
+ ```
2036
+ .demoimage {}
2037
+ .error_status {}
2038
+ ```
2039
+
2040
+ **Recommended**
2041
+ ```
2042
+ #video-id {}
2043
+ .ads-sample {}
2044
+ ```
2045
+
2046
+ ***
2047
+
2048
+ ### Hacks
2049
+
2050
+ Avoid user agent detection as well as CSS “hacks”—try a different approach first. It’s tempting to address styling
2051
+ differences over user agent detection or special CSS filters, workarounds, and hacks. Both approaches should be
2052
+ considered last resort in order to achieve and maintain an efficient and manageable code base. Put another way, giving
2053
+ detection and hacks a free pass will hurt projects in the long run as projects tend to take the way of least
2054
+ resistance. That is, allowing and making it easy to use detection and hacks means using detection and hacks more
2055
+ frequently—and more frequently is too frequently.
2056
+
2057
+ ***
2058
+
2059
+ ### Declaration Order
2060
+
2061
+ This example should give a rough outline of how to order CSS properties within a selector. This is important in order
2062
+ to guarantee better readability and better scannability.
2063
+
2064
+ As a best practice we should follow the following ordering (in the same order as the listing):
2065
+
2066
+ 1. structural
2067
+ 1. display
2068
+ 1. position, left, top, right etc.
2069
+ 1. overflow, float, clear etc.
2070
+ 1. margin, padding
2071
+ 1. skin
2072
+ 1. background, border etc.
2073
+ 1. font, text
2074
+
2075
+ **Not recommended**
2076
+ ```
2077
+ .box {
2078
+ font-family: 'Arial', sans-serif;
2079
+ border: 3px solid #ddd;
2080
+ left: 30%;
2081
+ position: absolute;
2082
+ text-transform: uppercase;
2083
+ background-color: #eee;
2084
+ right: 30%;
2085
+ isplay: block;
2086
+ font-size: 1.5rem;
2087
+ overflow: hidden;
2088
+ padding: 1em;
2089
+ margin: 1em;
2090
+ }
2091
+ ```
2092
+
2093
+ **Recommended**
2094
+ ```
2095
+ .box {
2096
+ display: block;
2097
+ position: absolute;
2098
+ left: 30%;
2099
+ right: 30%;
2100
+ overflow: hidden;
2101
+ margin: 1em;
2102
+ padding: 1em;
2103
+ background-color: #eee;
2104
+ border: 3px solid #ddd;
2105
+ font-family: 'Arial', sans-serif;
2106
+ font-size: 1.5rem;
2107
+ text-transform: uppercase;
2108
+ }
2109
+ ```
2110
+
2111
+ ***
2112
+
2113
+ ### Declaration Stops
2114
+
2115
+ End every declaration with a semicolon for consistency and extensibility reasons and put each declaration on a new line.
2116
+
2117
+ **Not recommended**
2118
+ ```
2119
+ .test {
2120
+ display: block; height: 100px
2121
+ }
2122
+ ```
2123
+
2124
+ **Recommended**
2125
+ ```
2126
+ .test {
2127
+ display: block;
2128
+ height: 100px;
2129
+ }
2130
+ ```
2131
+
2132
+ ***
2133
+
2134
+ ### Property Name Stops
2135
+
2136
+ Use a space after a property name’s colon. Always use a single space between property and value (but no space between
2137
+ property and colon) for consistency reasons.
2138
+
2139
+ **Not recommended**
2140
+ ```
2141
+ h3 {
2142
+ font-weight:bold;
2143
+ }
2144
+ ```
2145
+
2146
+ **Recommended**
2147
+ ```
2148
+ h3 {
2149
+ font-weight: bold;
2150
+ }
2151
+ ```
2152
+
2153
+ ***
2154
+
2155
+ ### Selector and Declaration Separation
2156
+
2157
+ Always start a new line for each selector and declaration.
2158
+
2159
+ **Not recommended**
2160
+ ```
2161
+ a:focus, a:active {
2162
+ position: relative; top: 1px;
2163
+ }
2164
+ ```
2165
+
2166
+ **Recommended**
2167
+ ```
2168
+ h1,
2169
+ h2,
2170
+ h3 {
2171
+ font-weight: normal;
2172
+ line-height: 1.2;
2173
+ }
2174
+ ```
2175
+
2176
+ ***
2177
+
2178
+ ### Rule Separation
2179
+
2180
+ Always put a blank line (two line breaks) between rules.
2181
+
2182
+ **Recommended**
2183
+ ```
2184
+ html {
2185
+ background: #fff;
2186
+ }
2187
+
2188
+ body {
2189
+ margin: auto;
2190
+ width: 50%;
2191
+ }
2192
+ ```
2193
+
2194
+ ***
2195
+
2196
+ ### CSS Quotation Marks
2197
+
2198
+ Use double ("") rather than single ('') quotation marks for attribute selectors or property values.
2199
+ Do not use quotation marks in URI values (url()).
2200
+
2201
+ **Not recommended**
2202
+ ```
2203
+ @import url('//cdn.com/foundation.css');
2204
+
2205
+ html {
2206
+ font-family: 'open sans', arial, sans-serif;
2207
+ }
2208
+
2209
+ body:after {
2210
+ content: 'pause';
2211
+ }
2212
+ ```
2213
+
2214
+ **Recommended**
2215
+ ```
2216
+ @import url(//cdn.com/foundation.css);
2217
+
2218
+ html {
2219
+ font-family: "open sans", arial, sans-serif;
2220
+ }
2221
+
2222
+ body:after {
2223
+ content: "pause";
2224
+ }
2225
+ ```
2226
+
2227
+ ***
2228
+
2229
+ ### Nested selectors (SCSS)
2230
+
2231
+ In Sass you can nest selectors which is much cleaner and the code becomes much more readable. Nest all selectors but
2232
+ try to avoid nesting without any content. If you need to specify some style attributes for a child element where the
2233
+ parent element will not receive any styling use a regular CSS selector chain. This will prevent your script to look
2234
+ overcomplicated.
2235
+
2236
+ **Not recommended**
2237
+ ```scss
2238
+ // Not a good example by not making use of nesting at all
2239
+ .content {
2240
+ display: block;
2241
+ }
2242
+
2243
+ .content > .news-article > .title {
2244
+ font-size: 1.2em;
2245
+ }
2246
+ ```
2247
+
2248
+ **Not recommended**
2249
+ ```scss
2250
+ // Using nesting is better but not in all cases
2251
+ // Avoid nesting when there is no attributes and use selector chains instead
2252
+ .content {
2253
+ display: block;
2254
+
2255
+ > .news-article {
2256
+ > .title {
2257
+ font-size: 1.2em;
2258
+ }
2259
+ }
2260
+ }
2261
+ ```
2262
+
2263
+ **Recommended**
2264
+ ```scss
2265
+ // This example takes the best approach while nesting but use selector chains where possible
2266
+ .content {
2267
+ display: block;
2268
+
2269
+ > .news-article > .title {
2270
+ font-size: 1.2em;
2271
+ }
2272
+ }
2273
+ ```
2274
+
2275
+ ***
2276
+
2277
+ ### Introducing space while nesting (SCSS)
2278
+
2279
+ If you nest your selectors introduce blank line between your nested selectors and the css attributes.
2280
+
2281
+ **Not recommended**
2282
+ ```scss
2283
+ .content {
2284
+ display: block;
2285
+ > .news-article {
2286
+ background-color: #eee;
2287
+ > .title {
2288
+ font-size: 1.2em;
2289
+ }
2290
+ > .article-footnote {
2291
+ font-size: 0.8em;
2292
+ }
2293
+ }
2294
+ }
2295
+ ```
2296
+
2297
+ **Recommended**
2298
+ ```scss
2299
+ .content {
2300
+ display: block;
2301
+
2302
+ > .news-article {
2303
+ background-color: #eee;
2304
+
2305
+ > .title {
2306
+ font-size: 1.2em;
2307
+ }
2308
+
2309
+ > .article-footnote {
2310
+ font-size: 0.8em;
2311
+ }
2312
+ }
2313
+ }
2314
+ ```
2315
+
2316
+ ***
2317
+
2318
+ ### Contextual media queries (SCSS)
2319
+
2320
+ While nesting your selectors you can also make use of contextual media queries within Sass. With Sass you can use media
2321
+ queries at any given nesting level. The resulting CSS will be converted so that the media query gets rendered around the
2322
+ selector.
2323
+
2324
+ This technique is very handy and helps to keep media queries in the context where they belong to. With a mobile first
2325
+ approach this allows you to write your mobile styles first and then use contextual media queries where ever you need
2326
+ them in order to provide the desktop styles.
2327
+
2328
+ **Not recommended**
2329
+ ```scss
2330
+ // This mobile first example looks like plain CSS where the whole structure of SCSS is repeated
2331
+ // on the bottom in a media query. This is error prone and makes maintenance harder as it's not so easy to relate
2332
+ // the content in the media query to the content in the upper part (mobile style)
2333
+
2334
+ .content-page {
2335
+ font-size: 1.2rem;
2336
+
2337
+ > .main {
2338
+ background-color: whitesmoke;
2339
+
2340
+ > .latest-news {
2341
+ padding: 1rem;
2342
+
2343
+ > .news-article {
2344
+ padding: 1rem;
2345
+
2346
+ > .title {
2347
+ font-size: 2rem;
2348
+ }
2349
+ }
2350
+ }
2351
+
2352
+ > .content {
2353
+ margin-top: 2rem;
2354
+ padding: 1rem;
2355
+ }
2356
+ }
2357
+
2358
+ > .page-footer {
2359
+ margin-top: 2rem;
2360
+ font-size: 1rem;
2361
+ }
2362
+ }
2363
+
2364
+ @media screen and (min-width: 641px) {
2365
+ .content-page {
2366
+ font-size: 1rem;
2367
+
2368
+ > .main > .latest-news > .news-article > .title {
2369
+ font-size: 3rem;
2370
+ }
2371
+
2372
+ > .page-footer {
2373
+ font-size: 0.8rem;
2374
+ }
2375
+ }
2376
+ }
2377
+ ```
2378
+
2379
+ **Recommended**
2380
+ ```scss
2381
+ // This is the same example as above but here we use contextual media queries in order to put the different styles
2382
+ // for different media into the right context.
2383
+
2384
+ .content-page {
2385
+ font-size: 1.2rem;
2386
+
2387
+ @media screen and (min-width: 641px) {
2388
+ font-size: 1rem;
2389
+ }
2390
+
2391
+ > .main {
2392
+ background-color: whitesmoke;
2393
+
2394
+ > .latest-news {
2395
+ padding: 1rem;
2396
+
2397
+ > .news-article {
2398
+ padding: 1rem;
2399
+
2400
+ > .title {
2401
+ font-size: 2rem;
2402
+
2403
+ @media screen and (min-width: 641px) {
2404
+ font-size: 3rem;
2405
+ }
2406
+ }
2407
+ }
2408
+ }
2409
+
2410
+ > .content {
2411
+ margin-top: 2rem;
2412
+ padding: 1rem;
2413
+ }
2414
+ }
2415
+
2416
+ > .page-footer {
2417
+ margin-top: 2rem;
2418
+ font-size: 1rem;
2419
+
2420
+ @media screen and (min-width: 641px) {
2421
+ font-size: 0.8rem;
2422
+ }
2423
+ }
2424
+ }
2425
+ ```
2426
+
2427
+ ***
2428
+
2429
+ ### Nesting order and the parent selector (SCSS)
2430
+
2431
+ While using the nesting features of Sass it's important to have a clear order to put your nesting in. A SCSS block
2432
+ should have the following content order.
2433
+
2434
+ 1. Current selector's style attributes
2435
+ 1. Pseudo selectors with parent selector (:first-letter, :hover, :active etc)
2436
+ 1. Pseudo elements (:before and :after)
2437
+ 1. State classe with parent selector (.selected, .active, .enlarged etc.)
2438
+ 1. Contextual media queries with Sass
2439
+ 1. Sub selectors as the last part
2440
+
2441
+ The following example should illustrate how this ordering will achieve a clear structure while making use of the Sass
2442
+ parent selector.
2443
+
2444
+ **Recommended**
2445
+ ```scss
2446
+ .product-teaser {
2447
+ // 1. Style attributes
2448
+ display: inline-block;
2449
+ padding: 1rem;
2450
+ background-color: whitesmoke;
2451
+ color: grey;
2452
+
2453
+ // 2. Pseudo selectors with parent selector
2454
+ &:hover {
2455
+ color: black;
2456
+ }
2457
+
2458
+ // 3. Pseudo elements with parent selector
2459
+ &:before {
2460
+ content: "";
2461
+ display: block;
2462
+ border-top: 1px solid grey;
2463
+ }
2464
+
2465
+ &:after {
2466
+ content: "";
2467
+ display: block;
2468
+ border-top: 1px solid grey;
2469
+ }
2470
+
2471
+ // 4. State classes with parent selector
2472
+ &.active {
2473
+ background-color: pink;
2474
+ color: red;
2475
+
2476
+ // 4.2. Pseuso selector in state class selector
2477
+ &:hover {
2478
+ color: darkred;
2479
+ }
2480
+ }
2481
+
2482
+ // 5. Contextual media queries
2483
+ @media screen and (max-width: 640px) {
2484
+ display: block;
2485
+ font-size: 2em;
2486
+ }
2487
+
2488
+ // 6. Sub selectors
2489
+ > .content > .title {
2490
+ font-size: 1.2em;
2491
+
2492
+ // 6.5. Contextual media queries in sub selector
2493
+ @media screen and (max-width: 640px) {
2494
+ letter-spacing: 0.2em;
2495
+ text-transform: uppercase;
2496
+ }
2497
+ }
2498
+ }
2499
+ ```
2500
+