sugarcss 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (275) hide show
  1. checksums.yaml +7 -0
  2. data/lib/sugarcss.rb +30 -0
  3. data/stylesheets/_sugar.scss +4 -0
  4. data/stylesheets/sugar/_BEM.scss +101 -0
  5. data/stylesheets/sugar/_animations.scss +101 -0
  6. data/stylesheets/sugar/_clearfix.scss +56 -0
  7. data/stylesheets/sugar/_colors.scss +126 -0
  8. data/stylesheets/sugar/_effects.scss +65 -0
  9. data/stylesheets/sugar/_filters.scss +67 -0
  10. data/stylesheets/sugar/_forms.scss +13 -0
  11. data/stylesheets/sugar/_functions.scss +328 -0
  12. data/stylesheets/sugar/_helper-classes.scss +109 -0
  13. data/stylesheets/sugar/_helper-functions.scss +56 -0
  14. data/stylesheets/sugar/_helper-mixins.scss +383 -0
  15. data/stylesheets/sugar/_icons.scss +21 -0
  16. data/stylesheets/sugar/_images.scss +150 -0
  17. data/stylesheets/sugar/_lists.scss +148 -0
  18. data/stylesheets/sugar/_medias.scss +141 -0
  19. data/stylesheets/sugar/_reset.scss +38 -0
  20. data/stylesheets/sugar/_shapes.scss +528 -0
  21. data/stylesheets/sugar/_sugar.scss +606 -0
  22. data/stylesheets/sugar/_typo.scss +849 -0
  23. data/stylesheets/sugar/_units.scss +120 -0
  24. data/stylesheets/sugar/tools/_arrow.scss +70 -0
  25. data/stylesheets/sugar/tools/_blank.scss +0 -0
  26. data/stylesheets/sugar/tools/_list.scss +103 -0
  27. data/stylesheets/sugar/tools/_map.scss +93 -0
  28. data/stylesheets/sugar/tools/_math.scss +196 -0
  29. data/stylesheets/sugar/tools/_string.scss +65 -0
  30. data/stylesheets/sugar/vendors/animatecss/_animate.scss +1474 -0
  31. data/stylesheets/sugar/vendors/animatecss/_base.scss +31 -0
  32. data/stylesheets/sugar/vendors/animatecss/attention_seekers/_bounce.scss +26 -0
  33. data/stylesheets/sugar/vendors/animatecss/attention_seekers/_flash.scss +14 -0
  34. data/stylesheets/sugar/vendors/animatecss/attention_seekers/_jello.scss +34 -0
  35. data/stylesheets/sugar/vendors/animatecss/attention_seekers/_pulse.scss +20 -0
  36. data/stylesheets/sugar/vendors/animatecss/attention_seekers/_rubberBand.scss +34 -0
  37. data/stylesheets/sugar/vendors/animatecss/attention_seekers/_shake.scss +18 -0
  38. data/stylesheets/sugar/vendors/animatecss/attention_seekers/_swing.scss +27 -0
  39. data/stylesheets/sugar/vendors/animatecss/attention_seekers/_tada.scss +26 -0
  40. data/stylesheets/sugar/vendors/animatecss/attention_seekers/_wobble.scss +36 -0
  41. data/stylesheets/sugar/vendors/animatecss/bouncing_entrances/_bounceIn.scss +37 -0
  42. data/stylesheets/sugar/vendors/animatecss/bouncing_entrances/_bounceInDown.scss +32 -0
  43. data/stylesheets/sugar/vendors/animatecss/bouncing_entrances/_bounceInLeft.scss +32 -0
  44. data/stylesheets/sugar/vendors/animatecss/bouncing_entrances/_bounceInRight.scss +32 -0
  45. data/stylesheets/sugar/vendors/animatecss/bouncing_entrances/_bounceInUp.scss +32 -0
  46. data/stylesheets/sugar/vendors/animatecss/bouncing_exits/_bounceOut.scss +20 -0
  47. data/stylesheets/sugar/vendors/animatecss/bouncing_exits/_bounceOutDown.scss +20 -0
  48. data/stylesheets/sugar/vendors/animatecss/bouncing_exits/_bounceOutLeft.scss +16 -0
  49. data/stylesheets/sugar/vendors/animatecss/bouncing_exits/_bounceOutRight.scss +16 -0
  50. data/stylesheets/sugar/vendors/animatecss/bouncing_exits/_bounceOutUp.scss +20 -0
  51. data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeIn.scss +9 -0
  52. data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInDown.scss +16 -0
  53. data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInDownBig.scss +16 -0
  54. data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInLeft.scss +16 -0
  55. data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInLeftBig.scss +16 -0
  56. data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInRight.scss +16 -0
  57. data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInRightBig.scss +16 -0
  58. data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInUp.scss +16 -0
  59. data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInUpBig.scss +16 -0
  60. data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOut.scss +9 -0
  61. data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutDown.scss +15 -0
  62. data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutDownBig.scss +15 -0
  63. data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutLeft.scss +15 -0
  64. data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutLeftBig.scss +15 -0
  65. data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutRight.scss +15 -0
  66. data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutRightBig.scss +15 -0
  67. data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutUp.scss +15 -0
  68. data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutUpBig.scss +15 -0
  69. data/stylesheets/sugar/vendors/animatecss/flippers/_flip.scss +32 -0
  70. data/stylesheets/sugar/vendors/animatecss/flippers/_flipInX.scss +31 -0
  71. data/stylesheets/sugar/vendors/animatecss/flippers/_flipInY.scss +31 -0
  72. data/stylesheets/sugar/vendors/animatecss/flippers/_flipOutX.scss +21 -0
  73. data/stylesheets/sugar/vendors/animatecss/flippers/_flipOutY.scss +21 -0
  74. data/stylesheets/sugar/vendors/animatecss/lightspeed/_lightSpeedIn.scss +27 -0
  75. data/stylesheets/sugar/vendors/animatecss/lightspeed/_lightSpeedOut.scss +16 -0
  76. data/stylesheets/sugar/vendors/animatecss/rotating_entrances/_rotateIn.scss +18 -0
  77. data/stylesheets/sugar/vendors/animatecss/rotating_entrances/_rotateInDownLeft.scss +18 -0
  78. data/stylesheets/sugar/vendors/animatecss/rotating_entrances/_rotateInDownRight.scss +18 -0
  79. data/stylesheets/sugar/vendors/animatecss/rotating_entrances/_rotateInUpLeft.scss +18 -0
  80. data/stylesheets/sugar/vendors/animatecss/rotating_entrances/_rotateInUpRight.scss +18 -0
  81. data/stylesheets/sugar/vendors/animatecss/rotating_exits/_rotateOut.scss +17 -0
  82. data/stylesheets/sugar/vendors/animatecss/rotating_exits/_rotateOutDownLeft.scss +17 -0
  83. data/stylesheets/sugar/vendors/animatecss/rotating_exits/_rotateOutDownRight.scss +17 -0
  84. data/stylesheets/sugar/vendors/animatecss/rotating_exits/_rotateOutUpLeft.scss +17 -0
  85. data/stylesheets/sugar/vendors/animatecss/rotating_exits/_rotateOutUpRight.scss +17 -0
  86. data/stylesheets/sugar/vendors/animatecss/sliding_entrances/_slideInDown.scss +15 -0
  87. data/stylesheets/sugar/vendors/animatecss/sliding_entrances/_slideInLeft.scss +15 -0
  88. data/stylesheets/sugar/vendors/animatecss/sliding_entrances/_slideInRight.scss +15 -0
  89. data/stylesheets/sugar/vendors/animatecss/sliding_entrances/_slideInUp.scss +15 -0
  90. data/stylesheets/sugar/vendors/animatecss/sliding_exits/_slideOutDown.scss +15 -0
  91. data/stylesheets/sugar/vendors/animatecss/sliding_exits/_slideOutLeft.scss +15 -0
  92. data/stylesheets/sugar/vendors/animatecss/sliding_exits/_slideOutRight.scss +15 -0
  93. data/stylesheets/sugar/vendors/animatecss/sliding_exits/_slideOutUp.scss +15 -0
  94. data/stylesheets/sugar/vendors/animatecss/specials/_hinge.scss +29 -0
  95. data/stylesheets/sugar/vendors/animatecss/specials/_rollIn.scss +18 -0
  96. data/stylesheets/sugar/vendors/animatecss/specials/_rollOut.scss +17 -0
  97. data/stylesheets/sugar/vendors/animatecss/zooming_entrances/_zoomIn.scss +15 -0
  98. data/stylesheets/sugar/vendors/animatecss/zooming_entrances/_zoomInDown.scss +18 -0
  99. data/stylesheets/sugar/vendors/animatecss/zooming_entrances/_zoomInLeft.scss +18 -0
  100. data/stylesheets/sugar/vendors/animatecss/zooming_entrances/_zoomInRight.scss +18 -0
  101. data/stylesheets/sugar/vendors/animatecss/zooming_entrances/_zoomInUp.scss +18 -0
  102. data/stylesheets/sugar/vendors/animatecss/zooming_exits/_zoomOut.scss +19 -0
  103. data/stylesheets/sugar/vendors/animatecss/zooming_exits/_zoomOutDown.scss +19 -0
  104. data/stylesheets/sugar/vendors/animatecss/zooming_exits/_zoomOutLeft.scss +17 -0
  105. data/stylesheets/sugar/vendors/animatecss/zooming_exits/_zoomOutRight.scss +17 -0
  106. data/stylesheets/sugar/vendors/animatecss/zooming_exits/_zoomOutUp.scss +19 -0
  107. data/stylesheets/sugar/vendors/cssgram/_1977.scss +16 -0
  108. data/stylesheets/sugar/vendors/cssgram/_aden.scss +18 -0
  109. data/stylesheets/sugar/vendors/cssgram/_brooklyn.scss +17 -0
  110. data/stylesheets/sugar/vendors/cssgram/_cssgram.scss +18 -0
  111. data/stylesheets/sugar/vendors/cssgram/_earlybird.scss +17 -0
  112. data/stylesheets/sugar/vendors/cssgram/_gingham.scss +17 -0
  113. data/stylesheets/sugar/vendors/cssgram/_hudson.scss +18 -0
  114. data/stylesheets/sugar/vendors/cssgram/_inkwell.scss +11 -0
  115. data/stylesheets/sugar/vendors/cssgram/_lark.scss +21 -0
  116. data/stylesheets/sugar/vendors/cssgram/_lofi.scss +16 -0
  117. data/stylesheets/sugar/vendors/cssgram/_mayfair.scss +18 -0
  118. data/stylesheets/sugar/vendors/cssgram/_moon.scss +21 -0
  119. data/stylesheets/sugar/vendors/cssgram/_nashville.scss +22 -0
  120. data/stylesheets/sugar/vendors/cssgram/_perpetua.scss +17 -0
  121. data/stylesheets/sugar/vendors/cssgram/_reyes.scss +18 -0
  122. data/stylesheets/sugar/vendors/cssgram/_shared.scss +29 -0
  123. data/stylesheets/sugar/vendors/cssgram/_toaster.scss +17 -0
  124. data/stylesheets/sugar/vendors/cssgram/_walden.scss +18 -0
  125. data/stylesheets/sugar/vendors/cssgram/_xpro2.scss +17 -0
  126. data/stylesheets/sugar/vendors/fontawesome/_font-awesome.scss +2019 -0
  127. data/stylesheets/sugar/vendors/modularscale/_modular-scale-tests.scss +74 -0
  128. data/stylesheets/sugar/vendors/modularscale/_modular-scale.scss +18 -0
  129. data/stylesheets/sugar/vendors/modularscale/modular-scale/_calc.scss +17 -0
  130. data/stylesheets/sugar/vendors/modularscale/modular-scale/_function-list.scss +68 -0
  131. data/stylesheets/sugar/vendors/modularscale/modular-scale/_function.scss +55 -0
  132. data/stylesheets/sugar/vendors/modularscale/modular-scale/_generate-list.scss +103 -0
  133. data/stylesheets/sugar/vendors/modularscale/modular-scale/_pow.scss +40 -0
  134. data/stylesheets/sugar/vendors/modularscale/modular-scale/_ratios.scss +20 -0
  135. data/stylesheets/sugar/vendors/modularscale/modular-scale/_respond.scss +49 -0
  136. data/stylesheets/sugar/vendors/modularscale/modular-scale/_round-px.scss +6 -0
  137. data/stylesheets/sugar/vendors/modularscale/modular-scale/_sort-list.scss +93 -0
  138. data/stylesheets/sugar/vendors/modularscale/modular-scale/_tests.scss +22 -0
  139. data/stylesheets/sugar/vendors/sassdash/_sassdash.scss +6 -0
  140. data/stylesheets/sugar/vendors/sassdash/api/_add.scss +43 -0
  141. data/stylesheets/sugar/vendors/sassdash/api/_after.scss +66 -0
  142. data/stylesheets/sugar/vendors/sassdash/api/_ary.scss +43 -0
  143. data/stylesheets/sugar/vendors/sassdash/api/_assign.scss +113 -0
  144. data/stylesheets/sugar/vendors/sassdash/api/_at.scss +50 -0
  145. data/stylesheets/sugar/vendors/sassdash/api/_before.scss +64 -0
  146. data/stylesheets/sugar/vendors/sassdash/api/_bind.scss +46 -0
  147. data/stylesheets/sugar/vendors/sassdash/api/_call.scss +0 -0
  148. data/stylesheets/sugar/vendors/sassdash/api/_callback.scss +167 -0
  149. data/stylesheets/sugar/vendors/sassdash/api/_case.scss +179 -0
  150. data/stylesheets/sugar/vendors/sassdash/api/_chunk.scss +44 -0
  151. data/stylesheets/sugar/vendors/sassdash/api/_compact.scss +32 -0
  152. data/stylesheets/sugar/vendors/sassdash/api/_compare.scss +180 -0
  153. data/stylesheets/sugar/vendors/sassdash/api/_concat.scss +62 -0
  154. data/stylesheets/sugar/vendors/sassdash/api/_constant.scss +32 -0
  155. data/stylesheets/sugar/vendors/sassdash/api/_context.scss +51 -0
  156. data/stylesheets/sugar/vendors/sassdash/api/_count-by.scss +51 -0
  157. data/stylesheets/sugar/vendors/sassdash/api/_create.scss +78 -0
  158. data/stylesheets/sugar/vendors/sassdash/api/_debug.scss +26 -0
  159. data/stylesheets/sugar/vendors/sassdash/api/_declare.scss +46 -0
  160. data/stylesheets/sugar/vendors/sassdash/api/_defaults.scss +41 -0
  161. data/stylesheets/sugar/vendors/sassdash/api/_difference.scss +50 -0
  162. data/stylesheets/sugar/vendors/sassdash/api/_drop.scss +226 -0
  163. data/stylesheets/sugar/vendors/sassdash/api/_either.scss +42 -0
  164. data/stylesheets/sugar/vendors/sassdash/api/_encode.scss +42 -0
  165. data/stylesheets/sugar/vendors/sassdash/api/_ends-with.scss +76 -0
  166. data/stylesheets/sugar/vendors/sassdash/api/_escape.scss +39 -0
  167. data/stylesheets/sugar/vendors/sassdash/api/_every.scss +106 -0
  168. data/stylesheets/sugar/vendors/sassdash/api/_exec.scss +31 -0
  169. data/stylesheets/sugar/vendors/sassdash/api/_extrema.scss +224 -0
  170. data/stylesheets/sugar/vendors/sassdash/api/_fill.scss +74 -0
  171. data/stylesheets/sugar/vendors/sassdash/api/_filter.scss +112 -0
  172. data/stylesheets/sugar/vendors/sassdash/api/_find.scss +448 -0
  173. data/stylesheets/sugar/vendors/sassdash/api/_first.scss +29 -0
  174. data/stylesheets/sugar/vendors/sassdash/api/_flatten.scss +88 -0
  175. data/stylesheets/sugar/vendors/sassdash/api/_flow.scss +145 -0
  176. data/stylesheets/sugar/vendors/sassdash/api/_for.scss +325 -0
  177. data/stylesheets/sugar/vendors/sassdash/api/_functions.scss +42 -0
  178. data/stylesheets/sugar/vendors/sassdash/api/_group-by.scss +90 -0
  179. data/stylesheets/sugar/vendors/sassdash/api/_has.scss +30 -0
  180. data/stylesheets/sugar/vendors/sassdash/api/_identity.scss +20 -0
  181. data/stylesheets/sugar/vendors/sassdash/api/_includes.scss +76 -0
  182. data/stylesheets/sugar/vendors/sassdash/api/_index-by.scss +43 -0
  183. data/stylesheets/sugar/vendors/sassdash/api/_index-of.scss +154 -0
  184. data/stylesheets/sugar/vendors/sassdash/api/_initial.scss +19 -0
  185. data/stylesheets/sugar/vendors/sassdash/api/_intersection.scss +59 -0
  186. data/stylesheets/sugar/vendors/sassdash/api/_invert.scss +48 -0
  187. data/stylesheets/sugar/vendors/sassdash/api/_invoke.scss +74 -0
  188. data/stylesheets/sugar/vendors/sassdash/api/_is-empty.scss +48 -0
  189. data/stylesheets/sugar/vendors/sassdash/api/_is-equal.scss +175 -0
  190. data/stylesheets/sugar/vendors/sassdash/api/_is-match.scss +116 -0
  191. data/stylesheets/sugar/vendors/sassdash/api/_is-type.scss +479 -0
  192. data/stylesheets/sugar/vendors/sassdash/api/_join.scss +47 -0
  193. data/stylesheets/sugar/vendors/sassdash/api/_keys.scss +48 -0
  194. data/stylesheets/sugar/vendors/sassdash/api/_last.scss +21 -0
  195. data/stylesheets/sugar/vendors/sassdash/api/_map.scss +265 -0
  196. data/stylesheets/sugar/vendors/sassdash/api/_matches.scss +85 -0
  197. data/stylesheets/sugar/vendors/sassdash/api/_memoize.scss +105 -0
  198. data/stylesheets/sugar/vendors/sassdash/api/_merge.scss +148 -0
  199. data/stylesheets/sugar/vendors/sassdash/api/_modify.scss +17 -0
  200. data/stylesheets/sugar/vendors/sassdash/api/_module.scss +111 -0
  201. data/stylesheets/sugar/vendors/sassdash/api/_negate.scss +42 -0
  202. data/stylesheets/sugar/vendors/sassdash/api/_noop.scss +19 -0
  203. data/stylesheets/sugar/vendors/sassdash/api/_omit.scss +52 -0
  204. data/stylesheets/sugar/vendors/sassdash/api/_once.scss +27 -0
  205. data/stylesheets/sugar/vendors/sassdash/api/_pad.scss +121 -0
  206. data/stylesheets/sugar/vendors/sassdash/api/_pairs.scss +26 -0
  207. data/stylesheets/sugar/vendors/sassdash/api/_parse-int.scss +69 -0
  208. data/stylesheets/sugar/vendors/sassdash/api/_partial.scss +91 -0
  209. data/stylesheets/sugar/vendors/sassdash/api/_partition.scss +53 -0
  210. data/stylesheets/sugar/vendors/sassdash/api/_pick.scss +80 -0
  211. data/stylesheets/sugar/vendors/sassdash/api/_pluck.scss +27 -0
  212. data/stylesheets/sugar/vendors/sassdash/api/_property.scss +91 -0
  213. data/stylesheets/sugar/vendors/sassdash/api/_pull.scss +43 -0
  214. data/stylesheets/sugar/vendors/sassdash/api/_push.scss +27 -0
  215. data/stylesheets/sugar/vendors/sassdash/api/_rand.scss +79 -0
  216. data/stylesheets/sugar/vendors/sassdash/api/_range.scss +59 -0
  217. data/stylesheets/sugar/vendors/sassdash/api/_reduce.scss +146 -0
  218. data/stylesheets/sugar/vendors/sassdash/api/_reject.scss +68 -0
  219. data/stylesheets/sugar/vendors/sassdash/api/_repeat.scss +33 -0
  220. data/stylesheets/sugar/vendors/sassdash/api/_replace.scss +40 -0
  221. data/stylesheets/sugar/vendors/sassdash/api/_rest.scss +26 -0
  222. data/stylesheets/sugar/vendors/sassdash/api/_result.scss +48 -0
  223. data/stylesheets/sugar/vendors/sassdash/api/_reverse.scss +64 -0
  224. data/stylesheets/sugar/vendors/sassdash/api/_rules.scss +55 -0
  225. data/stylesheets/sugar/vendors/sassdash/api/_sample.scss +33 -0
  226. data/stylesheets/sugar/vendors/sassdash/api/_shuffle.scss +37 -0
  227. data/stylesheets/sugar/vendors/sassdash/api/_size.scss +37 -0
  228. data/stylesheets/sugar/vendors/sassdash/api/_slice.scss +60 -0
  229. data/stylesheets/sugar/vendors/sassdash/api/_some.scss +110 -0
  230. data/stylesheets/sugar/vendors/sassdash/api/_sort.scss +335 -0
  231. data/stylesheets/sugar/vendors/sassdash/api/_sorted-index.scss +135 -0
  232. data/stylesheets/sugar/vendors/sassdash/api/_splice.scss +45 -0
  233. data/stylesheets/sugar/vendors/sassdash/api/_split.scss +43 -0
  234. data/stylesheets/sugar/vendors/sassdash/api/_starts-with.scss +78 -0
  235. data/stylesheets/sugar/vendors/sassdash/api/_sum.scss +44 -0
  236. data/stylesheets/sugar/vendors/sassdash/api/_take.scss +211 -0
  237. data/stylesheets/sugar/vendors/sassdash/api/_times.scss +33 -0
  238. data/stylesheets/sugar/vendors/sassdash/api/_to-list.scss +52 -0
  239. data/stylesheets/sugar/vendors/sassdash/api/_to-string.scss +35 -0
  240. data/stylesheets/sugar/vendors/sassdash/api/_trim.scss +138 -0
  241. data/stylesheets/sugar/vendors/sassdash/api/_trunc.scss +92 -0
  242. data/stylesheets/sugar/vendors/sassdash/api/_unescape.scss +48 -0
  243. data/stylesheets/sugar/vendors/sassdash/api/_union.scss +19 -0
  244. data/stylesheets/sugar/vendors/sassdash/api/_uniq.scss +86 -0
  245. data/stylesheets/sugar/vendors/sassdash/api/_unique-id.scss +27 -0
  246. data/stylesheets/sugar/vendors/sassdash/api/_unzip.scss +77 -0
  247. data/stylesheets/sugar/vendors/sassdash/api/_values.scss +54 -0
  248. data/stylesheets/sugar/vendors/sassdash/api/_where.scss +28 -0
  249. data/stylesheets/sugar/vendors/sassdash/api/_without.scss +26 -0
  250. data/stylesheets/sugar/vendors/sassdash/api/_words.scss +50 -0
  251. data/stylesheets/sugar/vendors/sassdash/api/_xor.scss +35 -0
  252. data/stylesheets/sugar/vendors/sassdash/api/_zip.scss +80 -0
  253. data/stylesheets/sugar/vendors/sassdash/constants/_char.scss +97 -0
  254. data/stylesheets/sugar/vendors/sassdash/constants/_constructor.scss +1 -0
  255. data/stylesheets/sugar/vendors/sassdash/constants/_escapes.scss +26 -0
  256. data/stylesheets/sugar/vendors/sassdash/constants/_flags.scss +9 -0
  257. data/stylesheets/sugar/vendors/sassdash/constants/_global.scss +11 -0
  258. data/stylesheets/sugar/vendors/sassdash/constants/_module.scss +9 -0
  259. data/stylesheets/sugar/vendors/sassdash/constants/_native.scss +80 -0
  260. data/stylesheets/sugar/vendors/sassdash/constants/_number.scss +26 -0
  261. data/stylesheets/sugar/vendors/sassdash/constants/_trunc.scss +2 -0
  262. data/stylesheets/sugar/vendors/sassdash/constants/_units.scss +10 -0
  263. data/stylesheets/sugar/vendors/sassdash/helpers/_aggregator.scss +47 -0
  264. data/stylesheets/sugar/vendors/sassdash/helpers/_call.scss +77 -0
  265. data/stylesheets/sugar/vendors/sassdash/helpers/_chain.scss +37 -0
  266. data/stylesheets/sugar/vendors/sassdash/helpers/_char.scss +115 -0
  267. data/stylesheets/sugar/vendors/sassdash/helpers/_coercion.scss +90 -0
  268. data/stylesheets/sugar/vendors/sassdash/helpers/_compounder.scss +25 -0
  269. data/stylesheets/sugar/vendors/sassdash/helpers/_module.scss +8 -0
  270. data/stylesheets/sugar/vendors/sassdash/helpers/_number.scss +165 -0
  271. data/stylesheets/sugar/vendors/sassdash/helpers/_scope.scss +43 -0
  272. data/stylesheets/sugar/vendors/sassdash/static/_local.scss +268 -0
  273. data/stylesheets/sugar/vendors/sassdash/static/_module.scss +2 -0
  274. data/stylesheets/sugar/vendors/sassdash/static/_static.scss +84 -0
  275. metadata +334 -0
@@ -0,0 +1,80 @@
1
+ @function __pick-by-callback-iteratee($value, $key, $map) {
2
+ $result: __this('result');
3
+ $predicate: __this('predicate');
4
+
5
+ @if __exec($predicate, $value, $key, $map) {
6
+ $_: __this('result', __set($result, $key, $value));
7
+ }
8
+
9
+ @return true;
10
+ }
11
+
12
+
13
+ @function __pick-by-callback($map, $predicate) {
14
+ $result: ();
15
+ $_: __scope((
16
+ 'map': $map,
17
+ 'predicate': $predicate,
18
+ 'result': $result
19
+ ));
20
+ $pick-by-callback-iteratee: __bind('__pick-by-callback-iteratee');
21
+ $_: __base-for-in($map, $pick-by-callback-iteratee);
22
+ $result: __this('result');
23
+ $_: __scope(false);
24
+
25
+ @return $result;
26
+ }
27
+
28
+ @function __pick-by-list($map, $props) {
29
+ $type: type-of($map);
30
+ $map: __to-map($map);
31
+ $result: ();
32
+
33
+ @each $key in $props {
34
+ @if (map-has-key($map, $key)) {
35
+ $result: __set($result, $key, __get($map, $key));
36
+ }
37
+ }
38
+
39
+ @return if($type == 'list', __to-list($result), $result);
40
+ }
41
+
42
+
43
+ @function __pick($map, $predicate: '__identity', $this-arg: null) {
44
+ @if $map == null {
45
+ @return ();
46
+ }
47
+
48
+ $map: __to-map($map);
49
+
50
+ @return if(__function-exists($predicate),
51
+ __pick-by-callback($map, __bind-callback($predicate, $this-arg, 3)),
52
+ __pick-by-list($map, __base-flatten(($map, $predicate, $this-arg), false, false, 1)));
53
+ }
54
+
55
+
56
+ /// Creates a map composed of the picked `$map` properties. Property
57
+ /// names may be specified as individual arguments or as lists of property
58
+ /// names. If `$predicate` is provided it is invoked for each property of `$map`
59
+ /// picking the properties `$predicate` returns truthy for. The predicate is
60
+ /// bound to `$this-arg` and invoked with three arguments; (value, key, map).
61
+ ///
62
+ ///
63
+ /// @access public
64
+ /// @group Map
65
+ /// @param {Map} $map The source map.
66
+ /// @param {Function|String|List(String)} $predicate [_identity] The function invoked per
67
+ /// iteration or property names to pick, specified as individual property
68
+ /// names or lists of property names.
69
+ /// @param {*} $this-arg [null] - The `_this` binding of `$predicate`.
70
+ /// @returns {Map} Returns the new map.
71
+ /// @example scss
72
+ /// $map: ( 'user': 'fred', 'age': 40 );
73
+ /// $foo: _pick($map, 'user');
74
+ /// // => ( 'user': 'fred' )
75
+ /// $foo: _pick($map, _is-string);
76
+ /// // => ( 'user': 'fred' )
77
+
78
+ @function _pick($args...) {
79
+ @return call('__pick', $args...);
80
+ }
@@ -0,0 +1,27 @@
1
+ @function __pluck($collection, $key) {
2
+ @return __map($collection, __property($key));
3
+ }
4
+
5
+
6
+ /// Gets the value of `$key` from all elements in `$collection`.
7
+ ///
8
+ ///
9
+ /// @access public
10
+ /// @group Collection
11
+ /// @param {List|Map|string} $collection The collection to iterate over.
12
+ /// @param {string} $key The key of the property to pluck.
13
+ /// @returns {List} Returns the property values.
14
+ /// @example scss
15
+ /// $users: (
16
+ /// ( 'user': 'barney', 'age': 36 ),
17
+ /// ( 'user': 'fred', 'age': 40 )
18
+ /// );
19
+ /// $foo: _pluck($users, 'user');
20
+ /// // => ('barney', 'fred')
21
+ /// $user-index: _index-by($users, 'user');
22
+ /// $foo: _pluck($user-index, 'age');
23
+ /// // => (36, 40)
24
+
25
+ @function _pluck($args...) {
26
+ @return call('__pluck', $args...);
27
+ }
@@ -0,0 +1,91 @@
1
+ @function __base-property-function($map: null, $args...) {
2
+ $key: __this('key');
3
+
4
+ @if __is-falsey($map) {
5
+ @return null;
6
+ }
7
+
8
+ $map: __to-map($map);
9
+
10
+ @return if($map == null, null, __get($map, $key));
11
+ }
12
+
13
+
14
+ @function __base-property($key) {
15
+ $_: __scope((
16
+ 'key': $key
17
+ ));
18
+ $base-property-function: __bind('__base-property-function');
19
+ $_: __scope(false);
20
+
21
+ @return $base-property-function;
22
+ }
23
+
24
+
25
+ @function __property($key, $args...) {
26
+ @return __base-property($key);
27
+ }
28
+
29
+
30
+ @function __property-of-function($key, $args...) {
31
+ $map: __this('map');
32
+
33
+ @return if($map == null, null, __get($map, $key));
34
+ }
35
+
36
+
37
+ @function __property-of($map, $args...) {
38
+ $_: __scope((
39
+ 'map', $map
40
+ ));
41
+ $property-of-function: __bind('__property-of-function');
42
+ $_: __scope(false);
43
+
44
+ @return $property-of-function;
45
+ }
46
+
47
+
48
+ /// Creates a function which returns the property value of `$key` on a given map.
49
+ ///
50
+ ///
51
+ /// @access public
52
+ /// @group Utility
53
+ /// @param {string} $key The key of the property to get.
54
+ /// @returns {Function} Returns the new function.
55
+ /// @example scss
56
+ /// $users: (
57
+ /// ( 'user': 'fred' ),
58
+ /// ( 'user': 'barney' )
59
+ /// );
60
+ ///
61
+ /// $get-name: _property('user');
62
+ ///
63
+ /// $foo: _map($users, $get-name);
64
+ /// // => ('fred', barney')
65
+ ///
66
+ /// $foo: _pluck(_sort-by($users, $get-name), 'user');
67
+ /// // => ('barney', 'fred')
68
+
69
+ @function _property($args...) {
70
+ @return call('__property', $args...);
71
+ }
72
+
73
+
74
+ /// The inverse of `_property`; this method creates a function which returns
75
+ /// the property value of a given key on `$map`.
76
+ ///
77
+ ///
78
+ /// @access public
79
+ /// @group Utility
80
+ /// @param {Map} $map The map to inspect.
81
+ /// @returns {Function} Returns the new function.
82
+ /// @example scss
83
+ /// $map: ( 'a': 3, 'b': 1, 'c': 2 );
84
+ /// $foo: _map(('a', 'c'), _property-of($map));
85
+ /// // => (3, 2)
86
+ /// $foo: _sort-by(('a', 'b', 'c'), _property-of($map));
87
+ /// // => ('b', 'c', 'a')
88
+
89
+ @function _property-of($args...) {
90
+ @return call('__property-of', $args...);
91
+ }
@@ -0,0 +1,43 @@
1
+ @function __pull($arguments...) {
2
+ $list: nth($arguments, 1);
3
+
4
+ @if not ($list and length($list)) {
5
+ @return $list;
6
+ }
7
+
8
+ $index: 1;
9
+ $length: length($arguments);
10
+
11
+ @while ($index <= $length) {
12
+ $from-index: 1;
13
+ $value: nth($arguments, $index);
14
+
15
+ @while (__index-of($list, $value, $from-index) > -1) {
16
+ $from-index: __index-of($list, $value, $from-index);
17
+ $list: __splice($list, $from-index, 1);
18
+ }
19
+
20
+ $index: $index + 1;
21
+ }
22
+
23
+ @return $list;
24
+ }
25
+
26
+
27
+ /// Removes all provided values from `$list`, and returns a new list
28
+ /// without the provided values. Does not mutate original list.
29
+ ///
30
+ ///
31
+ /// @access public
32
+ /// @group List
33
+ /// @param {List} $list The source list.
34
+ /// @param {Any...} $values... The values to remove.
35
+ /// @returns {List} Returns new `$list` with removed values.
36
+ /// @example scss
37
+ /// $list: (1, 2, 3, 1, 2, 3);
38
+ /// $foo: _pull(list, 2, 3);
39
+ /// // => (1, 1)
40
+
41
+ @function _pull($args...) {
42
+ @return call('__pull', $args...);
43
+ }
@@ -0,0 +1,27 @@
1
+ @function __push($list, $items...) {
2
+ @each $item in $items {
3
+ $list: append($list, $item);
4
+ }
5
+
6
+ @return $list;
7
+
8
+ // @return join($list, $items, $separator: auto);
9
+ }
10
+
11
+ /// Adds one or more elements to the end of a `$list` and
12
+ /// returns a new list with appended items.
13
+ ///
14
+ /// Similar to native Sass `join()`, with the exception that no
15
+ /// `$separator` is specified and arguments after the first one are
16
+ /// treated as elements to be appended to `$list`.
17
+ ///
18
+ /// @access public
19
+ /// @group List
20
+ /// @param {List} $list The target list.
21
+ /// @param {Any...} $items... The items to append to `$list`.
22
+ /// @returns {List} Returns list with appended items.
23
+ /// @example scss
24
+ /// // todo
25
+ @function _push($args...) {
26
+ @return call('__push', $args...);
27
+ }
@@ -0,0 +1,79 @@
1
+ @function __base-rand($min, $max) {
2
+ @return $min + floor(random() * ($max - $min + 1));
3
+ }
4
+
5
+
6
+ @function __rand($min: null, $max: null, $floating: null) {
7
+ $min: __parse-float($min);
8
+ $max: __parse-float($max);
9
+
10
+ @if ($floating and __is-iteratee-call($min, $max, $floating)) {
11
+ $max: null;
12
+ $floating: null;
13
+ }
14
+
15
+ $no-min: ($min == null);
16
+ $no-max: ($max == null);
17
+
18
+ @if ($floating == null) {
19
+ @if $no-max and __is-boolean($min) {
20
+ $floating: $min;
21
+ $min: 1;
22
+ } @else if __is-boolean($max) {
23
+ $floating: $max;
24
+ $no-max: true;
25
+ }
26
+ }
27
+
28
+ @if $no-min and $no-max {
29
+ $max: 1;
30
+ $no-max: false;
31
+ }
32
+
33
+ $min: if($min == true, 1, if(__is-falsey($min), 0, $min));
34
+
35
+ @if ($no-max) {
36
+ $max: $min;
37
+ $min: 0;
38
+ } @else {
39
+ $max: if($max == true, 1, if($max == false, 0, $max));
40
+ }
41
+
42
+ @if ($floating or ($min % 1 > 0) or ($max % 1 > 0)) {
43
+ $rand: random();
44
+
45
+ @return min($min + ($rand * ($max - $min + 1 / (10 * (str-length('#{$rand}') - 1)))), $max);
46
+ }
47
+
48
+ @return __base-rand($min, $max);
49
+ }
50
+
51
+
52
+ /// Produces a random number between `$min` and `$max` (inclusive). If only one
53
+ /// argument is provided a number between `0` and the given number is returned.
54
+ ///
55
+ /// If `floating` is `true`, or either `$min` or `$max` are floats, a floating-point
56
+ /// number is returned instead of an integer.
57
+ ///
58
+ /// NOTE: This is not equivalent to the native Sass `random()` function.
59
+ ///
60
+ ///
61
+ /// @access public
62
+ /// @group Number
63
+ /// @param {number} $min [0] - The minimum possible value.
64
+ /// @param {number} $max [1] - The maximum possible value.
65
+ /// @param {boolean} $floating [false] - Specify returning a floating-point number.
66
+ /// @returns {number} Returns the random number.
67
+ /// @example scss
68
+ /// $foo: _random(0, 5);
69
+ /// // => an integer between 0 and 5
70
+ /// $foo: _random(5);
71
+ /// // => also an integer between 0 and 5
72
+ /// $foo: _random(5, true);
73
+ /// // => a floating-point number between 0 and 5
74
+ /// $foo: _random(1.2, 5.2);
75
+ /// // => a floating-point number between 1.2 and 5.2
76
+
77
+ @function _rand($args...) {
78
+ @return call('__rand', $args...);
79
+ }
@@ -0,0 +1,59 @@
1
+ @function __range($start, $end: null, $step: null) {
2
+ @if ($step and $step != 0 and __is-iteratee-call($start, $end, $step)) {
3
+ $end: null;
4
+ $step: null;
5
+ }
6
+
7
+ $start: if(__is-integer($start), $start, if(__is-truthy($start), 1, 0));
8
+ $step: if($step == null, 1, if(__is-integer($step), $step, if($step, 1, 0)));
9
+
10
+ @if ($end == null) {
11
+ $end: $start;
12
+ $start: 0;
13
+ } @else {
14
+ $end: if(__is-integer($end), $end, if($end, 1, 0));
15
+ }
16
+
17
+ $index: 1;
18
+ $length: max(ceil(($end - $start) / (if($step == 0, 1, $step))), 0);
19
+ $result: ();
20
+
21
+ @while ($index <= $length) {
22
+ $result: append($result, $start);
23
+ $start: $start + $step;
24
+ $index: $index + 1;
25
+ }
26
+
27
+ @return $result;
28
+ }
29
+
30
+
31
+ /// Creates a list of numbers (positive and/or negative) progressing from
32
+ /// `$start` up to, but not including, `$end`. If `$end` is not specified it
33
+ /// defaults to `$start` with `$start` becoming `0`. If `$start` is less than
34
+ /// `$end` a zero-length range is created unless a negative `$step` is specified.
35
+ ///
36
+ ///
37
+ /// @access public
38
+ /// @group Utility
39
+ /// @param {number} $start [0] - The start of the range.
40
+ /// @param {number} $end - The end of the range.
41
+ /// @param {number} $step [1] - The value to increment or decrement by.
42
+ /// @returns {List} Returns the new list of numbers.
43
+ /// @example scss
44
+ /// $foo: _range(4);
45
+ /// // => (0, 1, 2, 3)
46
+ /// $foo: _range(1, 5);
47
+ /// // => (1, 2, 3, 4)
48
+ /// $foo: _range(0, 20, 5);
49
+ /// // => (0, 5, 10, 15)
50
+ /// $foo: _range(0, -4, -1);
51
+ /// // => (0, -1, -2, -3)
52
+ /// $foo: _range(1, 4, 0);
53
+ /// // => (1, 1, 1)
54
+ /// $foo: _range(0);
55
+ /// // => ()
56
+
57
+ @function _range($args...) {
58
+ @return call('__range', $args...);
59
+ }
@@ -0,0 +1,146 @@
1
+ @function __reduce($collection, $iteratee: '__identity', $accumulator: null, $this-arg: null) {
2
+
3
+ $function: if(__is-list($collection) or __is-string($collection),
4
+ '__list-reduce',
5
+ '__base-reduce');
6
+
7
+ @return __exec($function,
8
+ $collection,
9
+ __get-callback($iteratee, $this-arg, 4),
10
+ $accumulator,
11
+ ($accumulator == null and $this-arg == null),
12
+ __base-each);
13
+ }
14
+
15
+ @function __reduce-right($collection, $iteratee: '__identity', $accumulator: null, $this-arg: null) {
16
+ $function: if(__is-list($collection) or __is-string($collection),
17
+ '__list-reduce-right',
18
+ '__base-reduce');
19
+
20
+ @return __exec($function, $collection, __get-callback($iteratee, $this-arg, 4), $accumulator, ($accumulator == null and $this-arg == null), '__base-each-right');
21
+ }
22
+
23
+
24
+ @function __list-reduce($list, $iteratee, $accumulator: null, $init-from-list: true, $args...) {
25
+ $list: __to-list($list);
26
+ $index: 1;
27
+ $length: length($list);
28
+
29
+ @if ($init-from-list and ($length > 0)) {
30
+ $accumulator: nth($list, $index);
31
+ $index: $index + 1;
32
+ }
33
+
34
+ @while ($index <= $length) {
35
+ $value: nth($list, $index);
36
+ $accumulator: __exec($iteratee, $accumulator, $value, $index, $list);
37
+
38
+ $index: $index + 1;
39
+ }
40
+
41
+ @return $accumulator;
42
+ }
43
+
44
+
45
+ @function __list-reduce-right($list, $iteratee, $accumulator: null, $init-from-list: true, $args...) {
46
+ $list: __to-list($list);
47
+ $list: __list-reverse($list);
48
+
49
+ @return __list-reduce($list, $iteratee, $accumulator, $init-from-list);
50
+ }
51
+
52
+
53
+ @function __base-reduce-iteratee($value, $index, $collection: null) {
54
+ $iteratee: __this('iteratee');
55
+ $accumulator: __this('accumulator');
56
+ $init-from-collection: __this('init-from-collection');
57
+
58
+ @if ($init-from-collection) {
59
+ $_: __this('init-from-collection', false);
60
+ $accumulator: $value;
61
+ } @else {
62
+ $accumulator: __exec($iteratee, $accumulator, $value, $index, $collection);
63
+ }
64
+
65
+ $_: __this('accumulator', $accumulator);
66
+
67
+ @return true;
68
+ }
69
+
70
+
71
+ @function __base-reduce($collection, $iteratee, $accumulator, $init-from-collection: false, $each-function: null) {
72
+
73
+ $_: __scope((
74
+ 'iteratee': $iteratee,
75
+ 'accumulator': $accumulator,
76
+ 'init-from-collection': $init-from-collection
77
+ ));
78
+ $iteratee: __bind('__base-reduce-iteratee');
79
+ $_: __exec($each-function, $collection, $iteratee);
80
+ $accumulator: __this('accumulator');
81
+ $_: __scope(false);
82
+
83
+ @return $accumulator;
84
+ }
85
+
86
+
87
+ /// Reduces `$collection` to a value which is the accumulated result of running
88
+ /// each element in `$collection` through `$iteratee`, where each successive
89
+ /// invocation is supplied the return value of the previous. If `$accumulator`
90
+ /// is not provided the first element of `$collection` is used as the initial
91
+ /// value. The `$iteratee` is bound to `$this-arg`and invoked with four arguments;
92
+ /// (accumulator, value, index|key, collection).
93
+ ///
94
+ /// @access public
95
+ /// @group Collection
96
+ /// @param {List|Map|string} $collection The collection to iterate over.
97
+ /// @param {Function} $iteratee [_identity] - The function invoked per iteration.
98
+ /// @param {*} $accumulator [null] The initial value.
99
+ /// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
100
+ /// @returns {*} Returns the accumulated value.
101
+ /// @example scss
102
+ /// // todo
103
+
104
+ @function _reduce($args...) {
105
+ @return call('__reduce', $args...);
106
+ }
107
+
108
+
109
+ /// @alias _reduce
110
+
111
+ @function _foldl($args...) {
112
+ @return call('__reduce', $args...);
113
+ }
114
+
115
+
116
+ /// @alias _reduce
117
+
118
+ @function _inject($args...) {
119
+ @return call('__reduce', $args...);
120
+ }
121
+
122
+
123
+ /// This method is like `_reduce` except that it iterates over elements of
124
+ /// `$collection` from right to left.
125
+ ///
126
+ ///
127
+ /// @access public
128
+ /// @group Collection
129
+ /// @param {List|Map|string} $collection The collection to iterate over.
130
+ /// @param {Function} $iteratee [_identity] - The function invoked per iteration.
131
+ /// @param {*} $accumulator [null] - The initial value.
132
+ /// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
133
+ /// @returns {*} Returns the accumulated value.
134
+ /// @example scss
135
+ /// // todo
136
+
137
+ @function _reduce-right($args...) {
138
+ @return call('__reduce-right', $args...);
139
+ }
140
+
141
+
142
+ /// @alias _reduce-right
143
+
144
+ @function _foldr($args...) {
145
+ @return call('__reduce-right', $args...);
146
+ }
@@ -0,0 +1,68 @@
1
+ @function __reject-iteratee($value, $index, $collection) {
2
+ $predicate: __this('predicate');
3
+ $test: __exec($predicate, $value, $index, $collection);
4
+ $result: __is-falsey(__exec($predicate, $value, $index, $collection));
5
+
6
+ @return $result;
7
+ }
8
+
9
+
10
+ @function __reject($collection, $predicate: '__identity', $this-arg: null) {
11
+ $function: if(__is-list($collection), '__list-filter', '__base-filter');
12
+ $predicate: __get-callback($predicate, $this-arg, 3);
13
+ $_: __scope((
14
+ 'predicate': $predicate
15
+ ));
16
+ $reject-iteratee: __bind('__reject-iteratee');
17
+ $result: __exec($function, $collection, $reject-iteratee);
18
+ $_: __scope(false);
19
+
20
+ @return $result;
21
+ }
22
+
23
+ ///
24
+ /// The opposite of `_filter`; this method returns the elements of `$collection`
25
+ /// that `$predicate` does **not** return truthy for.
26
+ ///
27
+ /// If a property name is provided for `$predicate` the created `_property`
28
+ /// style callback returns the property value of the given element.
29
+ ///
30
+ /// If a value is also provided for `$this-arg` the created `_matches-property`
31
+ /// style callback returns `true` for elements that have a matching property
32
+ /// value, else `false`.
33
+ ///
34
+ /// If a map is provided for `$predicate` the created `_matches` style
35
+ /// callback returns `true` for elements that have the properties of the given
36
+ /// object, else `false`.
37
+ ///
38
+ ///
39
+ /// @access public
40
+ /// @group Collection
41
+ /// @param {List|Map|string} $collection The collection to iterate over.
42
+ /// @param {Function|Map|string} $predicate [_identity] - The function invoked
43
+ /// per iteration.
44
+ /// @param {*} $this-arg [null] - The `_this` binding of `$predicate`.
45
+ /// @returns {List} Returns the new filtered list.
46
+ /// @example scss
47
+ /// $foo: _reject((1, 2, 3, 4), is-even);
48
+ /// // => (1, 3)
49
+ ///
50
+ /// $users: (
51
+ /// ( 'user': 'barney', 'age': 36, 'active': false ),
52
+ /// ( 'user': 'fred', 'age': 40, 'active': true )
53
+ /// );
54
+ /// // using the `_matches` callback shorthand
55
+ /// $foo: _pluck(_reject($users, ( 'age': 40, 'active': true )), 'user');
56
+ /// // => ('barney')
57
+ ///
58
+ /// // using the `_matches-property` callback shorthand
59
+ /// $foo: _pluck(_reject($users, 'active', false), 'user');
60
+ /// // => ('fred')
61
+ ///
62
+ /// // using the `_property` callback shorthand
63
+ /// $foo: _pluck(_reject($users, 'active'), 'user');
64
+ /// // => ('barney')
65
+
66
+ @function _reject($args...) {
67
+ @return call('__reject', $args...);
68
+ }
@@ -0,0 +1,33 @@
1
+ @function __repeat($string, $value: 0) {
2
+ $value: __parse-int($value);
3
+ $result: '';
4
+
5
+ @if $value >= 1 {
6
+ @for $iteration from 1 through $value {
7
+ $result: $result + $string;
8
+ }
9
+ }
10
+
11
+ @return $result;
12
+ }
13
+
14
+
15
+ /// Repeats the given string `$n` times.
16
+ /// ///
17
+ ///
18
+ /// @access public
19
+ /// @group String
20
+ /// @param {string} $string [''] - The string to repeat.
21
+ /// @param {number} $n [0] - The number of times to repeat the string.
22
+ /// @returns {string} Returns the repeated string.
23
+ /// @example scss
24
+ /// /// _repeat('*', 3);
25
+ /// // => '***'
26
+ /// /// _repeat('abc', 2);
27
+ /// // => 'abcabc'
28
+ /// /// _repeat('abc', 0);
29
+ /// // => ''
30
+
31
+ @function _repeat($args...) {
32
+ @return call('__repeat', $args...);
33
+ }