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,265 @@
1
+ @function __base-map-iteratee($value, $key, $collection) {
2
+ $result: __this('result');
3
+ $iteratee: __this('iteratee');
4
+
5
+ $result: append($result, __exec($iteratee, $value, $key, $collection));
6
+ $_: __this('result', $result);
7
+
8
+ @return $result;
9
+ }
10
+
11
+
12
+ @function __base-map($collection, $iteratee) {
13
+ $_: __scope((
14
+ 'result': (),
15
+ 'iteratee': $iteratee
16
+ ));
17
+ $_: __base-each($collection, '__base-map-iteratee');
18
+ $result: __this('result');
19
+ $_: __scope(false);
20
+
21
+ @return $result;
22
+ }
23
+
24
+
25
+ @function __list-map($list, $iteratee) {
26
+ $index: 1;
27
+ $length: length($list);
28
+ $result-list: ();
29
+
30
+ @while ($index <= $length) {
31
+ $value: nth($list, $index);
32
+ $result-list: append($result-list, __exec($iteratee, $value, $index, $list));
33
+ $index: $index + 1;
34
+ }
35
+
36
+ @return $result-list;
37
+ }
38
+
39
+
40
+ @function __map($collection, $iteratee: '__identity', $this-arg: null) {
41
+ @if not __is-iterable($collection) {
42
+ $collection: ();
43
+ }
44
+
45
+ $collection: if(__is-string($collection), __to-list($collection), $collection);
46
+ $function: if(__is-list($collection), '__list-map', '__base-map');
47
+ $iteratee: __get-callback($iteratee, $this-arg, 3);
48
+
49
+ @return __exec($function, $collection, $iteratee);
50
+ }
51
+
52
+
53
+ @function __map-values-iteratee($value, $key, $map) {
54
+ $result: __this('result');
55
+ $iteratee: __this('iteratee');
56
+ $result: __set($result, $key, __exec($iteratee, $value, $key, $map));
57
+ $_: __this('result', $result);
58
+
59
+ @return true;
60
+ }
61
+
62
+
63
+ @function __map-values($map, $iteratee: __identity, $this-arg: null) {
64
+ $result: ();
65
+ $iteratee: __get-callback($iteratee, $this-arg, 3);
66
+ $_: __scope((
67
+ 'result': $result,
68
+ 'iteratee': $iteratee
69
+ ));
70
+ $map-values-iteratee: __bind('__map-values-iteratee');
71
+ $_: __base-for-own($map, $map-values-iteratee);
72
+ $result: __this('result');
73
+ $_: __scope(false);
74
+
75
+ @return $result;
76
+ }
77
+
78
+
79
+ @function __map-keys-iteratee($value, $key, $map) {
80
+ $result: __this('result');
81
+ $iteratee: __this('iteratee');
82
+ $iteratee-value: if(__this('with-keys'),
83
+ $key,
84
+ $value);
85
+
86
+ $result: __set($result,
87
+ __exec($iteratee, $iteratee-value, $key, $map),
88
+ $value);
89
+ $_: __this('result', $result);
90
+
91
+ @return $result;
92
+ }
93
+
94
+
95
+ @function __map-keys($map, $iteratee: __identity, $this-arg: null, $with-keys: false) {
96
+ $result: ();
97
+ $iteratee: __get-callback($iteratee, $this-arg, 3);
98
+ $_: __scope((
99
+ 'result': $result,
100
+ 'iteratee': $iteratee,
101
+ 'with-keys': $with-keys
102
+ ));
103
+ $map-keys-iteratee: __bind('__map-keys-iteratee');
104
+
105
+ $_: __base-for-own($map, $map-keys-iteratee);
106
+ $result: __this('result');
107
+ $_: __scope(false);
108
+
109
+ @return $result;
110
+ }
111
+
112
+
113
+ /// Creates a list of values by running each element in `$collection` through
114
+ /// `$iteratee`. The `$iteratee` is bound to `$this-arg` and invoked with three
115
+ /// arguments; (value, index|key, collection).
116
+ ///
117
+ /// If a property name is provided for `$predicate` the created `_property`
118
+ /// style callback returns the property value of the given element.
119
+ ///
120
+ /// If a value is also provided for `$this-arg` the created `_matches-property`
121
+ /// style callback returns `true` for elements that have a matching property
122
+ /// value, else `false`.
123
+ ///
124
+ /// If a map is provided for `$predicate` the created `_matches` style
125
+ /// callback returns `true` for elements that have the properties of the given
126
+ /// object, else `false`.
127
+ ///
128
+ /// Many lodash methods are guarded to work as interatees for methods like
129
+ /// `_every`, `_filter`, `_map`, `_map-values`, `_reject`, and `_some`.
130
+ ///
131
+ /// @access public
132
+ /// @group Collection
133
+ /// @param {List|Map|string} $collection The collection to iterate over.
134
+ /// @param {Function|Map|string} $iteratee [_identity] - The function invoked
135
+ /// per iteration.
136
+ /// create a `_property` or `_matches` style callback respectively.
137
+ /// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
138
+ /// @returns {List} Returns the new mapped list.
139
+ /// @example scss
140
+ /// @function times-three($n, $args...) {
141
+ /// @return $n * 3;
142
+ /// }
143
+ ///
144
+ /// $foo: _map((1, 2), times-three);
145
+ /// // => (3, 6)
146
+ ///
147
+ /// $foo: _map(( 'a': 1, 'b': 2 ), times-three);
148
+ /// // => (3, 6)
149
+ ///
150
+ /// $users: (
151
+ /// ( 'user': 'barney' ),
152
+ /// ( 'user': 'fred' )
153
+ /// );
154
+ /// // using the `_property` callback shorthand
155
+ /// $foo: _map($users, 'user');
156
+ /// // => ('barney', 'fred')
157
+
158
+ @function _map($args...) {
159
+ @return call('__map', $args...);
160
+ }
161
+
162
+
163
+ /// @alias _map
164
+
165
+ @function _collect($args...) {
166
+ @return call('__map', $args...);
167
+ }
168
+
169
+
170
+ /// Creates a map with the same keys as `$map` and values generated by
171
+ /// running each own enumerable property of `$map` through `$iteratee`. The
172
+ /// iteratee function is bound to `$this-arg` and invoked with three arguments;
173
+ /// (value, key, map).
174
+ ///
175
+ /// If a property name is provided for `$iteratee` the created `_property`
176
+ /// style callback returns the property value of the given element.
177
+ ///
178
+ /// If a value is also provided for `$this-arg` the created `_matches-property`
179
+ /// style callback returns `true` for elements that have a matching property
180
+ /// value, else `false`.
181
+ ///
182
+ /// If a map is provided for `$iteratee` the created `_matches` style
183
+ /// callback returns `true` for elements that have the properties of the given
184
+ /// map, else `false`.
185
+ ///
186
+ ///
187
+ /// @access public
188
+ /// @group Map
189
+ /// @param {Map} $map The map to iterate over.
190
+ /// @param {Function|Map|string} $iteratee [_identity] - The function invoked
191
+ /// per iteration.
192
+ /// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
193
+ /// @returns {Map} Returns the new mapped map.
194
+ /// @example scss
195
+ /// @function times-three($n, $args...) {
196
+ /// @return $n * 3;
197
+ /// }
198
+ ///
199
+ /// $foo: _map-values(( 'a': 1, 'b': 2 ), times-three);
200
+ /// // => ( 'a': 3, 'b': 6 )
201
+ ///
202
+ /// $users: (
203
+ /// 'fred': ( 'user': 'fred', 'age': 40 ),
204
+ /// 'pebbles': ( 'user': 'pebbles', 'age': 1 )
205
+ /// );
206
+ /// // using the `_property` callback shorthand
207
+ /// $foo: _map-values($users, 'age');
208
+ /// // => ( 'fred': 40, 'pebbles': 1 )
209
+
210
+ @function _map-values($args...) {
211
+ @return call('__map-values', $args...);
212
+ }
213
+
214
+
215
+ /// The opposite of `_map-values`; this method creates a map with the same
216
+ /// values as `$map` and keys generated by running each own enumerable
217
+ /// property of `$map` through `$iteratee`.
218
+ ///
219
+ /// If a property name is provided for `$iteratee` the created `_property`
220
+ /// style callback returns the property value of the given element.
221
+ ///
222
+ /// If a value is also provided for `$this-arg` the created `_matches-property`
223
+ /// style callback returns `true` for elements that have a matching property
224
+ /// value, else `false`.
225
+ ///
226
+ /// If a map is provided for `$iteratee` the created `_matches` style
227
+ /// callback returns `true` for elements that have the properties of the given
228
+ /// map, else `false`.
229
+ ///
230
+ /// **Also** - if `$with-keys` is specified as `true`, the iteratee
231
+ /// will only use each `key` of the `$map` as its value.
232
+ ///
233
+ /// @access public
234
+ /// @group Map
235
+ /// @param {Map} $map The map to iterate over.
236
+ /// @param {Function|Map|string} $iteratee [_identity] - The function invoked
237
+ /// per iteration.
238
+ /// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
239
+ /// @returns {Map} Returns the new mapped map.
240
+ /// @example scss
241
+ /// @function to-css-prop($val, $key, $args...) {
242
+ /// @return _kebab-case($key);
243
+ /// }
244
+ ///
245
+ /// $foo: (
246
+ /// 'backgroundColor': white,
247
+ /// 'marginTop': 1rem
248
+ /// );
249
+ ///
250
+ /// $foo: _map-keys($foo, to-css-prop);
251
+ /// // => (
252
+ /// // 'background-color': white,
253
+ /// // 'margin-top': 1rem
254
+ /// // )
255
+ ///
256
+ /// // Using $with-keys
257
+ /// $foo: _map-keys($foo, _kebab-case, null, $with-key: true);
258
+ /// // => (
259
+ /// // 'background-color': white,
260
+ /// // 'margin-top': 1rem
261
+ /// // )
262
+
263
+ @function _map-keys($args...) {
264
+ @return call('__map-keys', $args...);
265
+ }
@@ -0,0 +1,85 @@
1
+ @function __base-matches-function-1($map, $args...) {
2
+ $value: __this('value');
3
+ $key: __this('key');
4
+
5
+ @return __is-truthy($map)
6
+ and map-has-key($map, $key)
7
+ and $value == __get($map, $key);
8
+ }
9
+
10
+
11
+ @function __base-matches-function-2($map, $args...) {
12
+ @return __base-is-match(
13
+ $map,
14
+ __this('props'),
15
+ __this('values'),
16
+ __this('strict-compare-flags'));
17
+ }
18
+
19
+
20
+ @function __base-matches($source, $is-cloned: false) {
21
+ $props: map-keys($source);
22
+ $length: length($props);
23
+ $_: __scope();
24
+
25
+ @if ($length == 1) {
26
+ $key: nth($props, 1);
27
+ $value: __get($source, $key);
28
+ $_: __this('key', $key);
29
+ $_: __this('value', $value);
30
+
31
+ @if (__is-strict-comparable($value)) {
32
+ $result: __bind('__base-matches-function-1');
33
+ $_: __scope(false);
34
+
35
+ @return $result;
36
+ }
37
+ }
38
+
39
+ $values: (); // list
40
+ $strict-compare-flags: (); // list
41
+
42
+ @while ($length > 0) {
43
+ $value: __get($source, nth($props, $length));
44
+ $values: __set($values, $length, $value);
45
+ $strict-compare-flags: __set($strict-compare-flags, $length, __is-strict-comparable($value));
46
+ $length: $length - 1;
47
+ }
48
+
49
+ $values: __to-list($values);
50
+ $strict-compare-flags: __to-list($strict-compare-flags);
51
+ $_: __this('props', $props);
52
+ $_: __this('values', $values);
53
+ $_: __this('strict-compare-flags', $strict-compare-flags);
54
+ $result: __bind('__base-matches-function-2');
55
+ $_: __scope(false);
56
+
57
+ @return $result;
58
+ }
59
+
60
+
61
+ @function __matches($source) {
62
+ @return __base-matches($source, true);
63
+ }
64
+
65
+
66
+ /// Creates a function which performs a deep comparison between a given map
67
+ /// and `source`, returning `true` if the given map has equivalent property
68
+ /// values, else `false`.
69
+ ///
70
+ ///
71
+ /// @access public
72
+ /// @group Utility
73
+ /// @param {Map} $source The map of property values to match.
74
+ /// @returns {Function} Returns the new function.
75
+ /// @example scss
76
+ /// $users: (
77
+ /// ( 'user': 'barney', 'age': 36, 'active': true ),
78
+ /// ( 'user': 'fred', 'age': 40, 'active': false )
79
+ /// );
80
+ /// $foo: _filter($users, _matches(( 'age': 40, 'active': false )));
81
+ /// // => (( 'user': 'fred', 'age': 40, 'active': false ),)
82
+
83
+ @function _matches($args...) {
84
+ @return call('__matches', $args...);
85
+ }
@@ -0,0 +1,105 @@
1
+ $__memoized__: () !global;
2
+
3
+ @function __memoize-memoized($arguments...) {
4
+ $func: __this('func');
5
+ $resolver: __this('resolver');
6
+ $key: __exec($resolver, $arguments...);
7
+ $cached-value: __get($__memoized__, $func $key);
8
+
9
+ @if $cached-value == null {
10
+ $cached-value: __exec($func, $arguments...);
11
+ $__memoized__: __set($__memoized__, $func $key, $cached-value) !global;
12
+ }
13
+
14
+ @return $cached-value;
15
+ }
16
+
17
+ @function __memoize($func, $resolver: __identity) {
18
+ $_: __scope(('func': $func, 'resolver': $resolver));
19
+ $memoized: __bind('__memoize-memoized');
20
+ $_: __scope(false);
21
+
22
+ @return $memoized;
23
+ }
24
+
25
+ @function __memo($context, $key: $__undefined__, $value: $__undefined__) {
26
+ // Get the memos from context
27
+ @if __is-undefined($key) and __is-undefined($value) {
28
+ @return __get($__memoized__, $context);
29
+ }
30
+
31
+ // Get the memo
32
+ @if __is-undefined($value) {
33
+ @return __get($__memoized__, $context $key);
34
+ }
35
+
36
+ // Set the memo
37
+ $__memoized__: __set($__memoized__, $context $key, $value) !global;
38
+
39
+ @return true;
40
+ }
41
+
42
+ ///
43
+ /// Creates a function that memoizes the result of `$func`. If `$resolver` is
44
+ /// provided, it determines the cache key for storing the result based on the
45
+ /// arguments provided to the memoized function. By default, the first argument
46
+ /// provided to the memoized function is coerced to a string and used as the
47
+ /// cache key. The `$func` is invoked with the `_this` binding of the memoized
48
+ /// function.
49
+ ///
50
+ ///
51
+ /// @access public
52
+ /// @group Function
53
+ /// @param {Function} $func The function to have its output memoized.
54
+ /// @param {Function} $resolver [_identity] The function to resolve the cache key.
55
+ /// @returns {Function} Returns the new memoizing function.
56
+ /// @example scss
57
+ ///
58
+ /// $uppercase: _memoize(to-upper-case);
59
+ ///
60
+ /// $foo: _exec($uppercase, 'fred');
61
+ /// // => 'FRED'
62
+ ///
63
+ /// // modifying the result cache
64
+ /// $mod: _memo(to-upper-case, 'fred', 'BARNEY');
65
+ /// $foo: _exec($uppercase, 'fred');
66
+ /// // => 'BARNEY'
67
+ ///
68
+ /// // using a `$resolver`
69
+ /// @function greet($name) {
70
+ /// @return 'Hello, ' + $name;
71
+ /// }
72
+ ///
73
+ /// $greet-memoized: _memoize(greet, to-upper-case);
74
+ ///
75
+ /// $foo: _exec($greet-memoized, 'Fred');
76
+ /// // => 'Hello, Fred'
77
+ ///
78
+ /// $foo: _exec($greet-memoized, 'FRED');
79
+ /// // => 'Hello, Fred' (since 'Fred' and 'FRED' resolve to 'FRED');
80
+
81
+ @function _memoize($args...) {
82
+ @return call('__memoize', $args...);
83
+ }
84
+
85
+
86
+ ///
87
+ /// Gets or sets a memo in the Sassdash memo cache, based on the `$context` where
88
+ /// the memo is being queried from (usually a function).
89
+ ///
90
+ ///
91
+ /// @access public
92
+ /// @group Function
93
+ /// @param {String|Function} $context - The memo context.
94
+ /// @param {*} $key [undefined] - The memo key to get or set.
95
+ /// @param {*} $value [undefined] - The value to set the key in the memo
96
+ /// context to, if provided.
97
+ /// @returns {*} Returns memo map if only context is provided, memo value
98
+ /// if context and key are provided, and sets the memo and returns true
99
+ /// if context, key, and value are provided.
100
+ /// @example scss
101
+ /// // todo
102
+
103
+ @function _memo($args...) {
104
+ @return call('__memo', $args...);
105
+ }
@@ -0,0 +1,148 @@
1
+ @function __base-merge-deep($map, $source, $key, $merge-function, $customizer, $stack-a: (), $stack-b: ()) {
2
+ $length: length($stack-a);
3
+ $src-value: __get($source, $key);
4
+
5
+ @while $length > 0 {
6
+ @if __is-equal(nth($stack-a, $length), $src-value) {
7
+ $map: __set($map, $key, nth($stack-b, $length));
8
+
9
+ @return $map;
10
+ }
11
+
12
+ $length: $length - 1;
13
+ }
14
+
15
+ $value: __get($map, $key);
16
+ $result: if($customizer,
17
+ __exec($customizer, $value, $src-value, $key, $map, $source),
18
+ $__undefined__);
19
+ $is-common: __is-undefined($result);
20
+
21
+ @if $is-common {
22
+ $result: $src-value;
23
+
24
+ @if __is-list($src-value) {
25
+ $result: if(__is-list($value),
26
+ $value,
27
+ __either($value, ()));
28
+ } @else if __is-plain-map($src-value) or __is-arglist($src-value) {
29
+ $result: if(__is-arglist($value),
30
+ __to-map($value),
31
+ if(__is-plain-map($value), $value, ()));
32
+ } @else {
33
+ $is-common: false;
34
+ }
35
+ }
36
+
37
+ $stack-a: append($stack-a, $src-value);
38
+ $stack-b: append($stack-b, $result);
39
+
40
+ @if $is-common {
41
+ $_: __this('map', __set($map, $key, __exec($merge-function, $result, $src-value, $customizer, $stack-a, $stack-b)));
42
+ } @else if not __is-equal($result, $value) {
43
+ $_: __this('map', __set($map, $key, $result));
44
+ }
45
+
46
+ @return __this('map');
47
+ }
48
+
49
+
50
+ @function __base-merge-function($src-value, $key, $source) {
51
+ $map: __this('map');
52
+ $customizer: __this('customizer');
53
+ $stack-a: __this('stack-a');
54
+ $stack-b: __this('stack-b');
55
+ $is-source-list: __this('is-source-list');
56
+
57
+ @if __is-map-like($src-value) {
58
+ $base-merge-deep: __bind('__base-merge-deep');
59
+
60
+ @return __exec($base-merge-deep, $map, $source, $key, __base-merge, $customizer, $stack-a, $stack-b);
61
+ }
62
+
63
+ $value: __get($map, $key);
64
+ $result: if($customizer,
65
+ __exec($customizer, $value, $src-value, $key, $map, $source),
66
+ $__undefined__);
67
+ $is-common: __is-undefined($result);
68
+
69
+ @if $is-common {
70
+ $result: $src-value;
71
+ }
72
+
73
+ @if ($is-source-list or not __is-undefined($result))
74
+ and ($is-common or not __is-equal($result, $value)) {
75
+ $map: __this('map', __set($map, $key, $result));
76
+ }
77
+
78
+ @return true;
79
+ }
80
+
81
+
82
+ @function __base-merge($map, $source, $customizer: null, $stack-a: (), $stack-b: ()) {
83
+ @if not __is-map-like($map) {
84
+ @return $map;
85
+ }
86
+
87
+ $is-source-list: __is-list($source);
88
+ $func: if($is-source-list, '__list-each', '__base-for-own');
89
+ $_: __scope((
90
+ 'map': $map,
91
+ 'customizer': $customizer,
92
+ 'stack-a': $stack-a,
93
+ 'stack-b': $stack-b,
94
+ 'is-source-list': $is-source-list
95
+ ));
96
+ $base-merge-function: __bind('__base-merge-function');
97
+ $_: __exec($func, $source, $base-merge-function);
98
+ $map: __this('map');
99
+ $_: __scope(false);
100
+
101
+ @return $map;
102
+ }
103
+
104
+
105
+ @function __list-merge($list, $source, $customizer: null) {
106
+ // todo
107
+ }
108
+
109
+
110
+ @function __merge($arguments...) {
111
+ $assigner: __create-assigner('__base-merge');
112
+
113
+ @return __exec($assigner, $arguments...);
114
+ }
115
+
116
+
117
+ /// Recursively merges own enumerable properties of the source map(s), that
118
+ /// don't resolve to `undefined` into the destination map. Subsequent sources
119
+ /// overwrite property assignments of previous sources. If `$customizer` is
120
+ /// provided, it is invoked to produce the merged values of the destination and
121
+ /// source properties. If `$customizer` returns `undefined` merging is handled
122
+ /// by the method instead. The `$customizer` is bound to `$this-arg` and invoked
123
+ /// with five arguments; (source-value, other-value, key, map, source).
124
+ ///
125
+ ///
126
+ /// @access public
127
+ /// @group Map
128
+ /// @param {Map} $map The destination map.
129
+ /// @param {Map...} $source... The source maps.
130
+ /// @param {Function} $customizer [null] The function to customize merging properties.
131
+ /// @param {*} $this-arg [null] - The `_this` binding of `$customizer`.
132
+ /// @returns {Map} Returns `map`.
133
+ /// @example scss
134
+ /// $users: (
135
+ /// 'data': (( 'user': 'barney' ), ( 'user': 'fred' ))
136
+ /// );
137
+ /// $ages: (
138
+ /// 'data': (( 'age': 36 ), ( 'age': 40 ))
139
+ /// );
140
+ /// $foo: _merge($users, ages);
141
+ /// // => ( 'data': (( 'user': 'barney', 'age': 36 ), ( 'user': 'fred', 'age': 40 )) )
142
+ ///
143
+ /// // using a customizer callback
144
+ /// // todo
145
+
146
+ @function _merge($args...) {
147
+ @return call('__merge', $args...);
148
+ }
@@ -0,0 +1,17 @@
1
+
2
+
3
+ @function __modify($map, $properties, $function: '__identity', $this-arg: null) {
4
+ $value: __get($map, $properties);
5
+
6
+ $function: __get-callback($function, $this-arg, 3);
7
+
8
+ $result: __exec($function, $value, $properties, $map);
9
+
10
+ $map: __set($map, $properties, $result);
11
+
12
+ @return $map;
13
+ }
14
+
15
+ @function _modify($args...) {
16
+ @return call('__modify', $args...);
17
+ }