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,149 @@
1
+ require 'railsstrap/classes/stack'
2
+ require 'ostruct'
3
+ require 'active_support'
4
+ require 'active_support/core_ext'
5
+
6
+ module Railsstrap
7
+ # @api private
8
+ module Classes
9
+ class Base
10
+ def initialize(app = nil, *args, &block)
11
+ @app = app
12
+ @concat = block_given? && @app.respond_to?(:concat_content)
13
+ @options = extract_options_from(*args, &block).dup
14
+ @content = extract_content_from *args, &block
15
+ end
16
+
17
+ def extract!(*keys)
18
+ @attributes = @options.slice! *keys
19
+ @options.any?
20
+ end
21
+
22
+ def merge!(attributes = {})
23
+ html_attributes.deep_merge! attributes
24
+ end
25
+
26
+ def merge_html!(html)
27
+ @content ||= html
28
+ end
29
+
30
+ def append_class!(new_class, hash = html_attributes, attribute = :class)
31
+ existing_class = hash[attribute]
32
+ hash[attribute] = [existing_class, new_class].compact.join ' '
33
+ end
34
+
35
+ def append_class_to!(key, new_class)
36
+ append_class! new_class, (html_attributes[key] ||= {})
37
+ end
38
+
39
+ def prepend_html!(html)
40
+ @content = safe_join [html, @content]
41
+ end
42
+
43
+ def render_tag(tag)
44
+ render content_tag(tag)
45
+ end
46
+
47
+ def render_partial(partial)
48
+ file = File.expand_path "../../views/railsstrap/_#{partial}.html.erb", __FILE__
49
+ template = ERB.new(File.read file)
50
+ assigns = OpenStruct.new attributes.merge(content: @content)
51
+ render template.result(assigns.instance_eval {binding &nil}).html_safe
52
+ end
53
+
54
+ # @return [#to_s] the HTML to show a dismissible button.
55
+ # @options option :dismiss What the button should dismiss. Can be :alert, :modal
56
+ def dismissible_button
57
+ if @options[:dismissible] || @options[:priority]
58
+ path = '../../views/railsstrap/_dismiss_button.html.erb'
59
+ template = ERB.new(File.read File.expand_path(path, __FILE__))
60
+ assigns = OpenStruct.new dismiss: dismiss[@options[:dismiss]]
61
+ render template.result(assigns.instance_eval {binding &nil}).html_safe
62
+ end
63
+ end
64
+
65
+ def dismiss
66
+ HashWithIndifferentAccess.new(:alert).tap do |klass|
67
+ klass[:modal] = 'modal'
68
+ klass[:alert] = 'alert'
69
+ end
70
+ end
71
+
72
+ def tag
73
+ :div
74
+ end
75
+
76
+ def attributes
77
+ @attributes || @options
78
+ end
79
+
80
+ def content
81
+ items = Array.wrap(@content).map do |item|
82
+ item.is_a?(Base) ? item.content_tag(item.tag) : item
83
+ end
84
+ items.all?(&:html_safe?) ? safe_join(items) : items.join
85
+ end
86
+
87
+ def content_tag(tag)
88
+ @app.content_tag tag, content, attributes
89
+ end
90
+
91
+ def url
92
+ @url
93
+ end
94
+
95
+ def extract_from(option, attributes = [])
96
+ @attributes[option] = @options[option].except *attributes if @options[option]
97
+ end
98
+
99
+ def self.variant_types
100
+ %w[primary secondary success warning danger info dark light].freeze
101
+ end
102
+
103
+ private
104
+
105
+ def safe_join(array = [])
106
+ array.compact.join("\n").html_safe
107
+ end
108
+
109
+ def stack(&block)
110
+ Stack.unshift self
111
+ yield.tap {Stack.shift}
112
+ end
113
+
114
+ def html_attributes
115
+ @html_attributes || attributes
116
+ end
117
+
118
+ def render(html)
119
+ @concat && html ? @app.concat_content(html) : html
120
+ end
121
+
122
+ def extract_options_from(*args, &block)
123
+ args.shift unless block_given?
124
+ args.extract_options!
125
+ end
126
+
127
+ def extract_content_from(*args, &block)
128
+ if block_given?
129
+ stack {capture_content &block}
130
+ else
131
+ args.shift
132
+ end
133
+ end
134
+
135
+ def extract_url_from(*args)
136
+ args.delete_at(block_given? ? 0 : 1)
137
+ end
138
+
139
+ def capture_content(&block)
140
+ content = @app.capture &block
141
+ if content.is_a? String
142
+ ActiveSupport::SafeBuffer.new.safe_concat(content)
143
+ end
144
+ end
145
+ end
146
+ end
147
+
148
+ include Classes
149
+ end
@@ -0,0 +1,68 @@
1
+ require 'railsstrap/classes/base'
2
+
3
+ module Railsstrap
4
+ module Classes
5
+ class Button < Base
6
+ # @return [#to_s] the variant-related class to assign to the button.
7
+ def variant_class
8
+ Button.variants[@options[:variant]]
9
+ end
10
+
11
+ # @return [#to_s] the size-related class to assign to the button.
12
+ def size_class
13
+ Button.sizes[@options[:size]]
14
+ end
15
+
16
+ # @return [#to_s] the layout-related class to assign to the button.
17
+ def layout_class
18
+ Button.layouts[@options[:layout]]
19
+ end
20
+
21
+ # @return [Hash<Symbol, String>] the classes that Bootstrap requires to
22
+ # append to buttons for each possible variant.
23
+
24
+ def self.variants
25
+ HashWithIndifferentAccess.new(:'btn-primary').tap do |klass|
26
+ variant_types.each do |variant|
27
+ klass[variant.to_sym] = :"btn-#{variant}"
28
+ klass[:"outline-#{variant}"] = :"btn-outline-#{variant}"
29
+ end
30
+ klass[:link] = :'btn-link'
31
+ end
32
+ end
33
+
34
+ # @return [Hash<Symbol, String>] the classes that Bootstrap requires to
35
+ # append to buttons for each possible size.
36
+
37
+ def self.sizes
38
+ HashWithIndifferentAccess.new.tap do |klass|
39
+ klass[:extra_small] = :'btn-xs'
40
+ klass[:large] = :'btn-lg'
41
+ klass[:lg] = :'btn-lg'
42
+ klass[:sm] = :'btn-sm'
43
+ klass[:small] = :'btn-sm'
44
+ klass[:xs] = :'btn-xs'
45
+ end
46
+ end
47
+
48
+ # @return [Hash<Symbol, String>] the classes that Bootstrap requires to
49
+ # append to buttons for each possible layout.
50
+
51
+ def self.layouts
52
+ HashWithIndifferentAccess.new.tap do |klass|
53
+ klass[:block] = :'btn-block'
54
+ end
55
+ end
56
+
57
+ # @return [Hash<Symbol>, String] the javascript to toggle or dispose a button.
58
+ # @required @options[:id]
59
+
60
+ def self.js_methods
61
+ HashWithIndifferentAccess.new.tap do |klass|
62
+ klass[:toggle] = "$(#{@options[:id]}).button('toggle')"
63
+ klass[:dispose] = "$(#{@options[:id]}).button('dispose')"
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,66 @@
1
+ require 'railsstrap/classes/base'
2
+
3
+ module Railsstrap
4
+ module Classes
5
+ class ButtonGroup < Base
6
+ # @return [#to_s] the variant-related class to assign to the button.
7
+ def variant_class
8
+ Button.variants[@options[:variant]]
9
+ end
10
+
11
+ # @return [#to_s] the size-related class to assign to the button group.
12
+ def size_class
13
+ Button.sizes[@options[:size]]
14
+ end
15
+
16
+ # @return [#to_s] the layout-related class to assign to the button group.
17
+ def layout_class
18
+ Button.layouts[@options[:layout]]
19
+ end
20
+
21
+ def vertical_class
22
+ @options[:vertical].present? ? 'btn-group-vertical' : nil
23
+ end
24
+
25
+ def toolbar_class
26
+ @options[:toolbar].present? ? 'btn-toolbar' : nil
27
+ end
28
+
29
+ def role_name
30
+ { role: @options[:role] ||= 'group' }
31
+ end
32
+
33
+ def aria_label
34
+ @options[:'aria-label'] ||= 'Button Group'
35
+ end
36
+
37
+ def buttons
38
+ @options[:buttons].map! {|button| @app.button(button)} if @options[:buttons]
39
+ end
40
+
41
+ # @return [Hash<Symbol, String>] the classes that Bootstrap requires to
42
+ # append to buttons for each possible size.
43
+
44
+ def self.sizes
45
+ HashWithIndifferentAccess.new.tap do |klass|
46
+ klass[:extra_small] = :'btn-xs'
47
+ klass[:large] = :'btn-lg'
48
+ klass[:lg] = :'btn-lg'
49
+ klass[:sm] = :'btn-sm'
50
+ klass[:small] = :'btn-sm'
51
+ klass[:xs] = :'btn-xs'
52
+ end
53
+ end
54
+
55
+ # @return [Hash<Symbol, String>] the classes that Bootstrap requires to
56
+ # append to buttons for each possible layout.
57
+
58
+ def self.layouts
59
+ HashWithIndifferentAccess.new.tap do |klass|
60
+ klass[:block] = :'btn-block'
61
+ end
62
+ end
63
+
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,33 @@
1
+ require 'railsstrap/classes/button'
2
+
3
+ module Railsstrap
4
+ module Classes
5
+ class ButtonTo < Button
6
+ def initialize(app = nil, *args, &block)
7
+ @url = extract_url_from(*args, &block)
8
+ super
9
+ end
10
+
11
+ def append_button_class!(klass)
12
+ case Railsstrap.framework
13
+ when :rails then append_class! klass
14
+ when :padrino, :middleman then append_class_to! :submit_options, klass
15
+ end
16
+ end
17
+
18
+ def append_form_class!(klass)
19
+ case Railsstrap.framework
20
+ when :rails then append_class! klass, html_attributes, :form_class
21
+ when :padrino, :middleman then append_class! klass
22
+ end
23
+ end
24
+
25
+ def accepts_block?
26
+ case Railsstrap.framework
27
+ when :rails then defined?(ActionView::VERSION) # only Rails >= 4
28
+ when :padrino, :middleman then true
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,74 @@
1
+ require 'railsstrap/classes/base'
2
+
3
+ module Railsstrap
4
+ module Classes
5
+ class Card < Base
6
+ # Differently from other classes, Panel works with no content or block,
7
+ # given that the options[:body] is passed, in which case it functions
8
+ # as the content.
9
+ def initialize(app = nil, *args, &block)
10
+ if args.first.is_a?(Hash) && !block_given?
11
+ args.unshift args.first.delete(:body)
12
+ end
13
+
14
+ super
15
+ end
16
+
17
+ # @return [#to_s] the content-related class to assign to the card.
18
+ def variant_class
19
+ Card.variants[@options[:variant]]
20
+ end
21
+
22
+ # @return [#to_s] the content-related class to assign to the card.
23
+ def text_variant_class
24
+ @options[:text_variant]
25
+ end
26
+
27
+ # @return [#to_s] the HTML tag to wrap the card in.
28
+ def tag
29
+ @options.fetch :tag, :div
30
+ end
31
+
32
+ # @return [#to_s] the text to display as the card header
33
+ def header
34
+ text = title || @options[:header]
35
+ @app.content_tag :div, text, class: 'card-header' if text
36
+ end
37
+
38
+ def image_cap
39
+ if @options[:img]
40
+ @app.content_tag :img, nil, class: 'card-img-top', src: @options[:img]
41
+ end
42
+ end
43
+ def body
44
+ if @options[:body]
45
+ @app.content_tag :div, @options[:body], class: 'card-body'
46
+ end
47
+ end
48
+
49
+
50
+ def extract_content_from(*args, &block)
51
+ if block_given?
52
+ super
53
+ else
54
+ @app.content_tag :div, super, class: 'card-body'
55
+ end
56
+ end
57
+
58
+ def title
59
+ if @options[:title]
60
+ @app.content_tag :h3, @options[:title], class: 'card-title'
61
+ end
62
+ end
63
+
64
+ # @return [Hash<Symbol, String>] the class that Bootstrap requires to
65
+ # append to an card box based on its variant.
66
+ def self.variants
67
+ HashWithIndifferentAccess.new(:'bg-default').tap do |klass|
68
+ variant_types.each { |variant| klass[variant.to_sym] = :"bg-#{variant}" }
69
+ end
70
+ end
71
+
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,22 @@
1
+ require 'railsstrap/classes/base'
2
+
3
+ module Railsstrap
4
+ module Classes
5
+ class CardGroup < Base
6
+
7
+ def layout
8
+ CardGroup.column_types[@options[:layout]]
9
+ end
10
+
11
+ # @return [#to_s] the grid-related class to assign to each card
12
+ # nested in this card group.
13
+ def self.column_types
14
+ HashWithIndifferentAccess.new('card-group').tap do |klass|
15
+ klass[:deck] = :'card-deck'
16
+ klass[:group] = :'card-group'
17
+ klass[:column] = :'card-column'
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'railsstrap/classes/base'
4
+
5
+ module Railsstrap
6
+ module Classes
7
+ # @api private
8
+ class Cdn
9
+ # @note if unspecified, the version should match the latest available
10
+ # version. If that's not the case, it's a bug and should be fixed.
11
+ def self.jquery_js(options = {})
12
+ options[:version] = options[:version].nil? ? '3.3.1' : options[:version]
13
+ cdn_asset options.merge(library: 'jquery')
14
+ end
15
+
16
+ # @note if unspecified, the version should match the latest available
17
+ # version. If that's not the case, it's a bug and should be fixed.
18
+ def self.bootstrap_css(options = {})
19
+ defaults = {version: '4.0.0', scheme: :https, minified: true}
20
+ options.merge!(defaults)
21
+ "#{options[:scheme].to_s}://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/#{options[:version]}/css/bootstrap.#{options[:minified] ? 'min.' : '.'}css"
22
+ end
23
+
24
+ # @note if unspecified, the version should match the latest available
25
+ # version. If that's not the case, it's a bug and should be fixed.
26
+ # @note Version 4 of bootstrap does not have a theme; use SASS in this situation and override variables
27
+ def self.bootstrap_theme(options = {})
28
+ defaults = {version: '3.3.7', scheme: :https, minified: true}
29
+ options.merge!(defaults)
30
+ return if options[:version] =~ !/^3/
31
+ "#{options[:scheme].to_s}://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/#{options[:version]}/css/bootstrap-theme.#{options[:minified] ? 'min.' : ''}css"
32
+ end
33
+
34
+ def self.bootstrap_js(options = {})
35
+ defaults = {version: '4.0.0', scheme: :https, minified: true}
36
+ options.merge!(defaults)
37
+ "#{options[:scheme].to_s}://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/#{options[:version]}/js/bootstrap.#{options[:minified] ? 'min.' : '.'}js"
38
+ end
39
+
40
+ # @note if unspecified, the version should match the latest available
41
+ # version. If that's not the case, it's a bug and should be fixed.
42
+ def self.font_awesome(options = {})
43
+ defaults = {version: '4.7.0', scheme: :https, minified: true}
44
+ options.merge!(defaults)
45
+ "#{options[:scheme].to_s}://cdnjs.cloudflare.com/ajax/libs/font-awesome/#{options[:version]}/css/font-awesome.#{options[:minified] ? 'min.' : '.'}css"
46
+ end
47
+
48
+ # @description Use the cdn_asset method to build a URL
49
+ def self.font_awesome_js(options = {})
50
+ version = '5.0.6'
51
+ opts = {
52
+ version: version,
53
+ scheme: 'https',
54
+ host: '//use.fontawesome.com',
55
+ path: "releases/v#{version}/js",
56
+ name: 'all',
57
+ ext: 'js'
58
+ }.merge(options)
59
+ cdn_asset opts
60
+ end
61
+
62
+ # fetches popper js
63
+ def self.popper_js(options = {})
64
+ opts = {
65
+ version: '1.13.0',
66
+ path: 'ajax/libs/popper.js'
67
+ }.merge(options)
68
+ cdn_asset opts
69
+ end
70
+
71
+ # @return the url of the library from cdnjs.com
72
+ # def self.query(options = {})
73
+ # return if options[:library].nil?
74
+ # buffer = open("https://api.cdnjs.com/libraries?search=#{options[:library]}&fields=version,assets").read
75
+ # JSON.parse(buffer)
76
+ # end
77
+
78
+ # @note The problem with this method is there is no real sanity with CDN naming conventions
79
+ # Considering using API to smartly figure out what is being asked of the helper to link in
80
+ def self.cdn_asset(options = {})
81
+ version = options[:version]
82
+ extension = options[:extension]
83
+ name = options[:name]
84
+ name = "#{name}.min" if options.fetch(:minified, true)
85
+ library = options[:library]
86
+ scheme = options[:scheme].nil? ? 'https:' : "#{options[:scheme]}:"
87
+ path = options[:path].nil? ? 'ajax/libs' : options[:path].to_s
88
+ host = options[:host].nil? ? "#{scheme}//cdnjs.cloudflare.com" : options[:host]
89
+ "#{host}/#{path}/#{library}/#{version}/#{name}.#{extension}"
90
+ end
91
+ end
92
+ end
93
+ end