railsstrap 3.3.4 → 4.0.0.beta2

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 (714) hide show
  1. checksums.yaml +5 -5
  2. data/lib/generators/railsstrap/install/install_generator.rb +18 -25
  3. data/lib/generators/railsstrap/install/templates/application.css +1 -2
  4. data/lib/generators/railsstrap/install/templates/application.js +2 -5
  5. data/lib/generators/railsstrap/install/templates/bootstrap.js +6 -6
  6. data/lib/generators/railsstrap/layout/layout_generator.rb +4 -2
  7. data/lib/generators/railsstrap/layout/templates/layout.html.erb +69 -72
  8. data/lib/generators/railsstrap/layout/templates/layout.html.haml +2 -2
  9. data/lib/generators/railsstrap/layout/templates/layout.html.slim +14 -14
  10. data/lib/generators/railsstrap/partial/partial_generator.rb +4 -2
  11. data/lib/generators/railsstrap/partial/templates/_login.html.erb +1 -1
  12. data/lib/generators/railsstrap/scaffold/scaffold_generator.rb +103 -0
  13. data/lib/generators/railsstrap/scaffold/templates/_form.html.erb +21 -0
  14. data/lib/generators/railsstrap/{themed → scaffold}/templates/_form.html.haml +3 -4
  15. data/lib/generators/railsstrap/scaffold/templates/_form.html.slim +15 -0
  16. data/lib/generators/railsstrap/scaffold/templates/edit.html.erb +3 -0
  17. data/lib/generators/railsstrap/scaffold/templates/edit.html.haml +3 -0
  18. data/lib/generators/railsstrap/scaffold/templates/edit.html.slim +2 -0
  19. data/lib/generators/railsstrap/scaffold/templates/index.html.erb +43 -0
  20. data/lib/generators/railsstrap/scaffold/templates/index.html.haml +25 -0
  21. data/lib/generators/railsstrap/scaffold/templates/index.html.slim +26 -0
  22. data/lib/generators/railsstrap/scaffold/templates/new.html.erb +5 -0
  23. data/lib/generators/railsstrap/scaffold/templates/new.html.haml +4 -0
  24. data/lib/generators/railsstrap/scaffold/templates/new.html.slim +4 -0
  25. data/lib/generators/railsstrap/scaffold/templates/show.html.erb +22 -0
  26. data/lib/generators/railsstrap/scaffold/templates/show.html.haml +15 -0
  27. data/lib/generators/railsstrap/scaffold/templates/show.html.slim +16 -0
  28. data/lib/generators/railsstrap/scaffold/templates/simple_form/_form.html.erb +14 -0
  29. data/lib/generators/railsstrap/scaffold/templates/simple_form/_form.html.haml +11 -0
  30. data/lib/generators/railsstrap/scaffold/templates/simple_form/_form.html.slim +12 -0
  31. data/lib/railsstrap.rb +13 -2
  32. data/lib/railsstrap/classes/alert_box.rb +62 -0
  33. data/lib/railsstrap/classes/aside.rb +67 -0
  34. data/lib/railsstrap/classes/badge.rb +38 -0
  35. data/lib/railsstrap/classes/base.rb +149 -0
  36. data/lib/railsstrap/classes/button.rb +68 -0
  37. data/lib/railsstrap/classes/button_group.rb +66 -0
  38. data/lib/railsstrap/classes/button_to.rb +33 -0
  39. data/lib/railsstrap/classes/card.rb +74 -0
  40. data/lib/railsstrap/classes/card_group.rb +22 -0
  41. data/lib/railsstrap/classes/cdn.rb +93 -0
  42. data/lib/railsstrap/classes/dropdown.rb +56 -0
  43. data/lib/railsstrap/classes/icon.rb +40 -0
  44. data/lib/railsstrap/classes/link_to.rb +26 -0
  45. data/lib/railsstrap/classes/modal.rb +68 -0
  46. data/lib/railsstrap/classes/nav.rb +46 -0
  47. data/lib/railsstrap/classes/navbar.rb +72 -0
  48. data/lib/railsstrap/classes/progress_bar.rb +89 -0
  49. data/lib/railsstrap/classes/stack.rb +19 -0
  50. data/lib/railsstrap/classes/vertical.rb +29 -0
  51. data/lib/railsstrap/core_ext/engine.rb +61 -0
  52. data/lib/railsstrap/core_ext/rails/base_helper.rb +21 -0
  53. data/lib/railsstrap/core_ext/rails/form/base_helper.rb +150 -0
  54. data/lib/railsstrap/core_ext/rails/form/check_box_helper.rb +35 -0
  55. data/lib/railsstrap/core_ext/rails/form/field_helper.rb +15 -0
  56. data/lib/railsstrap/core_ext/rails/form/fields_for_helper.rb +23 -0
  57. data/lib/railsstrap/core_ext/rails/form/fieldset_helper.rb +16 -0
  58. data/lib/railsstrap/core_ext/rails/form/file_field_helper.rb +15 -0
  59. data/lib/railsstrap/core_ext/rails/form/legend_helper.rb +17 -0
  60. data/lib/railsstrap/core_ext/rails/form/radio_button_helper.rb +19 -0
  61. data/lib/railsstrap/core_ext/rails/form/select_helper.rb +16 -0
  62. data/lib/railsstrap/core_ext/rails/form/static_control_helper.rb +43 -0
  63. data/lib/railsstrap/core_ext/rails/form/submit_helper.rb +23 -0
  64. data/lib/railsstrap/core_ext/rails/form_builder.rb +46 -0
  65. data/lib/railsstrap/core_ext/rails/form_for_helper.rb +46 -0
  66. data/lib/railsstrap/helpers/alert_box_helper.rb +41 -0
  67. data/lib/railsstrap/helpers/aside_helper.rb +57 -0
  68. data/lib/railsstrap/helpers/badge_helper.rb +41 -0
  69. data/{app/helpers/railsstrap → lib/railsstrap/helpers}/breadcrumbs.rb +0 -0
  70. data/{app/helpers/railsstrap → lib/railsstrap/helpers}/breadcrumbs_helper.rb +2 -3
  71. data/lib/railsstrap/helpers/button_group_helper.rb +34 -0
  72. data/lib/railsstrap/helpers/button_helper.rb +40 -0
  73. data/lib/railsstrap/helpers/button_to_helper.rb +65 -0
  74. data/lib/railsstrap/helpers/card_group_helper.rb +28 -0
  75. data/lib/railsstrap/helpers/card_helper.rb +56 -0
  76. data/lib/railsstrap/helpers/cdn_helper.rb +93 -0
  77. data/lib/railsstrap/helpers/date_picker_helper.rb +78 -0
  78. data/lib/railsstrap/helpers/dropdown_helper.rb +49 -0
  79. data/{app/helpers/railsstrap/bootstrap_flash_helper.rb → lib/railsstrap/helpers/flash_helper.rb} +12 -12
  80. data/lib/railsstrap/helpers/form_errors.rb +36 -0
  81. data/lib/railsstrap/helpers/glyphicon_helper.rb +21 -0
  82. data/lib/railsstrap/helpers/horizontal_helper.rb +36 -0
  83. data/lib/railsstrap/helpers/icon_helper.rb +26 -0
  84. data/lib/railsstrap/helpers/link_to_helper.rb +61 -0
  85. data/lib/railsstrap/helpers/modal_helper.rb +55 -0
  86. data/lib/railsstrap/helpers/nav_helper.rb +34 -0
  87. data/lib/railsstrap/helpers/navbar_helper.rb +46 -0
  88. data/lib/railsstrap/helpers/progress_bar_helper.rb +55 -0
  89. data/lib/railsstrap/helpers/vertical_helper.rb +34 -0
  90. data/lib/railsstrap/version.rb +3 -0
  91. data/lib/railsstrap/views/railsstrap/_aside.html.erb +14 -0
  92. data/lib/railsstrap/views/railsstrap/_dismiss_button.html.erb +4 -0
  93. data/lib/railsstrap/views/railsstrap/_dropdown.html.erb +9 -0
  94. data/lib/railsstrap/views/railsstrap/_dropdown_split.html.erb +10 -0
  95. data/lib/railsstrap/views/railsstrap/_modal.html.erb +14 -0
  96. data/lib/railsstrap/views/railsstrap/_navbar.html.erb +5 -0
  97. data/spec/padrino/button_to_helper.rb +35 -0
  98. data/spec/padrino/link_to_helper.rb +12 -0
  99. data/spec/padrino_spec.rb +29 -0
  100. data/spec/rails/button_to_helper.rb +31 -0
  101. data/spec/rails/form/check_box_helper_spec.rb +112 -0
  102. data/spec/rails/form/field_helper_spec.rb +138 -0
  103. data/spec/rails/form/fields_for_helper_spec.rb +65 -0
  104. data/spec/rails/form/fieldset_helper_spec.rb +32 -0
  105. data/spec/rails/form/file_field_helper_spec.rb +74 -0
  106. data/spec/rails/form/legend_helper_spec.rb +35 -0
  107. data/spec/rails/form/radio_button_helper_spec.rb +89 -0
  108. data/spec/rails/form/select_helper_spec.rb +88 -0
  109. data/spec/rails/form/static_control_helper_spec.rb +67 -0
  110. data/spec/rails/form/submit_helper_spec.rb +30 -0
  111. data/spec/rails/form_for_helper_spec.rb +46 -0
  112. data/spec/rails/link_to_helper.rb +12 -0
  113. data/spec/rails_helper.rb +24 -0
  114. data/spec/rails_spec.rb +33 -0
  115. data/spec/shared/alert_box_helper.rb +74 -0
  116. data/spec/shared/aside_helper.rb +104 -0
  117. data/spec/shared/badge_helper.rb +62 -0
  118. data/spec/shared/button_group_helper.rb +29 -0
  119. data/spec/shared/button_helper.rb +52 -0
  120. data/spec/shared/button_to_helper.rb +50 -0
  121. data/spec/shared/card_group_helper.rb +33 -0
  122. data/spec/shared/card_helper.rb +84 -0
  123. data/spec/shared/cdn_helper.rb +39 -0
  124. data/spec/shared/dropdown_helper.rb +112 -0
  125. data/spec/shared/glyphicon_helper.rb +21 -0
  126. data/spec/shared/horizontal_helper.rb +37 -0
  127. data/spec/shared/icon_helper.rb +31 -0
  128. data/spec/shared/link_to_helper.rb +84 -0
  129. data/spec/shared/modal_helper.rb +96 -0
  130. data/spec/shared/nav_helper.rb +49 -0
  131. data/spec/shared/navbar_helper.rb +60 -0
  132. data/spec/shared/progress_bar_helper.rb +103 -0
  133. data/spec/shared/vertical_helper.rb +37 -0
  134. data/spec/spec_helper.rb +17 -20
  135. data/spec/support/matchers.rb +47 -0
  136. data/spec/support/padrino.rb +33 -0
  137. data/spec/support/rails.rb +27 -0
  138. data/vendor/assets/javascripts/railsstrap.min.js +1 -0
  139. data/vendor/assets/javascripts/railsstrap.min.js.gz +0 -0
  140. data/vendor/assets/stylesheets/_alert.scss +51 -0
  141. data/vendor/assets/stylesheets/_badge.scss +47 -0
  142. data/vendor/assets/stylesheets/_breadcrumb.scss +38 -0
  143. data/vendor/assets/stylesheets/_button-group.scss +166 -0
  144. data/vendor/assets/stylesheets/_buttons.scss +143 -0
  145. data/vendor/assets/stylesheets/_card.scss +270 -0
  146. data/vendor/assets/stylesheets/_carousel.scss +191 -0
  147. data/vendor/assets/stylesheets/_close.scss +34 -0
  148. data/vendor/assets/stylesheets/_code.scss +56 -0
  149. data/vendor/assets/stylesheets/_custom-forms.scss +297 -0
  150. data/vendor/assets/stylesheets/_dropdown.scss +131 -0
  151. data/vendor/assets/stylesheets/_forms.scss +333 -0
  152. data/vendor/assets/stylesheets/_functions.scss +86 -0
  153. data/vendor/assets/stylesheets/_grid.scss +52 -0
  154. data/vendor/assets/stylesheets/_images.scss +42 -0
  155. data/vendor/assets/stylesheets/_input-group.scss +159 -0
  156. data/vendor/assets/stylesheets/_jumbotron.scss +16 -0
  157. data/vendor/assets/stylesheets/_list-group.scss +115 -0
  158. data/vendor/assets/stylesheets/_media.scss +8 -0
  159. data/vendor/assets/stylesheets/_mixins.scss +43 -0
  160. data/vendor/assets/stylesheets/_modal.scss +168 -0
  161. data/vendor/assets/stylesheets/_nav.scss +118 -0
  162. data/vendor/assets/stylesheets/_navbar.scss +311 -0
  163. data/vendor/assets/stylesheets/_pagination.scss +77 -0
  164. data/vendor/assets/stylesheets/_popover.scss +183 -0
  165. data/vendor/assets/stylesheets/_print.scss +124 -0
  166. data/vendor/assets/stylesheets/_progress.scss +33 -0
  167. data/vendor/assets/stylesheets/_reboot.scss +482 -0
  168. data/vendor/assets/stylesheets/_root.scss +19 -0
  169. data/vendor/assets/stylesheets/_tables.scss +180 -0
  170. data/vendor/assets/stylesheets/_tooltip.scss +115 -0
  171. data/vendor/assets/stylesheets/_transitions.scss +36 -0
  172. data/vendor/assets/stylesheets/_type.scss +125 -0
  173. data/vendor/assets/stylesheets/_utilities.scss +14 -0
  174. data/vendor/assets/stylesheets/_variables.scss +898 -0
  175. data/vendor/assets/stylesheets/alert/{alert.less → alert.scss} +31 -15
  176. data/vendor/assets/stylesheets/animate/bounce/{bounce.less → bounce.scss} +0 -0
  177. data/vendor/assets/stylesheets/animate/bounce/{bounceIn.less → bounceIn.scss} +0 -0
  178. data/vendor/assets/stylesheets/animate/bounce/{bounceInDown.less → bounceInDown.scss} +0 -0
  179. data/vendor/assets/stylesheets/animate/bounce/{bounceInLeft.less → bounceInLeft.scss} +0 -0
  180. data/vendor/assets/stylesheets/animate/bounce/{bounceInRight.less → bounceInRight.scss} +0 -0
  181. data/vendor/assets/stylesheets/animate/bounce/{bounceInUp.less → bounceInUp.scss} +0 -0
  182. data/vendor/assets/stylesheets/animate/bounce/{bounceOut.less → bounceOut.scss} +0 -0
  183. data/vendor/assets/stylesheets/animate/bounce/{bounceOutDown.less → bounceOutDown.scss} +0 -0
  184. data/vendor/assets/stylesheets/animate/bounce/{bounceOutLeft.less → bounceOutLeft.scss} +0 -0
  185. data/vendor/assets/stylesheets/animate/bounce/{bounceOutRight.less → bounceOutRight.scss} +0 -0
  186. data/vendor/assets/stylesheets/animate/bounce/{bounceOutUp.less → bounceOutUp.scss} +0 -0
  187. data/vendor/assets/stylesheets/animate/fade/{fadeIn.less → fadeIn.scss} +0 -0
  188. data/vendor/assets/stylesheets/animate/fade/{fadeInDown.less → fadeInDown.scss} +0 -0
  189. data/vendor/assets/stylesheets/animate/fade/{fadeInDownBig.less → fadeInDownBig.scss} +0 -0
  190. data/vendor/assets/stylesheets/animate/fade/{fadeInLeft.less → fadeInLeft.scss} +0 -0
  191. data/vendor/assets/stylesheets/animate/fade/{fadeInLeftBig.less → fadeInLeftBig.scss} +0 -0
  192. data/vendor/assets/stylesheets/animate/fade/{fadeInRight.less → fadeInRight.scss} +0 -0
  193. data/vendor/assets/stylesheets/animate/fade/{fadeInRightBig.less → fadeInRightBig.scss} +0 -0
  194. data/vendor/assets/stylesheets/animate/fade/{fadeInUp.less → fadeInUp.scss} +0 -0
  195. data/vendor/assets/stylesheets/animate/fade/{fadeInUpBig.less → fadeInUpBig.scss} +0 -0
  196. data/vendor/assets/stylesheets/animate/fade/{fadeOut.less → fadeOut.scss} +0 -0
  197. data/vendor/assets/stylesheets/animate/fade/{fadeOutDown.less → fadeOutDown.scss} +0 -0
  198. data/vendor/assets/stylesheets/animate/fade/{fadeOutDownBig.less → fadeOutDownBig.scss} +0 -0
  199. data/vendor/assets/stylesheets/animate/fade/{fadeOutLeft.less → fadeOutLeft.scss} +0 -0
  200. data/vendor/assets/stylesheets/animate/fade/{fadeOutLeftBig.less → fadeOutLeftBig.scss} +0 -0
  201. data/vendor/assets/stylesheets/animate/fade/{fadeOutRight.less → fadeOutRight.scss} +0 -0
  202. data/vendor/assets/stylesheets/animate/fade/{fadeOutRightBig.less → fadeOutRightBig.scss} +0 -0
  203. data/vendor/assets/stylesheets/animate/fade/{fadeOutUp.less → fadeOutUp.scss} +0 -0
  204. data/vendor/assets/stylesheets/animate/fade/{fadeOutUpBig.less → fadeOutUpBig.scss} +0 -0
  205. data/vendor/assets/stylesheets/animate/{flash.less → flash.scss} +0 -0
  206. data/vendor/assets/stylesheets/animate/flip/{flip.less → flip.scss} +0 -0
  207. data/vendor/assets/stylesheets/animate/flip/{flipInX.less → flipInX.scss} +0 -0
  208. data/vendor/assets/stylesheets/animate/flip/{flipOutX.less → flipOutX.scss} +0 -0
  209. data/vendor/assets/stylesheets/animate/flip/{flipOutY.less → flipOutY.scss} +0 -0
  210. data/vendor/assets/stylesheets/animate/flip/{flipinY.less → flipinY.scss} +0 -0
  211. data/vendor/assets/stylesheets/animate/{hinge.less → hinge.scss} +0 -0
  212. data/vendor/assets/stylesheets/animate/{lightSpeedIn.less → lightSpeedIn.scss} +0 -0
  213. data/vendor/assets/stylesheets/animate/{lightSpeedOut.less → lightSpeedOut.scss} +0 -0
  214. data/vendor/assets/stylesheets/animate/{pulse.less → pulse.scss} +0 -0
  215. data/vendor/assets/stylesheets/animate/roll/{rollIn.less → rollIn.scss} +0 -0
  216. data/vendor/assets/stylesheets/animate/roll/{rollOut.less → rollOut.scss} +0 -0
  217. data/vendor/assets/stylesheets/animate/rotate/{rotateIn.less → rotateIn.scss} +0 -0
  218. data/vendor/assets/stylesheets/animate/rotate/{rotateInDownLeft.less → rotateInDownLeft.scss} +0 -0
  219. data/vendor/assets/stylesheets/animate/rotate/{rotateInDownRight.less → rotateInDownRight.scss} +0 -0
  220. data/vendor/assets/stylesheets/animate/rotate/{rotateInUpLeft.less → rotateInUpLeft.scss} +0 -0
  221. data/vendor/assets/stylesheets/animate/rotate/{rotateInUpRight.less → rotateInUpRight.scss} +0 -0
  222. data/vendor/assets/stylesheets/animate/rotate/{rotateOut.less → rotateOut.scss} +0 -0
  223. data/vendor/assets/stylesheets/animate/rotate/{rotateOutDownLeft.less → rotateOutDownLeft.scss} +0 -0
  224. data/vendor/assets/stylesheets/animate/rotate/{rotateOutDownRight.less → rotateOutDownRight.scss} +0 -0
  225. data/vendor/assets/stylesheets/animate/rotate/{rotateOutUpLeft.less → rotateOutUpLeft.scss} +0 -0
  226. data/vendor/assets/stylesheets/animate/rotate/{rotateOutUpRight.less → rotateOutUpRight.scss} +0 -0
  227. data/vendor/assets/stylesheets/animate/{rubberBand.less → rubberBand.scss} +0 -0
  228. data/vendor/assets/stylesheets/animate/{shake.less → shake.scss} +0 -0
  229. data/vendor/assets/stylesheets/animate/slide/{slideInDown.less → slideInDown.scss} +0 -0
  230. data/vendor/assets/stylesheets/animate/slide/{slideInLeft.less → slideInLeft.scss} +0 -0
  231. data/vendor/assets/stylesheets/animate/slide/{slideInRight.less → slideInRight.scss} +0 -0
  232. data/vendor/assets/stylesheets/animate/slide/{slideInUp.less → slideInUp.scss} +0 -0
  233. data/vendor/assets/stylesheets/animate/slide/{slideOutDown.less → slideOutDown.scss} +0 -0
  234. data/vendor/assets/stylesheets/animate/slide/{slideOutLeft.less → slideOutLeft.scss} +0 -0
  235. data/vendor/assets/stylesheets/animate/slide/{slideOutRight.less → slideOutRight.scss} +0 -0
  236. data/vendor/assets/stylesheets/animate/slide/{slideOutUp.less → slideOutUp.scss} +0 -0
  237. data/vendor/assets/stylesheets/animate/{swing.less → swing.scss} +0 -0
  238. data/vendor/assets/stylesheets/animate/{tada.less → tada.scss} +0 -0
  239. data/vendor/assets/stylesheets/animate/{wobble.less → wobble.scss} +0 -0
  240. data/vendor/assets/stylesheets/animate/zoom/{zoomIn.less → zoomIn.scss} +0 -0
  241. data/vendor/assets/stylesheets/animate/zoom/{zoomInDown.less → zoomInDown.scss} +0 -0
  242. data/vendor/assets/stylesheets/animate/zoom/{zoomInLeft.less → zoomInLeft.scss} +0 -0
  243. data/vendor/assets/stylesheets/animate/zoom/{zoomInRight.less → zoomInRight.scss} +0 -0
  244. data/vendor/assets/stylesheets/animate/zoom/{zoomInUp.less → zoomInUp.scss} +0 -0
  245. data/vendor/assets/stylesheets/animate/zoom/{zoomOut.less → zoomOut.scss} +0 -0
  246. data/vendor/assets/stylesheets/animate/zoom/{zoomOutDown.less → zoomOutDown.scss} +0 -0
  247. data/vendor/assets/stylesheets/animate/zoom/{zoomOutLeft.less → zoomOutLeft.scss} +0 -0
  248. data/vendor/assets/stylesheets/animate/zoom/{zoomOutRight.less → zoomOutRight.scss} +0 -0
  249. data/vendor/assets/stylesheets/animate/zoom/{zoomOutUp.less → zoomOutUp.scss} +0 -0
  250. data/vendor/assets/stylesheets/aside/aside.scss +121 -0
  251. data/vendor/assets/stylesheets/{bootstrap-additions.less → bootstrap-additions.scss} +0 -2
  252. data/vendor/assets/stylesheets/bootstrap-grid.scss +32 -0
  253. data/vendor/assets/stylesheets/bootstrap-reboot.scss +12 -0
  254. data/vendor/assets/stylesheets/bootstrap.scss +42 -0
  255. data/vendor/assets/stylesheets/callout/{callout.less → callout.scss} +0 -0
  256. data/vendor/assets/stylesheets/datepicker/{datepicker.less → datepicker.scss} +1 -2
  257. data/vendor/assets/stylesheets/fontawesome.scss +11 -0
  258. data/vendor/assets/stylesheets/mixins/_alert.scss +13 -0
  259. data/vendor/assets/stylesheets/mixins/_animated.scss +16 -0
  260. data/vendor/assets/stylesheets/mixins/_background-variant.scss +21 -0
  261. data/vendor/assets/stylesheets/mixins/_badge.scss +12 -0
  262. data/vendor/assets/stylesheets/mixins/_border-radius.scss +35 -0
  263. data/vendor/assets/stylesheets/mixins/_box-shadow.scss +5 -0
  264. data/vendor/assets/stylesheets/mixins/_breakpoints.scss +123 -0
  265. data/vendor/assets/stylesheets/mixins/_buttons.scss +109 -0
  266. data/vendor/assets/stylesheets/mixins/_caret.scss +65 -0
  267. data/vendor/assets/stylesheets/mixins/_clearfix.scss +7 -0
  268. data/vendor/assets/stylesheets/mixins/_float.scss +11 -0
  269. data/vendor/assets/stylesheets/mixins/_forms.scss +137 -0
  270. data/vendor/assets/stylesheets/mixins/_gradients.scss +45 -0
  271. data/vendor/assets/stylesheets/mixins/_grid-framework.scss +67 -0
  272. data/vendor/assets/stylesheets/mixins/_grid.scss +52 -0
  273. data/vendor/assets/stylesheets/mixins/_hover.scss +39 -0
  274. data/vendor/assets/stylesheets/mixins/_image.scss +36 -0
  275. data/vendor/assets/stylesheets/mixins/_list-group.scss +21 -0
  276. data/vendor/assets/stylesheets/mixins/_lists.scss +7 -0
  277. data/vendor/assets/stylesheets/mixins/_nav-divider.scss +10 -0
  278. data/vendor/assets/stylesheets/mixins/_navbar-align.scss +10 -0
  279. data/vendor/assets/stylesheets/mixins/_pagination.scss +22 -0
  280. data/vendor/assets/stylesheets/mixins/_reset-text.scss +17 -0
  281. data/vendor/assets/{bower_components/bootstrap/less/mixins/resize.less → stylesheets/mixins/_resize.scss} +2 -2
  282. data/vendor/assets/stylesheets/mixins/_screen-reader.scss +35 -0
  283. data/vendor/assets/stylesheets/mixins/_size.scss +6 -0
  284. data/vendor/assets/stylesheets/mixins/_table-row.scss +30 -0
  285. data/vendor/assets/stylesheets/mixins/_text-emphasis.scss +14 -0
  286. data/vendor/assets/stylesheets/mixins/_text-hide.scss +9 -0
  287. data/vendor/assets/{bower_components/bootstrap/less/mixins/text-overflow.less → stylesheets/mixins/_text-truncate.scss} +2 -2
  288. data/vendor/assets/stylesheets/mixins/_transition.scss +9 -0
  289. data/vendor/assets/stylesheets/mixins/_visibility.scss +7 -0
  290. data/vendor/assets/stylesheets/modal/{modal.less → modal.scss} +0 -0
  291. data/vendor/assets/stylesheets/popover/popover.scss +34 -0
  292. data/vendor/assets/stylesheets/railsstrap.min.css +8923 -0
  293. data/vendor/assets/stylesheets/railsstrap.min.css.gz +0 -0
  294. data/vendor/assets/stylesheets/railsstrap.scss +78 -0
  295. data/vendor/assets/stylesheets/timepicker/{timepicker.less → timepicker.scss} +0 -0
  296. data/vendor/assets/stylesheets/tooltip/tooltip.scss +60 -0
  297. data/vendor/assets/stylesheets/utilities/_align.scss +8 -0
  298. data/vendor/assets/stylesheets/utilities/_background.scss +19 -0
  299. data/vendor/assets/stylesheets/utilities/_borders.scss +59 -0
  300. data/vendor/assets/stylesheets/utilities/_clearfix.scss +3 -0
  301. data/vendor/assets/stylesheets/utilities/_display.scss +38 -0
  302. data/vendor/assets/{bower_components/bootstrap/less/responsive-embed.less → stylesheets/utilities/_embed.scss} +26 -9
  303. data/vendor/assets/stylesheets/utilities/_flex.scss +46 -0
  304. data/vendor/assets/stylesheets/utilities/_float.scss +9 -0
  305. data/vendor/assets/stylesheets/utilities/_position.scss +36 -0
  306. data/vendor/assets/stylesheets/utilities/_screenreaders.scss +11 -0
  307. data/vendor/assets/stylesheets/utilities/_sizing.scss +12 -0
  308. data/vendor/assets/stylesheets/utilities/_spacing.scss +51 -0
  309. data/vendor/assets/stylesheets/utilities/_text.scss +52 -0
  310. data/vendor/assets/stylesheets/utilities/_visibility.scss +11 -0
  311. metadata +425 -546
  312. data/.bowerrc +0 -3
  313. data/README.md +0 -93
  314. data/Rakefile +0 -25
  315. data/app/helpers/railsstrap/aside_helper.rb +0 -59
  316. data/app/helpers/railsstrap/badge_label_helper.rb +0 -18
  317. data/app/helpers/railsstrap/date_picker_helper.rb +0 -92
  318. data/app/helpers/railsstrap/form_errors_helper.rb +0 -28
  319. data/app/helpers/railsstrap/glyph_helper.rb +0 -22
  320. data/app/helpers/railsstrap/icon_helper.rb +0 -22
  321. data/app/helpers/railsstrap/modal_helper.rb +0 -59
  322. data/app/helpers/railsstrap/navbar_helper.rb +0 -210
  323. data/app/views/railsstrap/_breadcrumbs.html.erb +0 -14
  324. data/lib/generators/railsstrap/install/templates/bootstrap_and_overrides.css +0 -9
  325. data/lib/generators/railsstrap/install/templates/bootstrap_and_overrides.less +0 -42
  326. data/lib/generators/railsstrap/themed/templates/_form.html.erb +0 -36
  327. data/lib/generators/railsstrap/themed/templates/_form.html.slim +0 -13
  328. data/lib/generators/railsstrap/themed/templates/edit.html.erb +0 -5
  329. data/lib/generators/railsstrap/themed/templates/edit.html.haml +0 -4
  330. data/lib/generators/railsstrap/themed/templates/edit.html.slim +0 -4
  331. data/lib/generators/railsstrap/themed/templates/index.html.erb +0 -40
  332. data/lib/generators/railsstrap/themed/templates/index.html.haml +0 -25
  333. data/lib/generators/railsstrap/themed/templates/index.html.slim +0 -26
  334. data/lib/generators/railsstrap/themed/templates/new.html.erb +0 -5
  335. data/lib/generators/railsstrap/themed/templates/new.html.haml +0 -4
  336. data/lib/generators/railsstrap/themed/templates/new.html.slim +0 -4
  337. data/lib/generators/railsstrap/themed/templates/show.html.erb +0 -21
  338. data/lib/generators/railsstrap/themed/templates/show.html.haml +0 -15
  339. data/lib/generators/railsstrap/themed/templates/show.html.slim +0 -16
  340. data/lib/generators/railsstrap/themed/templates/simple_form/_form.html.erb +0 -14
  341. data/lib/generators/railsstrap/themed/templates/simple_form/_form.html.haml +0 -11
  342. data/lib/generators/railsstrap/themed/templates/simple_form/_form.html.slim +0 -12
  343. data/lib/generators/railsstrap/themed/themed_generator.rb +0 -148
  344. data/lib/railsstrap/bootstrap.rb +0 -2
  345. data/lib/railsstrap/constants.rb +0 -6
  346. data/lib/railsstrap/engine.rb +0 -46
  347. data/spec/lib/railsstrap/aside_helper_spec.rb +0 -140
  348. data/spec/lib/railsstrap/badge_label_helper_spec.rb +0 -29
  349. data/spec/lib/railsstrap/bootstrap_flash_helper_spec.rb +0 -130
  350. data/spec/lib/railsstrap/breadcrumbs_spec.rb +0 -75
  351. data/spec/lib/railsstrap/datepicker_helper_spec.rb +0 -59
  352. data/spec/lib/railsstrap/form_errors_helper_spec.rb +0 -147
  353. data/spec/lib/railsstrap/glyph_helper_spec.rb +0 -24
  354. data/spec/lib/railsstrap/icon_helper_spec.rb +0 -24
  355. data/spec/lib/railsstrap/modal_helper_spec.rb +0 -140
  356. data/spec/lib/railsstrap/navbar_helper_spec.rb +0 -373
  357. data/spec/lib/railsstrap/uri_state_spec.rb +0 -49
  358. data/vendor/assets/bower_components/bootstrap/Gruntfile.js +0 -511
  359. data/vendor/assets/bower_components/bootstrap/LICENSE +0 -21
  360. data/vendor/assets/bower_components/bootstrap/README.md +0 -134
  361. data/vendor/assets/bower_components/bootstrap/bower.json +0 -39
  362. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css +0 -476
  363. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +0 -1
  364. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +0 -5
  365. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css +0 -6584
  366. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css.map +0 -1
  367. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css +0 -5
  368. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  369. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +0 -288
  370. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  371. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  372. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  373. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.js +0 -2317
  374. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js +0 -7
  375. data/vendor/assets/bower_components/bootstrap/dist/js/npm.js +0 -13
  376. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  377. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +0 -288
  378. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  379. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  380. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  381. data/vendor/assets/bower_components/bootstrap/grunt/bs-commonjs-generator.js +0 -23
  382. data/vendor/assets/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +0 -41
  383. data/vendor/assets/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +0 -238
  384. data/vendor/assets/bower_components/bootstrap/grunt/bs-raw-files-generator.js +0 -46
  385. data/vendor/assets/bower_components/bootstrap/grunt/configBridge.json +0 -46
  386. data/vendor/assets/bower_components/bootstrap/grunt/sauce_browsers.yml +0 -82
  387. data/vendor/assets/bower_components/bootstrap/js/affix.js +0 -162
  388. data/vendor/assets/bower_components/bootstrap/js/alert.js +0 -94
  389. data/vendor/assets/bower_components/bootstrap/js/button.js +0 -116
  390. data/vendor/assets/bower_components/bootstrap/js/carousel.js +0 -237
  391. data/vendor/assets/bower_components/bootstrap/js/collapse.js +0 -211
  392. data/vendor/assets/bower_components/bootstrap/js/dropdown.js +0 -161
  393. data/vendor/assets/bower_components/bootstrap/js/modal.js +0 -339
  394. data/vendor/assets/bower_components/bootstrap/js/popover.js +0 -108
  395. data/vendor/assets/bower_components/bootstrap/js/scrollspy.js +0 -172
  396. data/vendor/assets/bower_components/bootstrap/js/tab.js +0 -153
  397. data/vendor/assets/bower_components/bootstrap/js/tooltip.js +0 -476
  398. data/vendor/assets/bower_components/bootstrap/js/transition.js +0 -59
  399. data/vendor/assets/bower_components/bootstrap/less/alerts.less +0 -73
  400. data/vendor/assets/bower_components/bootstrap/less/badges.less +0 -66
  401. data/vendor/assets/bower_components/bootstrap/less/bootstrap.less +0 -50
  402. data/vendor/assets/bower_components/bootstrap/less/breadcrumbs.less +0 -26
  403. data/vendor/assets/bower_components/bootstrap/less/button-groups.less +0 -243
  404. data/vendor/assets/bower_components/bootstrap/less/buttons.less +0 -160
  405. data/vendor/assets/bower_components/bootstrap/less/carousel.less +0 -269
  406. data/vendor/assets/bower_components/bootstrap/less/close.less +0 -34
  407. data/vendor/assets/bower_components/bootstrap/less/code.less +0 -69
  408. data/vendor/assets/bower_components/bootstrap/less/component-animations.less +0 -33
  409. data/vendor/assets/bower_components/bootstrap/less/dropdowns.less +0 -214
  410. data/vendor/assets/bower_components/bootstrap/less/forms.less +0 -574
  411. data/vendor/assets/bower_components/bootstrap/less/glyphicons.less +0 -305
  412. data/vendor/assets/bower_components/bootstrap/less/grid.less +0 -84
  413. data/vendor/assets/bower_components/bootstrap/less/input-groups.less +0 -166
  414. data/vendor/assets/bower_components/bootstrap/less/jumbotron.less +0 -50
  415. data/vendor/assets/bower_components/bootstrap/less/labels.less +0 -64
  416. data/vendor/assets/bower_components/bootstrap/less/list-group.less +0 -124
  417. data/vendor/assets/bower_components/bootstrap/less/media.less +0 -61
  418. data/vendor/assets/bower_components/bootstrap/less/mixins.less +0 -39
  419. data/vendor/assets/bower_components/bootstrap/less/mixins/alerts.less +0 -14
  420. data/vendor/assets/bower_components/bootstrap/less/mixins/background-variant.less +0 -8
  421. data/vendor/assets/bower_components/bootstrap/less/mixins/border-radius.less +0 -18
  422. data/vendor/assets/bower_components/bootstrap/less/mixins/buttons.less +0 -52
  423. data/vendor/assets/bower_components/bootstrap/less/mixins/center-block.less +0 -7
  424. data/vendor/assets/bower_components/bootstrap/less/mixins/clearfix.less +0 -22
  425. data/vendor/assets/bower_components/bootstrap/less/mixins/forms.less +0 -85
  426. data/vendor/assets/bower_components/bootstrap/less/mixins/gradients.less +0 -59
  427. data/vendor/assets/bower_components/bootstrap/less/mixins/grid-framework.less +0 -91
  428. data/vendor/assets/bower_components/bootstrap/less/mixins/grid.less +0 -122
  429. data/vendor/assets/bower_components/bootstrap/less/mixins/hide-text.less +0 -21
  430. data/vendor/assets/bower_components/bootstrap/less/mixins/image.less +0 -33
  431. data/vendor/assets/bower_components/bootstrap/less/mixins/labels.less +0 -12
  432. data/vendor/assets/bower_components/bootstrap/less/mixins/list-group.less +0 -29
  433. data/vendor/assets/bower_components/bootstrap/less/mixins/nav-divider.less +0 -10
  434. data/vendor/assets/bower_components/bootstrap/less/mixins/nav-vertical-align.less +0 -9
  435. data/vendor/assets/bower_components/bootstrap/less/mixins/opacity.less +0 -8
  436. data/vendor/assets/bower_components/bootstrap/less/mixins/pagination.less +0 -23
  437. data/vendor/assets/bower_components/bootstrap/less/mixins/panels.less +0 -24
  438. data/vendor/assets/bower_components/bootstrap/less/mixins/progress-bar.less +0 -10
  439. data/vendor/assets/bower_components/bootstrap/less/mixins/reset-filter.less +0 -8
  440. data/vendor/assets/bower_components/bootstrap/less/mixins/responsive-visibility.less +0 -15
  441. data/vendor/assets/bower_components/bootstrap/less/mixins/size.less +0 -10
  442. data/vendor/assets/bower_components/bootstrap/less/mixins/tab-focus.less +0 -9
  443. data/vendor/assets/bower_components/bootstrap/less/mixins/table-row.less +0 -28
  444. data/vendor/assets/bower_components/bootstrap/less/mixins/text-emphasis.less +0 -8
  445. data/vendor/assets/bower_components/bootstrap/less/mixins/vendor-prefixes.less +0 -227
  446. data/vendor/assets/bower_components/bootstrap/less/modals.less +0 -150
  447. data/vendor/assets/bower_components/bootstrap/less/navbar.less +0 -660
  448. data/vendor/assets/bower_components/bootstrap/less/navs.less +0 -242
  449. data/vendor/assets/bower_components/bootstrap/less/normalize.less +0 -427
  450. data/vendor/assets/bower_components/bootstrap/less/pager.less +0 -54
  451. data/vendor/assets/bower_components/bootstrap/less/pagination.less +0 -88
  452. data/vendor/assets/bower_components/bootstrap/less/panels.less +0 -265
  453. data/vendor/assets/bower_components/bootstrap/less/popovers.less +0 -135
  454. data/vendor/assets/bower_components/bootstrap/less/print.less +0 -107
  455. data/vendor/assets/bower_components/bootstrap/less/progress-bars.less +0 -87
  456. data/vendor/assets/bower_components/bootstrap/less/responsive-utilities.less +0 -194
  457. data/vendor/assets/bower_components/bootstrap/less/scaffolding.less +0 -162
  458. data/vendor/assets/bower_components/bootstrap/less/tables.less +0 -234
  459. data/vendor/assets/bower_components/bootstrap/less/theme.less +0 -273
  460. data/vendor/assets/bower_components/bootstrap/less/thumbnails.less +0 -36
  461. data/vendor/assets/bower_components/bootstrap/less/tooltip.less +0 -102
  462. data/vendor/assets/bower_components/bootstrap/less/type.less +0 -302
  463. data/vendor/assets/bower_components/bootstrap/less/utilities.less +0 -55
  464. data/vendor/assets/bower_components/bootstrap/less/variables.less +0 -861
  465. data/vendor/assets/bower_components/bootstrap/less/wells.less +0 -29
  466. data/vendor/assets/bower_components/bootstrap/package.js +0 -22
  467. data/vendor/assets/bower_components/bootstrap/package.json +0 -93
  468. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md +0 -32
  469. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/Gruntfile.js +0 -155
  470. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/LICENSE +0 -21
  471. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/README.md +0 -17
  472. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/bower.json +0 -35
  473. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css +0 -238
  474. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css +0 -5
  475. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js +0 -1
  476. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/component.json +0 -10
  477. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/composer.json +0 -30
  478. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/package.json +0 -35
  479. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js +0 -1384
  480. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less +0 -5
  481. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker.less +0 -294
  482. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec +0 -30
  483. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec +0 -30
  484. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/NuGet.exe +0 -0
  485. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1 +0 -2
  486. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js +0 -88
  487. data/vendor/assets/bower_components/fontawesome/bower.json +0 -23
  488. data/vendor/assets/bower_components/fontawesome/css/font-awesome.css +0 -1801
  489. data/vendor/assets/bower_components/fontawesome/css/font-awesome.css.map +0 -7
  490. data/vendor/assets/bower_components/fontawesome/css/font-awesome.min.css +0 -4
  491. data/vendor/assets/bower_components/fontawesome/fonts/FontAwesome.otf +0 -0
  492. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.eot +0 -0
  493. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.svg +0 -565
  494. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.ttf +0 -0
  495. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.woff +0 -0
  496. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.woff2 +0 -0
  497. data/vendor/assets/bower_components/fontawesome/less/animated.less +0 -34
  498. data/vendor/assets/bower_components/fontawesome/less/bordered-pulled.less +0 -16
  499. data/vendor/assets/bower_components/fontawesome/less/core.less +0 -13
  500. data/vendor/assets/bower_components/fontawesome/less/fixed-width.less +0 -6
  501. data/vendor/assets/bower_components/fontawesome/less/font-awesome.less +0 -17
  502. data/vendor/assets/bower_components/fontawesome/less/icons.less +0 -596
  503. data/vendor/assets/bower_components/fontawesome/less/larger.less +0 -13
  504. data/vendor/assets/bower_components/fontawesome/less/list.less +0 -19
  505. data/vendor/assets/bower_components/fontawesome/less/mixins.less +0 -27
  506. data/vendor/assets/bower_components/fontawesome/less/path.less +0 -15
  507. data/vendor/assets/bower_components/fontawesome/less/rotated-flipped.less +0 -20
  508. data/vendor/assets/bower_components/fontawesome/less/stacked.less +0 -20
  509. data/vendor/assets/bower_components/fontawesome/less/variables.less +0 -606
  510. data/vendor/assets/bower_components/fontawesome/scss/_animated.scss +0 -34
  511. data/vendor/assets/bower_components/fontawesome/scss/_bordered-pulled.scss +0 -16
  512. data/vendor/assets/bower_components/fontawesome/scss/_core.scss +0 -13
  513. data/vendor/assets/bower_components/fontawesome/scss/_fixed-width.scss +0 -6
  514. data/vendor/assets/bower_components/fontawesome/scss/_icons.scss +0 -596
  515. data/vendor/assets/bower_components/fontawesome/scss/_larger.scss +0 -13
  516. data/vendor/assets/bower_components/fontawesome/scss/_list.scss +0 -19
  517. data/vendor/assets/bower_components/fontawesome/scss/_mixins.scss +0 -27
  518. data/vendor/assets/bower_components/fontawesome/scss/_path.scss +0 -15
  519. data/vendor/assets/bower_components/fontawesome/scss/_rotated-flipped.scss +0 -20
  520. data/vendor/assets/bower_components/fontawesome/scss/_stacked.scss +0 -20
  521. data/vendor/assets/bower_components/fontawesome/scss/_variables.scss +0 -606
  522. data/vendor/assets/bower_components/fontawesome/scss/font-awesome.scss +0 -17
  523. data/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +0 -21
  524. data/vendor/assets/bower_components/jquery/bower.json +0 -27
  525. data/vendor/assets/bower_components/jquery/dist/jquery.js +0 -9205
  526. data/vendor/assets/bower_components/jquery/dist/jquery.min.js +0 -5
  527. data/vendor/assets/bower_components/jquery/dist/jquery.min.map +0 -1
  528. data/vendor/assets/bower_components/jquery/src/ajax.js +0 -786
  529. data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +0 -89
  530. data/vendor/assets/bower_components/jquery/src/ajax/load.js +0 -75
  531. data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +0 -13
  532. data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +0 -28
  533. data/vendor/assets/bower_components/jquery/src/ajax/script.js +0 -64
  534. data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +0 -5
  535. data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +0 -3
  536. data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +0 -136
  537. data/vendor/assets/bower_components/jquery/src/attributes.js +0 -11
  538. data/vendor/assets/bower_components/jquery/src/attributes/attr.js +0 -141
  539. data/vendor/assets/bower_components/jquery/src/attributes/classes.js +0 -158
  540. data/vendor/assets/bower_components/jquery/src/attributes/prop.js +0 -94
  541. data/vendor/assets/bower_components/jquery/src/attributes/support.js +0 -35
  542. data/vendor/assets/bower_components/jquery/src/attributes/val.js +0 -161
  543. data/vendor/assets/bower_components/jquery/src/callbacks.js +0 -205
  544. data/vendor/assets/bower_components/jquery/src/core.js +0 -497
  545. data/vendor/assets/bower_components/jquery/src/core/access.js +0 -60
  546. data/vendor/assets/bower_components/jquery/src/core/init.js +0 -123
  547. data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +0 -39
  548. data/vendor/assets/bower_components/jquery/src/core/ready.js +0 -97
  549. data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
  550. data/vendor/assets/bower_components/jquery/src/css.js +0 -450
  551. data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +0 -22
  552. data/vendor/assets/bower_components/jquery/src/css/curCSS.js +0 -57
  553. data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +0 -70
  554. data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
  555. data/vendor/assets/bower_components/jquery/src/css/support.js +0 -96
  556. data/vendor/assets/bower_components/jquery/src/css/swap.js +0 -28
  557. data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +0 -3
  558. data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +0 -12
  559. data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +0 -13
  560. data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +0 -3
  561. data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
  562. data/vendor/assets/bower_components/jquery/src/data.js +0 -178
  563. data/vendor/assets/bower_components/jquery/src/data/Data.js +0 -181
  564. data/vendor/assets/bower_components/jquery/src/data/accepts.js +0 -20
  565. data/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +0 -5
  566. data/vendor/assets/bower_components/jquery/src/data/var/data_user.js +0 -5
  567. data/vendor/assets/bower_components/jquery/src/deferred.js +0 -149
  568. data/vendor/assets/bower_components/jquery/src/deprecated.js +0 -13
  569. data/vendor/assets/bower_components/jquery/src/dimensions.js +0 -50
  570. data/vendor/assets/bower_components/jquery/src/effects.js +0 -648
  571. data/vendor/assets/bower_components/jquery/src/effects/Tween.js +0 -114
  572. data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +0 -13
  573. data/vendor/assets/bower_components/jquery/src/event.js +0 -868
  574. data/vendor/assets/bower_components/jquery/src/event/ajax.js +0 -13
  575. data/vendor/assets/bower_components/jquery/src/event/alias.js +0 -39
  576. data/vendor/assets/bower_components/jquery/src/event/support.js +0 -9
  577. data/vendor/assets/bower_components/jquery/src/exports/amd.js +0 -24
  578. data/vendor/assets/bower_components/jquery/src/exports/global.js +0 -32
  579. data/vendor/assets/bower_components/jquery/src/intro.js +0 -44
  580. data/vendor/assets/bower_components/jquery/src/jquery.js +0 -37
  581. data/vendor/assets/bower_components/jquery/src/manipulation.js +0 -580
  582. data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
  583. data/vendor/assets/bower_components/jquery/src/manipulation/support.js +0 -32
  584. data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
  585. data/vendor/assets/bower_components/jquery/src/offset.js +0 -207
  586. data/vendor/assets/bower_components/jquery/src/outro.js +0 -1
  587. data/vendor/assets/bower_components/jquery/src/queue.js +0 -142
  588. data/vendor/assets/bower_components/jquery/src/queue/delay.js +0 -22
  589. data/vendor/assets/bower_components/jquery/src/selector-native.js +0 -172
  590. data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +0 -14
  591. data/vendor/assets/bower_components/jquery/src/selector.js +0 -1
  592. data/vendor/assets/bower_components/jquery/src/serialize.js +0 -111
  593. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2067
  594. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  595. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  596. data/vendor/assets/bower_components/jquery/src/traversing.js +0 -199
  597. data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +0 -100
  598. data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
  599. data/vendor/assets/bower_components/jquery/src/var/arr.js +0 -3
  600. data/vendor/assets/bower_components/jquery/src/var/class2type.js +0 -4
  601. data/vendor/assets/bower_components/jquery/src/var/concat.js +0 -5
  602. data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +0 -5
  603. data/vendor/assets/bower_components/jquery/src/var/indexOf.js +0 -5
  604. data/vendor/assets/bower_components/jquery/src/var/pnum.js +0 -3
  605. data/vendor/assets/bower_components/jquery/src/var/push.js +0 -5
  606. data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +0 -3
  607. data/vendor/assets/bower_components/jquery/src/var/slice.js +0 -5
  608. data/vendor/assets/bower_components/jquery/src/var/strundefined.js +0 -3
  609. data/vendor/assets/bower_components/jquery/src/var/support.js +0 -4
  610. data/vendor/assets/bower_components/jquery/src/var/toString.js +0 -5
  611. data/vendor/assets/bower_components/jquery/src/wrap.js +0 -79
  612. data/vendor/assets/bower_components/moment/CHANGELOG.md +0 -402
  613. data/vendor/assets/bower_components/moment/LICENSE +0 -22
  614. data/vendor/assets/bower_components/moment/README.md +0 -39
  615. data/vendor/assets/bower_components/moment/benchmarks/clone.js +0 -10
  616. data/vendor/assets/bower_components/moment/bower.json +0 -20
  617. data/vendor/assets/bower_components/moment/locale/af.js +0 -67
  618. data/vendor/assets/bower_components/moment/locale/ar-ma.js +0 -57
  619. data/vendor/assets/bower_components/moment/locale/ar-sa.js +0 -97
  620. data/vendor/assets/bower_components/moment/locale/ar.js +0 -130
  621. data/vendor/assets/bower_components/moment/locale/az.js +0 -103
  622. data/vendor/assets/bower_components/moment/locale/be.js +0 -152
  623. data/vendor/assets/bower_components/moment/locale/bg.js +0 -88
  624. data/vendor/assets/bower_components/moment/locale/bn.js +0 -107
  625. data/vendor/assets/bower_components/moment/locale/bo.js +0 -104
  626. data/vendor/assets/bower_components/moment/locale/br.js +0 -109
  627. data/vendor/assets/bower_components/moment/locale/bs.js +0 -140
  628. data/vendor/assets/bower_components/moment/locale/ca.js +0 -77
  629. data/vendor/assets/bower_components/moment/locale/cs.js +0 -157
  630. data/vendor/assets/bower_components/moment/locale/cv.js +0 -61
  631. data/vendor/assets/bower_components/moment/locale/cy.js +0 -79
  632. data/vendor/assets/bower_components/moment/locale/da.js +0 -58
  633. data/vendor/assets/bower_components/moment/locale/de-at.js +0 -74
  634. data/vendor/assets/bower_components/moment/locale/de.js +0 -73
  635. data/vendor/assets/bower_components/moment/locale/el.js +0 -94
  636. data/vendor/assets/bower_components/moment/locale/en-au.js +0 -64
  637. data/vendor/assets/bower_components/moment/locale/en-ca.js +0 -61
  638. data/vendor/assets/bower_components/moment/locale/en-gb.js +0 -65
  639. data/vendor/assets/bower_components/moment/locale/eo.js +0 -67
  640. data/vendor/assets/bower_components/moment/locale/es.js +0 -77
  641. data/vendor/assets/bower_components/moment/locale/et.js +0 -78
  642. data/vendor/assets/bower_components/moment/locale/eu.js +0 -62
  643. data/vendor/assets/bower_components/moment/locale/fa.js +0 -99
  644. data/vendor/assets/bower_components/moment/locale/fi.js +0 -107
  645. data/vendor/assets/bower_components/moment/locale/fo.js +0 -58
  646. data/vendor/assets/bower_components/moment/locale/fr-ca.js +0 -56
  647. data/vendor/assets/bower_components/moment/locale/fr.js +0 -60
  648. data/vendor/assets/bower_components/moment/locale/gl.js +0 -73
  649. data/vendor/assets/bower_components/moment/locale/he.js +0 -78
  650. data/vendor/assets/bower_components/moment/locale/hi.js +0 -106
  651. data/vendor/assets/bower_components/moment/locale/hr.js +0 -141
  652. data/vendor/assets/bower_components/moment/locale/hu.js +0 -107
  653. data/vendor/assets/bower_components/moment/locale/hy-am.js +0 -114
  654. data/vendor/assets/bower_components/moment/locale/id.js +0 -68
  655. data/vendor/assets/bower_components/moment/locale/is.js +0 -126
  656. data/vendor/assets/bower_components/moment/locale/it.js +0 -68
  657. data/vendor/assets/bower_components/moment/locale/ja.js +0 -59
  658. data/vendor/assets/bower_components/moment/locale/ka.js +0 -109
  659. data/vendor/assets/bower_components/moment/locale/km.js +0 -56
  660. data/vendor/assets/bower_components/moment/locale/ko.js +0 -65
  661. data/vendor/assets/bower_components/moment/locale/lb.js +0 -139
  662. data/vendor/assets/bower_components/moment/locale/lt.js +0 -120
  663. data/vendor/assets/bower_components/moment/locale/lv.js +0 -79
  664. data/vendor/assets/bower_components/moment/locale/mk.js +0 -88
  665. data/vendor/assets/bower_components/moment/locale/ml.js +0 -65
  666. data/vendor/assets/bower_components/moment/locale/mr.js +0 -105
  667. data/vendor/assets/bower_components/moment/locale/ms-my.js +0 -67
  668. data/vendor/assets/bower_components/moment/locale/my.js +0 -89
  669. data/vendor/assets/bower_components/moment/locale/nb.js +0 -59
  670. data/vendor/assets/bower_components/moment/locale/ne.js +0 -106
  671. data/vendor/assets/bower_components/moment/locale/nl.js +0 -69
  672. data/vendor/assets/bower_components/moment/locale/nn.js +0 -58
  673. data/vendor/assets/bower_components/moment/locale/pl.js +0 -100
  674. data/vendor/assets/bower_components/moment/locale/pt-br.js +0 -58
  675. data/vendor/assets/bower_components/moment/locale/pt.js +0 -62
  676. data/vendor/assets/bower_components/moment/locale/ro.js +0 -73
  677. data/vendor/assets/bower_components/moment/locale/ru.js +0 -176
  678. data/vendor/assets/bower_components/moment/locale/sk.js +0 -158
  679. data/vendor/assets/bower_components/moment/locale/sl.js +0 -146
  680. data/vendor/assets/bower_components/moment/locale/sq.js +0 -63
  681. data/vendor/assets/bower_components/moment/locale/sr-cyrl.js +0 -107
  682. data/vendor/assets/bower_components/moment/locale/sr.js +0 -107
  683. data/vendor/assets/bower_components/moment/locale/sv.js +0 -65
  684. data/vendor/assets/bower_components/moment/locale/ta.js +0 -114
  685. data/vendor/assets/bower_components/moment/locale/th.js +0 -59
  686. data/vendor/assets/bower_components/moment/locale/tl-ph.js +0 -60
  687. data/vendor/assets/bower_components/moment/locale/tr.js +0 -94
  688. data/vendor/assets/bower_components/moment/locale/tzm-latn.js +0 -56
  689. data/vendor/assets/bower_components/moment/locale/tzm.js +0 -56
  690. data/vendor/assets/bower_components/moment/locale/uk.js +0 -159
  691. data/vendor/assets/bower_components/moment/locale/uz.js +0 -56
  692. data/vendor/assets/bower_components/moment/locale/vi.js +0 -64
  693. data/vendor/assets/bower_components/moment/locale/zh-cn.js +0 -110
  694. data/vendor/assets/bower_components/moment/locale/zh-tw.js +0 -86
  695. data/vendor/assets/bower_components/moment/min/locales.js +0 -7001
  696. data/vendor/assets/bower_components/moment/min/locales.min.js +0 -4
  697. data/vendor/assets/bower_components/moment/min/moment-with-locales.js +0 -9394
  698. data/vendor/assets/bower_components/moment/min/moment-with-locales.min.js +0 -10
  699. data/vendor/assets/bower_components/moment/min/moment.min.js +0 -7
  700. data/vendor/assets/bower_components/moment/moment.js +0 -2936
  701. data/vendor/assets/bower_components/moment/scripts/npm_prepublish.sh +0 -43
  702. data/vendor/assets/javascripts/datepicker/datepicker.js +0 -3
  703. data/vendor/assets/stylesheets/animate/animate.less +0 -31
  704. data/vendor/assets/stylesheets/aside/aside.less +0 -73
  705. data/vendor/assets/stylesheets/bootstrap.less +0 -2
  706. data/vendor/assets/stylesheets/datepicker/datepicker.js +0 -0
  707. data/vendor/assets/stylesheets/dist/bootstrap-additions.css +0 -518
  708. data/vendor/assets/stylesheets/dist/railsstrap.css +0 -3653
  709. data/vendor/assets/stylesheets/fontawesome-local.less +0 -15
  710. data/vendor/assets/stylesheets/fontawesome.less +0 -2
  711. data/vendor/assets/stylesheets/glyphicons.less +0 -12
  712. data/vendor/assets/stylesheets/popover/popover.less +0 -36
  713. data/vendor/assets/stylesheets/railsstrap.less +0 -78
  714. data/vendor/assets/stylesheets/tooltip/tooltip.less +0 -95
@@ -0,0 +1,112 @@
1
+ shared_examples_for 'the dropdown helper' do
2
+ all_tests_pass_with 'no dropdown options'
3
+ all_tests_pass_with 'the :id dropdown option'
4
+ all_tests_pass_with 'the :variant dropdown option'
5
+ all_tests_pass_with 'the :size dropdown option'
6
+ all_tests_pass_with 'the :layout dropdown option'
7
+ all_tests_pass_with 'the :groupable dropdown option'
8
+ all_tests_pass_with 'the :direction dropdown option'
9
+ all_tests_pass_with 'the :align dropdown option'
10
+ all_tests_pass_with 'the :split dropdown option'
11
+ all_tests_pass_with 'the button: :class dropdown option'
12
+ end
13
+
14
+ #--
15
+
16
+ shared_examples_for 'no dropdown options' do
17
+ specify 'displays a button with the caption and the caret to toggle a menu' do
18
+ html = <<-EOT.strip_heredoc.strip
19
+ <div class="btn-group">
20
+ <button class="dropdown-toggle btn btn-primary" type="button" id="(.+)" data-toggle="dropdown">
21
+ caption
22
+ <span class=\"caret\"><\/span>
23
+ <\/button>
24
+ <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"\\1\">
25
+ content
26
+ <\/ul>
27
+ <\/div>
28
+ EOT
29
+ expect(:dropdown).to generate %r{#{html}}
30
+ end
31
+ end
32
+
33
+ shared_examples_for 'the :id dropdown option' do
34
+ specify 'uses the ID to connect button and ul' do
35
+ id = 'my-modal'
36
+ expect(dropdown: {id: id}).to generate %r{<button.+id="#{id}".*>}
37
+ expect(dropdown: {id: id}).to generate %r{<ul.+aria-labelledby="#{id}".*>}
38
+ end
39
+ end
40
+
41
+ shared_examples_for 'the :variant dropdown option' do
42
+ Railsstrap::Button.variants.each do |variant, variant_class|
43
+ specify %Q{set to :#{variant}, adds the class "#{variant_class}"} do
44
+ html = %r{<button class="dropdown-toggle btn #{variant_class}"}
45
+ expect(dropdown: {variant: variant}).to generate html
46
+ end
47
+ end
48
+ end
49
+
50
+ shared_examples_for 'the :size dropdown option' do
51
+ Railsstrap::Button.sizes.each do |size, size_class|
52
+ specify %Q{set to :#{size}, adds the class "#{size_class}"} do
53
+ html = %r{<button class="dropdown-toggle btn btn-primary #{size_class}"}
54
+ expect(dropdown: {size: size}).to generate html
55
+ end
56
+ end
57
+ end
58
+
59
+ shared_examples_for 'the :layout dropdown option' do
60
+ Railsstrap::Button.layouts.each do |layout, layout_class|
61
+ specify %Q{set to :#{layout}, adds the class "#{layout_class}"} do
62
+ html = %r{<button class="dropdown-toggle btn btn-primary #{layout_class}"}
63
+ expect(dropdown: {layout: layout}).to generate html
64
+ end
65
+ end
66
+ end
67
+
68
+ shared_examples_for 'the :groupable dropdown option' do
69
+ Railsstrap::Dropdown.groupables.each do |groupable, groupable_class|
70
+ specify %Q{set to :#{groupable}, adds the class "#{groupable_class}"} do
71
+ html = %r{^<div class="#{groupable_class}">}
72
+ expect(dropdown: {groupable: groupable}).to generate html
73
+ end
74
+ end
75
+ end
76
+
77
+ shared_examples_for 'the :direction dropdown option' do
78
+ Railsstrap::Dropdown.directions.each do |direction, direction_class|
79
+ specify %Q{set to :#{direction}, adds the class "#{direction_class}"} do
80
+ html = %r{^<div class="btn-group #{direction_class}">}
81
+ expect(dropdown: {direction: direction}).to generate html
82
+ end
83
+ end
84
+ end
85
+
86
+ shared_examples_for 'the :align dropdown option' do
87
+ Railsstrap::Dropdown.aligns.each do |align, align_class|
88
+ specify %Q{set to :#{align}, adds the class "#{align_class}"} do
89
+ html = %r{<ul class="dropdown-menu #{align_class}" role="menu"}
90
+ expect(dropdown: {align: align}).to generate html
91
+ end
92
+ end
93
+ end
94
+
95
+ shared_examples_for 'the :split dropdown option' do
96
+ html = %r{<button type="button" class="btn btn-primary">caption</button>}
97
+
98
+ specify %Q{set to truthy, splits the caption and the caret} do
99
+ expect(dropdown: {split: true}).to generate html
100
+ end
101
+
102
+ specify %Q{set to falsey, does not split the caption and the caret} do
103
+ expect(dropdown: {split: false}).not_to generate html
104
+ end
105
+ end
106
+
107
+ shared_examples_for 'the button: :class dropdown option' do
108
+ specify 'appends the class to the modal button' do
109
+ html = %r{<button class="dropdown-toggle important btn btn-primary"}
110
+ expect(dropdown: {button: {class: 'important'}}).to generate html
111
+ end
112
+ end
@@ -0,0 +1,21 @@
1
+ shared_examples_for 'the glyphicon helper' do
2
+ all_tests_pass_with 'no glyphicon options'
3
+ all_tests_pass_with 'extra glyphicon options'
4
+ end
5
+
6
+ #--
7
+
8
+ shared_examples_for 'no glyphicon options' do
9
+ specify 'creates a <i> with an icon' do
10
+ html = '<i class="glyphicon glyphicon-zoom-in"></i>'
11
+ expect(glyphicon: :zoom_in).to generate html
12
+ end
13
+ end
14
+
15
+ shared_examples_for 'extra glyphicon options' do
16
+ specify 'passes the options to the <span>' do
17
+ options = {name: :zoom_in, tag: :span, class: 'important', data: {value: 1}, id: 'my-glyphicon'}
18
+ html = '<span class="important glyphicon glyphicon-zoom-in" data-value="1" id="my-glyphicon"></span>'
19
+ expect(glyphicon: options).to generate html
20
+ end
21
+ end
@@ -0,0 +1,37 @@
1
+ shared_examples_for 'the horizontal helper' do
2
+ all_tests_pass_with 'the horizontal not wrapped in navbar'
3
+ all_tests_pass_with 'no horizontal options'
4
+ all_tests_pass_with 'extra horizontal options (except :id)'
5
+ all_tests_pass_with 'the horizontal wrapped in a navbar with :id'
6
+ end
7
+
8
+ #--
9
+
10
+ shared_examples_for 'the horizontal not wrapped in navbar' do
11
+ specify 'returns nil' do
12
+ expect(:horizontal).to generate nil
13
+ end
14
+ end
15
+
16
+ shared_examples_for 'no horizontal options' do
17
+ specify 'creates a <div class="collpase navbar-collapse"> element' do
18
+ html = %r{<div class="collapse navbar-collapse" id=".+">content</div>}
19
+ railsstrap.navbar { expect(:horizontal).to generate html }
20
+ end
21
+ end
22
+
23
+ shared_examples_for 'extra horizontal options (except :id)' do
24
+ specify 'passes the options to the <div> element' do
25
+ options = {class: 'important', data: {value: 1}}
26
+ html = %r{<div class="important collapse navbar-collapse" data-value="1"}
27
+ railsstrap.navbar { expect(horizontal: options).to generate html }
28
+ end
29
+ end
30
+
31
+ shared_examples_for 'the horizontal wrapped in a navbar with :id' do
32
+ it 'uses the id from the navbar' do
33
+ id = 'my-navbar'
34
+ html = %r{<div class="collapse navbar-collapse" id="my-navbar">content</div>}
35
+ railsstrap.navbar(id: id) { expect(:horizontal).to generate html}
36
+ end
37
+ end
@@ -0,0 +1,31 @@
1
+ shared_examples_for 'the icon helper' do
2
+ all_tests_pass_with 'no icon options'
3
+ all_tests_pass_with 'extra icon options'
4
+ all_tests_pass_with 'the :library icon option'
5
+ end
6
+
7
+ #--
8
+
9
+ shared_examples_for 'no icon options' do
10
+ specify 'creates a <i> with an icon' do
11
+ html = '<i class="far fa-zoom-in"></i>'
12
+ expect(:icon).to generate html
13
+ end
14
+ end
15
+
16
+ shared_examples_for 'extra icon options' do
17
+ specify 'passes the options to the <i>' do
18
+ options = {name: :zoom_in, class: 'important', data: {value: 1}, id: 'my-icon'}
19
+ html = '<i class="important far fa-zoom-in" data-value="1" id="my-icon"></i>'
20
+ expect(icon: options).to generate html
21
+ end
22
+ end
23
+
24
+ shared_examples_for 'the :library icon option' do
25
+ Railsstrap::Icon.libraries.each do |library, library_class|
26
+ specify %Q{set to :#{library}, adds the class "#{library_class}"} do
27
+ html = %r{<i class="#{library_class}.*}
28
+ expect(icon: {library: library}).to generate html
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,84 @@
1
+ shared_examples_for 'the link_to helper' do
2
+ all_tests_pass_with 'no link_to options'
3
+ all_tests_pass_with 'extra link_to options'
4
+ all_tests_pass_with 'the link wrapped in alert_box'
5
+ all_tests_pass_with 'the link wrapped in dropdown'
6
+ all_tests_pass_with 'the link wrapped in nav'
7
+ all_tests_pass_with 'the link wrapped in vertical'
8
+ all_tests_pass_with 'the link including unsafe Javascript'
9
+ all_tests_pass_with 'the link including safe HTML content'
10
+ end
11
+
12
+ #--
13
+
14
+ shared_examples_for 'no link_to options' do
15
+ specify 'matches the behavior of the framework-defined link_to' do
16
+ html = '<a href="/">content</a>'
17
+ expect(:link_to).to generate html
18
+ end
19
+ end
20
+
21
+ shared_examples_for 'extra link_to options' do
22
+ specify 'passes the options to the <a>' do
23
+ options = {class: 'important', data: {value: 1}, id: 'my-link'}
24
+ html = %r{^<a.+class="important" data-value="1".+id="my-link".*>content</a>$}
25
+ expect(link_to: options).to generate html
26
+ end
27
+ end
28
+
29
+ shared_examples_for 'the link wrapped in alert_box' do
30
+ specify 'adds the "alert-link" class to the link' do
31
+ html = %r{(.*)class="(.*)alert-link(.*)">.*}
32
+ railsstrap.alert_box { expect(:link_to).to generate html }
33
+ end
34
+ end
35
+
36
+ shared_examples_for 'the link wrapped in dropdown' do
37
+ specify 'surrounds the link in a <li> and adds role and tabindex' do
38
+ html = %r{<li role="presentation"><a.+role="menuitem" tabindex="-1".*>content</a></li>}
39
+ railsstrap.dropdown('') { expect(:link_to).to generate html }
40
+ end
41
+ end
42
+
43
+ shared_examples_for 'the link wrapped in nav' do
44
+ specify 'surrounds the link in a <li> item' do
45
+ html = %r{^<li class="nav-item"><a(.*)class="nav-link"(.*)}m
46
+ railsstrap.nav { expect(:link_to).to generate html }
47
+ end
48
+
49
+ describe 'if the link is to the current page' do
50
+ before { allow_any_instance_of(Railsstrap::LinkTo).to receive(:current_page?).and_return true }
51
+
52
+ specify 'surrounds the link in a <li class="active"> item' do
53
+ html = %r{(class="active.*")}
54
+ railsstrap.nav { expect(:link_to).to generate html }
55
+ end
56
+ end
57
+ end
58
+
59
+ shared_examples_for 'the link wrapped in vertical' do
60
+ specify 'adds the "navbar-brand" class to the link' do
61
+ html = %r{^<a.+class="navbar-brand".*>content</a>$}
62
+ railsstrap.navbar(id: 'id') do
63
+ railsstrap.vertical { expect(:link_to).to generate html }
64
+ end
65
+ end
66
+ end
67
+
68
+ shared_examples_for 'the link including unsafe Javascript' do
69
+ specify 'uses the original link_to helper which escapes the link' do
70
+ expect(link_to: :xss_script).not_to generate %r{<script>}
71
+ railsstrap.alert_box { expect(link_to: :xss_script).not_to generate %r{<script>} }
72
+ railsstrap.dropdown('') { expect(link_to: :xss_script).not_to generate %r{<script>} }
73
+ railsstrap.nav { expect(link_to: :xss_script).not_to generate %r{<script>} }
74
+ railsstrap.navbar(id: 'id') do
75
+ railsstrap.vertical { expect(link_to: :xss_script).not_to generate %r{<script>} }
76
+ end
77
+ end
78
+ end
79
+
80
+ shared_examples_for 'the link including safe HTML content' do
81
+ specify 'does not escape the HTML content' do
82
+ expect(link_to: :safe_html).to generate %r{<hr />}
83
+ end
84
+ end
@@ -0,0 +1,96 @@
1
+ shared_examples_for 'the modal helper' do
2
+ all_tests_pass_with 'no modal options'
3
+ all_tests_pass_with 'the :id modal option'
4
+ all_tests_pass_with 'the :body modal option'
5
+ all_tests_pass_with 'the :title modal option'
6
+ all_tests_pass_with 'the :size modal option'
7
+ all_tests_pass_with 'the button: :caption modal option'
8
+ all_tests_pass_with 'the button: :variant modal option'
9
+ all_tests_pass_with 'the button: :size modal option'
10
+ all_tests_pass_with 'the button: :class modal option'
11
+ end
12
+
13
+ #--
14
+
15
+ shared_examples_for 'no modal options' do
16
+ specify 'sets the role and the class to "modal", uses a generated ID and uses "Modal" as the title and caption' do
17
+ html = %r{(div.*class="modal.+").*(id="modal-(.*[0-9])").+(role="dialog")}
18
+ expect(:modal).to generate %r{#{html}}
19
+ end
20
+ end
21
+
22
+ shared_examples_for 'the :id modal option' do
23
+ specify 'uses the ID to connect button and modal' do
24
+ id = 'my-modal'
25
+ expect(modal: {id: id}).to generate %r{<button.+data-target="##{id}">Modal<\/button>}
26
+ expect(modal: {id: id}).to generate %r{<div.+id="#{id}".+aria-labelledby="label-#{id}".+>}
27
+ expect(modal: {id: id}).to generate %r{<h4.+id="label-#{id}">Modal<\/h4>}
28
+ end
29
+ end
30
+
31
+ shared_examples_for 'the :body modal option' do
32
+ let(:html) { %r{<div class="modal-body">Body</div>} }
33
+
34
+ specify 'given either a content or a block, is ignored' do
35
+ expect(modal: {body: 'Body'}).not_to generate html
36
+ end
37
+
38
+ specify 'given neither content nor a block, it is displayed as the content' do
39
+ expect(railsstrap.modal(body: 'Body')).to match html
40
+ end
41
+ end
42
+
43
+ shared_examples_for 'the :title modal option' do
44
+ specify 'sets the modal title to the given value' do
45
+ html = %r{<h4 class="modal-title".+>Title</h4>}
46
+ expect(modal: {title: 'Title'}).to generate html
47
+ end
48
+ end
49
+
50
+ shared_examples_for 'the :size modal option'do
51
+ Railsstrap::Modal.dialog_sizes.each do |size, size_class|
52
+ specify %Q{set to :#{size}, adds the class "#{size_class}"} do
53
+ html = %r{<div class="modal-dialog #{size_class}">}
54
+ expect(modal: {size: size}).to generate html
55
+ end
56
+ end
57
+ end
58
+
59
+ shared_examples_for 'the button: :caption modal option' do
60
+ specify 'sets the button caption to the given value' do
61
+ html = %r{<button.+>Click me</button>}
62
+ expect(modal: {button: {caption: 'Click me'}}).to generate html
63
+ end
64
+ end
65
+
66
+ shared_examples_for 'the button: :variant modal option' do
67
+ Railsstrap::Button.variants.each do |variant, variant_class|
68
+ specify %Q{set to :#{variant}, adds the class "#{variant_class}"} do
69
+ html = %r{<button class="btn #{variant_class}"}
70
+ expect(modal: {button: {variant: variant}}).to generate html
71
+ end
72
+ end
73
+ end
74
+
75
+ shared_examples_for 'the button: :size modal option' do
76
+ Railsstrap::Button.sizes.each do |size, size_class|
77
+ specify %Q{set to :#{size}, adds the class "#{size_class}"} do
78
+ html = %r{<button class="btn btn-primary #{size_class}"}
79
+ expect(modal: {button: {size: size}}).to generate html
80
+ end
81
+ end
82
+ end
83
+
84
+ shared_examples_for 'the button: :class modal option' do
85
+ specify 'appends the class to the modal button' do
86
+ html = %r{<button class="important btn btn-primary"}
87
+ expect(modal: {button: {class: 'important'}}).to generate html
88
+ end
89
+ end
90
+
91
+ shared_examples_for 'the :dismissable modal option' do
92
+ specify 'renders the dismissable button on the modal button' do
93
+ html = %r{.*(class="close").*(dismiss="modal")}
94
+ expect(modal: {dismissible: true, dismiss: :modal}).to generate html
95
+ end
96
+ end
@@ -0,0 +1,49 @@
1
+ shared_examples_for 'the nav helper' do
2
+ all_tests_pass_with 'no nav options'
3
+ all_tests_pass_with 'extra nav options'
4
+ all_tests_pass_with 'the :as nav option'
5
+ all_tests_pass_with 'the :layout nav option'
6
+ all_tests_pass_with 'the nav wrapped in navbar'
7
+ end
8
+
9
+ #--
10
+
11
+ shared_examples_for 'no nav options' do
12
+ specify 'creates a <nav> element with the "navigation" role' do
13
+ html = %r{<nav.+role="navigation"(.*)<\/nav>}
14
+ expect(:nav).to generate html
15
+ end
16
+ end
17
+
18
+ shared_examples_for 'extra nav options' do
19
+ specify 'passes the options to the <ul> element' do
20
+ options = {class: 'important', data: {value: 1}, id: 'my-alert'}
21
+ html = %r{(important).*(data-value="1").*(id="my-alert")}
22
+ expect(nav: options).to generate html
23
+ end
24
+ end
25
+
26
+ shared_examples_for 'the :as nav option' do
27
+ Railsstrap::Nav.styles.each do |style, style_class|
28
+ specify %Q{set to :#{context}, sets the class "#{style_class}"} do
29
+ html = %r{<nav class="nav #{style_class}"}
30
+ expect(nav: {as: style}).to generate html
31
+ end
32
+ end
33
+ end
34
+
35
+ shared_examples_for 'the :layout nav option' do
36
+ Railsstrap::Nav.layouts.each do |layout, layout_class|
37
+ specify %Q{set to :#{layout}, adds the class "#{layout_class}"} do
38
+ html = %r{<nav class="nav #{layout_class}"}
39
+ expect(nav: {layout: layout}).to generate html
40
+ end
41
+ end
42
+ end
43
+
44
+ shared_examples_for 'the nav wrapped in navbar' do
45
+ specify 'creates a <nav> element with the "navbar-nav" class' do
46
+ html = %r{<nav.*(role="navigation")*(class="nav navbar-nav").+<\/nav>}
47
+ railsstrap.navbar { expect(:nav).to generate html }
48
+ end
49
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ shared_examples_for 'the navbar helper' do
4
+ all_tests_pass_with 'no navbar options'
5
+ all_tests_pass_with 'the :fluid navbar option'
6
+ all_tests_pass_with 'the :variant navbar option'
7
+ all_tests_pass_with 'the :text_variant navbar option'
8
+ all_tests_pass_with 'the :position navbar option'
9
+ end
10
+
11
+ #--
12
+
13
+ shared_examples_for 'no navbar options' do
14
+ specify 'creates a <nav> element with a nested container' do
15
+ html = <<-EOT.strip_heredoc.strip
16
+ <nav class="navbar bg-primary navbar-expand-lg navbar-dark" role="navigation">
17
+ <div class="container">
18
+ content
19
+ </div>
20
+ </nav>
21
+ EOT
22
+ expect(:navbar).to generate html
23
+ end
24
+ end
25
+
26
+ shared_examples_for 'the :fluid navbar option' do
27
+ Railsstrap::Navbar.layouts.each do |value, fluid_class|
28
+ specify %(set to #{value}, sets the class "#{fluid_class}") do
29
+ html = /<div class="#{fluid_class}">/
30
+ expect(navbar: { fluid: value }).to generate html
31
+ end
32
+ end
33
+ end
34
+
35
+ shared_examples_for 'the :variant navbar option' do
36
+ Railsstrap::Navbar.variants.each do |value, variant_class|
37
+ specify %(set to #{value}, sets the class "#{variant_class}") do
38
+ html = /<nav class="navbar #{variant_class}.+/
39
+ expect(navbar: { variant: value }).to generate html
40
+ end
41
+ end
42
+ end
43
+
44
+ shared_examples_for 'the :text_variant navbar option' do
45
+ Railsstrap::Navbar.text_variants.each do |value, variant_class|
46
+ specify %(set to #{value}, sets the class "#{variant_class}") do
47
+ html = /^<nav class="navbar(.*)navbar-dark(.*)" role="navigation"(.*)/
48
+ expect(navbar: { variant: value }).to generate html
49
+ end
50
+ end
51
+ end
52
+
53
+ shared_examples_for 'the :position navbar option' do
54
+ Railsstrap::Navbar.positions.each do |position, position_class|
55
+ specify %(set to #{position}, sets the class "#{position_class}") do
56
+ html = /(.*)class=".+#{position_class}"(.*)/
57
+ expect(navbar: { position: position }).to generate html
58
+ end
59
+ end
60
+ end