sugarcss 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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,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
|
+
}
|