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.
- checksums.yaml +7 -0
- data/lib/sugarcss.rb +30 -0
- data/stylesheets/_sugar.scss +4 -0
- data/stylesheets/sugar/_BEM.scss +101 -0
- data/stylesheets/sugar/_animations.scss +101 -0
- data/stylesheets/sugar/_clearfix.scss +56 -0
- data/stylesheets/sugar/_colors.scss +126 -0
- data/stylesheets/sugar/_effects.scss +65 -0
- data/stylesheets/sugar/_filters.scss +67 -0
- data/stylesheets/sugar/_forms.scss +13 -0
- data/stylesheets/sugar/_functions.scss +328 -0
- data/stylesheets/sugar/_helper-classes.scss +109 -0
- data/stylesheets/sugar/_helper-functions.scss +56 -0
- data/stylesheets/sugar/_helper-mixins.scss +383 -0
- data/stylesheets/sugar/_icons.scss +21 -0
- data/stylesheets/sugar/_images.scss +150 -0
- data/stylesheets/sugar/_lists.scss +148 -0
- data/stylesheets/sugar/_medias.scss +141 -0
- data/stylesheets/sugar/_reset.scss +38 -0
- data/stylesheets/sugar/_shapes.scss +528 -0
- data/stylesheets/sugar/_sugar.scss +606 -0
- data/stylesheets/sugar/_typo.scss +849 -0
- data/stylesheets/sugar/_units.scss +120 -0
- data/stylesheets/sugar/tools/_arrow.scss +70 -0
- data/stylesheets/sugar/tools/_blank.scss +0 -0
- data/stylesheets/sugar/tools/_list.scss +103 -0
- data/stylesheets/sugar/tools/_map.scss +93 -0
- data/stylesheets/sugar/tools/_math.scss +196 -0
- data/stylesheets/sugar/tools/_string.scss +65 -0
- data/stylesheets/sugar/vendors/animatecss/_animate.scss +1474 -0
- data/stylesheets/sugar/vendors/animatecss/_base.scss +31 -0
- data/stylesheets/sugar/vendors/animatecss/attention_seekers/_bounce.scss +26 -0
- data/stylesheets/sugar/vendors/animatecss/attention_seekers/_flash.scss +14 -0
- data/stylesheets/sugar/vendors/animatecss/attention_seekers/_jello.scss +34 -0
- data/stylesheets/sugar/vendors/animatecss/attention_seekers/_pulse.scss +20 -0
- data/stylesheets/sugar/vendors/animatecss/attention_seekers/_rubberBand.scss +34 -0
- data/stylesheets/sugar/vendors/animatecss/attention_seekers/_shake.scss +18 -0
- data/stylesheets/sugar/vendors/animatecss/attention_seekers/_swing.scss +27 -0
- data/stylesheets/sugar/vendors/animatecss/attention_seekers/_tada.scss +26 -0
- data/stylesheets/sugar/vendors/animatecss/attention_seekers/_wobble.scss +36 -0
- data/stylesheets/sugar/vendors/animatecss/bouncing_entrances/_bounceIn.scss +37 -0
- data/stylesheets/sugar/vendors/animatecss/bouncing_entrances/_bounceInDown.scss +32 -0
- data/stylesheets/sugar/vendors/animatecss/bouncing_entrances/_bounceInLeft.scss +32 -0
- data/stylesheets/sugar/vendors/animatecss/bouncing_entrances/_bounceInRight.scss +32 -0
- data/stylesheets/sugar/vendors/animatecss/bouncing_entrances/_bounceInUp.scss +32 -0
- data/stylesheets/sugar/vendors/animatecss/bouncing_exits/_bounceOut.scss +20 -0
- data/stylesheets/sugar/vendors/animatecss/bouncing_exits/_bounceOutDown.scss +20 -0
- data/stylesheets/sugar/vendors/animatecss/bouncing_exits/_bounceOutLeft.scss +16 -0
- data/stylesheets/sugar/vendors/animatecss/bouncing_exits/_bounceOutRight.scss +16 -0
- data/stylesheets/sugar/vendors/animatecss/bouncing_exits/_bounceOutUp.scss +20 -0
- data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeIn.scss +9 -0
- data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInDown.scss +16 -0
- data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInDownBig.scss +16 -0
- data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInLeft.scss +16 -0
- data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInLeftBig.scss +16 -0
- data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInRight.scss +16 -0
- data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInRightBig.scss +16 -0
- data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInUp.scss +16 -0
- data/stylesheets/sugar/vendors/animatecss/fading_entrances/_fadeInUpBig.scss +16 -0
- data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOut.scss +9 -0
- data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutDown.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutDownBig.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutLeft.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutLeftBig.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutRight.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutRightBig.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutUp.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/fading_exits/_fadeOutUpBig.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/flippers/_flip.scss +32 -0
- data/stylesheets/sugar/vendors/animatecss/flippers/_flipInX.scss +31 -0
- data/stylesheets/sugar/vendors/animatecss/flippers/_flipInY.scss +31 -0
- data/stylesheets/sugar/vendors/animatecss/flippers/_flipOutX.scss +21 -0
- data/stylesheets/sugar/vendors/animatecss/flippers/_flipOutY.scss +21 -0
- data/stylesheets/sugar/vendors/animatecss/lightspeed/_lightSpeedIn.scss +27 -0
- data/stylesheets/sugar/vendors/animatecss/lightspeed/_lightSpeedOut.scss +16 -0
- data/stylesheets/sugar/vendors/animatecss/rotating_entrances/_rotateIn.scss +18 -0
- data/stylesheets/sugar/vendors/animatecss/rotating_entrances/_rotateInDownLeft.scss +18 -0
- data/stylesheets/sugar/vendors/animatecss/rotating_entrances/_rotateInDownRight.scss +18 -0
- data/stylesheets/sugar/vendors/animatecss/rotating_entrances/_rotateInUpLeft.scss +18 -0
- data/stylesheets/sugar/vendors/animatecss/rotating_entrances/_rotateInUpRight.scss +18 -0
- data/stylesheets/sugar/vendors/animatecss/rotating_exits/_rotateOut.scss +17 -0
- data/stylesheets/sugar/vendors/animatecss/rotating_exits/_rotateOutDownLeft.scss +17 -0
- data/stylesheets/sugar/vendors/animatecss/rotating_exits/_rotateOutDownRight.scss +17 -0
- data/stylesheets/sugar/vendors/animatecss/rotating_exits/_rotateOutUpLeft.scss +17 -0
- data/stylesheets/sugar/vendors/animatecss/rotating_exits/_rotateOutUpRight.scss +17 -0
- data/stylesheets/sugar/vendors/animatecss/sliding_entrances/_slideInDown.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/sliding_entrances/_slideInLeft.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/sliding_entrances/_slideInRight.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/sliding_entrances/_slideInUp.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/sliding_exits/_slideOutDown.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/sliding_exits/_slideOutLeft.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/sliding_exits/_slideOutRight.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/sliding_exits/_slideOutUp.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/specials/_hinge.scss +29 -0
- data/stylesheets/sugar/vendors/animatecss/specials/_rollIn.scss +18 -0
- data/stylesheets/sugar/vendors/animatecss/specials/_rollOut.scss +17 -0
- data/stylesheets/sugar/vendors/animatecss/zooming_entrances/_zoomIn.scss +15 -0
- data/stylesheets/sugar/vendors/animatecss/zooming_entrances/_zoomInDown.scss +18 -0
- data/stylesheets/sugar/vendors/animatecss/zooming_entrances/_zoomInLeft.scss +18 -0
- data/stylesheets/sugar/vendors/animatecss/zooming_entrances/_zoomInRight.scss +18 -0
- data/stylesheets/sugar/vendors/animatecss/zooming_entrances/_zoomInUp.scss +18 -0
- data/stylesheets/sugar/vendors/animatecss/zooming_exits/_zoomOut.scss +19 -0
- data/stylesheets/sugar/vendors/animatecss/zooming_exits/_zoomOutDown.scss +19 -0
- data/stylesheets/sugar/vendors/animatecss/zooming_exits/_zoomOutLeft.scss +17 -0
- data/stylesheets/sugar/vendors/animatecss/zooming_exits/_zoomOutRight.scss +17 -0
- data/stylesheets/sugar/vendors/animatecss/zooming_exits/_zoomOutUp.scss +19 -0
- data/stylesheets/sugar/vendors/cssgram/_1977.scss +16 -0
- data/stylesheets/sugar/vendors/cssgram/_aden.scss +18 -0
- data/stylesheets/sugar/vendors/cssgram/_brooklyn.scss +17 -0
- data/stylesheets/sugar/vendors/cssgram/_cssgram.scss +18 -0
- data/stylesheets/sugar/vendors/cssgram/_earlybird.scss +17 -0
- data/stylesheets/sugar/vendors/cssgram/_gingham.scss +17 -0
- data/stylesheets/sugar/vendors/cssgram/_hudson.scss +18 -0
- data/stylesheets/sugar/vendors/cssgram/_inkwell.scss +11 -0
- data/stylesheets/sugar/vendors/cssgram/_lark.scss +21 -0
- data/stylesheets/sugar/vendors/cssgram/_lofi.scss +16 -0
- data/stylesheets/sugar/vendors/cssgram/_mayfair.scss +18 -0
- data/stylesheets/sugar/vendors/cssgram/_moon.scss +21 -0
- data/stylesheets/sugar/vendors/cssgram/_nashville.scss +22 -0
- data/stylesheets/sugar/vendors/cssgram/_perpetua.scss +17 -0
- data/stylesheets/sugar/vendors/cssgram/_reyes.scss +18 -0
- data/stylesheets/sugar/vendors/cssgram/_shared.scss +29 -0
- data/stylesheets/sugar/vendors/cssgram/_toaster.scss +17 -0
- data/stylesheets/sugar/vendors/cssgram/_walden.scss +18 -0
- data/stylesheets/sugar/vendors/cssgram/_xpro2.scss +17 -0
- data/stylesheets/sugar/vendors/fontawesome/_font-awesome.scss +2019 -0
- data/stylesheets/sugar/vendors/modularscale/_modular-scale-tests.scss +74 -0
- data/stylesheets/sugar/vendors/modularscale/_modular-scale.scss +18 -0
- data/stylesheets/sugar/vendors/modularscale/modular-scale/_calc.scss +17 -0
- data/stylesheets/sugar/vendors/modularscale/modular-scale/_function-list.scss +68 -0
- data/stylesheets/sugar/vendors/modularscale/modular-scale/_function.scss +55 -0
- data/stylesheets/sugar/vendors/modularscale/modular-scale/_generate-list.scss +103 -0
- data/stylesheets/sugar/vendors/modularscale/modular-scale/_pow.scss +40 -0
- data/stylesheets/sugar/vendors/modularscale/modular-scale/_ratios.scss +20 -0
- data/stylesheets/sugar/vendors/modularscale/modular-scale/_respond.scss +49 -0
- data/stylesheets/sugar/vendors/modularscale/modular-scale/_round-px.scss +6 -0
- data/stylesheets/sugar/vendors/modularscale/modular-scale/_sort-list.scss +93 -0
- data/stylesheets/sugar/vendors/modularscale/modular-scale/_tests.scss +22 -0
- data/stylesheets/sugar/vendors/sassdash/_sassdash.scss +6 -0
- data/stylesheets/sugar/vendors/sassdash/api/_add.scss +43 -0
- data/stylesheets/sugar/vendors/sassdash/api/_after.scss +66 -0
- data/stylesheets/sugar/vendors/sassdash/api/_ary.scss +43 -0
- data/stylesheets/sugar/vendors/sassdash/api/_assign.scss +113 -0
- data/stylesheets/sugar/vendors/sassdash/api/_at.scss +50 -0
- data/stylesheets/sugar/vendors/sassdash/api/_before.scss +64 -0
- data/stylesheets/sugar/vendors/sassdash/api/_bind.scss +46 -0
- data/stylesheets/sugar/vendors/sassdash/api/_call.scss +0 -0
- data/stylesheets/sugar/vendors/sassdash/api/_callback.scss +167 -0
- data/stylesheets/sugar/vendors/sassdash/api/_case.scss +179 -0
- data/stylesheets/sugar/vendors/sassdash/api/_chunk.scss +44 -0
- data/stylesheets/sugar/vendors/sassdash/api/_compact.scss +32 -0
- data/stylesheets/sugar/vendors/sassdash/api/_compare.scss +180 -0
- data/stylesheets/sugar/vendors/sassdash/api/_concat.scss +62 -0
- data/stylesheets/sugar/vendors/sassdash/api/_constant.scss +32 -0
- data/stylesheets/sugar/vendors/sassdash/api/_context.scss +51 -0
- data/stylesheets/sugar/vendors/sassdash/api/_count-by.scss +51 -0
- data/stylesheets/sugar/vendors/sassdash/api/_create.scss +78 -0
- data/stylesheets/sugar/vendors/sassdash/api/_debug.scss +26 -0
- data/stylesheets/sugar/vendors/sassdash/api/_declare.scss +46 -0
- data/stylesheets/sugar/vendors/sassdash/api/_defaults.scss +41 -0
- data/stylesheets/sugar/vendors/sassdash/api/_difference.scss +50 -0
- data/stylesheets/sugar/vendors/sassdash/api/_drop.scss +226 -0
- data/stylesheets/sugar/vendors/sassdash/api/_either.scss +42 -0
- data/stylesheets/sugar/vendors/sassdash/api/_encode.scss +42 -0
- data/stylesheets/sugar/vendors/sassdash/api/_ends-with.scss +76 -0
- data/stylesheets/sugar/vendors/sassdash/api/_escape.scss +39 -0
- data/stylesheets/sugar/vendors/sassdash/api/_every.scss +106 -0
- data/stylesheets/sugar/vendors/sassdash/api/_exec.scss +31 -0
- data/stylesheets/sugar/vendors/sassdash/api/_extrema.scss +224 -0
- data/stylesheets/sugar/vendors/sassdash/api/_fill.scss +74 -0
- data/stylesheets/sugar/vendors/sassdash/api/_filter.scss +112 -0
- data/stylesheets/sugar/vendors/sassdash/api/_find.scss +448 -0
- data/stylesheets/sugar/vendors/sassdash/api/_first.scss +29 -0
- data/stylesheets/sugar/vendors/sassdash/api/_flatten.scss +88 -0
- data/stylesheets/sugar/vendors/sassdash/api/_flow.scss +145 -0
- data/stylesheets/sugar/vendors/sassdash/api/_for.scss +325 -0
- data/stylesheets/sugar/vendors/sassdash/api/_functions.scss +42 -0
- data/stylesheets/sugar/vendors/sassdash/api/_group-by.scss +90 -0
- data/stylesheets/sugar/vendors/sassdash/api/_has.scss +30 -0
- data/stylesheets/sugar/vendors/sassdash/api/_identity.scss +20 -0
- data/stylesheets/sugar/vendors/sassdash/api/_includes.scss +76 -0
- data/stylesheets/sugar/vendors/sassdash/api/_index-by.scss +43 -0
- data/stylesheets/sugar/vendors/sassdash/api/_index-of.scss +154 -0
- data/stylesheets/sugar/vendors/sassdash/api/_initial.scss +19 -0
- data/stylesheets/sugar/vendors/sassdash/api/_intersection.scss +59 -0
- data/stylesheets/sugar/vendors/sassdash/api/_invert.scss +48 -0
- data/stylesheets/sugar/vendors/sassdash/api/_invoke.scss +74 -0
- data/stylesheets/sugar/vendors/sassdash/api/_is-empty.scss +48 -0
- data/stylesheets/sugar/vendors/sassdash/api/_is-equal.scss +175 -0
- data/stylesheets/sugar/vendors/sassdash/api/_is-match.scss +116 -0
- data/stylesheets/sugar/vendors/sassdash/api/_is-type.scss +479 -0
- data/stylesheets/sugar/vendors/sassdash/api/_join.scss +47 -0
- data/stylesheets/sugar/vendors/sassdash/api/_keys.scss +48 -0
- data/stylesheets/sugar/vendors/sassdash/api/_last.scss +21 -0
- data/stylesheets/sugar/vendors/sassdash/api/_map.scss +265 -0
- data/stylesheets/sugar/vendors/sassdash/api/_matches.scss +85 -0
- data/stylesheets/sugar/vendors/sassdash/api/_memoize.scss +105 -0
- data/stylesheets/sugar/vendors/sassdash/api/_merge.scss +148 -0
- data/stylesheets/sugar/vendors/sassdash/api/_modify.scss +17 -0
- data/stylesheets/sugar/vendors/sassdash/api/_module.scss +111 -0
- data/stylesheets/sugar/vendors/sassdash/api/_negate.scss +42 -0
- data/stylesheets/sugar/vendors/sassdash/api/_noop.scss +19 -0
- data/stylesheets/sugar/vendors/sassdash/api/_omit.scss +52 -0
- data/stylesheets/sugar/vendors/sassdash/api/_once.scss +27 -0
- data/stylesheets/sugar/vendors/sassdash/api/_pad.scss +121 -0
- data/stylesheets/sugar/vendors/sassdash/api/_pairs.scss +26 -0
- data/stylesheets/sugar/vendors/sassdash/api/_parse-int.scss +69 -0
- data/stylesheets/sugar/vendors/sassdash/api/_partial.scss +91 -0
- data/stylesheets/sugar/vendors/sassdash/api/_partition.scss +53 -0
- data/stylesheets/sugar/vendors/sassdash/api/_pick.scss +80 -0
- data/stylesheets/sugar/vendors/sassdash/api/_pluck.scss +27 -0
- data/stylesheets/sugar/vendors/sassdash/api/_property.scss +91 -0
- data/stylesheets/sugar/vendors/sassdash/api/_pull.scss +43 -0
- data/stylesheets/sugar/vendors/sassdash/api/_push.scss +27 -0
- data/stylesheets/sugar/vendors/sassdash/api/_rand.scss +79 -0
- data/stylesheets/sugar/vendors/sassdash/api/_range.scss +59 -0
- data/stylesheets/sugar/vendors/sassdash/api/_reduce.scss +146 -0
- data/stylesheets/sugar/vendors/sassdash/api/_reject.scss +68 -0
- data/stylesheets/sugar/vendors/sassdash/api/_repeat.scss +33 -0
- data/stylesheets/sugar/vendors/sassdash/api/_replace.scss +40 -0
- data/stylesheets/sugar/vendors/sassdash/api/_rest.scss +26 -0
- data/stylesheets/sugar/vendors/sassdash/api/_result.scss +48 -0
- data/stylesheets/sugar/vendors/sassdash/api/_reverse.scss +64 -0
- data/stylesheets/sugar/vendors/sassdash/api/_rules.scss +55 -0
- data/stylesheets/sugar/vendors/sassdash/api/_sample.scss +33 -0
- data/stylesheets/sugar/vendors/sassdash/api/_shuffle.scss +37 -0
- data/stylesheets/sugar/vendors/sassdash/api/_size.scss +37 -0
- data/stylesheets/sugar/vendors/sassdash/api/_slice.scss +60 -0
- data/stylesheets/sugar/vendors/sassdash/api/_some.scss +110 -0
- data/stylesheets/sugar/vendors/sassdash/api/_sort.scss +335 -0
- data/stylesheets/sugar/vendors/sassdash/api/_sorted-index.scss +135 -0
- data/stylesheets/sugar/vendors/sassdash/api/_splice.scss +45 -0
- data/stylesheets/sugar/vendors/sassdash/api/_split.scss +43 -0
- data/stylesheets/sugar/vendors/sassdash/api/_starts-with.scss +78 -0
- data/stylesheets/sugar/vendors/sassdash/api/_sum.scss +44 -0
- data/stylesheets/sugar/vendors/sassdash/api/_take.scss +211 -0
- data/stylesheets/sugar/vendors/sassdash/api/_times.scss +33 -0
- data/stylesheets/sugar/vendors/sassdash/api/_to-list.scss +52 -0
- data/stylesheets/sugar/vendors/sassdash/api/_to-string.scss +35 -0
- data/stylesheets/sugar/vendors/sassdash/api/_trim.scss +138 -0
- data/stylesheets/sugar/vendors/sassdash/api/_trunc.scss +92 -0
- data/stylesheets/sugar/vendors/sassdash/api/_unescape.scss +48 -0
- data/stylesheets/sugar/vendors/sassdash/api/_union.scss +19 -0
- data/stylesheets/sugar/vendors/sassdash/api/_uniq.scss +86 -0
- data/stylesheets/sugar/vendors/sassdash/api/_unique-id.scss +27 -0
- data/stylesheets/sugar/vendors/sassdash/api/_unzip.scss +77 -0
- data/stylesheets/sugar/vendors/sassdash/api/_values.scss +54 -0
- data/stylesheets/sugar/vendors/sassdash/api/_where.scss +28 -0
- data/stylesheets/sugar/vendors/sassdash/api/_without.scss +26 -0
- data/stylesheets/sugar/vendors/sassdash/api/_words.scss +50 -0
- data/stylesheets/sugar/vendors/sassdash/api/_xor.scss +35 -0
- data/stylesheets/sugar/vendors/sassdash/api/_zip.scss +80 -0
- data/stylesheets/sugar/vendors/sassdash/constants/_char.scss +97 -0
- data/stylesheets/sugar/vendors/sassdash/constants/_constructor.scss +1 -0
- data/stylesheets/sugar/vendors/sassdash/constants/_escapes.scss +26 -0
- data/stylesheets/sugar/vendors/sassdash/constants/_flags.scss +9 -0
- data/stylesheets/sugar/vendors/sassdash/constants/_global.scss +11 -0
- data/stylesheets/sugar/vendors/sassdash/constants/_module.scss +9 -0
- data/stylesheets/sugar/vendors/sassdash/constants/_native.scss +80 -0
- data/stylesheets/sugar/vendors/sassdash/constants/_number.scss +26 -0
- data/stylesheets/sugar/vendors/sassdash/constants/_trunc.scss +2 -0
- data/stylesheets/sugar/vendors/sassdash/constants/_units.scss +10 -0
- data/stylesheets/sugar/vendors/sassdash/helpers/_aggregator.scss +47 -0
- data/stylesheets/sugar/vendors/sassdash/helpers/_call.scss +77 -0
- data/stylesheets/sugar/vendors/sassdash/helpers/_chain.scss +37 -0
- data/stylesheets/sugar/vendors/sassdash/helpers/_char.scss +115 -0
- data/stylesheets/sugar/vendors/sassdash/helpers/_coercion.scss +90 -0
- data/stylesheets/sugar/vendors/sassdash/helpers/_compounder.scss +25 -0
- data/stylesheets/sugar/vendors/sassdash/helpers/_module.scss +8 -0
- data/stylesheets/sugar/vendors/sassdash/helpers/_number.scss +165 -0
- data/stylesheets/sugar/vendors/sassdash/helpers/_scope.scss +43 -0
- data/stylesheets/sugar/vendors/sassdash/static/_local.scss +268 -0
- data/stylesheets/sugar/vendors/sassdash/static/_module.scss +2 -0
- data/stylesheets/sugar/vendors/sassdash/static/_static.scss +84 -0
- 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
|
+
}
|