locomotivecms_wagon 2.4.1 → 3.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (359) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -3
  3. data/generators/blank/app/assets/.babelrc +3 -0
  4. data/generators/blank/app/assets/fonts/.empty_directory +1 -0
  5. data/generators/blank/app/assets/javascripts/app.js +19 -0
  6. data/generators/blank/app/assets/javascripts/sections/_manager.js +94 -0
  7. data/generators/blank/app/assets/javascripts/sections/index.js +5 -0
  8. data/generators/blank/app/assets/package.json.tt +35 -0
  9. data/generators/blank/app/assets/postcss.config.js +6 -0
  10. data/generators/blank/app/assets/stylesheets/app.scss +1 -0
  11. data/generators/blank/app/assets/webpack.common.js +47 -0
  12. data/generators/blank/app/assets/webpack.dev.js +7 -0
  13. data/generators/blank/app/assets/webpack.prod.js +12 -0
  14. data/generators/blank/app/views/pages/404.liquid +1 -1
  15. data/generators/blank/app/views/pages/index.liquid +7 -15
  16. data/generators/blank/app/views/pages/layouts/default.liquid +22 -0
  17. data/generators/blank/app/views/sections/.empty_directory +1 -0
  18. data/generators/page/template.liquid.tt +11 -0
  19. data/generators/section/%type%.js.tt +26 -0
  20. data/generators/section/template.liquid.tt +183 -0
  21. data/lib/locomotive/wagon.rb +3 -2
  22. data/lib/locomotive/wagon/cli.rb +38 -10
  23. data/lib/locomotive/wagon/commands/clone_command.rb +3 -0
  24. data/lib/locomotive/wagon/commands/concerns/deploy_file_concern.rb +1 -1
  25. data/lib/locomotive/wagon/commands/concerns/steam_concern.rb +1 -1
  26. data/lib/locomotive/wagon/commands/loggers/sync_logger.rb +7 -0
  27. data/lib/locomotive/wagon/commands/pull_command.rb +1 -1
  28. data/lib/locomotive/wagon/commands/pull_sub_commands/concerns/assets_concern.rb +19 -10
  29. data/lib/locomotive/wagon/commands/pull_sub_commands/pull_base_command.rb +7 -3
  30. data/lib/locomotive/wagon/commands/pull_sub_commands/pull_content_entries_command.rb +11 -2
  31. data/lib/locomotive/wagon/commands/pull_sub_commands/pull_content_types_command.rb +1 -1
  32. data/lib/locomotive/wagon/commands/pull_sub_commands/pull_site_command.rb +24 -5
  33. data/lib/locomotive/wagon/commands/pull_sub_commands/pull_translations_command.rb +6 -1
  34. data/lib/locomotive/wagon/commands/push_command.rb +6 -4
  35. data/lib/locomotive/wagon/commands/push_sub_commands/push_pages_command.rb +6 -1
  36. data/lib/locomotive/wagon/commands/push_sub_commands/push_sections_command.rb +23 -0
  37. data/lib/locomotive/wagon/commands/push_sub_commands/push_site_command.rb +2 -0
  38. data/lib/locomotive/wagon/commands/serve_command.rb +1 -1
  39. data/lib/locomotive/wagon/commands/sync_command.rb +1 -1
  40. data/lib/locomotive/wagon/commands/sync_sub_commands/concerns/base_concern.rb +2 -2
  41. data/lib/locomotive/wagon/commands/sync_sub_commands/sync_pages_command.rb +48 -37
  42. data/lib/locomotive/wagon/commands/sync_sub_commands/sync_site_command.rb +15 -12
  43. data/lib/locomotive/wagon/commands/sync_sub_commands/sync_translations_command.rb +12 -0
  44. data/lib/locomotive/wagon/decorators/concerns/persist_assets_concern.rb +1 -1
  45. data/lib/locomotive/wagon/decorators/content_entry_decorator.rb +1 -1
  46. data/lib/locomotive/wagon/decorators/content_type_decorator.rb +5 -1
  47. data/lib/locomotive/wagon/decorators/content_type_field_decorator.rb +5 -1
  48. data/lib/locomotive/wagon/decorators/page_decorator.rb +11 -1
  49. data/lib/locomotive/wagon/decorators/section_decorator.rb +35 -0
  50. data/lib/locomotive/wagon/decorators/site_decorator.rb +12 -4
  51. data/lib/locomotive/wagon/decorators/theme_asset_decorator.rb +2 -2
  52. data/lib/locomotive/wagon/generators/page.rb +2 -12
  53. data/lib/locomotive/wagon/generators/section.rb +82 -0
  54. data/lib/locomotive/wagon/generators/site.rb +0 -3
  55. data/lib/locomotive/wagon/generators/site/base.rb +11 -28
  56. data/lib/locomotive/wagon/generators/site/blank.rb +1 -17
  57. data/lib/locomotive/wagon/generators/site/cloned.rb +1 -4
  58. data/lib/locomotive/wagon/generators/snippet.rb +3 -11
  59. data/lib/locomotive/wagon/middlewares/error_page.rb +26 -6
  60. data/lib/locomotive/wagon/tools/listen.rb +3 -3
  61. data/lib/locomotive/wagon/version.rb +1 -1
  62. data/locomotivecms_wagon.gemspec +7 -6
  63. data/spec/fixtures/cassettes/authenticate.yml +47 -47
  64. data/spec/fixtures/cassettes/delete.yml +261 -261
  65. data/spec/fixtures/cassettes/push.yml +4571 -1783
  66. data/spec/fixtures/cassettes/sync.yml +11483 -0
  67. data/spec/integration/cli_spec.rb +1 -1
  68. data/spec/integration/commands/delete_command_spec.rb +1 -2
  69. data/spec/integration/commands/push_command_spec.rb +4 -4
  70. data/spec/integration/commands/sync_command_spec.rb +54 -0
  71. data/spec/integration/generators/page_spec.rb +1 -1
  72. data/spec/unit/commands/pull_sub_commands/concerns/assets_concern_spec.rb +3 -3
  73. metadata +55 -306
  74. data/generators/blank/app/views/pages/404.liquid.haml +0 -11
  75. data/generators/blank/app/views/pages/index.liquid.haml +0 -16
  76. data/generators/bootstrap/Gemfile.tt +0 -24
  77. data/generators/bootstrap/Guardfile +0 -22
  78. data/generators/bootstrap/app/content_types/.empty_directory +0 -1
  79. data/generators/bootstrap/app/views/pages/404.liquid +0 -18
  80. data/generators/bootstrap/app/views/pages/404.liquid.haml +0 -14
  81. data/generators/bootstrap/app/views/pages/index.liquid +0 -31
  82. data/generators/bootstrap/app/views/pages/index.liquid.haml +0 -25
  83. data/generators/bootstrap/app/views/pages/layouts/default.liquid +0 -31
  84. data/generators/bootstrap/app/views/pages/layouts/default.liquid.haml +0 -30
  85. data/generators/bootstrap/app/views/pages/layouts/simple.liquid +0 -36
  86. data/generators/bootstrap/app/views/pages/layouts/simple.liquid.haml +0 -29
  87. data/generators/bootstrap/app/views/snippets/footer.liquid +0 -5
  88. data/generators/bootstrap/app/views/snippets/footer.liquid.haml +0 -3
  89. data/generators/bootstrap/app/views/snippets/nav.liquid +0 -26
  90. data/generators/bootstrap/app/views/snippets/nav.liquid.haml +0 -19
  91. data/generators/bootstrap/config/deploy.yml +0 -16
  92. data/generators/bootstrap/config/metafields_schema.yml +0 -56
  93. data/generators/bootstrap/config/site.yml.tt +0 -48
  94. data/generators/bootstrap/config/translations.yml +0 -8
  95. data/generators/bootstrap/data/.empty_directory +0 -1
  96. data/generators/bootstrap/icon.png +0 -0
  97. data/generators/bootstrap/public/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  98. data/generators/bootstrap/public/fonts/bootstrap/glyphicons-halflings-regular.svg +0 -288
  99. data/generators/bootstrap/public/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  100. data/generators/bootstrap/public/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  101. data/generators/bootstrap/public/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  102. data/generators/bootstrap/public/images/favicon.png +0 -0
  103. data/generators/bootstrap/public/javascripts/application.js +0 -2
  104. data/generators/bootstrap/public/javascripts/bootstrap.min.js +0 -7
  105. data/generators/bootstrap/public/javascripts/bootstrap/affix.js +0 -162
  106. data/generators/bootstrap/public/javascripts/bootstrap/alert.js +0 -94
  107. data/generators/bootstrap/public/javascripts/bootstrap/button.js +0 -120
  108. data/generators/bootstrap/public/javascripts/bootstrap/carousel.js +0 -237
  109. data/generators/bootstrap/public/javascripts/bootstrap/collapse.js +0 -211
  110. data/generators/bootstrap/public/javascripts/bootstrap/dropdown.js +0 -165
  111. data/generators/bootstrap/public/javascripts/bootstrap/modal.js +0 -337
  112. data/generators/bootstrap/public/javascripts/bootstrap/popover.js +0 -108
  113. data/generators/bootstrap/public/javascripts/bootstrap/scrollspy.js +0 -172
  114. data/generators/bootstrap/public/javascripts/bootstrap/tab.js +0 -155
  115. data/generators/bootstrap/public/javascripts/bootstrap/tooltip.js +0 -514
  116. data/generators/bootstrap/public/javascripts/bootstrap/transition.js +0 -59
  117. data/generators/bootstrap/public/javascripts/jquery.min.js +0 -5
  118. data/generators/bootstrap/public/stylesheets/application.css +0 -7
  119. data/generators/bootstrap/public/stylesheets/application.scss +0 -7
  120. data/generators/bootstrap/public/stylesheets/bootstrap.css +0 -5
  121. data/generators/bootstrap/public/stylesheets/bootstrap.scss +0 -63
  122. data/generators/bootstrap/public/stylesheets/bootstrap/_alerts.scss +0 -73
  123. data/generators/bootstrap/public/stylesheets/bootstrap/_badges.scss +0 -68
  124. data/generators/bootstrap/public/stylesheets/bootstrap/_breadcrumbs.scss +0 -28
  125. data/generators/bootstrap/public/stylesheets/bootstrap/_button-groups.scss +0 -244
  126. data/generators/bootstrap/public/stylesheets/bootstrap/_buttons.scss +0 -168
  127. data/generators/bootstrap/public/stylesheets/bootstrap/_carousel.scss +0 -269
  128. data/generators/bootstrap/public/stylesheets/bootstrap/_close.scss +0 -36
  129. data/generators/bootstrap/public/stylesheets/bootstrap/_code.scss +0 -69
  130. data/generators/bootstrap/public/stylesheets/bootstrap/_component-animations.scss +0 -37
  131. data/generators/bootstrap/public/stylesheets/bootstrap/_dropdowns.scss +0 -216
  132. data/generators/bootstrap/public/stylesheets/bootstrap/_forms.scss +0 -611
  133. data/generators/bootstrap/public/stylesheets/bootstrap/_glyphicons.scss +0 -307
  134. data/generators/bootstrap/public/stylesheets/bootstrap/_grid.scss +0 -84
  135. data/generators/bootstrap/public/stylesheets/bootstrap/_input-groups.scss +0 -167
  136. data/generators/bootstrap/public/stylesheets/bootstrap/_jumbotron.scss +0 -52
  137. data/generators/bootstrap/public/stylesheets/bootstrap/_labels.scss +0 -66
  138. data/generators/bootstrap/public/stylesheets/bootstrap/_list-group.scss +0 -130
  139. data/generators/bootstrap/public/stylesheets/bootstrap/_media.scss +0 -66
  140. data/generators/bootstrap/public/stylesheets/bootstrap/_mixins.scss +0 -40
  141. data/generators/bootstrap/public/stylesheets/bootstrap/_modals.scss +0 -150
  142. data/generators/bootstrap/public/stylesheets/bootstrap/_navbar.scss +0 -662
  143. data/generators/bootstrap/public/stylesheets/bootstrap/_navs.scss +0 -242
  144. data/generators/bootstrap/public/stylesheets/bootstrap/_normalize.scss +0 -424
  145. data/generators/bootstrap/public/stylesheets/bootstrap/_pager.scss +0 -54
  146. data/generators/bootstrap/public/stylesheets/bootstrap/_pagination.scss +0 -89
  147. data/generators/bootstrap/public/stylesheets/bootstrap/_panels.scss +0 -271
  148. data/generators/bootstrap/public/stylesheets/bootstrap/_popovers.scss +0 -131
  149. data/generators/bootstrap/public/stylesheets/bootstrap/_print.scss +0 -101
  150. data/generators/bootstrap/public/stylesheets/bootstrap/_progress-bars.scss +0 -87
  151. data/generators/bootstrap/public/stylesheets/bootstrap/_responsive-embed.scss +0 -35
  152. data/generators/bootstrap/public/stylesheets/bootstrap/_responsive-utilities.scss +0 -179
  153. data/generators/bootstrap/public/stylesheets/bootstrap/_scaffolding.scss +0 -161
  154. data/generators/bootstrap/public/stylesheets/bootstrap/_tables.scss +0 -234
  155. data/generators/bootstrap/public/stylesheets/bootstrap/_theme.scss +0 -291
  156. data/generators/bootstrap/public/stylesheets/bootstrap/_thumbnails.scss +0 -38
  157. data/generators/bootstrap/public/stylesheets/bootstrap/_tooltip.scss +0 -101
  158. data/generators/bootstrap/public/stylesheets/bootstrap/_type.scss +0 -298
  159. data/generators/bootstrap/public/stylesheets/bootstrap/_utilities.scss +0 -55
  160. data/generators/bootstrap/public/stylesheets/bootstrap/_variables.scss +0 -872
  161. data/generators/bootstrap/public/stylesheets/bootstrap/_wells.scss +0 -29
  162. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_alerts.scss +0 -14
  163. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_background-variant.scss +0 -12
  164. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_border-radius.scss +0 -18
  165. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_buttons.scss +0 -68
  166. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_center-block.scss +0 -7
  167. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_clearfix.scss +0 -22
  168. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_forms.scss +0 -88
  169. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_gradients.scss +0 -58
  170. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -81
  171. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_grid.scss +0 -122
  172. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_hide-text.scss +0 -21
  173. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_image.scss +0 -33
  174. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_labels.scss +0 -12
  175. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_list-group.scss +0 -32
  176. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  177. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  178. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_opacity.scss +0 -8
  179. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_pagination.scss +0 -24
  180. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_panels.scss +0 -24
  181. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_progress-bar.scss +0 -10
  182. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_reset-filter.scss +0 -8
  183. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_reset-text.scss +0 -18
  184. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_resize.scss +0 -6
  185. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_responsive-visibility.scss +0 -21
  186. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_size.scss +0 -10
  187. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_tab-focus.scss +0 -9
  188. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_table-row.scss +0 -28
  189. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -12
  190. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_text-overflow.scss +0 -8
  191. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  192. data/generators/foundation/Gemfile.tt +0 -24
  193. data/generators/foundation/Guardfile +0 -22
  194. data/generators/foundation/app/content_types/.gitkeep +0 -0
  195. data/generators/foundation/app/views/pages/404.liquid +0 -11
  196. data/generators/foundation/app/views/pages/404.liquid.haml +0 -11
  197. data/generators/foundation/app/views/pages/index.liquid +0 -172
  198. data/generators/foundation/app/views/pages/index.liquid.haml +0 -144
  199. data/generators/foundation/app/views/snippets/.gitkeep +0 -0
  200. data/generators/foundation/config/deploy.yml +0 -16
  201. data/generators/foundation/config/metafields_schema.yml +0 -56
  202. data/generators/foundation/config/site.yml +0 -48
  203. data/generators/foundation/config/translations.yml +0 -8
  204. data/generators/foundation/data/.gitkeep +0 -0
  205. data/generators/foundation/log/.gitkeep +0 -0
  206. data/generators/foundation/public/images/.gitkeep +0 -0
  207. data/generators/foundation/public/javascripts/app.js +0 -1
  208. data/generators/foundation/public/javascripts/vendor/foundation.js +0 -11788
  209. data/generators/foundation/public/javascripts/vendor/foundation.min.js +0 -5
  210. data/generators/foundation/public/javascripts/vendor/what-input.js +0 -212
  211. data/generators/foundation/public/javascripts/vendor/what-input.min.js +0 -1
  212. data/generators/foundation/public/stylesheets/_settings.scss +0 -869
  213. data/generators/foundation/public/stylesheets/app.css +0 -0
  214. data/generators/foundation/public/stylesheets/app.scss +0 -52
  215. data/generators/foundation/public/stylesheets/foundation.css +0 -5805
  216. data/generators/foundation/public/stylesheets/foundation6/_global.scss +0 -249
  217. data/generators/foundation/public/stylesheets/foundation6/components/_accordion-menu.scss +0 -171
  218. data/generators/foundation/public/stylesheets/foundation6/components/_accordion.scss +0 -155
  219. data/generators/foundation/public/stylesheets/foundation6/components/_badge.scss +0 -63
  220. data/generators/foundation/public/stylesheets/foundation6/components/_breadcrumbs.scss +0 -117
  221. data/generators/foundation/public/stylesheets/foundation6/components/_button-group.scss +0 -253
  222. data/generators/foundation/public/stylesheets/foundation6/components/_button.scss +0 -385
  223. data/generators/foundation/public/stylesheets/foundation6/components/_callout.scss +0 -106
  224. data/generators/foundation/public/stylesheets/foundation6/components/_card.scss +0 -129
  225. data/generators/foundation/public/stylesheets/foundation6/components/_close-button.scss +0 -102
  226. data/generators/foundation/public/stylesheets/foundation6/components/_drilldown.scss +0 -142
  227. data/generators/foundation/public/stylesheets/foundation6/components/_dropdown-menu.scss +0 -274
  228. data/generators/foundation/public/stylesheets/foundation6/components/_dropdown.scss +0 -79
  229. data/generators/foundation/public/stylesheets/foundation6/components/_flex-video.scss +0 -1
  230. data/generators/foundation/public/stylesheets/foundation6/components/_flex.scss +0 -117
  231. data/generators/foundation/public/stylesheets/foundation6/components/_float.scss +0 -27
  232. data/generators/foundation/public/stylesheets/foundation6/components/_label.scss +0 -64
  233. data/generators/foundation/public/stylesheets/foundation6/components/_media-object.scss +0 -114
  234. data/generators/foundation/public/stylesheets/foundation6/components/_menu-icon.scss +0 -9
  235. data/generators/foundation/public/stylesheets/foundation6/components/_menu.scss +0 -495
  236. data/generators/foundation/public/stylesheets/foundation6/components/_off-canvas.scss +0 -505
  237. data/generators/foundation/public/stylesheets/foundation6/components/_orbit.scss +0 -196
  238. data/generators/foundation/public/stylesheets/foundation6/components/_pagination.scss +0 -193
  239. data/generators/foundation/public/stylesheets/foundation6/components/_progress-bar.scss +0 -64
  240. data/generators/foundation/public/stylesheets/foundation6/components/_responsive-embed.scss +0 -70
  241. data/generators/foundation/public/stylesheets/foundation6/components/_reveal.scss +0 -180
  242. data/generators/foundation/public/stylesheets/foundation6/components/_slider.scss +0 -137
  243. data/generators/foundation/public/stylesheets/foundation6/components/_sticky.scss +0 -39
  244. data/generators/foundation/public/stylesheets/foundation6/components/_switch.scss +0 -247
  245. data/generators/foundation/public/stylesheets/foundation6/components/_table.scss +0 -330
  246. data/generators/foundation/public/stylesheets/foundation6/components/_tabs.scss +0 -196
  247. data/generators/foundation/public/stylesheets/foundation6/components/_thumbnail.scss +0 -67
  248. data/generators/foundation/public/stylesheets/foundation6/components/_title-bar.scss +0 -84
  249. data/generators/foundation/public/stylesheets/foundation6/components/_tooltip.scss +0 -160
  250. data/generators/foundation/public/stylesheets/foundation6/components/_top-bar.scss +0 -175
  251. data/generators/foundation/public/stylesheets/foundation6/components/_visibility.scss +0 -132
  252. data/generators/foundation/public/stylesheets/foundation6/forms/_checkbox.scss +0 -41
  253. data/generators/foundation/public/stylesheets/foundation6/forms/_error.scss +0 -88
  254. data/generators/foundation/public/stylesheets/foundation6/forms/_fieldset.scss +0 -53
  255. data/generators/foundation/public/stylesheets/foundation6/forms/_forms.scss +0 -34
  256. data/generators/foundation/public/stylesheets/foundation6/forms/_help-text.scss +0 -30
  257. data/generators/foundation/public/stylesheets/foundation6/forms/_input-group.scss +0 -142
  258. data/generators/foundation/public/stylesheets/foundation6/forms/_label.scss +0 -50
  259. data/generators/foundation/public/stylesheets/foundation6/forms/_meter.scss +0 -116
  260. data/generators/foundation/public/stylesheets/foundation6/forms/_progress.scss +0 -94
  261. data/generators/foundation/public/stylesheets/foundation6/forms/_range.scss +0 -149
  262. data/generators/foundation/public/stylesheets/foundation6/forms/_select.scss +0 -86
  263. data/generators/foundation/public/stylesheets/foundation6/forms/_text.scss +0 -179
  264. data/generators/foundation/public/stylesheets/foundation6/foundation.scss +0 -133
  265. data/generators/foundation/public/stylesheets/foundation6/grid/_classes.scss +0 -176
  266. data/generators/foundation/public/stylesheets/foundation6/grid/_column.scss +0 -112
  267. data/generators/foundation/public/stylesheets/foundation6/grid/_flex-grid.scss +0 -259
  268. data/generators/foundation/public/stylesheets/foundation6/grid/_grid.scss +0 -48
  269. data/generators/foundation/public/stylesheets/foundation6/grid/_gutter.scss +0 -82
  270. data/generators/foundation/public/stylesheets/foundation6/grid/_layout.scss +0 -76
  271. data/generators/foundation/public/stylesheets/foundation6/grid/_position.scss +0 -76
  272. data/generators/foundation/public/stylesheets/foundation6/grid/_row.scss +0 -99
  273. data/generators/foundation/public/stylesheets/foundation6/grid/_size.scss +0 -24
  274. data/generators/foundation/public/stylesheets/foundation6/motion-ui/_classes.scss +0 -109
  275. data/generators/foundation/public/stylesheets/foundation6/motion-ui/_settings.scss +0 -61
  276. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_fade.scss +0 -32
  277. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_hinge.scss +0 -65
  278. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_shake.scss +0 -15
  279. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_slide.scss +0 -41
  280. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_spin.scss +0 -28
  281. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_wiggle.scss +0 -13
  282. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_zoom.scss +0 -15
  283. data/generators/foundation/public/stylesheets/foundation6/motion-ui/motion-ui.scss +0 -29
  284. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_fade.scss +0 -28
  285. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_hinge.scss +0 -43
  286. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_slide.scss +0 -42
  287. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_spin.scss +0 -39
  288. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_zoom.scss +0 -39
  289. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_animation.scss +0 -7
  290. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_args.scss +0 -15
  291. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_keyframe.scss +0 -136
  292. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_selector.scss +0 -23
  293. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_series.scss +0 -54
  294. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_transition.scss +0 -45
  295. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_unit.scss +0 -7
  296. data/generators/foundation/public/stylesheets/foundation6/prototype/_arrow.scss +0 -36
  297. data/generators/foundation/public/stylesheets/foundation6/prototype/_border-box.scss +0 -35
  298. data/generators/foundation/public/stylesheets/foundation6/prototype/_border-none.scss +0 -35
  299. data/generators/foundation/public/stylesheets/foundation6/prototype/_bordered.scss +0 -54
  300. data/generators/foundation/public/stylesheets/foundation6/prototype/_box.scss +0 -23
  301. data/generators/foundation/public/stylesheets/foundation6/prototype/_display.scss +0 -50
  302. data/generators/foundation/public/stylesheets/foundation6/prototype/_font-styling.scss +0 -95
  303. data/generators/foundation/public/stylesheets/foundation6/prototype/_list-style-type.scss +0 -95
  304. data/generators/foundation/public/stylesheets/foundation6/prototype/_overflow.scss +0 -72
  305. data/generators/foundation/public/stylesheets/foundation6/prototype/_position.scss +0 -114
  306. data/generators/foundation/public/stylesheets/foundation6/prototype/_prototype.scss +0 -87
  307. data/generators/foundation/public/stylesheets/foundation6/prototype/_relation.scss +0 -157
  308. data/generators/foundation/public/stylesheets/foundation6/prototype/_rotate.scss +0 -31
  309. data/generators/foundation/public/stylesheets/foundation6/prototype/_rounded.scss +0 -54
  310. data/generators/foundation/public/stylesheets/foundation6/prototype/_separator.scss +0 -96
  311. data/generators/foundation/public/stylesheets/foundation6/prototype/_shadow.scss +0 -43
  312. data/generators/foundation/public/stylesheets/foundation6/prototype/_sizing.scss +0 -73
  313. data/generators/foundation/public/stylesheets/foundation6/prototype/_spacing.scss +0 -204
  314. data/generators/foundation/public/stylesheets/foundation6/prototype/_text-decoration.scss +0 -48
  315. data/generators/foundation/public/stylesheets/foundation6/prototype/_text-transformation.scss +0 -48
  316. data/generators/foundation/public/stylesheets/foundation6/prototype/_text-utilities.scss +0 -88
  317. data/generators/foundation/public/stylesheets/foundation6/settings/_settings.scss +0 -869
  318. data/generators/foundation/public/stylesheets/foundation6/typography/_alignment.scss +0 -22
  319. data/generators/foundation/public/stylesheets/foundation6/typography/_base.scss +0 -509
  320. data/generators/foundation/public/stylesheets/foundation6/typography/_helpers.scss +0 -80
  321. data/generators/foundation/public/stylesheets/foundation6/typography/_print.scss +0 -86
  322. data/generators/foundation/public/stylesheets/foundation6/typography/_typography.scss +0 -26
  323. data/generators/foundation/public/stylesheets/foundation6/util/_breakpoint.scss +0 -348
  324. data/generators/foundation/public/stylesheets/foundation6/util/_color.scss +0 -129
  325. data/generators/foundation/public/stylesheets/foundation6/util/_direction.scss +0 -31
  326. data/generators/foundation/public/stylesheets/foundation6/util/_flex.scss +0 -85
  327. data/generators/foundation/public/stylesheets/foundation6/util/_math.scss +0 -72
  328. data/generators/foundation/public/stylesheets/foundation6/util/_mixins.scss +0 -313
  329. data/generators/foundation/public/stylesheets/foundation6/util/_selector.scss +0 -41
  330. data/generators/foundation/public/stylesheets/foundation6/util/_typography.scss +0 -26
  331. data/generators/foundation/public/stylesheets/foundation6/util/_unit.scss +0 -152
  332. data/generators/foundation/public/stylesheets/foundation6/util/_util.scss +0 -14
  333. data/generators/foundation/public/stylesheets/foundation6/util/_value.scss +0 -160
  334. data/generators/foundation/public/stylesheets/foundation6/vendor/normalize-scss/sass/_normalize.scss +0 -3
  335. data/generators/foundation/public/stylesheets/foundation6/vendor/normalize-scss/sass/normalize/_import-now.scss +0 -11
  336. data/generators/foundation/public/stylesheets/foundation6/vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +0 -676
  337. data/generators/foundation/public/stylesheets/foundation6/vendor/normalize-scss/sass/normalize/_variables.scss +0 -36
  338. data/generators/foundation/public/stylesheets/foundation6/vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +0 -61
  339. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/functions/_contain.scss +0 -31
  340. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/functions/_purge.scss +0 -38
  341. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/functions/_remove.scss +0 -31
  342. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/functions/_replace.scss +0 -46
  343. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/functions/_to-list.scss +0 -27
  344. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +0 -25
  345. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/helpers/_true.scss +0 -13
  346. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_cell.scss +0 -169
  347. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_classes.scss +0 -476
  348. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_collapse.scss +0 -74
  349. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_frame.scss +0 -85
  350. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_grid.scss +0 -35
  351. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_gutters.scss +0 -45
  352. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_layout.scss +0 -33
  353. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_position.scss +0 -28
  354. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_xy-grid.scss +0 -51
  355. data/generators/page/template.liquid.haml.tt +0 -47
  356. data/generators/snippet/template.liquid.haml.tt +0 -4
  357. data/lib/locomotive/wagon/generators/site/bootstrap.rb +0 -52
  358. data/lib/locomotive/wagon/generators/site/foundation.rb +0 -44
  359. data/lib/locomotive/wagon/generators/site/line_case.rb +0 -20
@@ -1,63 +0,0 @@
1
- // Foundation for Sites by ZURB
2
- // foundation.zurb.com
3
- // Licensed under MIT Open Source
4
-
5
- ////
6
- /// @group badge
7
- ////
8
-
9
- /// Default background color for badges.
10
- /// @type Color
11
- $badge-background: $primary-color !default;
12
-
13
- /// Default text color for badges.
14
- /// @type Color
15
- $badge-color: $white !default;
16
-
17
- /// Alternate text color for badges.
18
- /// @type Color
19
- $badge-color-alt: $black !default;
20
-
21
- /// Coloring classes. A map of classes to output in your CSS, like `.secondary`, `.success`, and so on.
22
- /// @type Map
23
- $badge-palette: $foundation-palette !default;
24
-
25
- /// Default padding inside badges.
26
- /// @type Number
27
- $badge-padding: 0.3em !default;
28
-
29
- /// Minimum width of a badge.
30
- /// @type Number
31
- $badge-minwidth: 2.1em !default;
32
-
33
- /// Default font size for badges.
34
- /// @type Number
35
- $badge-font-size: 0.6rem !default;
36
-
37
- /// Generates the base styles for a badge.
38
- @mixin badge {
39
- display: inline-block;
40
- min-width: $badge-minwidth;
41
- padding: $badge-padding;
42
-
43
- border-radius: 50%;
44
-
45
- font-size: $badge-font-size;
46
- text-align: center;
47
- }
48
-
49
- @mixin foundation-badge {
50
- .badge {
51
- @include badge;
52
-
53
- background: $badge-background;
54
- color: $badge-color;
55
-
56
- @each $name, $color in $badge-palette {
57
- &.#{$name} {
58
- background: $color;
59
- color: color-pick-contrast($color, ($badge-color, $badge-color-alt));
60
- }
61
- }
62
- }
63
- }
@@ -1,117 +0,0 @@
1
- // Foundation for Sites by ZURB
2
- // foundation.zurb.com
3
- // Licensed under MIT Open Source
4
-
5
- ////
6
- /// @group breadcrumbs
7
- ////
8
-
9
- /// Margin around a breadcrumbs container.
10
- /// @type Number
11
- $breadcrumbs-margin: 0 0 $global-margin 0 !default;
12
-
13
- /// Font size of breadcrumb links.
14
- /// @type Number
15
- $breadcrumbs-item-font-size: rem-calc(11) !default;
16
-
17
- /// Color of breadcrumb links.
18
- /// @type Color
19
- $breadcrumbs-item-color: $primary-color !default;
20
-
21
- /// Color of the active breadcrumb link.
22
- /// @type Color
23
- $breadcrumbs-item-color-current: $black !default;
24
-
25
- /// Opacity of disabled breadcrumb links.
26
- /// @type Number
27
- $breadcrumbs-item-color-disabled: $medium-gray !default;
28
-
29
- /// Margin between breadcrumb items.
30
- /// @type Number
31
- $breadcrumbs-item-margin: 0.75rem !default;
32
-
33
- /// If `true`, makes breadcrumb links uppercase.
34
- /// @type Boolean
35
- $breadcrumbs-item-uppercase: true !default;
36
-
37
- /// If `true`, adds a seperator between breadcrumb links.
38
- /// @type Boolean
39
- $breadcrumbs-item-separator: true !default;
40
-
41
- // If it exists $breadcrumbs-item-slash is used to build $breadcrumbs-item-separator. See the documentation.
42
- @if variable-exists(breadcrumbs-item-slash) {
43
- $breadcrumbs-item-separator: $breadcrumbs-item-slash;
44
- }
45
-
46
- /// Used character for the breadcrumb separator.
47
- /// @type Content
48
- $breadcrumbs-item-separator-item: '/' !default;
49
-
50
- /// Used character for the breadcrumb separator in rtl mode.
51
- /// @type Content
52
- $breadcrumbs-item-separator-item-rtl: '\\' !default;
53
-
54
- /// Color of breadcrumb item.
55
- /// @type Color
56
- $breadcrumbs-item-separator-color: $medium-gray !default;
57
-
58
- // If it exists $breadcrumbs-item-slash-color is used to build $breadcrumbs-item-separator-color. See the documentation.
59
- @if variable-exists(breadcrumbs-item-slash-color) {
60
- $breadcrumbs-item-separator-color: $breadcrumbs-item-slash-color;
61
- }
62
-
63
- /// Adds styles for a breadcrumbs container, along with the styles for the `<li>` and `<a>` elements inside of it.
64
- @mixin breadcrumbs-container {
65
- @include clearfix;
66
- margin: $breadcrumbs-margin;
67
- list-style: none;
68
-
69
- // Item wrapper
70
- li {
71
- float: #{$global-left};
72
-
73
- font-size: $breadcrumbs-item-font-size;
74
- color: $breadcrumbs-item-color-current;
75
- cursor: default;
76
-
77
- @if $breadcrumbs-item-uppercase {
78
- text-transform: uppercase;
79
- }
80
-
81
- @if $breadcrumbs-item-separator {
82
- // Need to escape the backslash
83
- $separator: if($global-text-direction == 'ltr', $breadcrumbs-item-separator-item, $breadcrumbs-item-separator-item-rtl);
84
-
85
- &:not(:last-child)::after {
86
- position: relative;
87
- margin: 0 $breadcrumbs-item-margin;
88
- opacity: 1;
89
- content: $separator;
90
- color: $breadcrumbs-item-separator-color;
91
- }
92
- }
93
- @else {
94
- margin-#{$global-right}: $breadcrumbs-item-margin;
95
- }
96
- }
97
-
98
- // Page links
99
- a {
100
- color: $breadcrumbs-item-color;
101
-
102
- &:hover {
103
- text-decoration: underline;
104
- }
105
- }
106
- }
107
-
108
- @mixin foundation-breadcrumbs {
109
- .breadcrumbs {
110
- @include breadcrumbs-container;
111
-
112
- .disabled {
113
- color: $breadcrumbs-item-color-disabled;
114
- cursor: not-allowed;
115
- }
116
- }
117
- }
@@ -1,253 +0,0 @@
1
- // Foundation for Sites by ZURB
2
- // foundation.zurb.com
3
- // Licensed under MIT Open Source
4
-
5
- ////
6
- /// @group button-group
7
- ////
8
-
9
- /// Margin for button groups.
10
- /// @type Number
11
- $buttongroup-margin: 1rem !default;
12
-
13
- /// Margin between buttons in a button group.
14
- /// @type Number
15
- $buttongroup-spacing: 1px !default;
16
-
17
- /// Selector for the buttons inside a button group.
18
- /// @type String
19
- $buttongroup-child-selector: '.button' !default;
20
-
21
- /// Maximum number of buttons that can be in an even-width button group.
22
- /// @type Number
23
- $buttongroup-expand-max: 6 !default;
24
-
25
- /// Determines if $button-radius is applied to each button or the button group as a whole. Use $global-radius in _settings.scss to change radius.
26
- /// @type Boolean
27
- $buttongroup-radius-on-each: true !default;
28
-
29
- /// Add styles for a button group container.
30
- /// @param {String} $child-selector [$buttongroup-child-selector] - Selector for the buttons inside a button group.
31
- /// @param {Number} $spacing [$buttongroup-spacing] - Spacing between buttons in a button group.
32
- @mixin button-group(
33
- $child-selector: $buttongroup-child-selector,
34
- $spacing: $buttongroup-spacing
35
- ) {
36
- @include clearfix;
37
- margin-bottom: $buttongroup-margin;
38
-
39
- @if $global-flexbox {
40
- display: flex;
41
- flex-wrap: nowrap;
42
- align-items: stretch;
43
- }
44
- @else {
45
- font-size: 0;
46
- }
47
-
48
- #{$child-selector} {
49
- margin: 0;
50
- margin-#{$global-right}: $spacing;
51
- margin-bottom: $spacing;
52
- font-size: map-get($button-sizes, default);
53
-
54
- @if $global-flexbox {
55
- flex: 0 0 auto;
56
- }
57
-
58
- &:last-child {
59
- margin-#{$global-right}: 0;
60
- }
61
-
62
- @if not $buttongroup-radius-on-each {
63
- border-radius: 0;
64
-
65
- &:first-child {
66
- border-top-#{$global-left}-radius: $button-radius;
67
- border-bottom-#{$global-left}-radius: $button-radius;
68
- }
69
-
70
- &:last-child {
71
- border-top-#{$global-right}-radius: $button-radius;
72
- border-bottom-#{$global-right}-radius: $button-radius;
73
- }
74
- }
75
-
76
- }
77
- }
78
-
79
- /// Creates a full-width button group, making each button equal width.
80
- /// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside a button group.
81
- /// @param {Number} $spacing [$buttongroup-spacing] - Spacing between buttons in a button group.
82
- @mixin button-group-expand(
83
- $selector: $buttongroup-child-selector,
84
- $spacing: $buttongroup-spacing,
85
- $count: null
86
- ) {
87
- @if not $global-flexbox {
88
- margin-#{$global-right}: -$spacing;
89
-
90
- &::before,
91
- &::after {
92
- display: none;
93
- }
94
- }
95
-
96
- #{$selector} {
97
- @if $global-flexbox {
98
- flex: 1 1 0px; // sass-lint:disable-line zero-unit
99
- }
100
- @else {
101
- // One child
102
- &:first-child:last-child {
103
- width: 100%;
104
- }
105
-
106
- // Two or more childreen
107
- @for $i from 2 through $buttongroup-expand-max {
108
- &:first-child:nth-last-child(#{$i}) {
109
- &, &:first-child:nth-last-child(#{$i}) ~ #{$selector} {
110
- display: inline-block;
111
- width: calc(#{percentage(1 / $i)} - #{$spacing});
112
- margin-#{$global-right}: $spacing;
113
-
114
- &:last-child {
115
- margin-#{$global-right}: $spacing * -$buttongroup-expand-max;
116
- }
117
- }
118
- }
119
- }
120
- }
121
- }
122
- }
123
-
124
- /// Stacks the buttons in a button group.
125
- /// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside the button group.
126
- @mixin button-group-stack(
127
- $selector: $buttongroup-child-selector
128
- ) {
129
- @if $global-flexbox {
130
- flex-wrap: wrap;
131
- }
132
-
133
- #{$selector} {
134
- @if $global-flexbox {
135
- flex: 0 0 100%;
136
- }
137
- @else {
138
- width: 100%;
139
- }
140
-
141
- &:last-child {
142
- margin-bottom: 0;
143
- }
144
-
145
-
146
- @if not $buttongroup-radius-on-each {
147
- border-radius: 0;
148
-
149
- &:first-child{
150
- border-top-#{$global-left}-radius: $global-radius;
151
- border-top-#{$global-right}-radius: $global-radius;
152
- }
153
-
154
- &:last-child {
155
- margin-bottom: 0;
156
- border-bottom-#{$global-left}-radius: $global-radius;
157
- border-bottom-#{$global-right}-radius: $global-radius;
158
- }
159
- }
160
-
161
- }
162
- }
163
-
164
- /// Un-stacks the buttons in a button group.
165
- /// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside the button group.
166
- @mixin button-group-unstack(
167
- $selector: $buttongroup-child-selector
168
- ) {
169
- #{$selector} {
170
- @if $global-flexbox {
171
- flex: 1 1 0px; // sass-lint:disable-line zero-unit
172
- }
173
- @else {
174
- width: auto;
175
- }
176
- margin-bottom: 0;
177
-
178
- @if not $buttongroup-radius-on-each {
179
- &:first-child {
180
- border-top-#{$global-left}-radius: $global-radius;
181
- border-top-#{$global-right}-radius: 0;
182
- border-bottom-#{$global-left}-radius: $global-radius;
183
- }
184
-
185
- &:last-child {
186
- border-top-#{$global-right}-radius: $global-radius;
187
- border-bottom-#{$global-right}-radius: $global-radius;
188
- border-bottom-#{$global-left}-radius: 0;
189
- }
190
- }
191
-
192
- }
193
- }
194
-
195
- @mixin foundation-button-group {
196
- .button-group {
197
- @include button-group;
198
-
199
- // Sizes
200
- @each $size, $value in map-remove($button-sizes, default) {
201
- &.#{$size} #{$buttongroup-child-selector} {
202
- font-size: $value;
203
- }
204
- }
205
-
206
- // Even-width Group
207
- &.expanded { @include button-group-expand; }
208
-
209
- // Colors
210
- @each $name, $color in $foundation-palette {
211
- @if $button-fill != hollow {
212
- &.#{$name} #{$buttongroup-child-selector} {
213
- @include button-style($color, auto, auto);
214
- }
215
- }
216
- @else {
217
- &.#{$name} #{$buttongroup-child-selector} {
218
- @include button-hollow;
219
- @include button-hollow-style($color);
220
- }
221
- }
222
- }
223
-
224
- &.stacked,
225
- &.stacked-for-small,
226
- &.stacked-for-medium {
227
- @include button-group-stack;
228
- }
229
-
230
- &.stacked-for-small {
231
- @include breakpoint(medium) {
232
- @include button-group-unstack;
233
- }
234
- }
235
-
236
- &.stacked-for-medium {
237
- @include breakpoint(large) {
238
- @include button-group-unstack;
239
- }
240
- }
241
-
242
- &.stacked-for-small.expanded { // sass-lint:disable-line force-element-nesting
243
- @include breakpoint(small only) {
244
- display: block;
245
-
246
- #{$buttongroup-child-selector} {
247
- display: block;
248
- margin-#{$global-right}: 0;
249
- }
250
- }
251
- }
252
- }
253
- }
@@ -1,385 +0,0 @@
1
- // Foundation for Sites by ZURB
2
- // foundation.zurb.com
3
- // Licensed under MIT Open Source
4
-
5
- ////
6
- /// @group button
7
- ////
8
-
9
- /// Font family for button elements.
10
- /// @type Font
11
- $button-font-family: inherit !default;
12
-
13
- /// Padding inside buttons.
14
- /// @type List
15
- $button-padding: 0.85em 1em !default;
16
-
17
- /// Margin around buttons.
18
- /// @type List
19
- $button-margin: 0 0 $global-margin 0 !default;
20
-
21
- /// Default fill for buttons. Can either be `solid` or `hollow`.
22
- /// @type Keyword
23
- $button-fill: solid !default;
24
-
25
- /// Default background color for buttons.
26
- /// @type Color
27
- $button-background: $primary-color !default;
28
-
29
- /// Background color on hover for buttons.
30
- /// @type Color
31
- $button-background-hover: scale-color($button-background, $lightness: -15%) !default;
32
-
33
- /// Font color for buttons.
34
- /// @type List
35
- $button-color: $white !default;
36
-
37
- /// Alternative font color for buttons.
38
- /// @type List
39
- $button-color-alt: $black !default;
40
-
41
- /// Border radius for buttons, defaulted to global-radius.
42
- /// @type Number
43
- $button-radius: $global-radius !default;
44
-
45
- /// Border width for hollow outline buttons
46
- /// @type Number
47
- $button-hollow-border-width: 1px !default;
48
-
49
- /// Sizes for buttons.
50
- /// @type Map
51
- $button-sizes: (
52
- tiny: 0.6rem,
53
- small: 0.75rem,
54
- default: 0.9rem,
55
- large: 1.25rem,
56
- ) !default;
57
-
58
- /// Coloring classes. A map of classes to output in your CSS, like `.secondary`, `.success`, and so on.
59
- /// @type Map
60
- $button-palette: $foundation-palette !default;
61
-
62
- /// opacity for a disabled button.
63
- /// @type List
64
- $button-opacity-disabled: 0.25 !default;
65
-
66
- /// Background color lightness on hover for buttons.
67
- /// @type Number
68
- $button-background-hover-lightness: -20% !default;
69
-
70
- /// Color lightness on hover for hollow buttons.
71
- /// @type Number
72
- $button-hollow-hover-lightness: -50% !default;
73
-
74
- // Internal: flip from margin-right to margin-left for defaults
75
- @if $global-text-direction == 'rtl' {
76
- $button-margin: 0 0 $global-margin $global-margin !default;
77
- }
78
-
79
- /// transitions for buttons.
80
- /// @type List
81
- $button-transition: background-color 0.25s ease-out, color 0.25s ease-out !default;
82
-
83
- // TODO: Document button-base() mixin
84
- @mixin button-base {
85
- @include disable-mouse-outline;
86
- display: inline-block;
87
- vertical-align: middle;
88
- margin: $button-margin;
89
- font-family: $button-font-family;
90
-
91
- @if (type-of($button-padding) == 'map') {
92
- @each $size, $padding in $button-padding {
93
- @include breakpoint($size) {
94
- padding: $padding;
95
- }
96
- }
97
- }
98
- @else {
99
- padding: $button-padding;
100
- }
101
-
102
- -webkit-appearance: none;
103
- border: 1px solid transparent;
104
- border-radius: $button-radius;
105
- transition: $button-transition;
106
-
107
- font-size: map-get($button-sizes, default);
108
- line-height: 1;
109
- text-align: center;
110
- cursor: pointer;
111
- }
112
-
113
- /// Expands a button to make it full-width.
114
- /// @param {Boolean} $expand [true] - Set to `true` to enable the expand behavior. Set to `false` to reverse this behavior.
115
- @mixin button-expand($expand: true) {
116
- @if $expand {
117
- display: block;
118
- width: 100%;
119
- margin-right: 0;
120
- margin-left: 0;
121
- }
122
- @else {
123
- display: inline-block;
124
- width: auto;
125
- margin: $button-margin;
126
- }
127
- }
128
-
129
- /// Sets the visual style of a button.
130
- /// @param {Color} $background [$button-background] - Background color of the button.
131
- /// @param {Color} $background-hover [$button-background-hover] - Background color of the button on hover. Set to `auto` to have the mixin automatically generate a hover color.
132
- /// @param {Color} $color [$button-color] - Text color of the button. Set to `auto` to automatically generate a color based on the background color.
133
- @mixin button-style(
134
- $background: $button-background,
135
- $background-hover: $button-background-hover,
136
- $color: $button-color,
137
- $background-hover-lightness: $button-background-hover-lightness
138
- ) {
139
- @if $color == auto {
140
- $color: color-pick-contrast($background, ($button-color, $button-color-alt));
141
- }
142
-
143
- @if $background-hover == auto {
144
- $background-hover: scale-color($background, $lightness: $background-hover-lightness);
145
- }
146
-
147
- background-color: $background;
148
- color: $color;
149
-
150
- &:hover, &:focus {
151
- background-color: $background-hover;
152
- color: $color;
153
- }
154
- }
155
-
156
- /// Removes background fill on hover and focus for hollow buttons.
157
- @mixin button-hollow {
158
- &,
159
- &:hover, &:focus {
160
- background-color: transparent;
161
- }
162
-
163
- &.disabled,
164
- &[disabled] {
165
- &,
166
- &:hover, &:focus {
167
- background-color: transparent;
168
- }
169
- }
170
- }
171
-
172
- @mixin button-hollow-style(
173
- $color: $button-background,
174
- $hover-lightness: $button-hollow-hover-lightness,
175
- $border-width: $button-hollow-border-width
176
- ) {
177
- $color-hover: scale-color($color, $lightness: $hover-lightness);
178
-
179
- border: $border-width solid $color;
180
- color: $color;
181
-
182
- &:hover, &:focus {
183
- border-color: $color-hover;
184
- color: $color-hover;
185
- &.disabled,
186
- &[disabled] {
187
- border: $border-width solid $color;
188
- color: $color;
189
- }
190
- }
191
- }
192
-
193
- /// Adds disabled styles to a button by fading the element, reseting the cursor, and disabling pointer events.
194
- /// @param [Color] $background [$button-background] - Background color of the disabled button.
195
- /// @param [Color] $color [$button-color] - Text color of the disabled button. Set to `auto` to have the mixin automatically generate a color based on the background color.
196
- @mixin button-disabled(
197
- $background: $button-background,
198
- $color: $button-color
199
- ) {
200
- @if $color == auto {
201
- $color: color-pick-contrast($background, ($button-color, $button-color-alt));
202
- }
203
-
204
- opacity: $button-opacity-disabled;
205
- cursor: not-allowed;
206
-
207
- &, &:hover, &:focus {
208
- background-color: $background;
209
- color: $color;
210
- }
211
- }
212
-
213
- /// Adds a dropdown arrow to a button.
214
- /// @param {Number} $size [0.4em] - Size of the arrow. We recommend using an `em` value so the triangle scales when used inside different sizes of buttons.
215
- /// @param {Color} $color [white] - Color of the arrow.
216
- /// @param {Number} $offset [$button-padding] - Distance between the arrow and the text of the button. Defaults to whatever the right padding of a button is.
217
- @mixin button-dropdown(
218
- $size: 0.4em,
219
- $color: $white,
220
- $offset: get-side($button-padding, right)
221
- ) {
222
- &::after {
223
- @include css-triangle($size, $color, down);
224
- position: relative;
225
- top: 0.4em; // Aligns the arrow with the text of the button
226
-
227
- display: inline-block;
228
- float: #{$global-right};
229
- margin-#{$global-left}: $offset;
230
- }
231
- }
232
-
233
- /// Adds all styles for a button. For more granular control over styles, use the individual button mixins.
234
- /// @param {Boolean} $expand [false] - Set to `true` to make the button full-width.
235
- /// @param {Color} $background [$button-background] - Background color of the button.
236
- /// @param {Color} $background-hover [$button-background-hover] - Background color of the button on hover. Set to `auto` to have the mixin automatically generate a hover color.
237
- /// @param {Color} $color [$button-color] - Text color of the button. Set to `auto` to automatically generate a color based on the background color.
238
- /// @param {Keyword} $style [solid] - Set to `hollow` to create a hollow button. The color defined in `$background` will be used as the primary color of the button.
239
- @mixin button(
240
- $expand: false,
241
- $background: $button-background,
242
- $background-hover: $button-background-hover,
243
- $color: $button-color,
244
- $style: $button-fill
245
- ) {
246
- @include button-base;
247
-
248
- @if $style == solid {
249
- @include button-style($background, $background-hover, $color);
250
- }
251
- @else if $style == hollow {
252
- @include button-hollow;
253
- @include button-hollow-style($background);
254
- }
255
-
256
- @if $expand {
257
- @include button-expand;
258
- }
259
- }
260
-
261
- @mixin foundation-button {
262
- .button {
263
- @include button;
264
-
265
- // Sizes
266
- @each $size, $value in map-remove($button-sizes, default) {
267
- &.#{$size} {
268
- font-size: $value;
269
- }
270
- }
271
-
272
- &.expanded { @include button-expand; }
273
-
274
- // Colors
275
- @each $name, $color in $button-palette {
276
- @if $button-fill != hollow {
277
- &.#{$name} {
278
- @include button-style($color, auto, auto);
279
- }
280
- }
281
- @else {
282
- &.#{$name} {
283
- @include button-hollow-style($color);
284
- }
285
-
286
- &.#{$name}.dropdown::after {
287
- border-top-color: $color;
288
- }
289
- }
290
- }
291
-
292
- // Disabled style
293
- &.disabled,
294
- &[disabled] {
295
- @include button-disabled;
296
-
297
- @each $name, $color in $button-palette {
298
- &.#{$name} {
299
- @include button-disabled($color, auto);
300
- }
301
- }
302
- }
303
-
304
- // Hollow style
305
- @if $button-fill != hollow {
306
- &.hollow {
307
- @include button-hollow;
308
- @include button-hollow-style;
309
-
310
- @each $name, $color in $button-palette {
311
- &.#{$name} {
312
- @include button-hollow-style($color);
313
- }
314
- }
315
- }
316
- }
317
-
318
- // Clear style
319
- @if $button-fill != clear {
320
- &.clear {
321
- @include button-hollow;
322
- @include button-hollow-style;
323
-
324
- &, &:hover, &:focus {
325
- &, &.disabled, &[disabled] {
326
- border-color: transparent;
327
- }
328
- }
329
-
330
- @each $name, $color in $button-palette {
331
- &.#{$name} {
332
- @include button-hollow-style($color);
333
-
334
- &, &:hover,
335
- &:focus {
336
- &,
337
- &.disabled,
338
- &[disabled] {
339
- border-color: transparent;
340
- }
341
- }
342
- }
343
- }
344
- }
345
- }
346
-
347
- // Dropdown arrow
348
- &.dropdown {
349
- @include button-dropdown;
350
-
351
- @if $button-fill == hollow {
352
- &::after {
353
- border-top-color: $button-background;
354
- }
355
- }
356
-
357
- &.hollow {
358
- &::after {
359
- border-top-color: $button-background;
360
- }
361
-
362
- @each $name, $color in $button-palette {
363
- &.#{$name} {
364
- &::after {
365
- border-top-color: $color;
366
- }
367
- }
368
- }
369
- }
370
- }
371
-
372
- // Button with dropdown arrow only
373
- &.arrow-only::after {
374
- top: -0.1em;
375
- float: none;
376
- margin-#{$global-left}: 0;
377
- }
378
- }
379
- a.button {
380
- &:hover,
381
- &:focus {
382
- text-decoration: none;
383
- }
384
- }
385
- }