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,448 @@
|
|
|
1
|
+
@function __base-find-iteratee($value, $key, $collection) {
|
|
2
|
+
$predicate: __this('predicate');
|
|
3
|
+
$return-key: __this('return-key');
|
|
4
|
+
|
|
5
|
+
$iteration: __exec($predicate, $value, $key, $collection);
|
|
6
|
+
|
|
7
|
+
@if __is-truthy($iteration) {
|
|
8
|
+
$_: __this('result', if($return-key, $key, $value));
|
|
9
|
+
|
|
10
|
+
@return false;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@return true;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@function __base-find($collection, $predicate, $each-function: '__base-each', $return-key: false) {
|
|
18
|
+
$result: null;
|
|
19
|
+
$_: __scope((
|
|
20
|
+
'result': null,
|
|
21
|
+
'predicate': $predicate,
|
|
22
|
+
'return-key': $return-key
|
|
23
|
+
));
|
|
24
|
+
$iteratee: __bind(__base-find-iteratee);
|
|
25
|
+
$_: __exec($each-function, $collection, $iteratee);
|
|
26
|
+
$result: __this('result');
|
|
27
|
+
$_: __scope(false);
|
|
28
|
+
|
|
29
|
+
@return $result;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
@function __find($collection, $predicate: '__identity', $this-arg: null) {
|
|
34
|
+
@if __is-string($collection) {
|
|
35
|
+
$collection: __to-list($collection);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@if __is-list($collection) {
|
|
39
|
+
$index: __find-index($collection, $predicate, $this-arg);
|
|
40
|
+
|
|
41
|
+
@return if($index > -1, nth($collection, $index), null);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
$predicate: __get-callback($predicate, $this-arg, 3);
|
|
45
|
+
|
|
46
|
+
@return __base-find($collection, $predicate, '__base-each');
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
@function __find-last($collection, $predicate: '__identity', $this-arg: null) {
|
|
51
|
+
@if __is-string($collection) {
|
|
52
|
+
$collection: __to-list($collection);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@if __is-list($collection) {
|
|
56
|
+
$index: __find-last-index($collection, $predicate, $this-arg);
|
|
57
|
+
|
|
58
|
+
@return if($index > -1, nth($collection, $index), null);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
$predicate: __get-callback($predicate, $this-arg, 3);
|
|
62
|
+
|
|
63
|
+
@return __base-find($collection, $predicate, '__base-each-right');
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
@function __find-where($collection, $source) {
|
|
68
|
+
@return __find($collection, __matches($source));
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
@function __find-index($list, $predicate: '__identity', $this-arg: null) {
|
|
73
|
+
$index: 1;
|
|
74
|
+
$length: if($list, length($list), 0);
|
|
75
|
+
|
|
76
|
+
$predicate: __get-callback($predicate, $this-arg, 3);
|
|
77
|
+
|
|
78
|
+
@while ($index <= $length) {
|
|
79
|
+
$iteration: __call($predicate, $this-arg, nth($list, $index), $index, $list);
|
|
80
|
+
|
|
81
|
+
@if __is-truthy($iteration) {
|
|
82
|
+
@return $index;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
$index: $index + 1;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@return -1;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
@function __find-last-index($list, $predicate: '__identity', $this-arg: null) {
|
|
93
|
+
$length: if($list, length($list), 0);
|
|
94
|
+
|
|
95
|
+
$predicate: __get-callback($predicate, $this-arg, 3);
|
|
96
|
+
|
|
97
|
+
@while ($length > 0) {
|
|
98
|
+
@if __call($predicate, $this-arg, nth($list, $length), $length, $list) {
|
|
99
|
+
@return $length;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
$length: $length - 1;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@return -1;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
@function __find-key($map, $predicate: '__identity', $this-arg: null) {
|
|
110
|
+
$predicate: __get-callback($predicate, $this-arg, 3);
|
|
111
|
+
|
|
112
|
+
@return __base-find($map, $predicate, '__base-for-own', true);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
@function __find-last-key($map, $predicate: '__identity', $this-arg: null) {
|
|
117
|
+
$predicate: __get-callback($predicate, $this-arg, 3);
|
|
118
|
+
|
|
119
|
+
@return __base-find($map, $predicate, '__base-for-own-right', true);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
/// Iterates over elements of `$collection`, returning the first element
|
|
124
|
+
/// `$predicate` returns truthy for. The predicate is bound to `$this-arg` and
|
|
125
|
+
/// invoked with three arguments; (value, index|key, collection).
|
|
126
|
+
///
|
|
127
|
+
/// If a property name is provided for `$predicate` the created `_property`
|
|
128
|
+
/// style callback returns the property value of the given element.
|
|
129
|
+
///
|
|
130
|
+
/// If a value is also provided for `$this-arg` the created `_matches-property`
|
|
131
|
+
/// style callback returns `true` for elements that have a matching property
|
|
132
|
+
/// value, else `false`.
|
|
133
|
+
///
|
|
134
|
+
/// If a map is provided for `$predicate` the created `_matches` style
|
|
135
|
+
/// callback returns `true` for elements that have the properties of the given
|
|
136
|
+
/// map, else `false`.
|
|
137
|
+
///
|
|
138
|
+
///
|
|
139
|
+
/// @access public
|
|
140
|
+
/// @group Collection
|
|
141
|
+
/// @param {List|Map|string} collection The collection to search.
|
|
142
|
+
/// @param {Function|Map|string} $predicate [_identity] - The function invoked
|
|
143
|
+
/// per iteration.
|
|
144
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$predicate`.
|
|
145
|
+
/// @returns {*} Returns the matched element, else `null`.
|
|
146
|
+
/// @example scss
|
|
147
|
+
/// $users: (
|
|
148
|
+
/// ( 'user': 'barney', 'age': 36', active': true ),
|
|
149
|
+
/// ( 'user': 'fred', 'age': 40', active': false ),
|
|
150
|
+
/// ( 'user': 'pebbles', 'age': 1', active': false )
|
|
151
|
+
/// );
|
|
152
|
+
///
|
|
153
|
+
/// @function is-young($user, $args...) {
|
|
154
|
+
/// @return _get($user, 'age') < 40;
|
|
155
|
+
/// }
|
|
156
|
+
///
|
|
157
|
+
/// $foo: _result(_find($users, is-young), 'user');
|
|
158
|
+
/// // => 'barney'
|
|
159
|
+
///
|
|
160
|
+
/// // using the `_matches` callback shorthand
|
|
161
|
+
/// $foo: _result(_find($users, ( 'age': 1, 'active': true )), 'user');
|
|
162
|
+
/// // => 'pebbles'
|
|
163
|
+
///
|
|
164
|
+
/// // using the `_matches-property` callback shorthand
|
|
165
|
+
/// $foo: _result(_find($users, 'active', false), 'user');
|
|
166
|
+
/// // => 'fred'
|
|
167
|
+
///
|
|
168
|
+
/// // using the `_property` callback shorthand
|
|
169
|
+
/// $foo: _result(_find($users, 'active'), 'user');
|
|
170
|
+
/// // => 'barney'
|
|
171
|
+
|
|
172
|
+
@function _find($args...) {
|
|
173
|
+
@return call(__find, $args...);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
/// @alias _find
|
|
178
|
+
|
|
179
|
+
@function _detect($args...) {
|
|
180
|
+
@return call(__find, $args...);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
/// This method is like `_find` except that it returns the index of the first
|
|
185
|
+
/// element `$predicate` returns truthy for, instead of the element itself.
|
|
186
|
+
///
|
|
187
|
+
/// If a property name is provided for `$predicate` the created `_property`
|
|
188
|
+
/// style callback returns the property value of the given element.
|
|
189
|
+
///
|
|
190
|
+
/// If a value is also provided for `$this-arg` the created `_matches-property`
|
|
191
|
+
/// style callback returns `true` for elements that have a matching property
|
|
192
|
+
/// value, else `false`.
|
|
193
|
+
///
|
|
194
|
+
/// If a map is provided for `$predicate` the created `_matches` style
|
|
195
|
+
/// callback returns `true` for elements that have the properties of the given
|
|
196
|
+
/// map, else `false`.
|
|
197
|
+
///
|
|
198
|
+
///
|
|
199
|
+
/// @access public
|
|
200
|
+
/// @group List
|
|
201
|
+
/// @param {List} $list The list to search.
|
|
202
|
+
/// @param {Function|Map|string} $predicate [_identity] - The function invoked
|
|
203
|
+
/// per iteration.
|
|
204
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$predicate`.
|
|
205
|
+
/// @returns {number} Returns the index of the found element, else `-1`.
|
|
206
|
+
/// @example scss
|
|
207
|
+
/// $users: (
|
|
208
|
+
/// ( 'user': 'barney', 'active': false ),
|
|
209
|
+
/// ( 'user': 'fred', 'active': false ),
|
|
210
|
+
/// ( 'user': 'pebbles', 'active': true )
|
|
211
|
+
/// );
|
|
212
|
+
///
|
|
213
|
+
/// @function is-barney($user, $args...) {
|
|
214
|
+
/// @return _get($user, 'user') == 'barney';
|
|
215
|
+
/// }
|
|
216
|
+
///
|
|
217
|
+
/// $foo: _find-index($users, is-barney);
|
|
218
|
+
/// // => 1
|
|
219
|
+
///
|
|
220
|
+
/// // using the `_matches` callback shorthand
|
|
221
|
+
/// $foo: _find-index($users, ( 'user': 'fred', 'active': false ));
|
|
222
|
+
/// // => 2
|
|
223
|
+
/// // using the `_matches-property` callback shorthand
|
|
224
|
+
/// $foo: _find-index($users, 'active', false);
|
|
225
|
+
/// // => 1
|
|
226
|
+
///
|
|
227
|
+
/// // using the `_property` callback shorthand
|
|
228
|
+
/// $foo: _find-index($users, 'active');
|
|
229
|
+
/// // => 3
|
|
230
|
+
|
|
231
|
+
@function _find-index($args...) {
|
|
232
|
+
@return call('__find-index', $args...);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
/// This method is like `_find-index` except that it returns the key of the
|
|
237
|
+
/// first element `$predicate` returns truthy for, instead of the element itself.
|
|
238
|
+
///
|
|
239
|
+
/// If a property name is provided for `$predicate` the created `_property`
|
|
240
|
+
/// style callback returns the property value of the given element.
|
|
241
|
+
///
|
|
242
|
+
/// If a value is also provided for `$this-arg` the created `_matches-property`
|
|
243
|
+
/// style callback returns `true` for elements that have a matching property
|
|
244
|
+
/// value, else `false`.
|
|
245
|
+
///
|
|
246
|
+
/// If a map is provided for `$predicate` the created `_matches` style
|
|
247
|
+
/// callback returns `true` for elements that have the properties of the given
|
|
248
|
+
/// map, else `false`.
|
|
249
|
+
///
|
|
250
|
+
///
|
|
251
|
+
/// @access public
|
|
252
|
+
/// @group Map
|
|
253
|
+
/// @param {Map} $map The map to search.
|
|
254
|
+
/// @param {Function|Map|string} $predicate [_identity] - The function invoked
|
|
255
|
+
/// per iteration.
|
|
256
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$predicate`.
|
|
257
|
+
/// @returns {string|null} Returns the key of the matched element, else `null`.
|
|
258
|
+
/// @example scss
|
|
259
|
+
/// $users: (
|
|
260
|
+
/// 'barney': ( 'age': 36, 'active': true ),
|
|
261
|
+
/// 'fred': ( 'age': 40, 'active': false ),
|
|
262
|
+
/// 'pebbles': ( 'age': 1, 'active': true )
|
|
263
|
+
/// );
|
|
264
|
+
///
|
|
265
|
+
/// @function under-40($chr, $args...) {
|
|
266
|
+
/// @return _get($chr, 'age') < 40;
|
|
267
|
+
/// }
|
|
268
|
+
///
|
|
269
|
+
/// $foo: _find-key($users, under-40)
|
|
270
|
+
/// // => 'barney'
|
|
271
|
+
///
|
|
272
|
+
/// // using the `_matches` callback shorthand
|
|
273
|
+
/// $foo: _find-key($users, ( 'age': 1, 'active': true ));
|
|
274
|
+
/// // => 'pebbles'
|
|
275
|
+
///
|
|
276
|
+
/// // using the `_matches-property` callback shorthand
|
|
277
|
+
/// $foo: _find-key($users, 'active', false);
|
|
278
|
+
/// // => 'fred'
|
|
279
|
+
///
|
|
280
|
+
/// // using the `_property` callback shorthand
|
|
281
|
+
/// $foo: _find-key($users, 'active');
|
|
282
|
+
/// // => 'barney'
|
|
283
|
+
|
|
284
|
+
@function _find-key($args...) {
|
|
285
|
+
@return call('__find-key', $args...);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
/// This method is like `_find` except that it iterates over elements of
|
|
290
|
+
/// `$collection` from right to left.
|
|
291
|
+
///
|
|
292
|
+
///
|
|
293
|
+
/// @access public
|
|
294
|
+
/// @group Collection
|
|
295
|
+
/// @param {List|Map|string} $collection The collection to search.
|
|
296
|
+
/// @param {Function|Map|string} $predicate [_identity] - The function invoked
|
|
297
|
+
/// per iteration.
|
|
298
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$predicate`.
|
|
299
|
+
/// @returns {*} Returns the matched element, else `null`.
|
|
300
|
+
/// @example scss
|
|
301
|
+
/// @function is-odd($value, $args...) {
|
|
302
|
+
/// @return $value % 2 == 1;
|
|
303
|
+
/// }
|
|
304
|
+
///
|
|
305
|
+
/// $foo: _find-last((1, 2, 3, 4), is-odd);
|
|
306
|
+
/// // => 3
|
|
307
|
+
|
|
308
|
+
@function _find-last($args...) {
|
|
309
|
+
@return call('__find-last', $args...);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
/// This method is like `_find-index` except that it iterates over elements
|
|
314
|
+
/// of `$collection` from right to left.
|
|
315
|
+
///
|
|
316
|
+
/// If a property name is provided for `$predicate` the created `_property`
|
|
317
|
+
/// style callback returns the property value of the given element.
|
|
318
|
+
///
|
|
319
|
+
/// If a value is also provided for `$this-arg` the created `_matches-property`
|
|
320
|
+
/// style callback returns `true` for elements that have a matching property
|
|
321
|
+
/// value, else `false`.
|
|
322
|
+
///
|
|
323
|
+
/// If a map is provided for `$predicate` the created `_matches` style
|
|
324
|
+
/// callback returns `true` for elements that have the properties of the given
|
|
325
|
+
/// map, else `false`.
|
|
326
|
+
///
|
|
327
|
+
///
|
|
328
|
+
/// @access public
|
|
329
|
+
/// @group List
|
|
330
|
+
/// @param {List} $list The list to search.
|
|
331
|
+
/// @param {Function|Map|string} $predicate [_identity] - The function invoked
|
|
332
|
+
/// per iteration.
|
|
333
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$predicate`.
|
|
334
|
+
/// @returns {number} Returns the index of the found element, else `-1`.
|
|
335
|
+
/// @example scss
|
|
336
|
+
/// $users: (
|
|
337
|
+
/// ( 'user': 'barney', 'active': true ),
|
|
338
|
+
/// ( 'user': 'fred', 'active': false ),
|
|
339
|
+
/// ( 'user': 'pebbles', 'active': false )
|
|
340
|
+
/// );
|
|
341
|
+
///
|
|
342
|
+
/// @function is-pebbles($chr, $args...) {
|
|
343
|
+
/// @return _get($chr, 'user') == 'pebbles';
|
|
344
|
+
/// }
|
|
345
|
+
///
|
|
346
|
+
/// $foo: _find-last-index($users, is-pebbles);
|
|
347
|
+
/// // => 3
|
|
348
|
+
///
|
|
349
|
+
/// // using the `_matches` callback shorthand
|
|
350
|
+
/// $foo: _find-last-index($users, ( 'user': 'barney', 'active': true ));
|
|
351
|
+
/// // => 1
|
|
352
|
+
///
|
|
353
|
+
/// // using the `_matches-property` callback shorthand
|
|
354
|
+
/// $foo: _find-last-index($users, 'active', false);
|
|
355
|
+
/// // => 2
|
|
356
|
+
///
|
|
357
|
+
/// // using the `_property` callback shorthand
|
|
358
|
+
/// $foo: _find-last-index($users, 'active');
|
|
359
|
+
/// // => 1
|
|
360
|
+
|
|
361
|
+
@function _find-last-index($args...) {
|
|
362
|
+
@return call('__find-last-index', $args...);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
/// This method is like `_find-key` except that it iterates over elements of
|
|
367
|
+
/// a collection in the opposite order.
|
|
368
|
+
///
|
|
369
|
+
/// If a property name is provided for `$predicate` the created `_property`
|
|
370
|
+
/// style callback returns the property value of the given element.
|
|
371
|
+
///
|
|
372
|
+
/// If a value is also provided for `$this-arg` the created `_matches-property`
|
|
373
|
+
/// style callback returns `true` for elements that have a matching property
|
|
374
|
+
/// value, else `false`.
|
|
375
|
+
///
|
|
376
|
+
/// If a map is provided for `$predicate` the created `_matches` style
|
|
377
|
+
/// callback returns `true` for elements that have the properties of the given
|
|
378
|
+
/// map, else `false`.
|
|
379
|
+
///
|
|
380
|
+
///
|
|
381
|
+
/// @access public
|
|
382
|
+
/// @group Map
|
|
383
|
+
/// @param {Map} map The map to search.
|
|
384
|
+
/// @param {Function|Map|string} $predicate [_identity] - The function invoked
|
|
385
|
+
/// per iteration.
|
|
386
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$predicate`.
|
|
387
|
+
/// @returns {string|null} Returns the key of the matched element, else `null`.
|
|
388
|
+
/// @example scss
|
|
389
|
+
/// $users: (
|
|
390
|
+
/// 'barney': ( 'age': 36, 'active': true ),
|
|
391
|
+
/// 'fred': ( 'age': 40, 'active': false ),
|
|
392
|
+
/// 'pebbles': ( 'age': 1, 'active': true )
|
|
393
|
+
/// );
|
|
394
|
+
///
|
|
395
|
+
/// @function is-young($chr, $args...) {
|
|
396
|
+
/// @return _get($chr, 'age') < 40;
|
|
397
|
+
/// }
|
|
398
|
+
///
|
|
399
|
+
/// $foo: _find-last-key($users, _is-young);
|
|
400
|
+
/// // => returns `pebbles` assuming `_find-key` returns `barney`
|
|
401
|
+
///
|
|
402
|
+
/// // using the `_matches` callback shorthand
|
|
403
|
+
/// $foo: _find-last-key($users, ( 'age': 36, 'active': true ));
|
|
404
|
+
/// // => 'barney'
|
|
405
|
+
///
|
|
406
|
+
/// // using the `_matches-property` callback shorthand
|
|
407
|
+
/// $foo: _find-last-key($users, 'active', false);
|
|
408
|
+
/// // => 'fred'
|
|
409
|
+
///
|
|
410
|
+
/// // using the `_property` callback shorthand
|
|
411
|
+
/// $foo: _find-last-key($users, 'active');
|
|
412
|
+
/// // => 'pebbles'
|
|
413
|
+
|
|
414
|
+
@function _find-last-key($args...) {
|
|
415
|
+
@return call('__find-last-key', $args...);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
/// Performs a deep comparison between each element in `$collection` and the
|
|
420
|
+
/// source map, returning the first element that has equivalent property
|
|
421
|
+
/// values.
|
|
422
|
+
///
|
|
423
|
+
/// **Note:** This method supports comparing lists, booleans,
|
|
424
|
+
/// numbers, maps, and strings. Maps are compared by
|
|
425
|
+
/// their own, not inherited, enumerable properties. For comparing a single
|
|
426
|
+
/// own or inherited property value see `_matches-property`.
|
|
427
|
+
///
|
|
428
|
+
///
|
|
429
|
+
/// @access public
|
|
430
|
+
/// @group Collection
|
|
431
|
+
/// @param {List|Map|string} $collection The collection to search.
|
|
432
|
+
/// @param {Map} $source The map of property values to match.
|
|
433
|
+
/// @returns {*} Returns the matched element, else `null`.
|
|
434
|
+
/// @example scss
|
|
435
|
+
/// $users: (
|
|
436
|
+
/// ( 'user': 'barney', 'age': 36, 'active': true ),
|
|
437
|
+
/// ( 'user': 'fred', 'age': 40, 'active': false )
|
|
438
|
+
/// );
|
|
439
|
+
///
|
|
440
|
+
/// $foo: _result(_find-where($users, ( 'age': 36, 'active': true )), 'user');
|
|
441
|
+
/// // => 'barney'
|
|
442
|
+
///
|
|
443
|
+
/// $foo: _result(_find-where($users, ( 'age': 40, 'active': false )), 'user');
|
|
444
|
+
/// // => 'fred'
|
|
445
|
+
|
|
446
|
+
@function _find-where($args...) {
|
|
447
|
+
@return call('__find-where', $args...);
|
|
448
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
@function __first($list, $args...) {
|
|
2
|
+
@return if($list and length($list) > 0, nth($list, 1), null);
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
/// Gets the first element of `$list`.
|
|
7
|
+
///
|
|
8
|
+
///
|
|
9
|
+
/// @access public
|
|
10
|
+
/// @group List
|
|
11
|
+
/// @param {List} $list The list to query.
|
|
12
|
+
/// @returns {*} Returns the first element of `$list`.
|
|
13
|
+
/// @example scss
|
|
14
|
+
/// $foo: _first((1, 2, 3));
|
|
15
|
+
/// // => 1
|
|
16
|
+
///
|
|
17
|
+
/// $foo: _first(());
|
|
18
|
+
/// // => null
|
|
19
|
+
|
|
20
|
+
@function _first($args...) {
|
|
21
|
+
@return call('__first', $args...);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
/// @alias _first
|
|
26
|
+
|
|
27
|
+
@function _head($args...) {
|
|
28
|
+
@return call('__first', $args...);
|
|
29
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
@function __base-flatten($list, $is-deep: false, $is-strict: false, $from-index: 1) {
|
|
2
|
+
$index: $from-index;
|
|
3
|
+
$length: length($list);
|
|
4
|
+
$result-index: 1;
|
|
5
|
+
$result: ();
|
|
6
|
+
|
|
7
|
+
@while ($index <= $length) {
|
|
8
|
+
$value: nth($list, $index);
|
|
9
|
+
|
|
10
|
+
@if __is-map-like($value)
|
|
11
|
+
and __is-length(length($value))
|
|
12
|
+
and __is-list-like($value) {
|
|
13
|
+
@if ($is-deep) {
|
|
14
|
+
$value: __base-flatten($value, $is-deep, $is-strict);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
$value-index: 1;
|
|
18
|
+
$value-length: length($value);
|
|
19
|
+
|
|
20
|
+
@while ($value-index <= $value-length) {
|
|
21
|
+
$result: append($result, nth($value, $value-index));
|
|
22
|
+
$value-index: $value-index + 1;
|
|
23
|
+
}
|
|
24
|
+
} @else if not ($is-strict) {
|
|
25
|
+
$result: append($result, $value);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
$index: $index + 1;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@return $result;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
@function __flatten-deep($list, $args...) {
|
|
36
|
+
$length: if(__is-list-like($list), length($list), 0);
|
|
37
|
+
|
|
38
|
+
@return if($length > 0, __base-flatten($list, true), ());
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
@function __flatten($list, $is-deep: false, $guard: null) {
|
|
43
|
+
$length: if(__is-list-like($list), length($list), 0);
|
|
44
|
+
|
|
45
|
+
@if $guard and __is-iteratee-call($list, $is-deep, $guard) {
|
|
46
|
+
$is-deep: false;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@return if($length > 0, __base-flatten($list, $is-deep), ());
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
/// Flattens a nested list. If `$is-deep` is `true` the list is recursively
|
|
54
|
+
/// flattened, otherwise it is only flattened a single level.
|
|
55
|
+
///
|
|
56
|
+
///
|
|
57
|
+
/// @access public
|
|
58
|
+
/// @group List
|
|
59
|
+
/// @param {List} $list The list to flatten.
|
|
60
|
+
/// @param {boolean} $is-deep [false] - Specify a deep flatten.
|
|
61
|
+
/// @returns {List} Returns the new flattened list.
|
|
62
|
+
/// @example scss
|
|
63
|
+
/// $foo: _flatten((1, (2, 3, (4,))));
|
|
64
|
+
/// // => (1, 2, 3, (4,));
|
|
65
|
+
///
|
|
66
|
+
/// // using `$is-deep`
|
|
67
|
+
/// $foo: _flatten((1, (2, 3, (4,))), true);
|
|
68
|
+
/// // => (1, 2, 3, 4);
|
|
69
|
+
|
|
70
|
+
@function _flatten($args...) {
|
|
71
|
+
@return call('__flatten', $args...);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
/// Recursively flattens a nested list.
|
|
76
|
+
///
|
|
77
|
+
///
|
|
78
|
+
/// @access public
|
|
79
|
+
/// @group List
|
|
80
|
+
/// @param {List} $list The list to recursively flatten.
|
|
81
|
+
/// @returns {List} Returns the new flattened list.
|
|
82
|
+
/// @example scss
|
|
83
|
+
/// $foo: _flatten-deep((1, (2, 3, (4,))));
|
|
84
|
+
/// // => (1, 2, 3, 4);
|
|
85
|
+
|
|
86
|
+
@function _flatten-deep($args...) {
|
|
87
|
+
@return call('__flatten-deep', $args...);
|
|
88
|
+
}
|