sugarcss 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,335 @@
1
+ @function __base-sort-by($list, $comparer) {
2
+ $length: length($list);
3
+ $list: __sort($list, $comparer);
4
+ $list: __to-map($list);
5
+
6
+ @while ($length > 0) {
7
+ $list: __set($list, $length, __get(__get($list, $length), 'value'));
8
+ $length: $length - 1;
9
+ }
10
+
11
+ @return __to-list($list);
12
+ }
13
+
14
+
15
+ @function __base-compare-ascending($value, $other) {
16
+ @if __is-string($value) or __is-string($other)
17
+ or __is-color($value) or __is-color($other) {
18
+ @return __string-compare-ascending($value, $other);
19
+ }
20
+
21
+ $value: if(__is-falsey($value), 0, $value);
22
+ $other: if(__is-falsey($other), 0, $other);
23
+
24
+ @if $value > $other {
25
+ @return 1;
26
+ }
27
+
28
+ @if $value < $other {
29
+ @return -1;
30
+ }
31
+
32
+ @return 0;
33
+ }
34
+
35
+
36
+ @function __string-compare-ascending($value, $other) {
37
+ @return __sort-predicate-string($value, $other, 'asc');
38
+ }
39
+
40
+
41
+ @function __compare-ascending($map, $other) {
42
+ @return __either(__base-compare-ascending(__get($map, 'criteria'), __get($other, 'criteria')), (__get($map, 'index') - __get($other, 'index')));
43
+ }
44
+
45
+
46
+ @function __compare-multiple-ascending($map, $other) {
47
+ $index: 1;
48
+ $map-criteria: __get($map, 'criteria');
49
+ $other-criteria: __get($other, 'criteria');
50
+ $length: length($map-criteria);
51
+
52
+ @while ($index <= $length) {
53
+ $result: __base-compare-ascending(nth($map-criteria, $index), nth($other-criteria, $index));
54
+
55
+ @if ($result) {
56
+ @return $result;
57
+ }
58
+
59
+ $index: $index + 1;
60
+ }
61
+
62
+ @return (__get($map, 'index') - __get($other, 'index'));
63
+ }
64
+
65
+
66
+ @function __sort-predicate-asc($first, $second) {
67
+ @if __is-string($first) or __is-string($second)
68
+ or __is-color($first) or __is-color($second) {
69
+ @return __sort-predicate-string($first, $second, 'asc');
70
+ }
71
+
72
+ @return if($first > $second, 1, if($first < $second, -1, 0));
73
+ }
74
+
75
+
76
+ @function __sort-predicate-desc($first, $second) {
77
+ @if __is-string($first) or __is-string($second)
78
+ or __is-color($first) or __is-color($second) {
79
+ @return __sort-predicate-string($first, $second, 'desc');
80
+ }
81
+
82
+ @return if($first < $second, 1, if($first > $second, -1, 0));
83
+ }
84
+
85
+
86
+ @function __sort-predicate-string($first, $second, $direction: 'asc') {
87
+ $index: 1;
88
+ $result: 0;
89
+
90
+ $first-length: str-length($first);
91
+ $second-length: str-length($second);
92
+
93
+ @while $result == 0
94
+ and $index <= $first-length
95
+ and $index <= $second-length {
96
+ $first-char-code: __char-code-at($first, 1);
97
+ $second-char-code: __char-code-at($second, 1);
98
+
99
+ $result: if($first-char-code > $second-char-code, 1, if($first-char-code < $second-char-code, -1, 0));
100
+
101
+ $index: $index + 1;
102
+ }
103
+
104
+ @if $result == 0 and $first-length != $second-length {
105
+ $result: if($first-length > $second-length, 1, if($first-length < $second-length, -1, 0))
106
+ }
107
+
108
+ @if $direction == 'desc' {
109
+ $result: $result * -1;
110
+ }
111
+
112
+ @return $result;
113
+ }
114
+
115
+
116
+ @function __sort-iteratee($value, $index, $collection, $predicate, $args...) {
117
+ @return __sort($value, $predicate);
118
+ }
119
+
120
+
121
+ @function __sort($list, $predicate: 'asc') {
122
+ $predicate-map: (
123
+ 'asc': '__sort-predicate-asc',
124
+ 'desc': '__sort-predicate-desc'
125
+ );
126
+
127
+ $comparison-function: __either(__get($predicate-map, $predicate), $predicate);
128
+ $less: ();
129
+ $equal: ();
130
+ $large: ();
131
+
132
+ @if length($list) > 1 {
133
+
134
+ $seed: nth($list, ceil(length($list) / 2));
135
+
136
+ @each $item in $list {
137
+ $comparison: __exec($comparison-function, $item, $seed);
138
+
139
+ @if $comparison == 0 {
140
+ $equal: append($equal, $item);
141
+ } @else if $comparison < 0 {
142
+ $less: append($less, $item);
143
+ } @else if $comparison > 0 {
144
+ $large: append($large, $item);
145
+ }
146
+ }
147
+
148
+ @return join(join(__sort($less, $predicate), $equal), __sort($large, $predicate));
149
+ }
150
+
151
+ @return $list;
152
+ }
153
+
154
+
155
+ @function __sort-by-iteratee($value, $key, $collection) {
156
+ $result: __this('result');
157
+ $iteratee: __this('iteratee');
158
+ $index: __this('index');
159
+ $result: append($result, (
160
+ 'criteria': __exec($iteratee, $value, $key, $collection),
161
+ 'index': $index,
162
+ 'value': $value
163
+ ));
164
+ $_: __this('result', $result);
165
+ $_: __this('index', $index + 1);
166
+
167
+ @return true;
168
+ }
169
+
170
+
171
+ @function __sort-by($collection, $iteratee: '__identity', $this-arg: $__undefined__) {
172
+ $index: 1;
173
+ $length: if(__is-map-like($collection), length($collection), 0);
174
+ $result: ();
175
+
176
+ @if $length == 0 {
177
+ @return $result;
178
+ }
179
+
180
+ @if (__is-truthy($this-arg) and __is-iteratee-call($collection, $iteratee, $this-arg)) {
181
+ $iteratee: null;
182
+ }
183
+
184
+ $iteratee: __get-callback($iteratee, $this-arg, 3);
185
+ $_: __scope((
186
+ 'result': $result,
187
+ 'iteratee': $iteratee,
188
+ 'index': $index
189
+ ));
190
+ $sort-by-iteratee: __bind('__sort-by-iteratee');
191
+ $_: __base-each($collection, $sort-by-iteratee);
192
+ $result: __this('result');
193
+ $_: __scope(false);
194
+
195
+ @return __base-sort-by($result, '__compare-ascending');
196
+ }
197
+
198
+
199
+ @function __sort-by-all-iteratee($value, $key, $collection) {
200
+ $props: __this('props');
201
+ $result: __this('result');
202
+ $index: __this('index');
203
+ $length: length($props);
204
+ $criteria: ();
205
+
206
+ @while ($length > 0) {
207
+ $criteria: __set($criteria, $length, if($value == null, $__undefined__, __get($value, __get($props, $length))));
208
+ $length: $length - 1;
209
+ }
210
+
211
+ $criteria: __to-list($criteria);
212
+ $result: append($result, (
213
+ 'criteria': $criteria,
214
+ 'index': $index,
215
+ 'value': $value
216
+ ));
217
+ $_: __this('result', $result);
218
+ $_: __this('index', $index + 1);
219
+
220
+ @return true;
221
+ }
222
+
223
+
224
+ @function __sort-by-all($arguments...) {
225
+ $collection: nth($arguments, 1);
226
+ $args: $arguments;
227
+
228
+ @if (length($args) > 3 and __is-iteratee-call(nth($args, 2), nth($args, 3), nth($args, 4))) {
229
+ $args: ($collection, nth($args, 2));
230
+ }
231
+
232
+ $index: 1;
233
+ $length: if($collection, length($collection), 0);
234
+ $props: __base-flatten($args, false, false, 1);
235
+ $result: ();
236
+
237
+ $_: __scope((
238
+ 'props': $props,
239
+ 'result': $result,
240
+ 'index': $index
241
+ ));
242
+ $iteratee: __bind('__sort-by-all-iteratee');
243
+ $_: __base-each($collection, $iteratee);
244
+ $result: __this('result');
245
+ $_: __scope(false);
246
+
247
+ @return __base-sort-by($result, '__compare-multiple-ascending');
248
+ }
249
+
250
+
251
+ /// Sorts elements of a list by `$predicate`
252
+ /// and returns a new list with the sorted elements.
253
+ ///
254
+ /// @access public
255
+ /// @group List
256
+ /// @param {List} $list The list to sort.
257
+ /// @param {Function|String} $predicate ['asc'] The predicate used for comparison.
258
+ /// @returns {List} Returns sorted list.
259
+ /// @example scss
260
+ /// $foo: _sort(3 1 4 2 6 5 8 7 9);
261
+ /// // => 1 2 3 4 5 6 7 8 9
262
+ ///
263
+ /// $foo: _sort(3 1 4 2 6 5 8 7 9, 'desc');
264
+ /// // => 9 8 7 6 5 4 3 2 1
265
+
266
+ @function _sort($args...) {
267
+ @return call('__sort', $args...);
268
+ }
269
+
270
+
271
+ /// Creates a list of elements, sorted in ascending order by the results of
272
+ /// running each element in a collection through `$iteratee`. This method performs
273
+ /// a stable sort, that is, it preserves the original sort order of equal elements.
274
+ ///
275
+ /// The `$iteratee` is bound to `$this-arg` and invoked with three arguments;
276
+ /// (value, index|key, collection).
277
+ ///
278
+ /// If a property name is provided for `$predicate` the created `_property`
279
+ /// style callback returns the property value of the given element.
280
+ ///
281
+ /// If a value is also provided for `$this-arg` the created `_matches-property`
282
+ /// style callback returns `true` for elements that have a matching property
283
+ /// value, else `false`.
284
+ ///
285
+ /// If a map is provided for `$predicate` the created `_matches` style
286
+ /// callback returns `true` for elements that have the properties of the given
287
+ /// object, else `false`.
288
+ ///
289
+ ///
290
+ /// @access public
291
+ /// @group Collection
292
+ /// @param {List|Map|string} $collection The collection to iterate over.
293
+ /// @param {List|Function|Map|string} $iteratee [_identity] - The function
294
+ /// invoked per iteration. If a property name or a map is provided it is
295
+ /// used to create a `_property` or `_matches` style callback respectively.
296
+ /// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
297
+ /// @returns {List} Returns the new sorted list.
298
+ /// @example scss
299
+ /// $users: (
300
+ /// ( 'user': 'fred' ),
301
+ /// ( 'user': 'pebbles' ),
302
+ /// ( 'user': 'barney' )
303
+ /// );
304
+ /// // using the `_property` callback shorthand
305
+ /// $foo: _pluck(_sort-by($users, 'user'), 'user');
306
+ /// // => ('barney', 'fred', 'pebbles')
307
+
308
+ @function _sort-by($args...) {
309
+ @return call('__sort-by', $args...);
310
+ }
311
+
312
+
313
+ /// This method is like `_sort-by` except that it sorts by property names
314
+ /// instead of an iteratee function.
315
+ ///
316
+ ///
317
+ /// @access public
318
+ /// @group Collection
319
+ /// @param {List|Map|string} $collection The collection to iterate over.
320
+ /// @param {String...|List(String)} $props The property names to sort by,
321
+ /// specified as individual property names or lists of property names.
322
+ /// @returns {List} Returns the new sorted list.
323
+ /// @example scss
324
+ /// $users: (
325
+ /// ( 'user': 'barney', 'age': 36 ),
326
+ /// ( 'user': 'fred', 'age': 40 ),
327
+ /// ( 'user': 'barney', 'age': 26 ),
328
+ /// ( 'user': 'fred', 'age': 30 )
329
+ /// );
330
+ /// $foo: _map(_sort-by-all($users, ('user', 'age')), _values);
331
+ /// // => (('barney', 26), ('barney', 36), ('fred', 30), ('fred', 40))
332
+
333
+ @function _sort-by-all($args...) {
334
+ @return call('__sort-by-all', $args...);
335
+ }
@@ -0,0 +1,135 @@
1
+ @function __sorted-index($list, $value, $iteratee: '__identity', $this-arg: null) {
2
+ $function: __get-callback($iteratee);
3
+
4
+ @return if($function == __base-callback and $iteratee == null,
5
+ __binary-index($list, $value),
6
+ __binary-index-by($list, $value, __exec($function, $iteratee, $this-arg, 1)));
7
+ }
8
+
9
+
10
+ @function __sorted-last-index($list, $value, $iteratee: '__identity', $this-arg: null) {
11
+ $function: __get-callback($iteratee);
12
+
13
+ @return if($function == __base-callback and $iteratee == null,
14
+ __binary-index($list, $value),
15
+ __binary-index-by($list, $value, __exec($function, $iteratee, $this-arg, 1), true));
16
+ }
17
+
18
+
19
+ @function __binary-index($list, $value, $ret-highest: false, $args...) {
20
+ $low: 0;
21
+ $high: if($list, length($list), $low);
22
+
23
+ @if __is-number($value) {
24
+ @while ($low < $high) {
25
+ $mid: floor(($low + $high) / 2);
26
+ $computed: nth($list, $mid);
27
+
28
+ @if (if($ret-highest, ($computed <= $value), ($computed < $value))) {
29
+ $low: $mid + 1;
30
+ } @else {
31
+ $high: $mid;
32
+ }
33
+ }
34
+
35
+ @return $high;
36
+ }
37
+
38
+ @return __binary-index-by($list, $value, '__identity', $ret-highest);
39
+ }
40
+
41
+
42
+ @function __binary-index-by($list, $value, $iteratee, $ret-highest: false) {
43
+ $value: __exec($iteratee, $value);
44
+
45
+ $low: 0;
46
+ $high: if($list, length($list), 0);
47
+ $val-is-undefined: ($value == null);
48
+
49
+ @while ($low < $high) {
50
+ $mid: floor(($low + $high) / 2);
51
+ $computed: __exec($iteratee, nth($list, $mid));
52
+
53
+ @if ($val-is-undefined) {
54
+ $set-low: ($ret-highest > 0 or not ($computed == null));
55
+ } @else {
56
+ $set-low: if($ret-highest > 0, ($computed <= $value), ($computed < $value));
57
+ }
58
+
59
+ @if ($set-low) {
60
+ $low: $mid + 1;
61
+ } @else {
62
+ $high: $mid;
63
+ }
64
+ }
65
+
66
+ @return min($high, __const('MAX_LIST_INDEX'));
67
+ }
68
+
69
+
70
+ /// Uses a binary search to determine the lowest index at which `$value` should
71
+ /// be inserted into `$list` in order to maintain its sort order. If an iteratee
72
+ /// function is provided it is invoked for `$value` and each element of `$list`
73
+ /// to compute their sort ranking. The iteratee is bound to `$this-arg` and
74
+ /// invoked with one argument; (value).
75
+ ///
76
+ /// If a property name is provided for `$predicate` the created `_property`
77
+ /// style callback returns the property value of the given element.
78
+ ///
79
+ /// If a value is also provided for `$this-arg` the created `_matches-property`
80
+ /// style callback returns `true` for elements that have a matching property
81
+ /// value, else `false`.
82
+ ///
83
+ /// If a map is provided for `$predicate` the created `_matches` style
84
+ /// callback returns `true` for elements that have the properties of the given
85
+ /// object, else `false`.
86
+ ///
87
+ ///
88
+ /// @access public
89
+ /// @group List
90
+ /// @param {List} $list The sorted list to inspect.
91
+ /// @param {*} $value The value to evaluate.
92
+ /// @param {Function|Map|string} $iteratee [_identity] - The function invoked
93
+ /// per iteration.
94
+ /// @param {*} $this-arg [NULL] - The `_this` binding of `$iteratee`.
95
+ /// @returns {number} Returns the index at which `$value` should be inserted
96
+ /// into `$list`.
97
+ /// @example scss
98
+ /// $foo: _sorted-index((30, 50), 40);
99
+ /// // => 2
100
+ ///
101
+ /// $foo: _sorted-index((4, 4, 5, 5), 5);
102
+ /// // => 3
103
+ ///
104
+ /// $dict: { 'data': { 'thirty': 30, 'forty': 40, 'fifty': 50 } };
105
+ ///
106
+ /// // using the `_property` callback shorthand
107
+ /// $foo: _sorted-index((( 'x': 30 ), ( 'x': 50 )), ( 'x': 40 ), 'x');
108
+ /// // => 2
109
+
110
+ @function _sorted-index($args...) {
111
+ @return call('__sorted-index', $args...);
112
+ }
113
+
114
+
115
+ /// This method is like `_sorted-index` except that it returns the highest
116
+ /// index at which `$value` should be inserted into `$list` in order to
117
+ /// maintain its sort order.
118
+ ///
119
+ ///
120
+ /// @access public
121
+ /// @group List
122
+ /// @param {List} $list The sorted list to inspect.
123
+ /// @param {*} $value The value to evaluate.
124
+ /// @param {Function|Map|string} $iteratee [_identity] - The function invoked
125
+ /// per iteration.
126
+ /// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
127
+ /// @returns {number} Returns the index at which `$value` should be inserted
128
+ /// into `$list`.
129
+ /// @example scss
130
+ /// $foo: _sorted-last-index((4, 4, 5, 5), 5);
131
+ /// // => 5
132
+
133
+ @function _sorted-last-index($args...) {
134
+ @return call('__sorted-last-index', $args...);
135
+ }
@@ -0,0 +1,45 @@
1
+ @function __splice($list, $start, $delete-count: 1, $items...) {
2
+ $length: length($list);
3
+ $result: ();
4
+ $index: 1;
5
+
6
+ // @return false;
7
+
8
+ @while $index < $start {
9
+ $result: append($result, nth($list, $index));
10
+ $index: $index + 1;
11
+ }
12
+
13
+ @each $item in $items {
14
+ $result: append($result, $item);
15
+ }
16
+
17
+ $index: $start + $delete-count;
18
+
19
+ @while $index <= $length {
20
+ $result: append($result, nth($list, $index));
21
+ $index: $index + 1;
22
+ }
23
+
24
+ @return $result;
25
+ }
26
+
27
+
28
+ /// Removes items from a `$list` and adds new items in their place.
29
+ /// Similar to the native JavaScript [splice() function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice).
30
+ ///
31
+ /// @access public
32
+ /// @group List
33
+ /// @param {List} $list - List to splice.
34
+ /// @param {Number} $start - Index to start changing the list.
35
+ /// @param {Number} $delete-count [1] - Number of list items to remove.
36
+ /// @param {Any...} $items... - Items to add to the lsit.
37
+ /// @example scss
38
+ /// $margin: 10px 3px 5px 20px;
39
+ ///
40
+ /// $margin: _splice($margin, 2, 2, 15px);
41
+ /// // => 10px 15px 20px
42
+
43
+ @function _splice($args...) {
44
+ @return call('__splice', $args...);
45
+ }
@@ -0,0 +1,43 @@
1
+ @function __string-split($string, $delimiter: '', $guard: null, $args...) {
2
+ @if $guard and __is-iteratee-call($string, $delimiter, $guard) {
3
+ $delimiter: '';
4
+ }
5
+
6
+ $string: __to-string($string);
7
+
8
+ @if not $delimiter
9
+ or str-length($delimiter) == 0
10
+ or $delimiter == '' {
11
+ @return __to-list($string);
12
+ }
13
+
14
+ $delimiter-index: str-index($string, $delimiter);
15
+
16
+ @if not $delimiter-index {
17
+ @return append((), $string);
18
+ }
19
+
20
+ @return join(
21
+ str-slice($string, 1, $delimiter-index - 1),
22
+ __string-split(
23
+ str-slice($string, $delimiter-index + str-length($delimiter)),
24
+ $delimiter
25
+ )
26
+ );
27
+ }
28
+
29
+
30
+ /// Splits a string from indexes of `$delimiter` to a list.
31
+ ///
32
+ /// @access public
33
+ /// @group String
34
+ /// @param {String} $string - String to split.
35
+ /// @param {String} $delimiter [null] - Characters to use for separating the `$string`.
36
+ /// @returns {List} Returns list of substrings from split `$string`.
37
+ /// @example scss
38
+ /// $foo: _split('a--b--c--d--e', '--');
39
+ /// // => 'a' 'b' 'c' 'd' 'e'
40
+
41
+ @function _split($args...) {
42
+ @return call('__string-split', $args...);
43
+ }
@@ -0,0 +1,78 @@
1
+ @function __starts-with($string, $target, $position: 1) {
2
+ @if __is-list-like($target) {
3
+ $result: false;
4
+
5
+ @each $target-string in $target {
6
+ $result: __either($result, __starts-with($string, $target-string, $position));
7
+ }
8
+
9
+ @return $result;
10
+ }
11
+
12
+ $string: __base-to-string($string);
13
+ $target: __base-to-string($target);
14
+ $position: if(__is-falsey($position), 0, $position);
15
+ $position: min(if($position <= 0, 1, $position), str-length($string));
16
+
17
+ @return if($target == '',
18
+ true,
19
+ __string-last-index-of($string, $target, $position) == $position);
20
+ }
21
+
22
+ @function __starts-with-any($string, $targets: (), $position: 1) {
23
+ $result: false;
24
+ $index: 1;
25
+
26
+ @while $index <= length($targets) and not $result {
27
+ $target-string: nth($targets, $index);
28
+ $result: __starts-with($string, $target-string, $position);
29
+
30
+ $index: $index + 1;
31
+ }
32
+
33
+ @return $result;
34
+ }
35
+
36
+ /// Checks if `$string` starts with the given target string.
37
+ ///
38
+ ///
39
+ /// @access public
40
+ /// @group String
41
+ /// @param {string} $string [''] - The string to search.
42
+ /// @param {string} $target - The string to search for.
43
+ /// @param {number} $position [1] - The position to search from.
44
+ /// @returns {boolean} Returns `true` if `$string` starts with `$target`, else `false`.
45
+ /// @example scss
46
+ /// $foo: _starts-with('abc', 'a');
47
+ /// // => true
48
+ ///
49
+ /// $foo: _starts-with('abc', 'b');
50
+ /// // => false
51
+ ///
52
+ /// $foo: _starts-with('abc', 'b', 1);
53
+ /// // => true
54
+
55
+ @function _starts-with($args...) {
56
+ @return call('__starts-with', $args...);
57
+ }
58
+
59
+ /// Checks if `$string` starts with any of the strings in `$targets` list.
60
+ ///
61
+ ///
62
+ /// @access public
63
+ /// @group String
64
+ /// @param {string} $string [''] - The string to search.
65
+ /// @param {string} $targets [()] - The list of strings to search for.
66
+ /// @param {number} $position [1] - The position to search from.
67
+ /// @returns {boolean} Returns `true` if `$string` starts with any of the strings in `$targets`, else `false`.
68
+ /// @example scss
69
+ /// $foo: _starts-with-any('abc', 'a' 'b');
70
+ /// // => true
71
+ /// $foo: _starts-with-any('abc', 'b' 'c');
72
+ /// // => false
73
+ /// $foo: _starts-with-any('abc', 'b' 'c', 1);
74
+ /// // => true
75
+
76
+ @function _starts-with-any($args...) {
77
+ @return call('__starts-with-any', $args...);
78
+ }
@@ -0,0 +1,44 @@
1
+
2
+ @function __sum($collection, $iteratee: '__identity', $this-arg: null, $args...) {
3
+ @if $this-arg and __is-iteratee-call($collection, $iteratee, $this-arg) {
4
+ $iteratee: '__identity';
5
+ $this-arg: null;
6
+ }
7
+
8
+ $collection: __to-list($collection);
9
+
10
+ $iteratee: __get-callback($iteratee, $this-arg, 3);
11
+ $length: length($collection);
12
+ $result: 0;
13
+
14
+ @while $length > 0 {
15
+ $value: __parse-float(__exec($iteratee, nth($collection, $length)));
16
+
17
+ $value: __either($value, 0);
18
+
19
+ $result: $result + $value;
20
+
21
+ $length: $length - 1;
22
+ }
23
+
24
+ @return $result;
25
+ }
26
+
27
+
28
+ ///
29
+ /// Gets the sum of the values in `$collection`.
30
+ ///
31
+ /// @access public
32
+ /// @group Math
33
+ /// @param {Array|Object|string} $collection The collection to iterate over.
34
+ /// @returns {number} Returns the sum.
35
+ /// @example scss
36
+ /// $foo: _sum(4 6 2);
37
+ /// // => 12
38
+ ///
39
+ /// $foo: _sum(('a': 4, 'b': 6, 'c': 2));
40
+ /// // => 12
41
+
42
+ @function _sum($args...) {
43
+ @return call('__sum', $args...);
44
+ }