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,145 @@
|
|
|
1
|
+
@function __flow-function($arguments...) {
|
|
2
|
+
$functions: __this('functions');
|
|
3
|
+
$length: __this('length');
|
|
4
|
+
|
|
5
|
+
$index: 1;
|
|
6
|
+
$result: __exec(nth($functions, $index), $arguments...);
|
|
7
|
+
$index: $index + 1;
|
|
8
|
+
|
|
9
|
+
@while ($index <= $length) {
|
|
10
|
+
$result: __exec(nth($functions, $index), $result);
|
|
11
|
+
$index: $index + 1;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@return $result;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@function __flow($arguments...) {
|
|
19
|
+
$functions: $arguments;
|
|
20
|
+
$length: length($functions);
|
|
21
|
+
|
|
22
|
+
@if __is-falsey($length) {
|
|
23
|
+
@return '__noop';
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@if not __list-every($functions, '__function-exists') {
|
|
27
|
+
@error 'FUNC_ERROR_TEXT';
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
$_: __scope((
|
|
31
|
+
'functions': $functions,
|
|
32
|
+
'length': $length
|
|
33
|
+
));
|
|
34
|
+
$flow-function: __bind('__flow-function');
|
|
35
|
+
$_: __scope(false);
|
|
36
|
+
|
|
37
|
+
@return $flow-function;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
@function __flow-right-function($arguments...) {
|
|
42
|
+
$functions: __this('functions');
|
|
43
|
+
$index: __this('from-index');
|
|
44
|
+
|
|
45
|
+
$result: __exec(nth($functions, $index), $arguments...);
|
|
46
|
+
$index: $index - 1;
|
|
47
|
+
|
|
48
|
+
@while ($index > 0) {
|
|
49
|
+
$result: __exec(nth($functions, $index), $result);
|
|
50
|
+
$index: $index - 1;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@return $result;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
@function __flow-right($arguments...) {
|
|
58
|
+
$functions: $arguments;
|
|
59
|
+
$from-index: length($functions);
|
|
60
|
+
|
|
61
|
+
@if ($from-index < 1) {
|
|
62
|
+
@return '__noop';
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@if not __list-every($functions, '__function-exists') {
|
|
66
|
+
@error 'FUNC_ERROR_TEXT';
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
$_: __scope((
|
|
70
|
+
'functions': $functions,
|
|
71
|
+
'from-index': $from-index
|
|
72
|
+
));
|
|
73
|
+
$flow-right-function: __bind('__flow-right-function');
|
|
74
|
+
$_: __scope(false);
|
|
75
|
+
|
|
76
|
+
@return $flow-right-function;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
/// Creates a function that returns the result of invoking the provided
|
|
81
|
+
/// functions with the `_this` binding of the created function, where each
|
|
82
|
+
/// successive invocation is supplied the return value of the previous.
|
|
83
|
+
///
|
|
84
|
+
///
|
|
85
|
+
/// @access public
|
|
86
|
+
/// @group Function
|
|
87
|
+
/// @param {Function...} $funcs Functions to invoke.
|
|
88
|
+
/// @returns {Function} Returns the new function.
|
|
89
|
+
/// @example scss
|
|
90
|
+
/// @function add($x, $y) {
|
|
91
|
+
/// @return $x + $y;
|
|
92
|
+
/// }
|
|
93
|
+
///
|
|
94
|
+
/// @function square($n) {
|
|
95
|
+
/// @return $n * $n;
|
|
96
|
+
/// }
|
|
97
|
+
///
|
|
98
|
+
/// $addSquare: _flow(add, square);
|
|
99
|
+
///
|
|
100
|
+
/// $foo: _exec($addSquare, 1, 2);
|
|
101
|
+
/// // => 9
|
|
102
|
+
|
|
103
|
+
@function _flow($args...) {
|
|
104
|
+
@return call('__flow', $args...);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
/// This method is like `_flow` except that it creates a function that
|
|
109
|
+
/// invokes the provided functions from right to left.
|
|
110
|
+
///
|
|
111
|
+
///
|
|
112
|
+
/// @access public
|
|
113
|
+
/// @group Function
|
|
114
|
+
/// @param {Function...} $funcs... Functions to invoke.
|
|
115
|
+
/// @returns {Function} Returns the new function.
|
|
116
|
+
/// @example scss
|
|
117
|
+
/// @function add($x, $y) {
|
|
118
|
+
/// @return $x + $y;
|
|
119
|
+
/// }
|
|
120
|
+
///
|
|
121
|
+
/// @function square($n) {
|
|
122
|
+
/// @return $n * $n;
|
|
123
|
+
/// }
|
|
124
|
+
///
|
|
125
|
+
/// $addSquare: _flow-right(square, add);
|
|
126
|
+
/// $foo: _exec($addSquare, 1, 2);
|
|
127
|
+
/// // => 9
|
|
128
|
+
|
|
129
|
+
@function _flow-right($args...) {
|
|
130
|
+
@return call('__flow-right', $args...);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
/// @alias _flow-right
|
|
135
|
+
|
|
136
|
+
@function _backflow($args...) {
|
|
137
|
+
@return call('__flow-right', $args...);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
/// @alias _flow-right
|
|
142
|
+
|
|
143
|
+
@function _compose($args...) {
|
|
144
|
+
@return call('__flow-right', $args...);
|
|
145
|
+
}
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
@function __list-each($list, $iteratee) {
|
|
2
|
+
$index: 1;
|
|
3
|
+
$length: length($list);
|
|
4
|
+
$break: false;
|
|
5
|
+
$result-list: ();
|
|
6
|
+
|
|
7
|
+
@while ($index <= $length) and not $break {
|
|
8
|
+
$item: __exec($iteratee, nth($list, $index), $index, $list);
|
|
9
|
+
|
|
10
|
+
@if (__exec($iteratee, nth($list, $index), $index, $list) == false) {
|
|
11
|
+
$break: true;
|
|
12
|
+
} @else {
|
|
13
|
+
$result-list: append($result-list, $item);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
$index: $index + 1;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@return $result-list;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@function __list-each-right($list, $iteratee) {
|
|
24
|
+
$list: __list-reverse($list);
|
|
25
|
+
$result-list: __list-each($list, $iteratee);
|
|
26
|
+
$result-list: __list-reverse($result-list);
|
|
27
|
+
|
|
28
|
+
@return $result-list;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@function __base-each($collection, $iteratee) {
|
|
33
|
+
$length: if($collection, length($collection), 0);
|
|
34
|
+
|
|
35
|
+
@if not (__is-list($collection)) {
|
|
36
|
+
@return __base-for-own($collection, $iteratee);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
$index: 1;
|
|
40
|
+
$iterable: __to-map($collection);
|
|
41
|
+
$break: false;
|
|
42
|
+
|
|
43
|
+
@while ($index <= $length and not $break) {
|
|
44
|
+
$iteration: __exec($iteratee, __get($iterable, $index), $index, $iterable);
|
|
45
|
+
|
|
46
|
+
@if ($iteration == false) {
|
|
47
|
+
$break: true;
|
|
48
|
+
} @else {
|
|
49
|
+
$iterable: __set($iterable, $index, $iteration);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
$index: $index + 1;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
$collection: if(__is-list($collection), map-values($iterable), $iterable);
|
|
56
|
+
|
|
57
|
+
@return $collection;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
@function __base-each-right($collection, $iteratee) {
|
|
62
|
+
$length: if($collection, length($collection), 0);
|
|
63
|
+
|
|
64
|
+
@if not (__is-list($collection)) {
|
|
65
|
+
@return __base-for-own-right($collection, $iteratee);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
$iterable: __to-map($collection);
|
|
69
|
+
$break: false;
|
|
70
|
+
|
|
71
|
+
@while ($length > 0 and not $break) {
|
|
72
|
+
$iteration: __exec($iteratee, __get($iterable, $length), $length, $iterable);
|
|
73
|
+
|
|
74
|
+
@if ($iteration == false) {
|
|
75
|
+
$break: true;
|
|
76
|
+
} @else {
|
|
77
|
+
$iterable: __set($iterable, $length, $iteration);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
$length: $length - 1;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
$collection: if(__is-list($collection), map-values($iterable), $iterable);
|
|
84
|
+
|
|
85
|
+
@return $collection;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
@function __base-for($map, $iteratee, $keys-function) {
|
|
90
|
+
$index: 1;
|
|
91
|
+
$iterable: __to-map($map);
|
|
92
|
+
$props: __exec($keys-function, $map);
|
|
93
|
+
$length: length($props);
|
|
94
|
+
$result-map: ();
|
|
95
|
+
$break: false;
|
|
96
|
+
|
|
97
|
+
@while $index <= $length and not $break {
|
|
98
|
+
$key: nth($props, $index);
|
|
99
|
+
$iteration: __exec($iteratee, __get($iterable, $key), $key, $iterable);
|
|
100
|
+
|
|
101
|
+
@if ($iteration == false) {
|
|
102
|
+
$break: true;
|
|
103
|
+
} @else {
|
|
104
|
+
$result-map: __set($result-map, $key, $iteration);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
$index: $index + 1;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@return $result-map;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
@function __base-for-right($map, $iteratee, $keys-function) {
|
|
115
|
+
$iterable: __to-map($map);
|
|
116
|
+
$props: __exec($keys-function, $map);
|
|
117
|
+
$length: length($props);
|
|
118
|
+
$result-map: ();
|
|
119
|
+
$break: false;
|
|
120
|
+
|
|
121
|
+
@while $length > 0 and not $break {
|
|
122
|
+
$key: nth($props, $length);
|
|
123
|
+
$iteration: __exec($iteratee, __get($iterable, $key), $key, $iterable);
|
|
124
|
+
|
|
125
|
+
@if ($iteration == false) {
|
|
126
|
+
$break: true;
|
|
127
|
+
} @else {
|
|
128
|
+
$result-map: __set($result-map, $key, $iteration);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
$length: $length - 1;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@return $result-map;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
@function __base-for-in($map, $iteratee) {
|
|
139
|
+
@return __base-for($map, $iteratee, '__keys-in');
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
@function __base-for-own($map, $iteratee) {
|
|
144
|
+
@return __base-for($map, $iteratee, '__keys');
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
@function __base-for-own-right($map, $iteratee) {
|
|
149
|
+
@return __base-for-right($map, $iteratee, '__keys');
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
@function __for-each($collection, $iteratee: '__identity', $this-arg: $__undefined__) {
|
|
154
|
+
@return if(__function-exists($iteratee) and __is-undefined($this-arg) and __is-list($collection),
|
|
155
|
+
__list-each($collection, $iteratee),
|
|
156
|
+
__base-each($collection, __bind-callback($iteratee, $this-arg, 3)));
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
@function __for-each-right($collection, $iteratee: '__identity', $this-arg: $__undefined__) {
|
|
161
|
+
@return if(__function-exists($iteratee) and __is-undefined($this-arg) and __is-list($collection),
|
|
162
|
+
__list-each-right($collection, $iteratee),
|
|
163
|
+
__base-each-right($collection, __bind-callback($iteratee, $this-arg, 3)));
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
@function __for-in($map, $iteratee: '__identity', $this-arg: $__undefined__) {
|
|
168
|
+
@if not __function-exists($iteratee)
|
|
169
|
+
or not __is-undefined($this-arg) {
|
|
170
|
+
$iteratee: __bind-callback($iteratee, $this-arg, 3);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
@return __base-for($map, $iteratee, '__keys-in');
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
@function __for-in-right($map, $iteratee: '__identity', $this-arg: null) {
|
|
178
|
+
$iteratee: __bind-callback($iteratee, $this-arg, 3);
|
|
179
|
+
|
|
180
|
+
@return __base-for-right($map, $iteratee, '__keys-in');
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
@function __for-own($map, $iteratee: '__identity', $this-arg: $__undefined__) {
|
|
185
|
+
@if not __function-exists($iteratee)
|
|
186
|
+
or not __is-undefined($this-arg) {
|
|
187
|
+
$iteratee: __bind-callback($iteratee, $this-arg, 3);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
@return __base-for-own($map, $iteratee);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
@function __for-own-right($map, $iteratee: '__identity', $this-arg: null) {
|
|
195
|
+
$iteratee: __bind-callback($iteratee, $this-arg, 3);
|
|
196
|
+
|
|
197
|
+
@return __base-for-right($map, $iteratee, '__keys');
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
/// Iterates over elements of `$collection` invoking `$iteratee` for each element.
|
|
202
|
+
/// The `$iteratee` is bound to `$this-arg` and invoked with three arguments;
|
|
203
|
+
/// (value, index|key, collection). Iterator functions may exit iteration early
|
|
204
|
+
/// by explicitly returning `false`.
|
|
205
|
+
///
|
|
206
|
+
///
|
|
207
|
+
/// @access public
|
|
208
|
+
/// @group Collection
|
|
209
|
+
/// @param {List|Map|string} $collection The collection to iterate over.
|
|
210
|
+
/// @param {Function} $iteratee [_identity] - The function invoked per iteration.
|
|
211
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
|
|
212
|
+
/// @returns {List|Map|string} Returns `$collection`.
|
|
213
|
+
/// @example scss
|
|
214
|
+
/// // todo
|
|
215
|
+
|
|
216
|
+
@function _for-each($args...) {
|
|
217
|
+
@return call('__for-each', $args...);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
/// @alias _for-each
|
|
222
|
+
|
|
223
|
+
@function _each($args...) {
|
|
224
|
+
@return call('__for-each', $args...);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/// This method is like `_for-each` except that it iterates over elements of
|
|
228
|
+
/// `$collection` from right to left.
|
|
229
|
+
///
|
|
230
|
+
///
|
|
231
|
+
/// @access public
|
|
232
|
+
/// @group Collection
|
|
233
|
+
/// @param {List|Map|string} $collection The collection to iterate over.
|
|
234
|
+
/// @param {Function} $iteratee [_identity] - The function invoked per iteration.
|
|
235
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
|
|
236
|
+
/// @returns {List|Map|string} Returns `$collection`.
|
|
237
|
+
/// @example scss
|
|
238
|
+
/// // todo
|
|
239
|
+
|
|
240
|
+
@function _for-each-right($args...) {
|
|
241
|
+
@return call('__for-each-right', $args...);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
/// @alias _for-each-right
|
|
246
|
+
|
|
247
|
+
@function _each-right($args...) {
|
|
248
|
+
@return call('__for-each-right', $args...);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
/// Iterates over own and inherited enumerable properties of a map invoking
|
|
253
|
+
/// `$iteratee` for each property. The `$iteratee` is bound to `$this-arg` and invoked
|
|
254
|
+
/// with three arguments; (value, key, map). Iterator functions may exit
|
|
255
|
+
/// iteration early by explicitly returning `false`.
|
|
256
|
+
///
|
|
257
|
+
///
|
|
258
|
+
/// @access public
|
|
259
|
+
/// @group Map
|
|
260
|
+
/// @param {Map} $map The map to iterate over.
|
|
261
|
+
/// @param {Function} $iteratee [_identity] - The function invoked per iteration.
|
|
262
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
|
|
263
|
+
/// @returns {Map} Returns new map.
|
|
264
|
+
/// @example scss
|
|
265
|
+
/// // todo
|
|
266
|
+
|
|
267
|
+
@function _for-in($args...) {
|
|
268
|
+
@return call('__for-in', $args...);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
/// This method is like `_for-in` except that it iterates over properties of
|
|
273
|
+
/// `$map` in the opposite order.
|
|
274
|
+
///
|
|
275
|
+
///
|
|
276
|
+
/// @access public
|
|
277
|
+
/// @group Map
|
|
278
|
+
/// @param {Map} $map The map to iterate over.
|
|
279
|
+
/// @param {Function} $iteratee [_identity] - The function invoked per iteration.
|
|
280
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
|
|
281
|
+
/// @returns {Map} Returns new map.
|
|
282
|
+
/// @example scss
|
|
283
|
+
/// // todo
|
|
284
|
+
|
|
285
|
+
@function _for-in-right($args...) {
|
|
286
|
+
@return call('__for-in-right', $args...);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
/// Iterates over own enumerable properties of a map invoking `$iteratee`
|
|
291
|
+
/// for each property. The `$iteratee` is bound to `$this-arg` and invoked with
|
|
292
|
+
/// three arguments; (value, key, map). Iterator functions may exit iteration
|
|
293
|
+
/// early by explicitly returning `false`.
|
|
294
|
+
///
|
|
295
|
+
///
|
|
296
|
+
/// @access public
|
|
297
|
+
/// @group Map
|
|
298
|
+
/// @param {Map} $map The map to iterate over.
|
|
299
|
+
/// @param {Function} $iteratee [_identity] - The function invoked per iteration.
|
|
300
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
|
|
301
|
+
/// @returns {Map} Returns new map.
|
|
302
|
+
/// @example scss
|
|
303
|
+
/// // todo
|
|
304
|
+
|
|
305
|
+
@function _for-own($args...) {
|
|
306
|
+
@return call('__for-own', $args...);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
/// This method is like `_for-own` except that it iterates over properties of
|
|
311
|
+
/// `$map` in the opposite order.
|
|
312
|
+
///
|
|
313
|
+
///
|
|
314
|
+
/// @access public
|
|
315
|
+
/// @group Map
|
|
316
|
+
/// @param {Map} $map The map to iterate over.
|
|
317
|
+
/// @param {Function} $iteratee [_identity] - The function invoked per iteration.
|
|
318
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
|
|
319
|
+
/// @returns {Map} Returns `map`.
|
|
320
|
+
/// @example scss
|
|
321
|
+
/// // todo
|
|
322
|
+
|
|
323
|
+
@function _for-own-right($args...) {
|
|
324
|
+
@return call('__for-own-right', $args...);
|
|
325
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
@function __base-functions($map, $props) {
|
|
2
|
+
$result: ();
|
|
3
|
+
|
|
4
|
+
@each $key in $props {
|
|
5
|
+
@if __function-exists(__get($map, $key)) {
|
|
6
|
+
$result: append($result, $key);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@return $result;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@function __functions($map) {
|
|
15
|
+
@return __base-functions($map, __keys-in($map));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/// Creates a list of function property names from all enumerable properties,
|
|
20
|
+
/// own and inherited, of `$map`.
|
|
21
|
+
///
|
|
22
|
+
///
|
|
23
|
+
/// @access public
|
|
24
|
+
/// @group Map
|
|
25
|
+
/// @param {Map} $map The map to inspect.
|
|
26
|
+
/// @returns {List} Returns the new list of property names.
|
|
27
|
+
/// @example scss
|
|
28
|
+
/// $map: ('a': '_after', 'b': 'lighten', 'c': 'blah');
|
|
29
|
+
///
|
|
30
|
+
/// $foo: _functions($map);
|
|
31
|
+
/// // => ('a', 'b')
|
|
32
|
+
|
|
33
|
+
@function _functions($args...) {
|
|
34
|
+
@return call('__functions', $args...);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
/// @alias _functions
|
|
39
|
+
|
|
40
|
+
@function _methods($args...) {
|
|
41
|
+
@return call('__functions', $args...);
|
|
42
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
@function __group-by-aggregator($result, $value, $key, $args...) {
|
|
2
|
+
@if map-has-key($result, $key) {
|
|
3
|
+
$result: __set($result, $key, append(__get($result, $key), $value));
|
|
4
|
+
} @else {
|
|
5
|
+
$aggregate: append((), $value);
|
|
6
|
+
|
|
7
|
+
$result: map-merge($result, ($key: $aggregate));
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@return $result;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@function __group-by($arguments...) {
|
|
15
|
+
$function: __create-aggregator('__group-by-aggregator');
|
|
16
|
+
|
|
17
|
+
@return __exec($function, $arguments...);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@function __group-by-keys($list, $args...) {
|
|
22
|
+
$result: ();
|
|
23
|
+
|
|
24
|
+
@each $item in $list {
|
|
25
|
+
$item: __to-map($item);
|
|
26
|
+
|
|
27
|
+
@each $key, $value in $item {
|
|
28
|
+
@if map-has-key($result, $key) {
|
|
29
|
+
$result: __set($result, $key, append(__get($result, $key), $value));
|
|
30
|
+
} @else {
|
|
31
|
+
$result: __set($result, $key, ($value,));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@return $result;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
/// Creates a map composed of keys generated from the results of running
|
|
41
|
+
/// each element of `$collection` through `$iteratee`. The corresponding value
|
|
42
|
+
/// of each key is a list of the elements responsible for generating the key.
|
|
43
|
+
/// The `$iteratee` is bound to `$this-arg` and invoked with three arguments;
|
|
44
|
+
/// (value, index|key, collection).
|
|
45
|
+
///
|
|
46
|
+
/// If a property name is provided for `$predicate` the created `_property`
|
|
47
|
+
/// style callback returns the property value of the given element.
|
|
48
|
+
///
|
|
49
|
+
/// If a value is also provided for `$this-arg` the created `_matches-property`
|
|
50
|
+
/// style callback returns `true` for elements that have a matching property
|
|
51
|
+
/// value, else `false`.
|
|
52
|
+
///
|
|
53
|
+
/// If a map is provided for `$predicate` the created `_matches` style
|
|
54
|
+
/// callback returns `true` for elements that have the properties of the given
|
|
55
|
+
/// object, else `false`.
|
|
56
|
+
///
|
|
57
|
+
///
|
|
58
|
+
/// @access public
|
|
59
|
+
/// @group Collection
|
|
60
|
+
/// @param {List|Map|string} $collection The collection to iterate over.
|
|
61
|
+
/// @param {Function|Map|string} $iteratee [_identity] - The function invoked
|
|
62
|
+
/// per iteration.
|
|
63
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
|
|
64
|
+
/// @returns {Map} Returns the composed aggregate object.
|
|
65
|
+
/// @example scss
|
|
66
|
+
/// $foo: _group-by((4.2, 6.1, 6.4), floor);
|
|
67
|
+
/// // => { '4': (4.2,), '6': (6.1, 6.4) }
|
|
68
|
+
|
|
69
|
+
@function _group-by($args...) {
|
|
70
|
+
@return call('__group-by', $args...);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
/// Creates a map composed of keys generated from the results of aggregating
|
|
75
|
+
/// the values for each key in `$collection` into a `list`.
|
|
76
|
+
///
|
|
77
|
+
///
|
|
78
|
+
/// @access public
|
|
79
|
+
/// @group Collection
|
|
80
|
+
/// @param {List|Map|string} $collection The collection to iterate over.
|
|
81
|
+
/// @returns {Map} Returns the aggregate values from the keys of the items.
|
|
82
|
+
/// @example scss
|
|
83
|
+
/// $foo: (a: 1, b: 2);
|
|
84
|
+
/// $bar: (a: 3, b: 4, c: 5);
|
|
85
|
+
///
|
|
86
|
+
/// $result: _group-by-keys($foo $bar);
|
|
87
|
+
/// // => (a: (1, 3), b: (2, 4), c: (5,));
|
|
88
|
+
@function _group-by-keys($args...) {
|
|
89
|
+
@return call('__group-by-keys', $args...);
|
|
90
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
@function __has($map, $key) {
|
|
2
|
+
$skip-keys: __const('CONSTRUCTOR_KEYS');
|
|
3
|
+
|
|
4
|
+
@if __is-map($map) {
|
|
5
|
+
$map: __omit($map, $skip-keys);
|
|
6
|
+
|
|
7
|
+
@return if(__is-map($map), map-has-key($map, $key), false);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@return false;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
/// Checks if `$key` exists as a direct property of `$map` instead of an
|
|
15
|
+
/// inherited property. Similar to Sass `map-has-key` function.
|
|
16
|
+
///
|
|
17
|
+
///
|
|
18
|
+
/// @access public
|
|
19
|
+
/// @group Map
|
|
20
|
+
/// @param {Map} $map The map to inspect.
|
|
21
|
+
/// @param {string} $key The key to check.
|
|
22
|
+
/// @returns {boolean} Returns `true` if `$key` is a direct property, else `false`.
|
|
23
|
+
/// @example scss
|
|
24
|
+
/// $map: ( 'a': 1, 'b': 2, 'c': 3 );
|
|
25
|
+
/// $foo: _has($map, 'b');
|
|
26
|
+
/// // => true
|
|
27
|
+
|
|
28
|
+
@function _has($args...) {
|
|
29
|
+
@return call('__has', $args...);
|
|
30
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
@function __identity($value: null, $args...) {
|
|
2
|
+
@return $value;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
/// This method returns the first argument provided to it.
|
|
7
|
+
///
|
|
8
|
+
///
|
|
9
|
+
/// @access public
|
|
10
|
+
/// @group Utility
|
|
11
|
+
/// @param {*} $value [null] Any value.
|
|
12
|
+
/// @returns {*} Returns `$value`.
|
|
13
|
+
/// @example scss
|
|
14
|
+
/// $map: ( 'user': 'fred' );
|
|
15
|
+
/// $foo: _identity($map) == $map;
|
|
16
|
+
/// // => true
|
|
17
|
+
|
|
18
|
+
@function _identity($args...) {
|
|
19
|
+
@return call('__identity', $args...);
|
|
20
|
+
}
|