local_pac 0.6.3 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (587) hide show
  1. data/.bowerrc +4 -0
  2. data/.gitignore +1 -0
  3. data/Gemfile.lock +32 -30
  4. data/app/assets/javascripts/application.js +21 -5
  5. data/app/assets/stylesheets/application.css.scss +111 -10
  6. data/app/assets/stylesheets/buttons.scss +81 -0
  7. data/app/controllers/application_controller.rb +51 -15
  8. data/app/controllers/assets_controller.rb +2 -1
  9. data/app/controllers/git_hook_controller.rb +29 -39
  10. data/app/controllers/lookup_controller.rb +41 -6
  11. data/app/locales/en.yml +30 -5
  12. data/app/views/application.haml +12 -1
  13. data/app/views/form.haml +23 -5
  14. data/bin/local_pac +0 -1
  15. data/bower.json +9 -0
  16. data/lib/local_pac/actions/create_file.rb +1 -1
  17. data/lib/local_pac/actions/create_output.rb +1 -1
  18. data/lib/local_pac/actions/handle_error.rb +12 -1
  19. data/lib/local_pac/config.rb +1 -1
  20. data/lib/local_pac/error_handler.rb +54 -7
  21. data/lib/local_pac/error_messages.rb +132 -0
  22. data/lib/local_pac/exceptions.rb +33 -12
  23. data/lib/local_pac/main.rb +11 -0
  24. data/lib/local_pac/pac_file_validator.rb +10 -1
  25. data/lib/local_pac/proxy_pac/pac_engine.rb +9 -6
  26. data/lib/local_pac/proxy_pac/pac_parser.rb +3 -1
  27. data/lib/local_pac/version.rb +1 -1
  28. data/lib/local_pac.rb +4 -2
  29. data/local_pac.gemspec +8 -8
  30. data/script/acceptance_test +0 -0
  31. data/script/bootstrap +59 -1
  32. data/spec/actions/handle_error_spec.rb +45 -0
  33. data/spec/error_handler_spec.rb +89 -8
  34. data/spec/features/check_git_push_spec.rb +2 -2
  35. data/spec/features/lookup_proxy_spec.rb +63 -1
  36. data/spec/pac_file_validator_spec.rb +1 -1
  37. data/spec/proxy_pac/pac_engine_spec.rb +20 -0
  38. data/spec/proxy_pac/pac_parser_spec.rb +1 -1
  39. data/spec/support/helper_features.rb +12 -4
  40. data/spec/support/reporting.rb +5 -1
  41. data/spec/support/rspec.rb +0 -3
  42. data/vendor/assets/components/.keep +0 -0
  43. data/vendor/assets/components/bootstrap/Gruntfile.js +421 -0
  44. data/vendor/assets/components/bootstrap/LICENSE +21 -0
  45. data/vendor/assets/components/bootstrap/README.md +173 -0
  46. data/vendor/assets/components/bootstrap/bower.json +24 -0
  47. data/vendor/assets/components/bootstrap/dist/css/bootstrap-theme.css +347 -0
  48. data/vendor/assets/components/bootstrap/dist/css/bootstrap-theme.css.map +1 -0
  49. data/vendor/assets/components/bootstrap/dist/css/bootstrap-theme.min.css +7 -0
  50. data/vendor/assets/components/bootstrap/dist/css/bootstrap.css +5785 -0
  51. data/vendor/assets/components/bootstrap/dist/css/bootstrap.css.map +1 -0
  52. data/vendor/assets/components/bootstrap/dist/css/bootstrap.min.css +7 -0
  53. data/vendor/assets/components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  54. data/vendor/assets/components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +229 -0
  55. data/vendor/assets/components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  56. data/vendor/assets/components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  57. data/vendor/assets/components/bootstrap/dist/js/bootstrap.js +1951 -0
  58. data/vendor/assets/components/bootstrap/dist/js/bootstrap.min.js +6 -0
  59. data/vendor/assets/components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  60. data/vendor/assets/components/bootstrap/fonts/glyphicons-halflings-regular.svg +229 -0
  61. data/vendor/assets/components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  62. data/vendor/assets/components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  63. data/vendor/assets/components/bootstrap/grunt/bs-glyphicons-data-generator.js +34 -0
  64. data/vendor/assets/components/bootstrap/grunt/bs-lessdoc-parser.js +236 -0
  65. data/vendor/assets/components/bootstrap/grunt/bs-raw-files-generator.js +31 -0
  66. data/vendor/assets/components/bootstrap/grunt/shrinkwrap.js +28 -0
  67. data/vendor/assets/components/bootstrap/js/affix.js +137 -0
  68. data/vendor/assets/components/bootstrap/js/alert.js +88 -0
  69. data/vendor/assets/components/bootstrap/js/button.js +107 -0
  70. data/vendor/assets/components/bootstrap/js/carousel.js +205 -0
  71. data/vendor/assets/components/bootstrap/js/collapse.js +170 -0
  72. data/vendor/assets/components/bootstrap/js/dropdown.js +147 -0
  73. data/vendor/assets/components/bootstrap/js/modal.js +243 -0
  74. data/vendor/assets/components/bootstrap/js/popover.js +110 -0
  75. data/vendor/assets/components/bootstrap/js/scrollspy.js +153 -0
  76. data/vendor/assets/components/bootstrap/js/tab.js +125 -0
  77. data/vendor/assets/components/bootstrap/js/tooltip.js +399 -0
  78. data/vendor/assets/components/bootstrap/js/transition.js +48 -0
  79. data/vendor/assets/components/bootstrap/less/alerts.less +67 -0
  80. data/vendor/assets/components/bootstrap/less/badges.less +55 -0
  81. data/vendor/assets/components/bootstrap/less/bootstrap.less +49 -0
  82. data/vendor/assets/components/bootstrap/less/breadcrumbs.less +26 -0
  83. data/vendor/assets/components/bootstrap/less/button-groups.less +226 -0
  84. data/vendor/assets/components/bootstrap/less/buttons.less +159 -0
  85. data/vendor/assets/components/bootstrap/less/carousel.less +232 -0
  86. data/vendor/assets/components/bootstrap/less/close.less +33 -0
  87. data/vendor/assets/components/bootstrap/less/code.less +63 -0
  88. data/vendor/assets/components/bootstrap/less/component-animations.less +29 -0
  89. data/vendor/assets/components/bootstrap/less/dropdowns.less +213 -0
  90. data/vendor/assets/components/bootstrap/less/forms.less +438 -0
  91. data/vendor/assets/components/bootstrap/less/glyphicons.less +233 -0
  92. data/vendor/assets/components/bootstrap/less/grid.less +84 -0
  93. data/vendor/assets/components/bootstrap/less/input-groups.less +162 -0
  94. data/vendor/assets/components/bootstrap/less/jumbotron.less +44 -0
  95. data/vendor/assets/components/bootstrap/less/labels.less +64 -0
  96. data/vendor/assets/components/bootstrap/less/list-group.less +110 -0
  97. data/vendor/assets/components/bootstrap/less/media.less +56 -0
  98. data/vendor/assets/components/bootstrap/less/mixins.less +929 -0
  99. data/vendor/assets/components/bootstrap/less/modals.less +139 -0
  100. data/vendor/assets/components/bootstrap/less/navbar.less +616 -0
  101. data/vendor/assets/components/bootstrap/less/navs.less +242 -0
  102. data/vendor/assets/components/bootstrap/less/normalize.less +423 -0
  103. data/vendor/assets/components/bootstrap/less/pager.less +55 -0
  104. data/vendor/assets/components/bootstrap/less/pagination.less +88 -0
  105. data/vendor/assets/components/bootstrap/less/panels.less +241 -0
  106. data/vendor/assets/components/bootstrap/less/popovers.less +133 -0
  107. data/vendor/assets/components/bootstrap/less/print.less +101 -0
  108. data/vendor/assets/components/bootstrap/less/progress-bars.less +80 -0
  109. data/vendor/assets/components/bootstrap/less/responsive-utilities.less +92 -0
  110. data/vendor/assets/components/bootstrap/less/scaffolding.less +134 -0
  111. data/vendor/assets/components/bootstrap/less/tables.less +233 -0
  112. data/vendor/assets/components/bootstrap/less/theme.less +247 -0
  113. data/vendor/assets/components/bootstrap/less/thumbnails.less +36 -0
  114. data/vendor/assets/components/bootstrap/less/tooltip.less +95 -0
  115. data/vendor/assets/components/bootstrap/less/type.less +293 -0
  116. data/vendor/assets/components/bootstrap/less/utilities.less +56 -0
  117. data/vendor/assets/components/bootstrap/less/variables.less +829 -0
  118. data/vendor/assets/components/bootstrap/less/wells.less +29 -0
  119. data/vendor/assets/components/bootstrap/package.json +70 -0
  120. data/vendor/assets/components/bootstrap/test-infra/README.md +100 -0
  121. data/vendor/assets/components/bootstrap/test-infra/npm-shrinkwrap.canonical.json +1 -0
  122. data/vendor/assets/components/bootstrap/test-infra/requirements.txt +1 -0
  123. data/vendor/assets/components/bootstrap/test-infra/s3_cache.py +107 -0
  124. data/vendor/assets/components/bootstrap/test-infra/sauce_browsers.yml +83 -0
  125. data/vendor/assets/components/bootstrap/test-infra/uncached-npm-install.sh +4 -0
  126. data/vendor/assets/components/bootstrap-sass/CNAME +1 -0
  127. data/vendor/assets/components/bootstrap-sass/CONTRIBUTING.md +61 -0
  128. data/vendor/assets/components/bootstrap-sass/DOCS-LICENSE +319 -0
  129. data/vendor/assets/components/bootstrap-sass/Gemfile +5 -0
  130. data/vendor/assets/components/bootstrap-sass/Gemfile.lock +14 -0
  131. data/vendor/assets/components/bootstrap-sass/Gruntfile.js +244 -0
  132. data/vendor/assets/components/bootstrap-sass/LICENSE +176 -0
  133. data/vendor/assets/components/bootstrap-sass/LICENSE-MIT +21 -0
  134. data/vendor/assets/components/bootstrap-sass/README.md +277 -0
  135. data/vendor/assets/components/bootstrap-sass/Rakefile +44 -0
  136. data/vendor/assets/components/bootstrap-sass/_config.yml +25 -0
  137. data/vendor/assets/components/bootstrap-sass/_includes/ads.html +1 -0
  138. data/vendor/assets/components/bootstrap-sass/_includes/footer.html +34 -0
  139. data/vendor/assets/components/bootstrap-sass/_includes/header.html +42 -0
  140. data/vendor/assets/components/bootstrap-sass/_includes/nav-about.html +12 -0
  141. data/vendor/assets/components/bootstrap-sass/_includes/nav-components.html +137 -0
  142. data/vendor/assets/components/bootstrap-sass/_includes/nav-css.html +99 -0
  143. data/vendor/assets/components/bootstrap-sass/_includes/nav-customize.html +40 -0
  144. data/vendor/assets/components/bootstrap-sass/_includes/nav-getting-started.html +44 -0
  145. data/vendor/assets/components/bootstrap-sass/_includes/nav-javascript.html +88 -0
  146. data/vendor/assets/components/bootstrap-sass/_includes/nav-main.html +37 -0
  147. data/vendor/assets/components/bootstrap-sass/_includes/old-bs-docs.html +8 -0
  148. data/vendor/assets/components/bootstrap-sass/_includes/social-buttons.html +16 -0
  149. data/vendor/assets/components/bootstrap-sass/_layouts/default.html +79 -0
  150. data/vendor/assets/components/bootstrap-sass/_layouts/home.html +47 -0
  151. data/vendor/assets/components/bootstrap-sass/about.html +93 -0
  152. data/vendor/assets/components/bootstrap-sass/bower.json +11 -0
  153. data/vendor/assets/components/bootstrap-sass/browserstack.json +37 -0
  154. data/vendor/assets/components/bootstrap-sass/components.html +3689 -0
  155. data/vendor/assets/components/bootstrap-sass/composer.json +28 -0
  156. data/vendor/assets/components/bootstrap-sass/css.html +2674 -0
  157. data/vendor/assets/components/bootstrap-sass/customize.html +1715 -0
  158. data/vendor/assets/components/bootstrap-sass/dist/css/bootstrap-theme.css +427 -0
  159. data/vendor/assets/components/bootstrap-sass/dist/css/bootstrap-theme.min.css +1 -0
  160. data/vendor/assets/components/bootstrap-sass/dist/css/bootstrap.css +6350 -0
  161. data/vendor/assets/components/bootstrap-sass/dist/css/bootstrap.min.css +1 -0
  162. data/vendor/assets/components/bootstrap-sass/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  163. data/vendor/assets/components/bootstrap-sass/dist/fonts/glyphicons-halflings-regular.svg +229 -0
  164. data/vendor/assets/components/bootstrap-sass/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  165. data/vendor/assets/components/bootstrap-sass/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  166. data/vendor/assets/components/bootstrap-sass/dist/js/bootstrap.js +2002 -0
  167. data/vendor/assets/components/bootstrap-sass/dist/js/bootstrap.min.js +9 -0
  168. data/vendor/assets/components/bootstrap-sass/docs-assets/css/docs.css +1195 -0
  169. data/vendor/assets/components/bootstrap-sass/docs-assets/css/pygments-manni.css +66 -0
  170. data/vendor/assets/components/bootstrap-sass/docs-assets/ico/apple-touch-icon-144-precomposed.png +0 -0
  171. data/vendor/assets/components/bootstrap-sass/docs-assets/ico/favicon.png +0 -0
  172. data/vendor/assets/components/bootstrap-sass/docs-assets/js/application.js +103 -0
  173. data/vendor/assets/components/bootstrap-sass/docs-assets/js/customizer.js +332 -0
  174. data/vendor/assets/components/bootstrap-sass/docs-assets/js/filesaver.js +169 -0
  175. data/vendor/assets/components/bootstrap-sass/docs-assets/js/holder.js +404 -0
  176. data/vendor/assets/components/bootstrap-sass/docs-assets/js/ie8-responsive-file-warning.js +12 -0
  177. data/vendor/assets/components/bootstrap-sass/docs-assets/js/jszip.js +1467 -0
  178. data/vendor/assets/components/bootstrap-sass/docs-assets/js/less.js +9 -0
  179. data/vendor/assets/components/bootstrap-sass/docs-assets/js/raw-files.js +3 -0
  180. data/vendor/assets/components/bootstrap-sass/docs-assets/js/uglify.js +14 -0
  181. data/vendor/assets/components/bootstrap-sass/examples/carousel/carousel.css +148 -0
  182. data/vendor/assets/components/bootstrap-sass/examples/carousel/index.html +206 -0
  183. data/vendor/assets/components/bootstrap-sass/examples/grid/grid.css +28 -0
  184. data/vendor/assets/components/bootstrap-sass/examples/grid/index.html +148 -0
  185. data/vendor/assets/components/bootstrap-sass/examples/jumbotron/index.html +99 -0
  186. data/vendor/assets/components/bootstrap-sass/examples/jumbotron/jumbotron.css +5 -0
  187. data/vendor/assets/components/bootstrap-sass/examples/jumbotron-narrow/index.html +82 -0
  188. data/vendor/assets/components/bootstrap-sass/examples/jumbotron-narrow/jumbotron-narrow.css +79 -0
  189. data/vendor/assets/components/bootstrap-sass/examples/justified-nav/index.html +83 -0
  190. data/vendor/assets/components/bootstrap-sass/examples/justified-nav/justified-nav.css +88 -0
  191. data/vendor/assets/components/bootstrap-sass/examples/navbar/index.html +88 -0
  192. data/vendor/assets/components/bootstrap-sass/examples/navbar/navbar.css +8 -0
  193. data/vendor/assets/components/bootstrap-sass/examples/navbar-fixed-top/index.html +91 -0
  194. data/vendor/assets/components/bootstrap-sass/examples/navbar-fixed-top/navbar-fixed-top.css +4 -0
  195. data/vendor/assets/components/bootstrap-sass/examples/navbar-static-top/index.html +92 -0
  196. data/vendor/assets/components/bootstrap-sass/examples/navbar-static-top/navbar-static-top.css +7 -0
  197. data/vendor/assets/components/bootstrap-sass/examples/non-responsive/index.html +101 -0
  198. data/vendor/assets/components/bootstrap-sass/examples/non-responsive/non-responsive.css +116 -0
  199. data/vendor/assets/components/bootstrap-sass/examples/offcanvas/index.html +130 -0
  200. data/vendor/assets/components/bootstrap-sass/examples/offcanvas/offcanvas.css +50 -0
  201. data/vendor/assets/components/bootstrap-sass/examples/offcanvas/offcanvas.js +5 -0
  202. data/vendor/assets/components/bootstrap-sass/examples/screenshots/carousel.jpg +0 -0
  203. data/vendor/assets/components/bootstrap-sass/examples/screenshots/grid.jpg +0 -0
  204. data/vendor/assets/components/bootstrap-sass/examples/screenshots/jumbotron-narrow.jpg +0 -0
  205. data/vendor/assets/components/bootstrap-sass/examples/screenshots/jumbotron.jpg +0 -0
  206. data/vendor/assets/components/bootstrap-sass/examples/screenshots/justified-nav.jpg +0 -0
  207. data/vendor/assets/components/bootstrap-sass/examples/screenshots/navbar-fixed.jpg +0 -0
  208. data/vendor/assets/components/bootstrap-sass/examples/screenshots/navbar-static.jpg +0 -0
  209. data/vendor/assets/components/bootstrap-sass/examples/screenshots/navbar.jpg +0 -0
  210. data/vendor/assets/components/bootstrap-sass/examples/screenshots/non-responsive.jpg +0 -0
  211. data/vendor/assets/components/bootstrap-sass/examples/screenshots/offcanvas.jpg +0 -0
  212. data/vendor/assets/components/bootstrap-sass/examples/screenshots/sign-in.jpg +0 -0
  213. data/vendor/assets/components/bootstrap-sass/examples/screenshots/starter-template.jpg +0 -0
  214. data/vendor/assets/components/bootstrap-sass/examples/screenshots/sticky-footer-navbar.jpg +0 -0
  215. data/vendor/assets/components/bootstrap-sass/examples/screenshots/sticky-footer.jpg +0 -0
  216. data/vendor/assets/components/bootstrap-sass/examples/screenshots/theme.jpg +0 -0
  217. data/vendor/assets/components/bootstrap-sass/examples/signin/index.html +50 -0
  218. data/vendor/assets/components/bootstrap-sass/examples/signin/signin.css +40 -0
  219. data/vendor/assets/components/bootstrap-sass/examples/starter-template/index.html +68 -0
  220. data/vendor/assets/components/bootstrap-sass/examples/starter-template/starter-template.css +7 -0
  221. data/vendor/assets/components/bootstrap-sass/examples/sticky-footer/index.html +55 -0
  222. data/vendor/assets/components/bootstrap-sass/examples/sticky-footer/sticky-footer.css +38 -0
  223. data/vendor/assets/components/bootstrap-sass/examples/sticky-footer-navbar/index.html +91 -0
  224. data/vendor/assets/components/bootstrap-sass/examples/sticky-footer-navbar/sticky-footer-navbar.css +45 -0
  225. data/vendor/assets/components/bootstrap-sass/examples/theme/index.html +384 -0
  226. data/vendor/assets/components/bootstrap-sass/examples/theme/theme.css +14 -0
  227. data/vendor/assets/components/bootstrap-sass/fonts/glyphicons-halflings-regular.eot +0 -0
  228. data/vendor/assets/components/bootstrap-sass/fonts/glyphicons-halflings-regular.svg +229 -0
  229. data/vendor/assets/components/bootstrap-sass/fonts/glyphicons-halflings-regular.ttf +0 -0
  230. data/vendor/assets/components/bootstrap-sass/fonts/glyphicons-halflings-regular.woff +0 -0
  231. data/vendor/assets/components/bootstrap-sass/getting-started.html +1021 -0
  232. data/vendor/assets/components/bootstrap-sass/index.html +16 -0
  233. data/vendor/assets/components/bootstrap-sass/javascript.html +1983 -0
  234. data/vendor/assets/components/bootstrap-sass/js/affix.js +126 -0
  235. data/vendor/assets/components/bootstrap-sass/js/alert.js +98 -0
  236. data/vendor/assets/components/bootstrap-sass/js/button.js +109 -0
  237. data/vendor/assets/components/bootstrap-sass/js/carousel.js +217 -0
  238. data/vendor/assets/components/bootstrap-sass/js/collapse.js +179 -0
  239. data/vendor/assets/components/bootstrap-sass/js/dropdown.js +154 -0
  240. data/vendor/assets/components/bootstrap-sass/js/modal.js +246 -0
  241. data/vendor/assets/components/bootstrap-sass/js/popover.js +117 -0
  242. data/vendor/assets/components/bootstrap-sass/js/scrollspy.js +158 -0
  243. data/vendor/assets/components/bootstrap-sass/js/tab.js +135 -0
  244. data/vendor/assets/components/bootstrap-sass/js/tests/index.html +52 -0
  245. data/vendor/assets/components/bootstrap-sass/js/tests/unit/affix.js +25 -0
  246. data/vendor/assets/components/bootstrap-sass/js/tests/unit/alert.js +62 -0
  247. data/vendor/assets/components/bootstrap-sass/js/tests/unit/button.js +116 -0
  248. data/vendor/assets/components/bootstrap-sass/js/tests/unit/carousel.js +87 -0
  249. data/vendor/assets/components/bootstrap-sass/js/tests/unit/collapse.js +164 -0
  250. data/vendor/assets/components/bootstrap-sass/js/tests/unit/dropdown.js +219 -0
  251. data/vendor/assets/components/bootstrap-sass/js/tests/unit/modal.js +196 -0
  252. data/vendor/assets/components/bootstrap-sass/js/tests/unit/phantom.js +69 -0
  253. data/vendor/assets/components/bootstrap-sass/js/tests/unit/popover.js +133 -0
  254. data/vendor/assets/components/bootstrap-sass/js/tests/unit/scrollspy.js +37 -0
  255. data/vendor/assets/components/bootstrap-sass/js/tests/unit/tab.js +86 -0
  256. data/vendor/assets/components/bootstrap-sass/js/tests/unit/tooltip.js +437 -0
  257. data/vendor/assets/components/bootstrap-sass/js/tests/unit/transition.js +13 -0
  258. data/vendor/assets/components/bootstrap-sass/js/tests/vendor/jquery.js +6 -0
  259. data/vendor/assets/components/bootstrap-sass/js/tests/vendor/qunit.css +232 -0
  260. data/vendor/assets/components/bootstrap-sass/js/tests/vendor/qunit.js +1510 -0
  261. data/vendor/assets/components/bootstrap-sass/js/tooltip.js +386 -0
  262. data/vendor/assets/components/bootstrap-sass/js/transition.js +56 -0
  263. data/vendor/assets/components/bootstrap-sass/lib/_alerts.scss +67 -0
  264. data/vendor/assets/components/bootstrap-sass/lib/_badges.scss +51 -0
  265. data/vendor/assets/components/bootstrap-sass/lib/_breadcrumbs.scss +23 -0
  266. data/vendor/assets/components/bootstrap-sass/lib/_button-groups.scss +253 -0
  267. data/vendor/assets/components/bootstrap-sass/lib/_buttons.scss +158 -0
  268. data/vendor/assets/components/bootstrap-sass/lib/_carousel.scss +231 -0
  269. data/vendor/assets/components/bootstrap-sass/lib/_close.scss +35 -0
  270. data/vendor/assets/components/bootstrap-sass/lib/_code.scss +53 -0
  271. data/vendor/assets/components/bootstrap-sass/lib/_component-animations.scss +29 -0
  272. data/vendor/assets/components/bootstrap-sass/lib/_dropdowns.scss +193 -0
  273. data/vendor/assets/components/bootstrap-sass/lib/_forms.scss +363 -0
  274. data/vendor/assets/components/bootstrap-sass/lib/_glyphicons.scss +237 -0
  275. data/vendor/assets/components/bootstrap-sass/lib/_grid.scss +93 -0
  276. data/vendor/assets/components/bootstrap-sass/lib/_input-groups.scss +136 -0
  277. data/vendor/assets/components/bootstrap-sass/lib/_jumbotron.scss +40 -0
  278. data/vendor/assets/components/bootstrap-sass/lib/_labels.scss +58 -0
  279. data/vendor/assets/components/bootstrap-sass/lib/_list-group.scss +88 -0
  280. data/vendor/assets/components/bootstrap-sass/lib/_media.scss +56 -0
  281. data/vendor/assets/components/bootstrap-sass/lib/_mixins.scss +861 -0
  282. data/vendor/assets/components/bootstrap-sass/lib/_modals.scss +132 -0
  283. data/vendor/assets/components/bootstrap-sass/lib/_navbar.scss +628 -0
  284. data/vendor/assets/components/bootstrap-sass/lib/_navs.scss +262 -0
  285. data/vendor/assets/components/bootstrap-sass/lib/_normalize.scss +406 -0
  286. data/vendor/assets/components/bootstrap-sass/lib/_pager.scss +55 -0
  287. data/vendor/assets/components/bootstrap-sass/lib/_pagination.scss +85 -0
  288. data/vendor/assets/components/bootstrap-sass/lib/_panels.scss +172 -0
  289. data/vendor/assets/components/bootstrap-sass/lib/_popovers.scss +133 -0
  290. data/vendor/assets/components/bootstrap-sass/lib/_print.scss +105 -0
  291. data/vendor/assets/components/bootstrap-sass/lib/_progress-bars.scss +92 -0
  292. data/vendor/assets/components/bootstrap-sass/lib/_responsive-utilities.scss +198 -0
  293. data/vendor/assets/components/bootstrap-sass/lib/_scaffolding.scss +119 -0
  294. data/vendor/assets/components/bootstrap-sass/lib/_tables.scss +244 -0
  295. data/vendor/assets/components/bootstrap-sass/lib/_theme.scss +247 -0
  296. data/vendor/assets/components/bootstrap-sass/lib/_thumbnails.scss +32 -0
  297. data/vendor/assets/components/bootstrap-sass/lib/_tooltip.scss +95 -0
  298. data/vendor/assets/components/bootstrap-sass/lib/_type.scss +279 -0
  299. data/vendor/assets/components/bootstrap-sass/lib/_utilities.scss +56 -0
  300. data/vendor/assets/components/bootstrap-sass/lib/_variables.scss +637 -0
  301. data/vendor/assets/components/bootstrap-sass/lib/_wells.scss +29 -0
  302. data/vendor/assets/components/bootstrap-sass/lib/bootstrap.scss +49 -0
  303. data/vendor/assets/components/bootstrap-sass/package.json +40 -0
  304. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md +12 -0
  305. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/LICENSE +201 -0
  306. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/Makefile +22 -0
  307. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/README.md +144 -0
  308. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/bower.json +35 -0
  309. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css +174 -0
  310. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css +8 -0
  311. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js +28 -0
  312. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/component.json +10 -0
  313. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/package.json +24 -0
  314. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js +1089 -0
  315. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ar-ma.js +56 -0
  316. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ar.js +56 -0
  317. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.bg.js +86 -0
  318. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.br.js +107 -0
  319. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.bs.js +139 -0
  320. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ca.js +66 -0
  321. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.cs.js +155 -0
  322. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.cv.js +59 -0
  323. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.da.js +56 -0
  324. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.de.js +71 -0
  325. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.el.js +79 -0
  326. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-au.js +62 -0
  327. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-ca.js +59 -0
  328. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.en-gb.js +63 -0
  329. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.eo.js +65 -0
  330. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.es.js +66 -0
  331. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.et.js +60 -0
  332. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.eu.js +60 -0
  333. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fa.js +97 -0
  334. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fi.js +103 -0
  335. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fr-ca.js +54 -0
  336. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.fr.js +58 -0
  337. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.gl.js +71 -0
  338. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.he.js +77 -0
  339. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hi.js +105 -0
  340. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hr.js +140 -0
  341. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.hu.js +98 -0
  342. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.id.js +67 -0
  343. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.is.js +124 -0
  344. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.it.js +59 -0
  345. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ja.js +58 -0
  346. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ka.js +108 -0
  347. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ko.js +56 -0
  348. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.lt.js +118 -0
  349. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.lv.js +77 -0
  350. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ml.js +64 -0
  351. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.mr.js +104 -0
  352. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ms-my.js +66 -0
  353. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.nb.js +57 -0
  354. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ne.js +105 -0
  355. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.nl.js +67 -0
  356. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.nn.js +56 -0
  357. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.pl.js +98 -0
  358. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.pt-BR.js +56 -0
  359. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.pt.js +60 -0
  360. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ro.js +56 -0
  361. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.ru.js +163 -0
  362. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.sk.js +156 -0
  363. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.sl.js +144 -0
  364. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.sq.js +57 -0
  365. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.sv.js +63 -0
  366. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.th.js +58 -0
  367. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.tr.js +93 -0
  368. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.tzm-la.js +55 -0
  369. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.tzm.js +55 -0
  370. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.uk.js +157 -0
  371. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.uz.js +55 -0
  372. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.vn.js +62 -0
  373. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.zh-CN.js +108 -0
  374. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/js/locales/bootstrap-datetimepicker.zh-TW.js +84 -0
  375. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less +5 -0
  376. data/vendor/assets/components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker.less +246 -0
  377. data/vendor/assets/components/jquery/MIT-LICENSE.txt +21 -0
  378. data/vendor/assets/components/jquery/bower.json +27 -0
  379. data/vendor/assets/components/jquery/dist/jquery.js +9111 -0
  380. data/{app/assets/javascripts/jquery-min.js → vendor/assets/components/jquery/dist/jquery.min.js} +1 -0
  381. data/vendor/assets/components/jquery/dist/jquery.min.map +1 -0
  382. data/vendor/assets/components/jquery/src/ajax/jsonp.js +89 -0
  383. data/vendor/assets/components/jquery/src/ajax/load.js +75 -0
  384. data/vendor/assets/components/jquery/src/ajax/parseJSON.js +13 -0
  385. data/vendor/assets/components/jquery/src/ajax/parseXML.js +28 -0
  386. data/vendor/assets/components/jquery/src/ajax/script.js +64 -0
  387. data/vendor/assets/components/jquery/src/ajax/var/nonce.js +5 -0
  388. data/vendor/assets/components/jquery/src/ajax/var/rquery.js +3 -0
  389. data/vendor/assets/components/jquery/src/ajax/xhr.js +130 -0
  390. data/vendor/assets/components/jquery/src/ajax.js +806 -0
  391. data/vendor/assets/components/jquery/src/attributes/attr.js +143 -0
  392. data/vendor/assets/components/jquery/src/attributes/classes.js +158 -0
  393. data/vendor/assets/components/jquery/src/attributes/prop.js +96 -0
  394. data/vendor/assets/components/jquery/src/attributes/support.js +35 -0
  395. data/vendor/assets/components/jquery/src/attributes/val.js +153 -0
  396. data/vendor/assets/components/jquery/src/attributes.js +11 -0
  397. data/vendor/assets/components/jquery/src/callbacks.js +205 -0
  398. data/vendor/assets/components/jquery/src/core/access.js +60 -0
  399. data/vendor/assets/components/jquery/src/core/init.js +123 -0
  400. data/vendor/assets/components/jquery/src/core/parseHTML.js +39 -0
  401. data/vendor/assets/components/jquery/src/core/ready.js +96 -0
  402. data/vendor/assets/components/jquery/src/core/var/rsingleTag.js +4 -0
  403. data/vendor/assets/components/jquery/src/core.js +500 -0
  404. data/vendor/assets/components/jquery/src/css/addGetHookIf.js +24 -0
  405. data/vendor/assets/components/jquery/src/css/curCSS.js +57 -0
  406. data/vendor/assets/components/jquery/src/css/defaultDisplay.js +69 -0
  407. data/vendor/assets/components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  408. data/vendor/assets/components/jquery/src/css/support.js +83 -0
  409. data/vendor/assets/components/jquery/src/css/swap.js +28 -0
  410. data/vendor/assets/components/jquery/src/css/var/cssExpand.js +3 -0
  411. data/vendor/assets/components/jquery/src/css/var/getStyles.js +5 -0
  412. data/vendor/assets/components/jquery/src/css/var/isHidden.js +13 -0
  413. data/vendor/assets/components/jquery/src/css/var/rmargin.js +3 -0
  414. data/vendor/assets/components/jquery/src/css/var/rnumnonpx.js +5 -0
  415. data/vendor/assets/components/jquery/src/css.js +455 -0
  416. data/vendor/assets/components/jquery/src/data/Data.js +181 -0
  417. data/vendor/assets/components/jquery/src/data/accepts.js +20 -0
  418. data/vendor/assets/components/jquery/src/data/var/data_priv.js +5 -0
  419. data/vendor/assets/components/jquery/src/data/var/data_user.js +5 -0
  420. data/vendor/assets/components/jquery/src/data.js +175 -0
  421. data/vendor/assets/components/jquery/src/deferred.js +149 -0
  422. data/vendor/assets/components/jquery/src/deprecated.js +13 -0
  423. data/vendor/assets/components/jquery/src/dimensions.js +50 -0
  424. data/vendor/assets/components/jquery/src/effects/Tween.js +114 -0
  425. data/vendor/assets/components/jquery/src/effects/animatedSelector.js +13 -0
  426. data/vendor/assets/components/jquery/src/effects.js +642 -0
  427. data/vendor/assets/components/jquery/src/event/alias.js +39 -0
  428. data/vendor/assets/components/jquery/src/event/support.js +9 -0
  429. data/vendor/assets/components/jquery/src/event.js +859 -0
  430. data/vendor/assets/components/jquery/src/exports/amd.js +18 -0
  431. data/vendor/assets/components/jquery/src/exports/global.js +32 -0
  432. data/vendor/assets/components/jquery/src/intro.js +44 -0
  433. data/vendor/assets/components/jquery/src/jquery.js +36 -0
  434. data/vendor/assets/components/jquery/src/manipulation/_evalUrl.js +18 -0
  435. data/vendor/assets/components/jquery/src/manipulation/support.js +24 -0
  436. data/vendor/assets/components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  437. data/vendor/assets/components/jquery/src/manipulation.js +583 -0
  438. data/vendor/assets/components/jquery/src/offset.js +204 -0
  439. data/vendor/assets/components/jquery/src/outro.js +1 -0
  440. data/vendor/assets/components/jquery/src/queue/delay.js +22 -0
  441. data/vendor/assets/components/jquery/src/queue.js +142 -0
  442. data/vendor/assets/components/jquery/src/selector-native.js +171 -0
  443. data/vendor/assets/components/jquery/src/selector-sizzle.js +14 -0
  444. data/vendor/assets/components/jquery/src/selector.js +1 -0
  445. data/vendor/assets/components/jquery/src/serialize.js +111 -0
  446. data/vendor/assets/components/jquery/src/sizzle/dist/sizzle.js +2015 -0
  447. data/vendor/assets/components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  448. data/vendor/assets/components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  449. data/vendor/assets/components/jquery/src/traversing/findFilter.js +100 -0
  450. data/vendor/assets/components/jquery/src/traversing/var/rneedsContext.js +6 -0
  451. data/vendor/assets/components/jquery/src/traversing.js +200 -0
  452. data/vendor/assets/components/jquery/src/var/arr.js +3 -0
  453. data/vendor/assets/components/jquery/src/var/class2type.js +4 -0
  454. data/vendor/assets/components/jquery/src/var/concat.js +5 -0
  455. data/vendor/assets/components/jquery/src/var/hasOwn.js +5 -0
  456. data/vendor/assets/components/jquery/src/var/indexOf.js +5 -0
  457. data/vendor/assets/components/jquery/src/var/pnum.js +3 -0
  458. data/vendor/assets/components/jquery/src/var/push.js +5 -0
  459. data/vendor/assets/components/jquery/src/var/rnotwhite.js +3 -0
  460. data/vendor/assets/components/jquery/src/var/slice.js +5 -0
  461. data/vendor/assets/components/jquery/src/var/strundefined.js +3 -0
  462. data/vendor/assets/components/jquery/src/var/support.js +4 -0
  463. data/vendor/assets/components/jquery/src/var/toString.js +5 -0
  464. data/vendor/assets/components/jquery/src/var/trim.js +3 -0
  465. data/vendor/assets/components/jquery/src/wrap.js +78 -0
  466. data/vendor/assets/components/moment/LICENSE +22 -0
  467. data/vendor/assets/components/moment/bower.json +20 -0
  468. data/vendor/assets/components/moment/lang/ar-ma.js +56 -0
  469. data/vendor/assets/components/moment/lang/ar.js +56 -0
  470. data/vendor/assets/components/moment/lang/bg.js +86 -0
  471. data/vendor/assets/components/moment/lang/br.js +107 -0
  472. data/vendor/assets/components/moment/lang/bs.js +139 -0
  473. data/vendor/assets/components/moment/lang/ca.js +66 -0
  474. data/vendor/assets/components/moment/lang/cs.js +155 -0
  475. data/vendor/assets/components/moment/lang/cv.js +59 -0
  476. data/vendor/assets/components/moment/lang/cy.js +77 -0
  477. data/vendor/assets/components/moment/lang/da.js +56 -0
  478. data/vendor/assets/components/moment/lang/de.js +71 -0
  479. data/vendor/assets/components/moment/lang/el.js +79 -0
  480. data/vendor/assets/components/moment/lang/en-au.js +62 -0
  481. data/vendor/assets/components/moment/lang/en-ca.js +59 -0
  482. data/vendor/assets/components/moment/lang/en-gb.js +63 -0
  483. data/vendor/assets/components/moment/lang/eo.js +65 -0
  484. data/vendor/assets/components/moment/lang/es.js +66 -0
  485. data/vendor/assets/components/moment/lang/et.js +76 -0
  486. data/vendor/assets/components/moment/lang/eu.js +60 -0
  487. data/vendor/assets/components/moment/lang/fa.js +97 -0
  488. data/vendor/assets/components/moment/lang/fi.js +103 -0
  489. data/vendor/assets/components/moment/lang/fo.js +56 -0
  490. data/vendor/assets/components/moment/lang/fr-ca.js +54 -0
  491. data/vendor/assets/components/moment/lang/fr.js +58 -0
  492. data/vendor/assets/components/moment/lang/gl.js +71 -0
  493. data/vendor/assets/components/moment/lang/he.js +77 -0
  494. data/vendor/assets/components/moment/lang/hi.js +105 -0
  495. data/vendor/assets/components/moment/lang/hr.js +140 -0
  496. data/vendor/assets/components/moment/lang/hu.js +98 -0
  497. data/vendor/assets/components/moment/lang/hy-am.js +113 -0
  498. data/vendor/assets/components/moment/lang/id.js +67 -0
  499. data/vendor/assets/components/moment/lang/is.js +124 -0
  500. data/vendor/assets/components/moment/lang/it.js +59 -0
  501. data/vendor/assets/components/moment/lang/ja.js +58 -0
  502. data/vendor/assets/components/moment/lang/ka.js +108 -0
  503. data/vendor/assets/components/moment/lang/ko.js +63 -0
  504. data/vendor/assets/components/moment/lang/lb.js +160 -0
  505. data/vendor/assets/components/moment/lang/lt.js +118 -0
  506. data/vendor/assets/components/moment/lang/lv.js +77 -0
  507. data/vendor/assets/components/moment/lang/mk.js +86 -0
  508. data/vendor/assets/components/moment/lang/ml.js +64 -0
  509. data/vendor/assets/components/moment/lang/mr.js +104 -0
  510. data/vendor/assets/components/moment/lang/ms-my.js +66 -0
  511. data/vendor/assets/components/moment/lang/nb.js +57 -0
  512. data/vendor/assets/components/moment/lang/ne.js +105 -0
  513. data/vendor/assets/components/moment/lang/nl.js +67 -0
  514. data/vendor/assets/components/moment/lang/nn.js +56 -0
  515. data/vendor/assets/components/moment/lang/pl.js +98 -0
  516. data/vendor/assets/components/moment/lang/pt-br.js +56 -0
  517. data/vendor/assets/components/moment/lang/pt.js +60 -0
  518. data/vendor/assets/components/moment/lang/ro.js +72 -0
  519. data/vendor/assets/components/moment/lang/rs.js +139 -0
  520. data/vendor/assets/components/moment/lang/ru.js +163 -0
  521. data/vendor/assets/components/moment/lang/sk.js +156 -0
  522. data/vendor/assets/components/moment/lang/sl.js +144 -0
  523. data/vendor/assets/components/moment/lang/sq.js +57 -0
  524. data/vendor/assets/components/moment/lang/sv.js +63 -0
  525. data/vendor/assets/components/moment/lang/ta.js +112 -0
  526. data/vendor/assets/components/moment/lang/th.js +58 -0
  527. data/vendor/assets/components/moment/lang/tl-ph.js +58 -0
  528. data/vendor/assets/components/moment/lang/tr.js +93 -0
  529. data/vendor/assets/components/moment/lang/tzm-la.js +55 -0
  530. data/vendor/assets/components/moment/lang/tzm.js +55 -0
  531. data/vendor/assets/components/moment/lang/uk.js +157 -0
  532. data/vendor/assets/components/moment/lang/uz.js +55 -0
  533. data/vendor/assets/components/moment/lang/vn.js +62 -0
  534. data/vendor/assets/components/moment/lang/zh-cn.js +108 -0
  535. data/vendor/assets/components/moment/lang/zh-tw.js +84 -0
  536. data/vendor/assets/components/moment/min/langs.js +5841 -0
  537. data/vendor/assets/components/moment/min/langs.min.js +3 -0
  538. data/vendor/assets/components/moment/min/moment-with-langs.js +7768 -0
  539. data/vendor/assets/components/moment/min/moment-with-langs.min.js +9 -0
  540. data/vendor/assets/components/moment/min/moment.min.js +6 -0
  541. data/vendor/assets/components/moment/moment.js +2400 -0
  542. data/vendor/assets/components/moment/readme.md +349 -0
  543. data/{app → vendor}/assets/fonts/open-sans/Apache License Version 2.txt +0 -0
  544. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Bold-webfont.eot +0 -0
  545. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Bold-webfont.svg +0 -0
  546. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Bold-webfont.ttf +0 -0
  547. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Bold-webfont.woff +0 -0
  548. data/{app → vendor}/assets/fonts/open-sans/OpenSans-BoldItalic-webfont.eot +0 -0
  549. data/{app → vendor}/assets/fonts/open-sans/OpenSans-BoldItalic-webfont.svg +0 -0
  550. data/{app → vendor}/assets/fonts/open-sans/OpenSans-BoldItalic-webfont.ttf +0 -0
  551. data/{app → vendor}/assets/fonts/open-sans/OpenSans-BoldItalic-webfont.woff +0 -0
  552. data/{app → vendor}/assets/fonts/open-sans/OpenSans-ExtraBold-webfont.eot +0 -0
  553. data/{app → vendor}/assets/fonts/open-sans/OpenSans-ExtraBold-webfont.svg +0 -0
  554. data/{app → vendor}/assets/fonts/open-sans/OpenSans-ExtraBold-webfont.ttf +0 -0
  555. data/{app → vendor}/assets/fonts/open-sans/OpenSans-ExtraBold-webfont.woff +0 -0
  556. data/{app → vendor}/assets/fonts/open-sans/OpenSans-ExtraBoldItalic-webfont.eot +0 -0
  557. data/{app → vendor}/assets/fonts/open-sans/OpenSans-ExtraBoldItalic-webfont.svg +0 -0
  558. data/{app → vendor}/assets/fonts/open-sans/OpenSans-ExtraBoldItalic-webfont.ttf +0 -0
  559. data/{app → vendor}/assets/fonts/open-sans/OpenSans-ExtraBoldItalic-webfont.woff +0 -0
  560. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Italic-webfont.eot +0 -0
  561. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Italic-webfont.svg +0 -0
  562. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Italic-webfont.ttf +0 -0
  563. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Italic-webfont.woff +0 -0
  564. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Light-webfont.eot +0 -0
  565. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Light-webfont.svg +0 -0
  566. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Light-webfont.ttf +0 -0
  567. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Light-webfont.woff +0 -0
  568. data/{app → vendor}/assets/fonts/open-sans/OpenSans-LightItalic-webfont.eot +0 -0
  569. data/{app → vendor}/assets/fonts/open-sans/OpenSans-LightItalic-webfont.svg +0 -0
  570. data/{app → vendor}/assets/fonts/open-sans/OpenSans-LightItalic-webfont.ttf +0 -0
  571. data/{app → vendor}/assets/fonts/open-sans/OpenSans-LightItalic-webfont.woff +0 -0
  572. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Regular-webfont.eot +0 -0
  573. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Regular-webfont.svg +0 -0
  574. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Regular-webfont.ttf +0 -0
  575. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Regular-webfont.woff +0 -0
  576. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Semibold-webfont.eot +0 -0
  577. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Semibold-webfont.svg +0 -0
  578. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Semibold-webfont.ttf +0 -0
  579. data/{app → vendor}/assets/fonts/open-sans/OpenSans-Semibold-webfont.woff +0 -0
  580. data/{app → vendor}/assets/fonts/open-sans/OpenSans-SemiboldItalic-webfont.eot +0 -0
  581. data/{app → vendor}/assets/fonts/open-sans/OpenSans-SemiboldItalic-webfont.svg +0 -0
  582. data/{app → vendor}/assets/fonts/open-sans/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  583. data/{app → vendor}/assets/fonts/open-sans/OpenSans-SemiboldItalic-webfont.woff +0 -0
  584. data/{app → vendor}/assets/stylesheets/open-sans.css.scss +0 -0
  585. metadata +556 -49
  586. data/lib/local_pac/runner.rb +0 -29
  587. data/spec/runner_spec.rb +0 -42
@@ -0,0 +1,929 @@
1
+ //
2
+ // Mixins
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Utilities
7
+ // -------------------------
8
+
9
+ // Clearfix
10
+ // Source: http://nicolasgallagher.com/micro-clearfix-hack/
11
+ //
12
+ // For modern browsers
13
+ // 1. The space content is one way to avoid an Opera bug when the
14
+ // contenteditable attribute is included anywhere else in the document.
15
+ // Otherwise it causes space to appear at the top and bottom of elements
16
+ // that are clearfixed.
17
+ // 2. The use of `table` rather than `block` is only necessary if using
18
+ // `:before` to contain the top-margins of child elements.
19
+ .clearfix() {
20
+ &:before,
21
+ &:after {
22
+ content: " "; // 1
23
+ display: table; // 2
24
+ }
25
+ &:after {
26
+ clear: both;
27
+ }
28
+ }
29
+
30
+ // WebKit-style focus
31
+ .tab-focus() {
32
+ // Default
33
+ outline: thin dotted;
34
+ // WebKit
35
+ outline: 5px auto -webkit-focus-ring-color;
36
+ outline-offset: -2px;
37
+ }
38
+
39
+ // Center-align a block level element
40
+ .center-block() {
41
+ display: block;
42
+ margin-left: auto;
43
+ margin-right: auto;
44
+ }
45
+
46
+ // Sizing shortcuts
47
+ .size(@width; @height) {
48
+ width: @width;
49
+ height: @height;
50
+ }
51
+ .square(@size) {
52
+ .size(@size; @size);
53
+ }
54
+
55
+ // Placeholder text
56
+ .placeholder(@color: @input-color-placeholder) {
57
+ &::-moz-placeholder { color: @color; // Firefox
58
+ opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526
59
+ &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+
60
+ &::-webkit-input-placeholder { color: @color; } // Safari and Chrome
61
+ }
62
+
63
+ // Text overflow
64
+ // Requires inline-block or block for proper styling
65
+ .text-overflow() {
66
+ overflow: hidden;
67
+ text-overflow: ellipsis;
68
+ white-space: nowrap;
69
+ }
70
+
71
+ // CSS image replacement
72
+ //
73
+ // Heads up! v3 launched with with only `.hide-text()`, but per our pattern for
74
+ // mixins being reused as classes with the same name, this doesn't hold up. As
75
+ // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. Note
76
+ // that we cannot chain the mixins together in Less, so they are repeated.
77
+ //
78
+ // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
79
+
80
+ // Deprecated as of v3.0.1 (will be removed in v4)
81
+ .hide-text() {
82
+ font: ~"0/0" a;
83
+ color: transparent;
84
+ text-shadow: none;
85
+ background-color: transparent;
86
+ border: 0;
87
+ }
88
+ // New mixin to use as of v3.0.1
89
+ .text-hide() {
90
+ .hide-text();
91
+ }
92
+
93
+
94
+
95
+ // CSS3 PROPERTIES
96
+ // --------------------------------------------------
97
+
98
+ // Single side border-radius
99
+ .border-top-radius(@radius) {
100
+ border-top-right-radius: @radius;
101
+ border-top-left-radius: @radius;
102
+ }
103
+ .border-right-radius(@radius) {
104
+ border-bottom-right-radius: @radius;
105
+ border-top-right-radius: @radius;
106
+ }
107
+ .border-bottom-radius(@radius) {
108
+ border-bottom-right-radius: @radius;
109
+ border-bottom-left-radius: @radius;
110
+ }
111
+ .border-left-radius(@radius) {
112
+ border-bottom-left-radius: @radius;
113
+ border-top-left-radius: @radius;
114
+ }
115
+
116
+ // Drop shadows
117
+ //
118
+ // Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's
119
+ // supported browsers that have box shadow capabilities now support the
120
+ // standard `box-shadow` property.
121
+ .box-shadow(@shadow) {
122
+ -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1
123
+ box-shadow: @shadow;
124
+ }
125
+
126
+ // Transitions
127
+ .transition(@transition) {
128
+ -webkit-transition: @transition;
129
+ transition: @transition;
130
+ }
131
+ .transition-property(@transition-property) {
132
+ -webkit-transition-property: @transition-property;
133
+ transition-property: @transition-property;
134
+ }
135
+ .transition-delay(@transition-delay) {
136
+ -webkit-transition-delay: @transition-delay;
137
+ transition-delay: @transition-delay;
138
+ }
139
+ .transition-duration(@transition-duration) {
140
+ -webkit-transition-duration: @transition-duration;
141
+ transition-duration: @transition-duration;
142
+ }
143
+ .transition-transform(@transition) {
144
+ -webkit-transition: -webkit-transform @transition;
145
+ -moz-transition: -moz-transform @transition;
146
+ -o-transition: -o-transform @transition;
147
+ transition: transform @transition;
148
+ }
149
+
150
+ // Transformations
151
+ .rotate(@degrees) {
152
+ -webkit-transform: rotate(@degrees);
153
+ -ms-transform: rotate(@degrees); // IE9 only
154
+ transform: rotate(@degrees);
155
+ }
156
+ .scale(@ratio; @ratio-y...) {
157
+ -webkit-transform: scale(@ratio, @ratio-y);
158
+ -ms-transform: scale(@ratio, @ratio-y); // IE9 only
159
+ transform: scale(@ratio, @ratio-y);
160
+ }
161
+ .translate(@x; @y) {
162
+ -webkit-transform: translate(@x, @y);
163
+ -ms-transform: translate(@x, @y); // IE9 only
164
+ transform: translate(@x, @y);
165
+ }
166
+ .skew(@x; @y) {
167
+ -webkit-transform: skew(@x, @y);
168
+ -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
169
+ transform: skew(@x, @y);
170
+ }
171
+ .translate3d(@x; @y; @z) {
172
+ -webkit-transform: translate3d(@x, @y, @z);
173
+ transform: translate3d(@x, @y, @z);
174
+ }
175
+
176
+ .rotateX(@degrees) {
177
+ -webkit-transform: rotateX(@degrees);
178
+ -ms-transform: rotateX(@degrees); // IE9 only
179
+ transform: rotateX(@degrees);
180
+ }
181
+ .rotateY(@degrees) {
182
+ -webkit-transform: rotateY(@degrees);
183
+ -ms-transform: rotateY(@degrees); // IE9 only
184
+ transform: rotateY(@degrees);
185
+ }
186
+ .perspective(@perspective) {
187
+ -webkit-perspective: @perspective;
188
+ -moz-perspective: @perspective;
189
+ perspective: @perspective;
190
+ }
191
+ .perspective-origin(@perspective) {
192
+ -webkit-perspective-origin: @perspective;
193
+ -moz-perspective-origin: @perspective;
194
+ perspective-origin: @perspective;
195
+ }
196
+ .transform-origin(@origin) {
197
+ -webkit-transform-origin: @origin;
198
+ -moz-transform-origin: @origin;
199
+ -ms-transform-origin: @origin; // IE9 only
200
+ transform-origin: @origin;
201
+ }
202
+
203
+ // Animations
204
+ .animation(@animation) {
205
+ -webkit-animation: @animation;
206
+ animation: @animation;
207
+ }
208
+ .animation-name(@name) {
209
+ -webkit-animation-name: @name;
210
+ animation-name: @name;
211
+ }
212
+ .animation-duration(@duration) {
213
+ -webkit-animation-duration: @duration;
214
+ animation-duration: @duration;
215
+ }
216
+ .animation-timing-function(@timing-function) {
217
+ -webkit-animation-timing-function: @timing-function;
218
+ animation-timing-function: @timing-function;
219
+ }
220
+ .animation-delay(@delay) {
221
+ -webkit-animation-delay: @delay;
222
+ animation-delay: @delay;
223
+ }
224
+ .animation-iteration-count(@iteration-count) {
225
+ -webkit-animation-iteration-count: @iteration-count;
226
+ animation-iteration-count: @iteration-count;
227
+ }
228
+ .animation-direction(@direction) {
229
+ -webkit-animation-direction: @direction;
230
+ animation-direction: @direction;
231
+ }
232
+
233
+ // Backface visibility
234
+ // Prevent browsers from flickering when using CSS 3D transforms.
235
+ // Default value is `visible`, but can be changed to `hidden`
236
+ .backface-visibility(@visibility){
237
+ -webkit-backface-visibility: @visibility;
238
+ -moz-backface-visibility: @visibility;
239
+ backface-visibility: @visibility;
240
+ }
241
+
242
+ // Box sizing
243
+ .box-sizing(@boxmodel) {
244
+ -webkit-box-sizing: @boxmodel;
245
+ -moz-box-sizing: @boxmodel;
246
+ box-sizing: @boxmodel;
247
+ }
248
+
249
+ // User select
250
+ // For selecting text on the page
251
+ .user-select(@select) {
252
+ -webkit-user-select: @select;
253
+ -moz-user-select: @select;
254
+ -ms-user-select: @select; // IE10+
255
+ user-select: @select;
256
+ }
257
+
258
+ // Resize anything
259
+ .resizable(@direction) {
260
+ resize: @direction; // Options: horizontal, vertical, both
261
+ overflow: auto; // Safari fix
262
+ }
263
+
264
+ // CSS3 Content Columns
265
+ .content-columns(@column-count; @column-gap: @grid-gutter-width) {
266
+ -webkit-column-count: @column-count;
267
+ -moz-column-count: @column-count;
268
+ column-count: @column-count;
269
+ -webkit-column-gap: @column-gap;
270
+ -moz-column-gap: @column-gap;
271
+ column-gap: @column-gap;
272
+ }
273
+
274
+ // Optional hyphenation
275
+ .hyphens(@mode: auto) {
276
+ word-wrap: break-word;
277
+ -webkit-hyphens: @mode;
278
+ -moz-hyphens: @mode;
279
+ -ms-hyphens: @mode; // IE10+
280
+ -o-hyphens: @mode;
281
+ hyphens: @mode;
282
+ }
283
+
284
+ // Opacity
285
+ .opacity(@opacity) {
286
+ opacity: @opacity;
287
+ // IE8 filter
288
+ @opacity-ie: (@opacity * 100);
289
+ filter: ~"alpha(opacity=@{opacity-ie})";
290
+ }
291
+
292
+
293
+
294
+ // GRADIENTS
295
+ // --------------------------------------------------
296
+
297
+ #gradient {
298
+
299
+ // Horizontal gradient, from left to right
300
+ //
301
+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
302
+ // Color stops are not available in IE9 and below.
303
+ .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
304
+ background-image: -webkit-linear-gradient(left, color-stop(@start-color @start-percent), color-stop(@end-color @end-percent)); // Safari 5.1-6, Chrome 10+
305
+ background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
306
+ background-repeat: repeat-x;
307
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down
308
+ }
309
+
310
+ // Vertical gradient, from top to bottom
311
+ //
312
+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
313
+ // Color stops are not available in IE9 and below.
314
+ .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
315
+ background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+
316
+ background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
317
+ background-repeat: repeat-x;
318
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down
319
+ }
320
+
321
+ .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {
322
+ background-repeat: repeat-x;
323
+ background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+
324
+ background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
325
+ }
326
+ .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
327
+ background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
328
+ background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);
329
+ background-repeat: no-repeat;
330
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
331
+ }
332
+ .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
333
+ background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);
334
+ background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);
335
+ background-repeat: no-repeat;
336
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
337
+ }
338
+ .radial(@inner-color: #555; @outer-color: #333) {
339
+ background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);
340
+ background-image: radial-gradient(circle, @inner-color, @outer-color);
341
+ background-repeat: no-repeat;
342
+ }
343
+ .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {
344
+ background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
345
+ background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
346
+ }
347
+ }
348
+
349
+ // Reset filters for IE
350
+ //
351
+ // When you need to remove a gradient background, do not forget to use this to reset
352
+ // the IE filter for IE9 and below.
353
+ .reset-filter() {
354
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
355
+ }
356
+
357
+
358
+
359
+ // Retina images
360
+ //
361
+ // Short retina mixin for setting background-image and -size
362
+
363
+ .img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {
364
+ background-image: url("@{file-1x}");
365
+
366
+ @media
367
+ only screen and (-webkit-min-device-pixel-ratio: 2),
368
+ only screen and ( min--moz-device-pixel-ratio: 2),
369
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
370
+ only screen and ( min-device-pixel-ratio: 2),
371
+ only screen and ( min-resolution: 192dpi),
372
+ only screen and ( min-resolution: 2dppx) {
373
+ background-image: url("@{file-2x}");
374
+ background-size: @width-1x @height-1x;
375
+ }
376
+ }
377
+
378
+
379
+ // Responsive image
380
+ //
381
+ // Keep images from scaling beyond the width of their parents.
382
+
383
+ .img-responsive(@display: block) {
384
+ display: @display;
385
+ max-width: 100%; // Part 1: Set a maximum relative to the parent
386
+ height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
387
+ }
388
+
389
+
390
+ // COMPONENT MIXINS
391
+ // --------------------------------------------------
392
+
393
+ // Horizontal dividers
394
+ // -------------------------
395
+ // Dividers (basically an hr) within dropdowns and nav lists
396
+ .nav-divider(@color: #e5e5e5) {
397
+ height: 1px;
398
+ margin: ((@line-height-computed / 2) - 1) 0;
399
+ overflow: hidden;
400
+ background-color: @color;
401
+ }
402
+
403
+ // Panels
404
+ // -------------------------
405
+ .panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {
406
+ border-color: @border;
407
+
408
+ & > .panel-heading {
409
+ color: @heading-text-color;
410
+ background-color: @heading-bg-color;
411
+ border-color: @heading-border;
412
+
413
+ + .panel-collapse .panel-body {
414
+ border-top-color: @border;
415
+ }
416
+ }
417
+ & > .panel-footer {
418
+ + .panel-collapse .panel-body {
419
+ border-bottom-color: @border;
420
+ }
421
+ }
422
+ }
423
+
424
+ // Alerts
425
+ // -------------------------
426
+ .alert-variant(@background; @border; @text-color) {
427
+ background-color: @background;
428
+ border-color: @border;
429
+ color: @text-color;
430
+
431
+ hr {
432
+ border-top-color: darken(@border, 5%);
433
+ }
434
+ .alert-link {
435
+ color: darken(@text-color, 10%);
436
+ }
437
+ }
438
+
439
+ // Tables
440
+ // -------------------------
441
+ .table-row-variant(@state; @background) {
442
+ // Exact selectors below required to override `.table-striped` and prevent
443
+ // inheritance to nested tables.
444
+ .table > thead > tr,
445
+ .table > tbody > tr,
446
+ .table > tfoot > tr {
447
+ > td.@{state},
448
+ > th.@{state},
449
+ &.@{state} > td,
450
+ &.@{state} > th {
451
+ background-color: @background;
452
+ }
453
+ }
454
+
455
+ // Hover states for `.table-hover`
456
+ // Note: this is not available for cells or rows within `thead` or `tfoot`.
457
+ .table-hover > tbody > tr {
458
+ > td.@{state}:hover,
459
+ > th.@{state}:hover,
460
+ &.@{state}:hover > td,
461
+ &.@{state}:hover > th {
462
+ background-color: darken(@background, 5%);
463
+ }
464
+ }
465
+ }
466
+
467
+ // List Groups
468
+ // -------------------------
469
+ .list-group-item-variant(@state; @background; @color) {
470
+ .list-group-item-@{state} {
471
+ color: @color;
472
+ background-color: @background;
473
+
474
+ a& {
475
+ color: @color;
476
+
477
+ .list-group-item-heading { color: inherit; }
478
+
479
+ &:hover,
480
+ &:focus {
481
+ color: @color;
482
+ background-color: darken(@background, 5%);
483
+ }
484
+ &.active,
485
+ &.active:hover,
486
+ &.active:focus {
487
+ color: #fff;
488
+ background-color: @color;
489
+ border-color: @color;
490
+ }
491
+ }
492
+ }
493
+ }
494
+
495
+ // Button variants
496
+ // -------------------------
497
+ // Easily pump out default styles, as well as :hover, :focus, :active,
498
+ // and disabled options for all buttons
499
+ .button-variant(@color; @background; @border) {
500
+ color: @color;
501
+ background-color: @background;
502
+ border-color: @border;
503
+
504
+ &:hover,
505
+ &:focus,
506
+ &:active,
507
+ &.active,
508
+ .open .dropdown-toggle& {
509
+ color: @color;
510
+ background-color: darken(@background, 8%);
511
+ border-color: darken(@border, 12%);
512
+ }
513
+ &:active,
514
+ &.active,
515
+ .open .dropdown-toggle& {
516
+ background-image: none;
517
+ }
518
+ &.disabled,
519
+ &[disabled],
520
+ fieldset[disabled] & {
521
+ &,
522
+ &:hover,
523
+ &:focus,
524
+ &:active,
525
+ &.active {
526
+ background-color: @background;
527
+ border-color: @border;
528
+ }
529
+ }
530
+
531
+ .badge {
532
+ color: @background;
533
+ background-color: @color;
534
+ }
535
+ }
536
+
537
+ // Button sizes
538
+ // -------------------------
539
+ .button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
540
+ padding: @padding-vertical @padding-horizontal;
541
+ font-size: @font-size;
542
+ line-height: @line-height;
543
+ border-radius: @border-radius;
544
+ }
545
+
546
+ // Pagination
547
+ // -------------------------
548
+ .pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) {
549
+ > li {
550
+ > a,
551
+ > span {
552
+ padding: @padding-vertical @padding-horizontal;
553
+ font-size: @font-size;
554
+ }
555
+ &:first-child {
556
+ > a,
557
+ > span {
558
+ .border-left-radius(@border-radius);
559
+ }
560
+ }
561
+ &:last-child {
562
+ > a,
563
+ > span {
564
+ .border-right-radius(@border-radius);
565
+ }
566
+ }
567
+ }
568
+ }
569
+
570
+ // Labels
571
+ // -------------------------
572
+ .label-variant(@color) {
573
+ background-color: @color;
574
+ &[href] {
575
+ &:hover,
576
+ &:focus {
577
+ background-color: darken(@color, 10%);
578
+ }
579
+ }
580
+ }
581
+
582
+ // Contextual backgrounds
583
+ // -------------------------
584
+ .bg-variant(@color) {
585
+ background-color: @color;
586
+ a&:hover {
587
+ background-color: darken(@color, 10%);
588
+ }
589
+ }
590
+
591
+ // Typography
592
+ // -------------------------
593
+ .text-emphasis-variant(@color) {
594
+ color: @color;
595
+ a&:hover {
596
+ color: darken(@color, 10%);
597
+ }
598
+ }
599
+
600
+ // Navbar vertical align
601
+ // -------------------------
602
+ // Vertically center elements in the navbar.
603
+ // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
604
+ .navbar-vertical-align(@element-height) {
605
+ margin-top: ((@navbar-height - @element-height) / 2);
606
+ margin-bottom: ((@navbar-height - @element-height) / 2);
607
+ }
608
+
609
+ // Progress bars
610
+ // -------------------------
611
+ .progress-bar-variant(@color) {
612
+ background-color: @color;
613
+ .progress-striped & {
614
+ #gradient > .striped();
615
+ }
616
+ }
617
+
618
+ // Responsive utilities
619
+ // -------------------------
620
+ // More easily include all the states for responsive-utilities.less.
621
+ .responsive-visibility() {
622
+ display: block !important;
623
+ table& { display: table; }
624
+ tr& { display: table-row !important; }
625
+ th&,
626
+ td& { display: table-cell !important; }
627
+ }
628
+
629
+ .responsive-invisibility() {
630
+ display: none !important;
631
+ }
632
+
633
+
634
+ // Grid System
635
+ // -----------
636
+
637
+ // Centered container element
638
+ .container-fixed() {
639
+ margin-right: auto;
640
+ margin-left: auto;
641
+ padding-left: (@grid-gutter-width / 2);
642
+ padding-right: (@grid-gutter-width / 2);
643
+ &:extend(.clearfix all);
644
+ }
645
+
646
+ // Creates a wrapper for a series of columns
647
+ .make-row(@gutter: @grid-gutter-width) {
648
+ margin-left: (@gutter / -2);
649
+ margin-right: (@gutter / -2);
650
+ &:extend(.clearfix all);
651
+ }
652
+
653
+ // Generate the extra small columns
654
+ .make-xs-column(@columns; @gutter: @grid-gutter-width) {
655
+ position: relative;
656
+ float: left;
657
+ width: percentage((@columns / @grid-columns));
658
+ min-height: 1px;
659
+ padding-left: (@gutter / 2);
660
+ padding-right: (@gutter / 2);
661
+ }
662
+ .make-xs-column-offset(@columns) {
663
+ @media (min-width: @screen-xs-min) {
664
+ margin-left: percentage((@columns / @grid-columns));
665
+ }
666
+ }
667
+ .make-xs-column-push(@columns) {
668
+ @media (min-width: @screen-xs-min) {
669
+ left: percentage((@columns / @grid-columns));
670
+ }
671
+ }
672
+ .make-xs-column-pull(@columns) {
673
+ @media (min-width: @screen-xs-min) {
674
+ right: percentage((@columns / @grid-columns));
675
+ }
676
+ }
677
+
678
+
679
+ // Generate the small columns
680
+ .make-sm-column(@columns; @gutter: @grid-gutter-width) {
681
+ position: relative;
682
+ min-height: 1px;
683
+ padding-left: (@gutter / 2);
684
+ padding-right: (@gutter / 2);
685
+
686
+ @media (min-width: @screen-sm-min) {
687
+ float: left;
688
+ width: percentage((@columns / @grid-columns));
689
+ }
690
+ }
691
+ .make-sm-column-offset(@columns) {
692
+ @media (min-width: @screen-sm-min) {
693
+ margin-left: percentage((@columns / @grid-columns));
694
+ }
695
+ }
696
+ .make-sm-column-push(@columns) {
697
+ @media (min-width: @screen-sm-min) {
698
+ left: percentage((@columns / @grid-columns));
699
+ }
700
+ }
701
+ .make-sm-column-pull(@columns) {
702
+ @media (min-width: @screen-sm-min) {
703
+ right: percentage((@columns / @grid-columns));
704
+ }
705
+ }
706
+
707
+
708
+ // Generate the medium columns
709
+ .make-md-column(@columns; @gutter: @grid-gutter-width) {
710
+ position: relative;
711
+ min-height: 1px;
712
+ padding-left: (@gutter / 2);
713
+ padding-right: (@gutter / 2);
714
+
715
+ @media (min-width: @screen-md-min) {
716
+ float: left;
717
+ width: percentage((@columns / @grid-columns));
718
+ }
719
+ }
720
+ .make-md-column-offset(@columns) {
721
+ @media (min-width: @screen-md-min) {
722
+ margin-left: percentage((@columns / @grid-columns));
723
+ }
724
+ }
725
+ .make-md-column-push(@columns) {
726
+ @media (min-width: @screen-md-min) {
727
+ left: percentage((@columns / @grid-columns));
728
+ }
729
+ }
730
+ .make-md-column-pull(@columns) {
731
+ @media (min-width: @screen-md-min) {
732
+ right: percentage((@columns / @grid-columns));
733
+ }
734
+ }
735
+
736
+
737
+ // Generate the large columns
738
+ .make-lg-column(@columns; @gutter: @grid-gutter-width) {
739
+ position: relative;
740
+ min-height: 1px;
741
+ padding-left: (@gutter / 2);
742
+ padding-right: (@gutter / 2);
743
+
744
+ @media (min-width: @screen-lg-min) {
745
+ float: left;
746
+ width: percentage((@columns / @grid-columns));
747
+ }
748
+ }
749
+ .make-lg-column-offset(@columns) {
750
+ @media (min-width: @screen-lg-min) {
751
+ margin-left: percentage((@columns / @grid-columns));
752
+ }
753
+ }
754
+ .make-lg-column-push(@columns) {
755
+ @media (min-width: @screen-lg-min) {
756
+ left: percentage((@columns / @grid-columns));
757
+ }
758
+ }
759
+ .make-lg-column-pull(@columns) {
760
+ @media (min-width: @screen-lg-min) {
761
+ right: percentage((@columns / @grid-columns));
762
+ }
763
+ }
764
+
765
+
766
+ // Framework grid generation
767
+ //
768
+ // Used only by Bootstrap to generate the correct number of grid classes given
769
+ // any value of `@grid-columns`.
770
+
771
+ .make-grid-columns() {
772
+ // Common styles for all sizes of grid columns, widths 1-12
773
+ .col(@index) when (@index = 1) { // initial
774
+ @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
775
+ .col((@index + 1), @item);
776
+ }
777
+ .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo
778
+ @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
779
+ .col((@index + 1), ~"@{list}, @{item}");
780
+ }
781
+ .col(@index, @list) when (@index > @grid-columns) { // terminal
782
+ @{list} {
783
+ position: relative;
784
+ // Prevent columns from collapsing when empty
785
+ min-height: 1px;
786
+ // Inner gutter via padding
787
+ padding-left: (@grid-gutter-width / 2);
788
+ padding-right: (@grid-gutter-width / 2);
789
+ }
790
+ }
791
+ .col(1); // kickstart it
792
+ }
793
+
794
+ .float-grid-columns(@class) {
795
+ .col(@index) when (@index = 1) { // initial
796
+ @item: ~".col-@{class}-@{index}";
797
+ .col((@index + 1), @item);
798
+ }
799
+ .col(@index, @list) when (@index =< @grid-columns) { // general
800
+ @item: ~".col-@{class}-@{index}";
801
+ .col((@index + 1), ~"@{list}, @{item}");
802
+ }
803
+ .col(@index, @list) when (@index > @grid-columns) { // terminal
804
+ @{list} {
805
+ float: left;
806
+ }
807
+ }
808
+ .col(1); // kickstart it
809
+ }
810
+
811
+ .calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {
812
+ .col-@{class}-@{index} {
813
+ width: percentage((@index / @grid-columns));
814
+ }
815
+ }
816
+ .calc-grid-column(@index, @class, @type) when (@type = push) {
817
+ .col-@{class}-push-@{index} {
818
+ left: percentage((@index / @grid-columns));
819
+ }
820
+ }
821
+ .calc-grid-column(@index, @class, @type) when (@type = pull) {
822
+ .col-@{class}-pull-@{index} {
823
+ right: percentage((@index / @grid-columns));
824
+ }
825
+ }
826
+ .calc-grid-column(@index, @class, @type) when (@type = offset) {
827
+ .col-@{class}-offset-@{index} {
828
+ margin-left: percentage((@index / @grid-columns));
829
+ }
830
+ }
831
+
832
+ // Basic looping in LESS
833
+ .loop-grid-columns(@index, @class, @type) when (@index >= 0) {
834
+ .calc-grid-column(@index, @class, @type);
835
+ // next iteration
836
+ .loop-grid-columns((@index - 1), @class, @type);
837
+ }
838
+
839
+ // Create grid for specific class
840
+ .make-grid(@class) {
841
+ .float-grid-columns(@class);
842
+ .loop-grid-columns(@grid-columns, @class, width);
843
+ .loop-grid-columns(@grid-columns, @class, pull);
844
+ .loop-grid-columns(@grid-columns, @class, push);
845
+ .loop-grid-columns(@grid-columns, @class, offset);
846
+ }
847
+
848
+ // Form validation states
849
+ //
850
+ // Used in forms.less to generate the form validation CSS for warnings, errors,
851
+ // and successes.
852
+
853
+ .form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {
854
+ // Color the label and help text
855
+ .help-block,
856
+ .control-label,
857
+ .radio,
858
+ .checkbox,
859
+ .radio-inline,
860
+ .checkbox-inline {
861
+ color: @text-color;
862
+ }
863
+ // Set the border and box shadow on specific inputs to match
864
+ .form-control {
865
+ border-color: @border-color;
866
+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
867
+ &:focus {
868
+ border-color: darken(@border-color, 10%);
869
+ @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);
870
+ .box-shadow(@shadow);
871
+ }
872
+ }
873
+ // Set validation states also for addons
874
+ .input-group-addon {
875
+ color: @text-color;
876
+ border-color: @border-color;
877
+ background-color: @background-color;
878
+ }
879
+ // Optional feedback icon
880
+ .form-control-feedback {
881
+ color: @text-color;
882
+ }
883
+ }
884
+
885
+ // Form control focus state
886
+ //
887
+ // Generate a customized focus state and for any input with the specified color,
888
+ // which defaults to the `@input-focus-border` variable.
889
+ //
890
+ // We highly encourage you to not customize the default value, but instead use
891
+ // this to tweak colors on an as-needed basis. This aesthetic change is based on
892
+ // WebKit's default styles, but applicable to a wider range of browsers. Its
893
+ // usability and accessibility should be taken into account with any change.
894
+ //
895
+ // Example usage: change the default blue border and shadow to white for better
896
+ // contrast against a dark gray background.
897
+
898
+ .form-control-focus(@color: @input-border-focus) {
899
+ @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);
900
+ &:focus {
901
+ border-color: @color;
902
+ outline: 0;
903
+ .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}");
904
+ }
905
+ }
906
+
907
+ // Form control sizing
908
+ //
909
+ // Relative text size, padding, and border-radii changes for form controls. For
910
+ // horizontal sizing, wrap controls in the predefined grid classes. `<select>`
911
+ // element gets special love because it's special, and that's a fact!
912
+
913
+ .input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
914
+ height: @input-height;
915
+ padding: @padding-vertical @padding-horizontal;
916
+ font-size: @font-size;
917
+ line-height: @line-height;
918
+ border-radius: @border-radius;
919
+
920
+ select& {
921
+ height: @input-height;
922
+ line-height: @input-height;
923
+ }
924
+
925
+ textarea&,
926
+ select[multiple]& {
927
+ height: auto;
928
+ }
929
+ }