foundation-rails 5.5.3.2 → 6.6.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (369) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +2 -2
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +17 -4
  5. data/Appraisals +19 -0
  6. data/Gemfile +5 -2
  7. data/Gemfile.lock +210 -0
  8. data/LICENSE.txt +1 -1
  9. data/README.md +64 -28
  10. data/Rakefile +30 -0
  11. data/app/views/foundation/rails/styleguide/show.html.erb +10 -13
  12. data/bower.json +3 -2
  13. data/foundation-rails.gemspec +12 -7
  14. data/gemfiles/rails_4.1.gemfile +10 -0
  15. data/gemfiles/rails_4.1.gemfile.lock +181 -0
  16. data/gemfiles/rails_4.2.gemfile +10 -0
  17. data/gemfiles/rails_4.2.gemfile.lock +181 -0
  18. data/gemfiles/rails_5.0.gemfile +10 -0
  19. data/gemfiles/rails_5.0.gemfile.lock +196 -0
  20. data/gemfiles/rails_5.1.gemfile +10 -0
  21. data/gemfiles/rails_5.1.gemfile.lock +196 -0
  22. data/gemfiles/rails_5.2.gemfile +10 -0
  23. data/gemfiles/rails_5.2.gemfile.lock +196 -0
  24. data/lib/foundation/rails/engine.rb +2 -3
  25. data/lib/foundation/rails/version.rb +1 -1
  26. data/lib/foundation-rails.rb +1 -0
  27. data/lib/generators/foundation/install_generator.rb +39 -27
  28. data/lib/generators/foundation/templates/_settings.scss +895 -0
  29. data/lib/generators/foundation/templates/application.html.erb +1 -2
  30. data/lib/generators/foundation/templates/application.html.haml +2 -4
  31. data/lib/generators/foundation/templates/application.html.slim +1 -3
  32. data/lib/generators/foundation/templates/browserslist +4 -0
  33. data/lib/generators/foundation/templates/foundation_and_overrides.scss +56 -0
  34. data/spec/features/generator_spec.rb +1 -1
  35. data/spec/support/helpers.rb +8 -2
  36. data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_contain.scss +31 -0
  37. data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
  38. data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
  39. data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
  40. data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
  41. data/vendor/assets/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
  42. data/vendor/assets/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
  43. data/vendor/assets/js/foundation.cjs.js +12529 -0
  44. data/vendor/assets/js/foundation.cjs.js.map +1 -0
  45. data/vendor/assets/js/foundation.es6.js +11006 -0
  46. data/vendor/assets/js/foundation.es6.js.map +1 -0
  47. data/vendor/assets/js/foundation.esm.js +12490 -0
  48. data/vendor/assets/js/foundation.esm.js.map +1 -0
  49. data/vendor/assets/js/foundation.js +13897 -0
  50. data/vendor/assets/js/foundation.js.map +1 -0
  51. data/vendor/assets/js/foundation.min.js +2 -0
  52. data/vendor/assets/js/foundation.min.js.map +1 -0
  53. data/vendor/assets/js/plugins/foundation.abide.js +1142 -0
  54. data/vendor/assets/js/plugins/foundation.abide.js.map +1 -0
  55. data/vendor/assets/js/plugins/foundation.abide.min.js +2 -0
  56. data/vendor/assets/js/plugins/foundation.abide.min.js.map +1 -0
  57. data/vendor/assets/js/plugins/foundation.accordion.js +661 -0
  58. data/vendor/assets/js/plugins/foundation.accordion.js.map +1 -0
  59. data/vendor/assets/js/plugins/foundation.accordion.min.js +2 -0
  60. data/vendor/assets/js/plugins/foundation.accordion.min.js.map +1 -0
  61. data/vendor/assets/js/plugins/foundation.accordionMenu.js +616 -0
  62. data/vendor/assets/js/plugins/foundation.accordionMenu.js.map +1 -0
  63. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js +2 -0
  64. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js.map +1 -0
  65. data/vendor/assets/js/plugins/foundation.core.js +1180 -0
  66. data/vendor/assets/js/plugins/foundation.core.js.map +1 -0
  67. data/vendor/assets/js/plugins/foundation.core.min.js +2 -0
  68. data/vendor/assets/js/plugins/foundation.core.min.js.map +1 -0
  69. data/vendor/assets/js/plugins/foundation.drilldown.js +968 -0
  70. data/vendor/assets/js/plugins/foundation.drilldown.js.map +1 -0
  71. data/vendor/assets/js/plugins/foundation.drilldown.min.js +2 -0
  72. data/vendor/assets/js/plugins/foundation.drilldown.min.js.map +1 -0
  73. data/vendor/assets/js/plugins/foundation.dropdown.js +1328 -0
  74. data/vendor/assets/js/plugins/foundation.dropdown.js.map +1 -0
  75. data/vendor/assets/js/plugins/foundation.dropdown.min.js +2 -0
  76. data/vendor/assets/js/plugins/foundation.dropdown.min.js.map +1 -0
  77. data/vendor/assets/js/plugins/foundation.dropdownMenu.js +799 -0
  78. data/vendor/assets/js/plugins/foundation.dropdownMenu.js.map +1 -0
  79. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js +2 -0
  80. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js.map +1 -0
  81. data/vendor/assets/js/plugins/foundation.equalizer.js +614 -0
  82. data/vendor/assets/js/plugins/foundation.equalizer.js.map +1 -0
  83. data/vendor/assets/js/plugins/foundation.equalizer.min.js +2 -0
  84. data/vendor/assets/js/plugins/foundation.equalizer.min.js.map +1 -0
  85. data/vendor/assets/js/plugins/foundation.interchange.js +796 -0
  86. data/vendor/assets/js/plugins/foundation.interchange.js.map +1 -0
  87. data/vendor/assets/js/plugins/foundation.interchange.min.js +2 -0
  88. data/vendor/assets/js/plugins/foundation.interchange.min.js.map +1 -0
  89. data/vendor/assets/js/plugins/foundation.magellan.js +850 -0
  90. data/vendor/assets/js/plugins/foundation.magellan.js.map +1 -0
  91. data/vendor/assets/js/plugins/foundation.magellan.min.js +2 -0
  92. data/vendor/assets/js/plugins/foundation.magellan.min.js.map +1 -0
  93. data/vendor/assets/js/plugins/foundation.offcanvas.js +1318 -0
  94. data/vendor/assets/js/plugins/foundation.offcanvas.js.map +1 -0
  95. data/vendor/assets/js/plugins/foundation.offcanvas.min.js +2 -0
  96. data/vendor/assets/js/plugins/foundation.offcanvas.min.js.map +1 -0
  97. data/vendor/assets/js/plugins/foundation.orbit.js +886 -0
  98. data/vendor/assets/js/plugins/foundation.orbit.js.map +1 -0
  99. data/vendor/assets/js/plugins/foundation.orbit.min.js +2 -0
  100. data/vendor/assets/js/plugins/foundation.orbit.min.js.map +1 -0
  101. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js +585 -0
  102. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js.map +1 -0
  103. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js +2 -0
  104. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js.map +1 -0
  105. data/vendor/assets/js/plugins/foundation.responsiveMenu.js +413 -0
  106. data/vendor/assets/js/plugins/foundation.responsiveMenu.js.map +1 -0
  107. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js +2 -0
  108. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js.map +1 -0
  109. data/vendor/assets/js/plugins/foundation.responsiveToggle.js +394 -0
  110. data/vendor/assets/js/plugins/foundation.responsiveToggle.js.map +1 -0
  111. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js +2 -0
  112. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js.map +1 -0
  113. data/vendor/assets/js/plugins/foundation.reveal.js +1275 -0
  114. data/vendor/assets/js/plugins/foundation.reveal.js.map +1 -0
  115. data/vendor/assets/js/plugins/foundation.reveal.min.js +2 -0
  116. data/vendor/assets/js/plugins/foundation.reveal.min.js.map +1 -0
  117. data/vendor/assets/js/plugins/foundation.slider.js +1346 -0
  118. data/vendor/assets/js/plugins/foundation.slider.js.map +1 -0
  119. data/vendor/assets/js/plugins/foundation.slider.min.js +2 -0
  120. data/vendor/assets/js/plugins/foundation.slider.min.js.map +1 -0
  121. data/vendor/assets/js/plugins/foundation.smoothScroll.js +359 -0
  122. data/vendor/assets/js/plugins/foundation.smoothScroll.js.map +1 -0
  123. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js +2 -0
  124. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js.map +1 -0
  125. data/vendor/assets/js/plugins/foundation.sticky.js +1105 -0
  126. data/vendor/assets/js/plugins/foundation.sticky.js.map +1 -0
  127. data/vendor/assets/js/plugins/foundation.sticky.min.js +2 -0
  128. data/vendor/assets/js/plugins/foundation.sticky.min.js.map +1 -0
  129. data/vendor/assets/js/plugins/foundation.tabs.js +792 -0
  130. data/vendor/assets/js/plugins/foundation.tabs.js.map +1 -0
  131. data/vendor/assets/js/plugins/foundation.tabs.min.js +2 -0
  132. data/vendor/assets/js/plugins/foundation.tabs.min.js.map +1 -0
  133. data/vendor/assets/js/plugins/foundation.toggler.js +704 -0
  134. data/vendor/assets/js/plugins/foundation.toggler.js.map +1 -0
  135. data/vendor/assets/js/plugins/foundation.toggler.min.js +2 -0
  136. data/vendor/assets/js/plugins/foundation.toggler.min.js.map +1 -0
  137. data/vendor/assets/js/plugins/foundation.tooltip.js +1333 -0
  138. data/vendor/assets/js/plugins/foundation.tooltip.js.map +1 -0
  139. data/vendor/assets/js/plugins/foundation.tooltip.min.js +2 -0
  140. data/vendor/assets/js/plugins/foundation.tooltip.min.js.map +1 -0
  141. data/vendor/assets/js/plugins/foundation.util.box.js +354 -0
  142. data/vendor/assets/js/plugins/foundation.util.box.js.map +1 -0
  143. data/vendor/assets/js/plugins/foundation.util.box.min.js +2 -0
  144. data/vendor/assets/js/plugins/foundation.util.box.min.js.map +1 -0
  145. data/vendor/assets/js/plugins/foundation.util.imageLoader.js +218 -0
  146. data/vendor/assets/js/plugins/foundation.util.imageLoader.js.map +1 -0
  147. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js +2 -0
  148. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js.map +1 -0
  149. data/vendor/assets/js/plugins/foundation.util.keyboard.js +341 -0
  150. data/vendor/assets/js/plugins/foundation.util.keyboard.js.map +1 -0
  151. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js +2 -0
  152. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js.map +1 -0
  153. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js +509 -0
  154. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js.map +1 -0
  155. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js +2 -0
  156. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js.map +1 -0
  157. data/vendor/assets/js/plugins/foundation.util.motion.js +274 -0
  158. data/vendor/assets/js/plugins/foundation.util.motion.js.map +1 -0
  159. data/vendor/assets/js/plugins/foundation.util.motion.min.js +2 -0
  160. data/vendor/assets/js/plugins/foundation.util.motion.min.js.map +1 -0
  161. data/vendor/assets/js/plugins/foundation.util.nest.js +240 -0
  162. data/vendor/assets/js/plugins/foundation.util.nest.js.map +1 -0
  163. data/vendor/assets/js/plugins/foundation.util.nest.min.js +2 -0
  164. data/vendor/assets/js/plugins/foundation.util.nest.min.js.map +1 -0
  165. data/vendor/assets/js/plugins/foundation.util.timer.js +226 -0
  166. data/vendor/assets/js/plugins/foundation.util.timer.js.map +1 -0
  167. data/vendor/assets/js/plugins/foundation.util.timer.min.js +2 -0
  168. data/vendor/assets/js/plugins/foundation.util.timer.min.js.map +1 -0
  169. data/vendor/assets/js/plugins/foundation.util.touch.js +365 -0
  170. data/vendor/assets/js/plugins/foundation.util.touch.js.map +1 -0
  171. data/vendor/assets/js/plugins/foundation.util.touch.min.js +2 -0
  172. data/vendor/assets/js/plugins/foundation.util.touch.min.js.map +1 -0
  173. data/vendor/assets/js/plugins/foundation.util.triggers.js +470 -0
  174. data/vendor/assets/js/plugins/foundation.util.triggers.js.map +1 -0
  175. data/vendor/assets/js/plugins/foundation.util.triggers.min.js +2 -0
  176. data/vendor/assets/js/plugins/foundation.util.triggers.min.js.map +1 -0
  177. data/vendor/assets/scss/_global.scss +244 -0
  178. data/vendor/assets/scss/components/_accordion-menu.scss +174 -0
  179. data/vendor/assets/scss/components/_accordion.scss +164 -0
  180. data/vendor/assets/scss/components/_badge.scss +63 -0
  181. data/vendor/assets/scss/components/_breadcrumbs.scss +119 -0
  182. data/vendor/assets/scss/components/_button-group.scss +304 -0
  183. data/vendor/assets/scss/components/_button.scss +428 -0
  184. data/vendor/assets/scss/components/_callout.scss +108 -0
  185. data/vendor/assets/scss/components/_card.scss +129 -0
  186. data/vendor/assets/scss/components/_close-button.scss +127 -0
  187. data/vendor/assets/scss/components/_drilldown.scss +140 -0
  188. data/vendor/assets/scss/components/_dropdown-menu.scss +279 -0
  189. data/vendor/assets/scss/components/_dropdown.scss +82 -0
  190. data/vendor/assets/scss/components/_flex-video.scss +1 -0
  191. data/vendor/assets/scss/components/_flex.scss +119 -0
  192. data/vendor/assets/scss/components/_float.scss +27 -0
  193. data/vendor/assets/scss/components/_label.scss +64 -0
  194. data/vendor/assets/scss/components/_media-object.scss +114 -0
  195. data/vendor/assets/scss/components/_menu-icon.scss +9 -0
  196. data/vendor/assets/scss/components/_menu.scss +495 -0
  197. data/vendor/assets/scss/components/_off-canvas.scss +511 -0
  198. data/vendor/assets/scss/components/_orbit.scss +197 -0
  199. data/vendor/assets/scss/components/_pagination.scss +201 -0
  200. data/vendor/assets/scss/components/_progress-bar.scss +63 -0
  201. data/vendor/assets/scss/components/_responsive-embed.scss +57 -0
  202. data/vendor/assets/scss/components/_reveal.scss +185 -0
  203. data/vendor/assets/scss/components/_slider.scss +137 -0
  204. data/vendor/assets/scss/components/_sticky.scss +39 -0
  205. data/vendor/assets/scss/components/_switch.scss +261 -0
  206. data/vendor/assets/scss/components/_table.scss +328 -0
  207. data/vendor/assets/scss/components/_tabs.scss +193 -0
  208. data/vendor/assets/scss/components/_thumbnail.scss +67 -0
  209. data/vendor/assets/scss/components/_title-bar.scss +84 -0
  210. data/vendor/assets/scss/components/_tooltip.scss +160 -0
  211. data/vendor/assets/scss/components/_top-bar.scss +175 -0
  212. data/vendor/assets/scss/components/_visibility.scss +135 -0
  213. data/vendor/assets/scss/forms/_checkbox.scss +41 -0
  214. data/vendor/assets/scss/forms/_error.scss +89 -0
  215. data/vendor/assets/scss/forms/_fieldset.scss +53 -0
  216. data/vendor/assets/scss/forms/_forms.scss +34 -0
  217. data/vendor/assets/scss/forms/_help-text.scss +30 -0
  218. data/vendor/assets/scss/forms/_input-group.scss +142 -0
  219. data/vendor/assets/scss/forms/_label.scss +50 -0
  220. data/vendor/assets/scss/forms/_meter.scss +116 -0
  221. data/vendor/assets/scss/forms/_progress.scss +94 -0
  222. data/vendor/assets/scss/forms/_range.scss +149 -0
  223. data/vendor/assets/scss/forms/_select.scss +90 -0
  224. data/vendor/assets/scss/forms/_text.scss +179 -0
  225. data/vendor/assets/scss/foundation.scss +155 -0
  226. data/vendor/assets/scss/grid/_classes.scss +189 -0
  227. data/vendor/assets/scss/grid/_column.scss +78 -0
  228. data/vendor/assets/scss/grid/_flex-grid.scss +260 -0
  229. data/vendor/assets/scss/grid/_grid.scss +48 -0
  230. data/vendor/assets/scss/grid/_gutter.scss +67 -0
  231. data/vendor/assets/scss/grid/_layout.scss +76 -0
  232. data/vendor/assets/scss/grid/_position.scss +100 -0
  233. data/vendor/assets/scss/grid/_row.scss +99 -0
  234. data/vendor/assets/scss/grid/_size.scss +24 -0
  235. data/vendor/assets/scss/motion-ui/_classes.scss +109 -0
  236. data/vendor/assets/scss/motion-ui/_settings.scss +62 -0
  237. data/vendor/assets/scss/motion-ui/effects/_fade.scss +29 -0
  238. data/vendor/assets/scss/motion-ui/effects/_hinge.scss +66 -0
  239. data/vendor/assets/scss/motion-ui/effects/_shake.scss +15 -0
  240. data/vendor/assets/scss/motion-ui/effects/_slide.scss +42 -0
  241. data/vendor/assets/scss/motion-ui/effects/_spin.scss +29 -0
  242. data/vendor/assets/scss/motion-ui/effects/_wiggle.scss +13 -0
  243. data/vendor/assets/scss/motion-ui/effects/_zoom.scss +15 -0
  244. data/vendor/assets/scss/motion-ui/motion-ui.scss +31 -0
  245. data/vendor/assets/scss/motion-ui/transitions/_fade.scss +30 -0
  246. data/vendor/assets/scss/motion-ui/transitions/_hinge.scss +44 -0
  247. data/vendor/assets/scss/motion-ui/transitions/_slide.scss +43 -0
  248. data/vendor/assets/scss/motion-ui/transitions/_spin.scss +40 -0
  249. data/vendor/assets/scss/motion-ui/transitions/_zoom.scss +41 -0
  250. data/vendor/assets/scss/motion-ui/util/_animation.scss +7 -0
  251. data/vendor/assets/scss/motion-ui/util/_args.scss +15 -0
  252. data/vendor/assets/scss/motion-ui/util/_function.scss +94 -0
  253. data/vendor/assets/scss/motion-ui/util/_keyframe.scss +136 -0
  254. data/vendor/assets/scss/motion-ui/util/_selector.scss +23 -0
  255. data/vendor/assets/scss/motion-ui/util/_series.scss +57 -0
  256. data/vendor/assets/scss/motion-ui/util/_string.scss +36 -0
  257. data/vendor/assets/scss/motion-ui/util/_transition.scss +45 -0
  258. data/vendor/assets/scss/motion-ui/util/_unit.scss +7 -0
  259. data/vendor/assets/scss/prototype/_arrow.scss +36 -0
  260. data/vendor/assets/scss/prototype/_border-box.scss +35 -0
  261. data/vendor/assets/scss/prototype/_border-none.scss +35 -0
  262. data/vendor/assets/scss/prototype/_bordered.scss +54 -0
  263. data/vendor/assets/scss/prototype/_box.scss +23 -0
  264. data/vendor/assets/scss/prototype/_display.scss +50 -0
  265. data/vendor/assets/scss/prototype/_font-styling.scss +95 -0
  266. data/vendor/assets/scss/prototype/_list-style-type.scss +95 -0
  267. data/vendor/assets/scss/prototype/_overflow.scss +72 -0
  268. data/vendor/assets/scss/prototype/_position.scss +114 -0
  269. data/vendor/assets/scss/prototype/_prototype.scss +87 -0
  270. data/vendor/assets/scss/prototype/_relation.scss +157 -0
  271. data/vendor/assets/scss/prototype/_rotate.scss +31 -0
  272. data/vendor/assets/scss/prototype/_rounded.scss +61 -0
  273. data/vendor/assets/scss/prototype/_separator.scss +96 -0
  274. data/vendor/assets/scss/prototype/_shadow.scss +43 -0
  275. data/vendor/assets/scss/prototype/_sizing.scss +73 -0
  276. data/vendor/assets/scss/prototype/_spacing.scss +179 -0
  277. data/vendor/assets/scss/prototype/_text-decoration.scss +48 -0
  278. data/vendor/assets/scss/prototype/_text-transformation.scss +48 -0
  279. data/vendor/assets/scss/prototype/_text-utilities.scss +88 -0
  280. data/vendor/assets/scss/settings/_settings.scss +895 -0
  281. data/vendor/assets/scss/typography/_alignment.scss +22 -0
  282. data/vendor/assets/scss/typography/_base.scss +474 -0
  283. data/vendor/assets/scss/typography/_helpers.scss +180 -0
  284. data/vendor/assets/scss/typography/_print.scss +96 -0
  285. data/vendor/assets/scss/typography/_typography.scss +26 -0
  286. data/vendor/assets/scss/util/_breakpoint.scss +435 -0
  287. data/vendor/assets/scss/util/_color.scss +139 -0
  288. data/vendor/assets/scss/util/_direction.scss +31 -0
  289. data/vendor/assets/scss/util/_flex.scss +90 -0
  290. data/vendor/assets/scss/util/_math.scss +147 -0
  291. data/vendor/assets/scss/util/_mixins.scss +373 -0
  292. data/vendor/assets/scss/util/_selector.scss +41 -0
  293. data/vendor/assets/scss/util/_typography.scss +26 -0
  294. data/vendor/assets/scss/util/_unit.scss +152 -0
  295. data/vendor/assets/scss/util/_util.scss +14 -0
  296. data/vendor/assets/scss/util/_value.scss +200 -0
  297. data/vendor/assets/scss/vendor/normalize.scss +281 -0
  298. data/vendor/assets/scss/xy-grid/_cell.scss +272 -0
  299. data/vendor/assets/scss/xy-grid/_classes.scss +493 -0
  300. data/vendor/assets/scss/xy-grid/_collapse.scss +75 -0
  301. data/vendor/assets/scss/xy-grid/_frame.scss +86 -0
  302. data/vendor/assets/scss/xy-grid/_grid.scss +37 -0
  303. data/vendor/assets/scss/xy-grid/_gutters.scss +45 -0
  304. data/vendor/assets/scss/xy-grid/_layout.scss +36 -0
  305. data/vendor/assets/scss/xy-grid/_position.scss +55 -0
  306. data/vendor/assets/scss/xy-grid/_xy-grid.scss +51 -0
  307. metadata +342 -83
  308. data/update-gem.sh +0 -20
  309. data/vendor/assets/javascripts/foundation/foundation.abide.js +0 -426
  310. data/vendor/assets/javascripts/foundation/foundation.accordion.js +0 -125
  311. data/vendor/assets/javascripts/foundation/foundation.alert.js +0 -43
  312. data/vendor/assets/javascripts/foundation/foundation.clearing.js +0 -586
  313. data/vendor/assets/javascripts/foundation/foundation.dropdown.js +0 -468
  314. data/vendor/assets/javascripts/foundation/foundation.equalizer.js +0 -104
  315. data/vendor/assets/javascripts/foundation/foundation.interchange.js +0 -360
  316. data/vendor/assets/javascripts/foundation/foundation.joyride.js +0 -935
  317. data/vendor/assets/javascripts/foundation/foundation.js +0 -732
  318. data/vendor/assets/javascripts/foundation/foundation.magellan.js +0 -214
  319. data/vendor/assets/javascripts/foundation/foundation.offcanvas.js +0 -225
  320. data/vendor/assets/javascripts/foundation/foundation.orbit.js +0 -476
  321. data/vendor/assets/javascripts/foundation/foundation.reveal.js +0 -522
  322. data/vendor/assets/javascripts/foundation/foundation.slider.js +0 -296
  323. data/vendor/assets/javascripts/foundation/foundation.tab.js +0 -247
  324. data/vendor/assets/javascripts/foundation/foundation.tooltip.js +0 -348
  325. data/vendor/assets/javascripts/foundation/foundation.topbar.js +0 -458
  326. data/vendor/assets/javascripts/foundation.js +0 -17
  327. data/vendor/assets/javascripts/vendor/modernizr.js +0 -1406
  328. data/vendor/assets/stylesheets/foundation/_functions.scss +0 -156
  329. data/vendor/assets/stylesheets/foundation/_settings.scss +0 -1489
  330. data/vendor/assets/stylesheets/foundation/components/_accordion.scss +0 -161
  331. data/vendor/assets/stylesheets/foundation/components/_alert-boxes.scss +0 -128
  332. data/vendor/assets/stylesheets/foundation/components/_block-grid.scss +0 -133
  333. data/vendor/assets/stylesheets/foundation/components/_breadcrumbs.scss +0 -132
  334. data/vendor/assets/stylesheets/foundation/components/_button-groups.scss +0 -208
  335. data/vendor/assets/stylesheets/foundation/components/_buttons.scss +0 -261
  336. data/vendor/assets/stylesheets/foundation/components/_clearing.scss +0 -260
  337. data/vendor/assets/stylesheets/foundation/components/_dropdown-buttons.scss +0 -130
  338. data/vendor/assets/stylesheets/foundation/components/_dropdown.scss +0 -269
  339. data/vendor/assets/stylesheets/foundation/components/_flex-video.scss +0 -51
  340. data/vendor/assets/stylesheets/foundation/components/_forms.scss +0 -607
  341. data/vendor/assets/stylesheets/foundation/components/_global.scss +0 -566
  342. data/vendor/assets/stylesheets/foundation/components/_grid.scss +0 -292
  343. data/vendor/assets/stylesheets/foundation/components/_icon-bar.scss +0 -460
  344. data/vendor/assets/stylesheets/foundation/components/_inline-lists.scss +0 -58
  345. data/vendor/assets/stylesheets/foundation/components/_joyride.scss +0 -220
  346. data/vendor/assets/stylesheets/foundation/components/_keystrokes.scss +0 -60
  347. data/vendor/assets/stylesheets/foundation/components/_labels.scss +0 -106
  348. data/vendor/assets/stylesheets/foundation/components/_magellan.scss +0 -34
  349. data/vendor/assets/stylesheets/foundation/components/_offcanvas.scss +0 -606
  350. data/vendor/assets/stylesheets/foundation/components/_orbit.scss +0 -388
  351. data/vendor/assets/stylesheets/foundation/components/_pagination.scss +0 -163
  352. data/vendor/assets/stylesheets/foundation/components/_panels.scss +0 -107
  353. data/vendor/assets/stylesheets/foundation/components/_pricing-tables.scss +0 -150
  354. data/vendor/assets/stylesheets/foundation/components/_progress-bars.scss +0 -85
  355. data/vendor/assets/stylesheets/foundation/components/_range-slider.scss +0 -177
  356. data/vendor/assets/stylesheets/foundation/components/_reveal.scss +0 -212
  357. data/vendor/assets/stylesheets/foundation/components/_side-nav.scss +0 -120
  358. data/vendor/assets/stylesheets/foundation/components/_split-buttons.scss +0 -203
  359. data/vendor/assets/stylesheets/foundation/components/_sub-nav.scss +0 -125
  360. data/vendor/assets/stylesheets/foundation/components/_switches.scss +0 -241
  361. data/vendor/assets/stylesheets/foundation/components/_tables.scss +0 -135
  362. data/vendor/assets/stylesheets/foundation/components/_tabs.scss +0 -142
  363. data/vendor/assets/stylesheets/foundation/components/_thumbs.scss +0 -66
  364. data/vendor/assets/stylesheets/foundation/components/_tooltips.scss +0 -142
  365. data/vendor/assets/stylesheets/foundation/components/_top-bar.scss +0 -745
  366. data/vendor/assets/stylesheets/foundation/components/_type.scss +0 -525
  367. data/vendor/assets/stylesheets/foundation/components/_visibility.scss +0 -425
  368. data/vendor/assets/stylesheets/foundation.scss +0 -42
  369. data/vendor/assets/stylesheets/normalize.scss +0 -424
@@ -0,0 +1,76 @@
1
+ // Foundation for Sites
2
+ // https://get.foundation
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group grid
7
+ ////
8
+
9
+ /// Sizes child elements so that `$n` number of items appear on each row.
10
+ ///
11
+ /// @param {Number} $n - Number of elements to display per row.
12
+ /// @param {String} $selector ['.column'] - Selector(s) to use for child elements.
13
+ /// @param {Number|List} $gutter
14
+ /// The gutter to apply to child elements. Accepts multiple values:
15
+ /// - $grid-column-gutter will use the values in the $grid-column-gutter map, including breakpoint sizes.
16
+ /// - A fixed numeric value will apply this gutter to all breakpoints.
17
+ @mixin grid-layout(
18
+ $n,
19
+ $selector: '.column',
20
+ $gutter: null
21
+ ) {
22
+ & > #{$selector} {
23
+ float: $global-left;
24
+ width: percentage(1/$n);
25
+
26
+ // If a $gutter value is passed
27
+ @if($gutter) {
28
+ // Gutters
29
+ @if type-of($gutter) == 'map' {
30
+ @each $breakpoint, $value in $gutter {
31
+ $padding: rem-calc($value) / 2;
32
+
33
+ @include breakpoint($breakpoint) {
34
+ padding-right: $padding;
35
+ padding-left: $padding;
36
+ }
37
+ }
38
+ }
39
+ @else if type-of($gutter) == 'number' and strip-unit($gutter) > 0 {
40
+ $padding: rem-calc($gutter) / 2;
41
+ padding-right: $padding;
42
+ padding-left: $padding;
43
+ }
44
+ }
45
+
46
+ &:nth-of-type(1n) {
47
+ clear: none;
48
+ }
49
+
50
+ &:nth-of-type(#{$n}n+1) {
51
+ clear: both;
52
+ }
53
+
54
+ &:last-child {
55
+ float: $global-left;
56
+ }
57
+ }
58
+ }
59
+
60
+ /// Adds extra CSS to block grid children so the last items in the row center automatically. Apply this to the columns, not the row.
61
+ ///
62
+ /// @param {Number} $n - Number of items that appear in each row.
63
+ @mixin grid-layout-center-last($n) {
64
+ @for $i from 1 to $n {
65
+ @if $i == 1 {
66
+ &:nth-child(#{$n}n+1):last-child {
67
+ margin-left: (100 - 100/$n * $i) / 2 * 1%;
68
+ }
69
+ }
70
+ @else {
71
+ &:nth-child(#{$n}n+1):nth-last-child(#{$i}) {
72
+ margin-left: (100 - 100/$n * $i) / 2 * 1%;
73
+ }
74
+ }
75
+ }
76
+ }
@@ -0,0 +1,100 @@
1
+ // Foundation for Sites
2
+ // https://get.foundation
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group grid
7
+ ////
8
+
9
+ /// Reposition a column.
10
+ ///
11
+ /// @param {Number|Keyword} $position - It can be:
12
+ /// * A number: The column will move equal to the width of the column count
13
+ /// specified. A positive number will push the column to the right, while
14
+ /// a negative number will pull it to the left.
15
+ /// * `center`: Column will be centered
16
+ /// * `auto`: Column will be pushed to the left (or to the right for the last column).
17
+ @mixin grid-column-position($position) {
18
+ // Auto positioning
19
+ @if $position == auto {
20
+ &, &:last-child:not(:first-child) {
21
+ float: $global-left;
22
+ clear: none;
23
+ }
24
+
25
+ // Last column alignment
26
+ @if $grid-column-align-edge {
27
+ &:last-child:not(:first-child) {
28
+ float: $global-right;
29
+ }
30
+ }
31
+ }
32
+
33
+ // Push/pull
34
+ @else if type-of($position) == 'number' {
35
+ $offset: percentage($position / $grid-column-count);
36
+
37
+ position: relative;
38
+ #{$global-left}: $offset;
39
+ }
40
+
41
+ // Center positioning
42
+ @else if $position == center {
43
+ &, &:last-child:not(:first-child) {
44
+ float: none;
45
+ clear: both;
46
+ }
47
+ margin-right: auto;
48
+ margin-left: auto;
49
+ }
50
+
51
+ @else {
52
+ @warn 'Wrong syntax for grid-column-position(). Enter a positive or negative number, "center" or "auto".';
53
+ }
54
+ }
55
+
56
+ /// Reset a position definition.
57
+ @mixin grid-column-unposition {
58
+ @include grid-column-position(auto);
59
+ position: static;
60
+ margin-right: 0;
61
+ margin-left: 0;
62
+ }
63
+
64
+ /// Offsets a column to the right by `$n` columns.
65
+ /// @param {Number|List} $n - Width to offset by. You can pass in any value accepted by the `grid-column()` mixin, such as `6`, `50%`, or `1 of 2`.
66
+ @mixin grid-column-offset($n) {
67
+ margin-#{$global-left}: grid-column($n);
68
+ }
69
+
70
+ /// Disable the default behavior of the last column in a row aligning to the opposite edge.
71
+ @mixin grid-column-end {
72
+ // This extra specificity is required for the property to be applied
73
+ &:last-child:last-child {
74
+ float: $global-left;
75
+ }
76
+ }
77
+
78
+ /// Shorthand for `grid-column-position()`.
79
+ /// @alias grid-column-position
80
+ @mixin grid-col-pos($position) {
81
+ @include grid-column-position($position);
82
+ }
83
+
84
+ /// Shorthand for `grid-column-unposition()`.
85
+ /// @alias grid-column-unposition
86
+ @mixin grid-col-unpos {
87
+ @include grid-column-unposition;
88
+ }
89
+
90
+ /// Shorthand for `grid-column-offset()`.
91
+ /// @alias grid-column-offset
92
+ @mixin grid-col-off($n) {
93
+ @include grid-column-offset($n);
94
+ }
95
+
96
+ /// Shorthand for `grid-column-end()`.
97
+ /// @alias grid-column-end
98
+ @mixin grid-col-end {
99
+ @include grid-column-end;
100
+ }
@@ -0,0 +1,99 @@
1
+ // Foundation for Sites
2
+ // https://get.foundation
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group grid
7
+ ////
8
+
9
+ /// Change the behavior of columns defined inside this mixin to use a different column count.
10
+ /// @content
11
+ ///
12
+ /// @param {Number} $columns - Number of columns to use.
13
+ /// @param {Boolean} $root [false]
14
+ /// If `false`, selectors inside this mixin will nest inside the parent selector.
15
+ /// If `true`, selectors will not nest.
16
+ @mixin grid-context(
17
+ $columns,
18
+ $root: false
19
+ ) {
20
+ // Store the current column count so it can be re-set later
21
+ $old-grid-column-count: $grid-column-count;
22
+ $grid-column-count: $columns !global;
23
+
24
+ @if $root {
25
+ @at-root { @content; }
26
+ }
27
+ @else {
28
+ @content;
29
+ }
30
+
31
+ // Restore the old column count
32
+ $grid-column-count: $old-grid-column-count !global;
33
+ }
34
+
35
+ /// Creates a grid row.
36
+ /// @content
37
+ ///
38
+ /// @param {Number} $columns [null] - Column count for this row. `null` will use the default column count.
39
+ /// @param {Keywords} $behavior [null]
40
+ /// Modifications to the default grid styles. `nest` indicates the row will be placed inside another row. `collapse` indicates that the columns inside this row will not have padding. `nest collapse` combines both behaviors.
41
+ /// @param {Keyword|Number} $size [$grid-row-width] Maximum size of the row. Set to `expand` to make the row taking the full width.
42
+ /// @param {Boolean} $cf [true] - Whether or not to include a clearfix.
43
+ /// @param {Number|Map} $gutters [$grid-column-gutter] - Gutter map or single value to use when inverting margins. Responsive gutter settings by default.
44
+ @mixin grid-row(
45
+ $columns: null,
46
+ $behavior: null,
47
+ $size: $grid-row-width,
48
+ $cf: true,
49
+ $gutters: $grid-column-gutter
50
+ ) {
51
+ $margin: auto;
52
+
53
+ @if index($behavior, nest) != null {
54
+ @include grid-row-nest($gutters);
55
+
56
+ @if index($behavior, collapse) != null {
57
+ margin-right: 0;
58
+ margin-left: 0;
59
+ }
60
+ }
61
+ @else {
62
+ @include grid-row-size($size);
63
+ margin-right: auto;
64
+ margin-left: auto;
65
+ }
66
+
67
+ @if $cf {
68
+ @include clearfix;
69
+ }
70
+
71
+ @if $columns != null {
72
+ @include grid-context($columns) {
73
+ @content;
74
+ }
75
+ }
76
+ }
77
+
78
+ /// Inverts the margins of a row to nest it inside of a column.
79
+ ///
80
+ /// @param {Number|Map} $gutters [$grid-column-gutter] - Gutter map or single value to use when inverting margins. Responsive gutter settings by default.
81
+ @mixin grid-row-nest($gutters: $grid-column-gutter) {
82
+ @include -zf-each-breakpoint {
83
+ $margin: rem-calc(-zf-get-bp-val($gutters, $-zf-size)) / 2 * -1;
84
+
85
+ margin-right: $margin;
86
+ margin-left: $margin;
87
+ }
88
+ }
89
+
90
+ /// Set a grid row size
91
+ ///
92
+ /// @param {Keyword|Number} $size [$grid-row-width] Maximum size of the row. Set to `expand` to make the row taking the full width.
93
+ @mixin grid-row-size($size: $grid-row-width) {
94
+ @if $size == expand {
95
+ $size: none;
96
+ }
97
+
98
+ max-width: $size;
99
+ }
@@ -0,0 +1,24 @@
1
+ // Foundation for Sites
2
+ // https://get.foundation
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group grid
7
+ ////
8
+
9
+ /// Set the width of a grid column.
10
+ ///
11
+ /// @param {Number|List} $width [$grid-column-count] - Width to make the column. You can pass in any value accepted by the `grid-column()` function, such as `6`, `50%`, or `1 of 2`.
12
+ @mixin grid-column-size(
13
+ $columns: $grid-column-count
14
+ ) {
15
+ width: grid-column($columns);
16
+ }
17
+
18
+ /// Shorthand for `grid-column-size()`.
19
+ /// @alias grid-column-size
20
+ @mixin grid-col-size(
21
+ $columns: $grid-column-count
22
+ ) {
23
+ @include grid-column-size($columns);
24
+ }
@@ -0,0 +1,109 @@
1
+ // scss-lint:disable ImportantRule, SpaceAfterComma, SingleLinePerProperty
2
+
3
+ @mixin -motion-ui-defaults {
4
+ transition-duration: map-get($motion-ui-speeds, default);
5
+ transition-timing-function: map-get($motion-ui-easings, default);
6
+ }
7
+
8
+ // Transitions
9
+ // - - - - - - - - - - - - - - -
10
+ @mixin motion-ui-transitions {
11
+ // Slide
12
+ .slide-in-down { @include mui-slide(in, down); }
13
+ .slide-in-left { @include mui-slide(in, right); }
14
+ .slide-in-up { @include mui-slide(in, up); }
15
+ .slide-in-right { @include mui-slide(in, left); }
16
+ .slide-out-down { @include mui-slide(out, down); }
17
+ .slide-out-right { @include mui-slide(out, right); }
18
+ .slide-out-up { @include mui-slide(out, up); }
19
+ .slide-out-left { @include mui-slide(out, left); }
20
+
21
+ // Fade
22
+ .fade-in { @include mui-fade(in, 0, 1); }
23
+ .fade-out { @include mui-fade(out, 1, 0); }
24
+
25
+ // Hinge
26
+ .hinge-in-from-top { @include mui-hinge(in, top); }
27
+ .hinge-in-from-right { @include mui-hinge(in, right); }
28
+ .hinge-in-from-bottom { @include mui-hinge(in, bottom); }
29
+ .hinge-in-from-left { @include mui-hinge(in, left); }
30
+ .hinge-in-from-middle-x { @include mui-hinge(in, top, center); }
31
+ .hinge-in-from-middle-y { @include mui-hinge(in, right, center); }
32
+ .hinge-out-from-top { @include mui-hinge(out, top); }
33
+ .hinge-out-from-right { @include mui-hinge(out, right); }
34
+ .hinge-out-from-bottom { @include mui-hinge(out, bottom); }
35
+ .hinge-out-from-left { @include mui-hinge(out, left); }
36
+ .hinge-out-from-middle-x { @include mui-hinge(out, top, center); }
37
+ .hinge-out-from-middle-y { @include mui-hinge(out, right, center); }
38
+
39
+ // Scale
40
+ .scale-in-up { @include mui-zoom(in, 0.5, 1); }
41
+ .scale-in-down { @include mui-zoom(in, 1.5, 1); }
42
+ .scale-out-up { @include mui-zoom(out, 1, 1.5); }
43
+ .scale-out-down { @include mui-zoom(out, 1, 0.5); }
44
+
45
+ // Spin
46
+ .spin-in { @include mui-spin(in, cw); }
47
+ .spin-out { @include mui-spin(out, cw); }
48
+ .spin-in-ccw { @include mui-spin(in, ccw); }
49
+ .spin-out-ccw { @include mui-spin(out, ccw); }
50
+
51
+ // Transition Modifiers
52
+ // - - - - - - - - - - - - - - -
53
+
54
+ @each $name, $value in $motion-ui-speeds {
55
+ @if $name != default {
56
+ .#{$name} { transition-duration: $value !important; }
57
+ }
58
+ }
59
+
60
+ @each $name, $value in $motion-ui-easings {
61
+ @if $name != default {
62
+ .#{$name} { transition-timing-function: $value !important; }
63
+ }
64
+ }
65
+
66
+ @each $name, $value in $motion-ui-delays {
67
+ @if $name != default {
68
+ .#{$name}-delay { transition-delay: $value !important; }
69
+ }
70
+ }
71
+ }
72
+
73
+ // Animations
74
+ // - - - - - - - - - - - - - - -
75
+ @mixin motion-ui-animations {
76
+ .shake { @include mui-animation(shake); }
77
+ .spin-cw { @include mui-animation(spin); }
78
+ .spin-ccw { @include mui-animation(spin(ccw)); }
79
+ .wiggle { @include mui-animation(wiggle); }
80
+
81
+ .shake,
82
+ .spin-cw,
83
+ .spin-ccw,
84
+ .wiggle {
85
+ animation-duration: map-get($motion-ui-speeds, default);
86
+ }
87
+
88
+ // Animation Modifiers
89
+ // - - - - - - - - - - - - - - -
90
+ .infinite { animation-iteration-count: infinite; }
91
+
92
+ @each $name, $value in $motion-ui-speeds {
93
+ @if $name != default {
94
+ .#{$name} { animation-duration: $value !important; }
95
+ }
96
+ }
97
+
98
+ @each $name, $value in $motion-ui-easings {
99
+ @if $name != default {
100
+ .#{$name} { animation-timing-function: $value !important; }
101
+ }
102
+ }
103
+
104
+ @each $name, $value in $motion-ui-delays {
105
+ @if $name != default {
106
+ .#{$name}-delay { animation-delay: $value !important; }
107
+ }
108
+ }
109
+ }
@@ -0,0 +1,62 @@
1
+ /// Format for CSS classes created with Motion UI.
2
+ /// @type Map
3
+ /// @prop {Boolean} append [true] - Defines if selectors are chained to the selector (`.class.enter`), or appended as a new class (`.class-enter`).
4
+ /// @prop {String} prefix ['mui-'] - Prefix to add before the state of a class. Enter an empty string to use no prefix.
5
+ /// @prop {String} prefix ['-active'] - Suffix to add to the active state class.
6
+ $motion-ui-classes: (
7
+ chain: true,
8
+ prefix: 'mui-',
9
+ active: '-active',
10
+ ) !default;
11
+
12
+ /// State names to reference when writing motion classes. To use multiple class names for one state, enter a list of strings instead of one string.
13
+ /// @type Map
14
+ $motion-ui-states: (
15
+ in: 'enter',
16
+ out: 'leave',
17
+ ) !default;
18
+
19
+ /// Default speed that transitions and animations play at, along with values for modifier classes to change the speed.
20
+ /// @type Map
21
+ $motion-ui-speeds: (
22
+ default: 500ms,
23
+ slow: 750ms,
24
+ fast: 250ms,
25
+ ) !default;
26
+
27
+ /// Default delay to add before motion, along with values for modifier classes to change the delay.
28
+ /// @type Map
29
+ $motion-ui-delays: (
30
+ default: 0,
31
+ short: 300ms,
32
+ long: 700ms,
33
+ ) !default;
34
+
35
+ /// Default easing for transitions and animations, along with values for modifier classes to change the easing.
36
+ /// @type Map
37
+ $motion-ui-easings: (
38
+ default: linear,
39
+ linear: linear,
40
+ ease: ease,
41
+ ease-in: ease-in,
42
+ ease-out: ease-out,
43
+ ease-in-out: ease-in-out,
44
+ bounce-in: cubic-bezier(0.485, 0.155, 0.24, 1.245),
45
+ bounce-out: cubic-bezier(0.485, 0.155, 0.515, 0.845),
46
+ bounce-in-out: cubic-bezier(0.76, -0.245, 0.24, 1.245),
47
+ ) !default;
48
+
49
+ /// Miscellaneous settings related to Motion UI.
50
+ /// @type Map
51
+ /// @prop {Boolean} slide-and-fade [false] - Defines if slide motions should also fade in/out.
52
+ /// @prop {Boolean} slide-and-fade [true] - Defines if hinge motions should also fade in/out.
53
+ /// @prop {Boolean} slide-and-fade [true] - Defines if scale motions should also fade in/out.
54
+ /// @prop {Boolean} slide-and-fade [true] - Defines if spin motions should also fade in/out.
55
+ $motion-ui-settings: (
56
+ slide-and-fade: false,
57
+ hinge-and-fade: true,
58
+ scale-and-fade: true,
59
+ spin-and-fade: true,
60
+ pause-queue-class: 'is-paused',
61
+ activate-queue-class: 'is-animating',
62
+ ) !default;
@@ -0,0 +1,29 @@
1
+ /// Creates a fading animation.
2
+ /// @param {Number} $from [0] - Opacity to start at.
3
+ /// @param {Number} $to [1] - Opacity to end at.
4
+ /// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin.
5
+ @function fade(
6
+ $from: 0,
7
+ $to: 1
8
+ ) {
9
+ $type: type-of($from);
10
+ $keyframes: ();
11
+
12
+ @if $type == 'string' {
13
+ @if $from == in {
14
+ $from: 0;
15
+ $to: 1;
16
+ } @else if $from == out {
17
+ $from: 1;
18
+ $to: 0;
19
+ }
20
+ }
21
+
22
+ $keyframes: (
23
+ name: -mui-string-safe('fade-#{$from}-to-#{$to}'),
24
+ 0: (opacity: $from),
25
+ 100: (opacity: $to),
26
+ );
27
+
28
+ @return $keyframes;
29
+ }
@@ -0,0 +1,66 @@
1
+ /// Creates a hinge effect by rotating the element.
2
+ /// @param {Keyword} $state [in] - State to transition to.
3
+ /// @param {Keyword} $from [left] - Edge of the element to rotate from. Can be `top`, `right`, `bottom`, or `left`.
4
+ /// @param {Keyword} $axis [edge] - Axis of the element to rotate on. Can be `edge` or `center`.
5
+ /// @param {Number} $perspective [2000px] - Perceived distance between the viewer and the element. A higher number will make the rotation effect more pronounced.
6
+ /// @param {Keyword} $turn-origin [null] - Side of the element to start the rotation from. Can be `from-back` or `from-front`. By default `from-back` and `from-front` for `in` and `out` states respectively.
7
+ @function hinge (
8
+ $state: in,
9
+ $from: left,
10
+ $axis: edge,
11
+ $perspective: 2000px,
12
+ $turn-origin: null
13
+ ) {
14
+ // Rotation directions when hinging from back vs. front
15
+ $rotation-amount: 90deg;
16
+ $rotations-back: (
17
+ top: rotateX($rotation-amount * -1),
18
+ right: rotateY($rotation-amount * -1),
19
+ bottom: rotateX($rotation-amount),
20
+ left: rotateY($rotation-amount),
21
+ );
22
+ $rotations-from: (
23
+ top: rotateX($rotation-amount),
24
+ right: rotateY($rotation-amount),
25
+ bottom: rotateX($rotation-amount * -1),
26
+ left: rotateY($rotation-amount * -1),
27
+ );
28
+
29
+ // Rotation origin
30
+ $turn-origin: if($turn-origin != null, $turn-origin, if($state == in, from-back, from-front));
31
+ $rotation: '';
32
+ @if $turn-origin == from-front {
33
+ $rotation: map-get($rotations-from, $from);
34
+ } @else if $turn-origin == from-back {
35
+ $rotation: map-get($rotations-back, $from);
36
+ } @else {
37
+ @warn '$turn-origin must be either "from-back" or "from-front"';
38
+ }
39
+
40
+ // Start and end state
41
+ $start: '';
42
+ $end: '';
43
+ @if $state == in {
44
+ $start: perspective($perspective) $rotation;
45
+ $end: perspective($perspective) rotate(0deg);
46
+ } @else {
47
+ $start: perspective($perspective) rotate(0deg);
48
+ $end: perspective($perspective) $rotation;
49
+ }
50
+
51
+ // Turn axis
52
+ $origin: '';
53
+ @if $axis == edge {
54
+ $origin: $from;
55
+ } @else {
56
+ $origin: center;
57
+ }
58
+
59
+ $keyframes: (
60
+ name: -mui-string-safe('hinge-#{$state}-#{$from}-#{$axis}-#{$turn-origin}'),
61
+ 0: (transform: $start, transform-origin: $origin),
62
+ 100: (transform: $end),
63
+ );
64
+
65
+ @return $keyframes;
66
+ }
@@ -0,0 +1,15 @@
1
+ /// Creates a shaking animation.
2
+ /// @param {Percentage} $intensity [7%] - Intensity of the shake, as a percentage value.
3
+ /// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin.
4
+ @function shake($intensity: 7%) {
5
+ $right: (0, 10, 20, 30, 40, 50, 60, 70, 80, 90);
6
+ $left: (5, 15, 25, 35, 45, 55, 65, 75, 85, 95);
7
+
8
+ $keyframes: (
9
+ name: -mui-string-safe('shake-#{$intensity}'),
10
+ $right: (transform: translateX($intensity)),
11
+ $left: (transform: translateX(-$intensity)),
12
+ );
13
+
14
+ @return $keyframes;
15
+ }
@@ -0,0 +1,42 @@
1
+ /// Creates a sliding animation.
2
+ /// @param {Keyword} $state [in] - Whether to move to (`in`) or from (`out`) the element's default position.
3
+ /// @param {Keyword} $direction [null] - Direction to move. Can be `up`, `right`, `down`, or `left`. By default `left` and `right` for `in` and `out` states respectively.
4
+ /// @param {Number} $amount [100%] - Distance to move. Can be any CSS length unit.
5
+ /// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin.
6
+ @function slide(
7
+ $state: in,
8
+ $direction: null,
9
+ $amount: 100%
10
+ ) {
11
+ $from: $amount;
12
+ $to: 0;
13
+ $func: 'translateY';
14
+ $direction: if($direction != null, $direction, if($state == in, left, right));
15
+
16
+ @if $direction == left or $direction == right {
17
+ $func: 'translateX';
18
+ }
19
+
20
+ @if $state == out {
21
+ $from: 0;
22
+ $to: $amount;
23
+ }
24
+
25
+ @if $direction == down or $direction == right {
26
+ @if $state == in {
27
+ $from: -$from;
28
+ }
29
+ } @else {
30
+ @if $state == out {
31
+ $to: -$to;
32
+ }
33
+ }
34
+
35
+ $keyframes: (
36
+ name: -mui-string-safe('slide-#{$state}-#{$direction}-#{$amount}'),
37
+ 0: (transform: '#{$func}(#{$from})'),
38
+ 100: (transform: '#{$func}(#{$to})'),
39
+ );
40
+
41
+ @return $keyframes;
42
+ }
@@ -0,0 +1,29 @@
1
+ /// Creates a spinning animation.
2
+ /// @param {Keyword} $direction [null] - Direction to spin. Should be `cw` (clockwise) or `ccw` (counterclockwise). By default `cw` and `ccw` for `in` and `out` states respectively.
3
+ /// @param {Number} $amount [360deg] - Amount to spin. Can be any CSS angle unit.
4
+ /// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin.
5
+ @function spin(
6
+ $state: in,
7
+ $direction: null,
8
+ $amount: 1turn
9
+ ) {
10
+ $start: 0;
11
+ $end: 0;
12
+ $direction: if($direction != null, $direction, if($state == in, cw, ccw));
13
+
14
+ @if $state == in {
15
+ $start: if($direction == ccw, $amount, $amount * -1);
16
+ $end: 0;
17
+ } @else {
18
+ $start: 0;
19
+ $end: if($direction == ccw, $amount * -1, $amount);
20
+ }
21
+
22
+ $keyframes: (
23
+ name: -mui-string-safe('spin-#{$direction}-#{$amount}'),
24
+ 0: (transform: rotate($start)),
25
+ 100: (transform: rotate($end)),
26
+ );
27
+
28
+ @return $keyframes;
29
+ }
@@ -0,0 +1,13 @@
1
+ /// Creates a wiggling animation.
2
+ /// @param {Number} $intensity [7deg] - Intensity of the wiggle. Can be any CSS angle unit.
3
+ /// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin.
4
+ @function wiggle($intensity: 7deg) {
5
+ $keyframes: (
6
+ name: -mui-string-safe('wiggle-#{$intensity}'),
7
+ (40, 50, 60): (transform: rotate($intensity)),
8
+ (35, 45, 55, 65): (transform: rotate(-$intensity)),
9
+ (0, 30, 70, 100): (transform: rotate(0)),
10
+ );
11
+
12
+ @return $keyframes;
13
+ }
@@ -0,0 +1,15 @@
1
+ /// Creates a scaling transition. A scale of `1` means the element is the same size. Larger numbers make the element bigger, while numbers less than 1 make the element smaller.
2
+ /// @param {Number} $from [0] - Size to start at.
3
+ /// @param {Number} $to [1] - Size to end at.
4
+ @function zoom(
5
+ $from: 0,
6
+ $to: 1
7
+ ) {
8
+ $keyframes: (
9
+ name: -mui-string-safe('scale-#{$to}-to-#{$from}'),
10
+ 0: (transform: scale($from)),
11
+ 100: (transform: scale($to)),
12
+ );
13
+
14
+ @return $keyframes;
15
+ }