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,211 @@
|
|
|
1
|
+
@function __take($list, $n: 1, $guard: null) {
|
|
2
|
+
$length: if($list, length($list), 0);
|
|
3
|
+
|
|
4
|
+
@if __is-falsey($length) {
|
|
5
|
+
@return ();
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
@if if($guard, __is-iteratee-call($list, $n, $guard), $n == null) {
|
|
9
|
+
$n: 1;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
$n: if(__is-number($n), $n, if(__is-truthy($n), 1, 0));
|
|
13
|
+
|
|
14
|
+
@return __base-slice($list, 0, if($n < 0, 0, $n));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@function __take-right($list, $n: 1, $guard: null) {
|
|
19
|
+
$length: if($list, length($list), 0);
|
|
20
|
+
|
|
21
|
+
@if __is-falsey($length) {
|
|
22
|
+
@return ();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@if if($guard, __is-iteratee-call($list, $n, $guard), $n == null) {
|
|
26
|
+
$n: 1;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
$n: $length - if(__is-number($n), $n, if(__is-truthy($n), 1, 0));
|
|
30
|
+
|
|
31
|
+
@return __base-slice($list, if($n < 0, 0, $n));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
@function __take-right-while($list, $predicate: '__identity', $this-arg: null) {
|
|
36
|
+
$length: if($list, length($list), 0);
|
|
37
|
+
|
|
38
|
+
@if __is-falsey($length) {
|
|
39
|
+
@return ();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
$predicate: __get-callback($predicate, $this-arg, 3);
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
@while $length > 0
|
|
46
|
+
and __is-truthy(__exec($predicate, nth($list, $length), $length, $list))
|
|
47
|
+
{
|
|
48
|
+
$length: $length - 1;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@return __base-slice($list, $length);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
@function __take-while($list, $predicate: '__identity', $this-arg: null) {
|
|
56
|
+
$length: if($list, length($list), 0);
|
|
57
|
+
|
|
58
|
+
@if __is-falsey($length) {
|
|
59
|
+
@return ();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
$index: 1;
|
|
63
|
+
$predicate: __get-callback($predicate, $this-arg, 3);
|
|
64
|
+
|
|
65
|
+
@while $index <= $length
|
|
66
|
+
and __is-truthy(__exec($predicate, nth($list, $index), $index, $list))
|
|
67
|
+
{
|
|
68
|
+
$index: $index + 1;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@return __base-slice($list, 0, $index - 1);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
/// Creates a slice of `$list` with `$n` elements taken from the beginning.
|
|
76
|
+
///
|
|
77
|
+
///
|
|
78
|
+
/// @access public
|
|
79
|
+
/// @group List
|
|
80
|
+
/// @param {List} $list The list to query.
|
|
81
|
+
/// @param {number} $n [1] - The number of elements to take.
|
|
82
|
+
/// @returns {List} Returns the slice of `$list`.
|
|
83
|
+
/// @example scss
|
|
84
|
+
/// $foo: _take((1, 2, 3));
|
|
85
|
+
/// // => (1,)
|
|
86
|
+
/// $foo: _take((1, 2, 3), 2);
|
|
87
|
+
/// // => (1, 2)
|
|
88
|
+
/// $foo: _take((1, 2, 3), 5);
|
|
89
|
+
/// // => (1, 2, 3)
|
|
90
|
+
/// $foo: _take((1, 2, 3), 0);
|
|
91
|
+
/// // => ()
|
|
92
|
+
|
|
93
|
+
@function _take($args...) {
|
|
94
|
+
@return call('__take', $args...);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
/// Creates a slice of `$list` with `$n` elements taken from the end.
|
|
99
|
+
///
|
|
100
|
+
///
|
|
101
|
+
/// @access public
|
|
102
|
+
/// @group List
|
|
103
|
+
/// @param {List} $list The list to query.
|
|
104
|
+
/// @param {number} $n [1] - The number of elements to take.
|
|
105
|
+
/// @returns {List} Returns the slice of `$list`.
|
|
106
|
+
/// @example scss
|
|
107
|
+
/// $foo: _take-right((1, 2, 3));
|
|
108
|
+
/// // => (3,)
|
|
109
|
+
/// $foo: _take-right((1, 2, 3), 2);
|
|
110
|
+
/// // => (2, 3)
|
|
111
|
+
/// $foo: _take-right((1, 2, 3), 5);
|
|
112
|
+
/// // => (1, 2, 3)
|
|
113
|
+
/// $foo: _take-right((1, 2, 3), 0);
|
|
114
|
+
/// // => ()
|
|
115
|
+
|
|
116
|
+
@function _take-right($args...) {
|
|
117
|
+
@return call('__take-right', $args...);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
/// Creates a slice of `$list` with elements taken from the end. Elements are
|
|
122
|
+
/// taken until `$predicate` returns falsey. The predicate is bound to `$this-arg`
|
|
123
|
+
/// and invoked with three arguments; (value, index, list).
|
|
124
|
+
///
|
|
125
|
+
/// If a property name is provided for `$predicate` the created `_property`
|
|
126
|
+
/// style callback returns the property value of the given element.
|
|
127
|
+
///
|
|
128
|
+
/// If a value is also provided for `$this-arg` the created `_matches-property`
|
|
129
|
+
/// style callback returns `true` for elements that have a matching property
|
|
130
|
+
/// value, else `false`.
|
|
131
|
+
///
|
|
132
|
+
/// If a map is provided for `$predicate` the created `_matches` style
|
|
133
|
+
/// callback returns `true` for elements that have the properties of the given
|
|
134
|
+
/// object, else `false`.
|
|
135
|
+
///
|
|
136
|
+
///
|
|
137
|
+
/// @access public
|
|
138
|
+
/// @group List
|
|
139
|
+
/// @param {List} $list The list to query.
|
|
140
|
+
/// @param {Function|Map|string} $predicate [_identity] - The function invoked
|
|
141
|
+
/// per iteration.
|
|
142
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$predicate`.
|
|
143
|
+
/// @returns {List} Returns the slice of `$list`.
|
|
144
|
+
/// @example scss
|
|
145
|
+
/// $users: (
|
|
146
|
+
/// ( 'user': 'barney', 'active': true ),
|
|
147
|
+
/// ( 'user': 'fred', 'active': false ),
|
|
148
|
+
/// ( 'user': 'pebbles', 'active': false )
|
|
149
|
+
/// );
|
|
150
|
+
///
|
|
151
|
+
/// // using the `_matches` callback shorthand
|
|
152
|
+
/// $foo: _pluck(_take-right-while($users, ( 'user': 'pebbles', 'active': false )), 'user');
|
|
153
|
+
/// // => ('pebbles',)
|
|
154
|
+
///
|
|
155
|
+
/// // using the `_matches-property` callback shorthand
|
|
156
|
+
/// $foo: _pluck(_take-right-while($users, 'active', false), 'user');
|
|
157
|
+
/// // => ('fred', 'pebbles')
|
|
158
|
+
///
|
|
159
|
+
/// // using the `_property` callback shorthand
|
|
160
|
+
/// $foo: _pluck(_take-right-while($users, 'active'), 'user');
|
|
161
|
+
/// // => ()
|
|
162
|
+
|
|
163
|
+
@function _take-right-while($args...) {
|
|
164
|
+
@return call('__take-right-while', $args...);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
/// Creates a slice of `$list` with elements taken from the beginning. Elements
|
|
169
|
+
/// are taken until `$predicate` returns falsey. The predicate is bound to
|
|
170
|
+
/// `$this-arg` and invoked with three arguments; (value, index, list).
|
|
171
|
+
///
|
|
172
|
+
/// If a property name is provided for `$predicate` the created `_property`
|
|
173
|
+
/// style callback returns the property value of the given element.
|
|
174
|
+
///
|
|
175
|
+
/// If a value is also provided for `$this-arg` the created `_matches-property`
|
|
176
|
+
/// style callback returns `true` for elements that have a matching property
|
|
177
|
+
/// value, else `false`.
|
|
178
|
+
///
|
|
179
|
+
/// If a map is provided for `$predicate` the created `_matches` style
|
|
180
|
+
/// callback returns `true` for elements that have the properties of the given
|
|
181
|
+
/// object, else `false`.
|
|
182
|
+
///
|
|
183
|
+
///
|
|
184
|
+
/// @access public
|
|
185
|
+
/// @group List
|
|
186
|
+
/// @param {List} $list The list to query.
|
|
187
|
+
/// @param {Function|Map|string} $predicate [_identity] - The function invoked
|
|
188
|
+
/// per iteration.
|
|
189
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$predicate`.
|
|
190
|
+
/// @returns {List} Returns the slice of `$list`.
|
|
191
|
+
/// @example scss
|
|
192
|
+
/// $users: (
|
|
193
|
+
/// ( 'user': 'barney', 'active': false ),
|
|
194
|
+
/// ( 'user': 'fred', 'active': false ),
|
|
195
|
+
/// ( 'user': 'pebbles', 'active': true )
|
|
196
|
+
/// );
|
|
197
|
+
/// // using the `_matches` callback shorthand
|
|
198
|
+
/// $foo: _pluck(_take-while($users, ( 'user': 'barney', 'active': false )), 'user');
|
|
199
|
+
/// // => ('barney',)
|
|
200
|
+
///
|
|
201
|
+
/// // using the `_matches-property` callback shorthand
|
|
202
|
+
/// $foo: _pluck(_take-while($users, 'active', false), 'user');
|
|
203
|
+
/// // => ('barney', 'fred')
|
|
204
|
+
///
|
|
205
|
+
/// // using the `_property` callback shorthand
|
|
206
|
+
/// $foo: _pluck(_take-while($users, 'active'), 'user');
|
|
207
|
+
/// // => ()
|
|
208
|
+
|
|
209
|
+
@function _take-while($args...) {
|
|
210
|
+
@return call('__take-while', $args...);
|
|
211
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
@function __times($n: null, $iteratee: '__identity', $this-arg: null) {
|
|
2
|
+
$n: if(__is-falsey($n), 0, $n);
|
|
3
|
+
$index: 1;
|
|
4
|
+
$result: ();
|
|
5
|
+
$iteratee: __bind-callback($iteratee, $this-arg, 1);
|
|
6
|
+
|
|
7
|
+
@while $index <= $n {
|
|
8
|
+
$result: append($result, __exec($iteratee, $index));
|
|
9
|
+
$index: $index + 1;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@return $result;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
/// Invokes the iteratee function `$n` times, returning a list of the results
|
|
17
|
+
/// of each invocation. The `$iteratee` is bound to `$this-arg` and invoked with
|
|
18
|
+
/// one argument; (index).
|
|
19
|
+
///
|
|
20
|
+
///
|
|
21
|
+
/// @access public
|
|
22
|
+
/// @group Utility
|
|
23
|
+
/// @param {number} $n [0] - The number of times to invoke `$iteratee`.
|
|
24
|
+
/// @param {Function} $iteratee [_identity] - The function invoked per iteration.
|
|
25
|
+
/// @param {*} $this-arg [null] - The `_this` binding of `$iteratee`.
|
|
26
|
+
/// @returns {List} Returns the list of results.
|
|
27
|
+
/// @example scss
|
|
28
|
+
/// $dice-rolls: _times(3, _partial(_random, 1, 6, false));
|
|
29
|
+
/// // => (3, 6, 4)
|
|
30
|
+
|
|
31
|
+
@function _times($args...) {
|
|
32
|
+
@return call('__times', $args...);
|
|
33
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
@function __to-list($value) {
|
|
2
|
+
$result: ();
|
|
3
|
+
|
|
4
|
+
@if __is-map($value) {
|
|
5
|
+
@if __list-some(map-keys($value), __is-string) {
|
|
6
|
+
@return map-values($value);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@for $index from 1 through max(map-keys($value)...) {
|
|
10
|
+
$map-value: __get($value, $index);
|
|
11
|
+
$result: append($result, $map-value);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@return $result;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@if __is-string($value) {
|
|
18
|
+
@if str-length($value) >= 1 {
|
|
19
|
+
@for $index from 1 through str-length($value) {
|
|
20
|
+
$result: append($result, unquote(str-slice($value, $index, $index)));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@return $result;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@if __is-list-like($value) {
|
|
28
|
+
@each $item in $value {
|
|
29
|
+
$result: append($result, $item);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@return $result;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
/// Converts `$value` to a list.
|
|
38
|
+
///
|
|
39
|
+
///
|
|
40
|
+
/// @access public
|
|
41
|
+
/// @group Lang
|
|
42
|
+
/// @param {*} $value The value to convert.
|
|
43
|
+
/// @returns {List} Returns the converted list.
|
|
44
|
+
/// @example scss
|
|
45
|
+
/// $map: ('a': 1, 'b': 2, 'c': 3);
|
|
46
|
+
///
|
|
47
|
+
/// $foo: _to-list($map);
|
|
48
|
+
/// // => 1, 2, 3
|
|
49
|
+
|
|
50
|
+
@function _to-list($args...) {
|
|
51
|
+
@return call('__to-list', $args...);
|
|
52
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@function __base-to-string($value) {
|
|
2
|
+
@if __is-string($value) {
|
|
3
|
+
@return $value;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
@return if($value == null, '', $value + '');
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@function __to-string($value, $args...) {
|
|
11
|
+
@if __is-string($value) {
|
|
12
|
+
@return $value;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@if $value == null {
|
|
16
|
+
@return '';
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@return inspect($value);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
/// Converts `$value` to a string.
|
|
24
|
+
///
|
|
25
|
+
/// @access public
|
|
26
|
+
/// @group Lang
|
|
27
|
+
/// @param {*} $value The value to convert.
|
|
28
|
+
/// @returns {String} Returns the converted string.
|
|
29
|
+
/// @example scss
|
|
30
|
+
/// $foo: _to-string(123);
|
|
31
|
+
/// // => '123'
|
|
32
|
+
|
|
33
|
+
@function _to-string($args...) {
|
|
34
|
+
@return call('__to-string', $args...);
|
|
35
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
@function __trimmed-left-index($string) {
|
|
2
|
+
$index: 1;
|
|
3
|
+
$length: str-length($string);
|
|
4
|
+
|
|
5
|
+
@while ($index <= $length) and (__is-space(__char-at($string, $index))) {
|
|
6
|
+
$index: $index + 1;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@return $index;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@function __trimmed-right-index($string) {
|
|
14
|
+
$index: str-length($string);
|
|
15
|
+
|
|
16
|
+
@while ($index > 0) and (__is-space(__char-at($string, $index))) {
|
|
17
|
+
$index: $index - 1;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@return $index;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@function __trim($string, $chars: null, $guard: null) {
|
|
25
|
+
$value: $string;
|
|
26
|
+
$string: __base-to-string($string);
|
|
27
|
+
|
|
28
|
+
@if not ($string) or ($string == '') or ($chars == '') {
|
|
29
|
+
@return $string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@if (if($guard, __is-iteratee-call($value, $chars, $guard), ($chars == null))) {
|
|
33
|
+
@return str-slice($string, __trimmed-left-index($string), __trimmed-right-index($string));
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
$chars: __base-to-string($chars);
|
|
37
|
+
|
|
38
|
+
@return str-slice($string,
|
|
39
|
+
__chars-left-index($string, $chars),
|
|
40
|
+
__chars-right-index($string, $chars));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
@function __trim-left($string, $chars: null, $guard: null) {
|
|
45
|
+
$value: $string;
|
|
46
|
+
$string: __base-to-string($string);
|
|
47
|
+
|
|
48
|
+
@if not ($string) or ($string == '') or ($chars == '') {
|
|
49
|
+
@return $string;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@if (if($guard, __is-iteratee-call($value, $chars, $guard), ($chars == null))) {
|
|
53
|
+
@return str-slice($string, __trimmed-left-index($string));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
$chars: __base-to-string($chars);
|
|
57
|
+
|
|
58
|
+
@return str-slice($string,
|
|
59
|
+
__chars-left-index($string, $chars));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
@function __trim-right($string, $chars: null, $guard: null) {
|
|
64
|
+
$value: $string;
|
|
65
|
+
$string: __base-to-string($string);
|
|
66
|
+
|
|
67
|
+
@if not ($string) or ($string == '') or ($chars == '') {
|
|
68
|
+
@return $string;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@if (if($guard, __is-iteratee-call($value, $chars, $guard), ($chars == null))) {
|
|
72
|
+
@return str-slice($string, 0, __trimmed-right-index($string));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
$chars: __base-to-string($chars);
|
|
76
|
+
|
|
77
|
+
@return str-slice($string, 0,
|
|
78
|
+
__chars-right-index($string, $chars));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
/// Removes leading and trailing whitespace or specified characters from `$string`.
|
|
83
|
+
///
|
|
84
|
+
///
|
|
85
|
+
/// @access public
|
|
86
|
+
/// @group String
|
|
87
|
+
/// @param {string} $string [''] - The string to trim.
|
|
88
|
+
/// @param {string} $chars [' '] - The characters to trim.
|
|
89
|
+
/// @returns {string} Returns the trimmed string.
|
|
90
|
+
/// @example scss
|
|
91
|
+
/// $foo: _trim(' abc ');
|
|
92
|
+
/// // => 'abc'
|
|
93
|
+
/// $foo: _trim('-_-abc-_-', '_-');
|
|
94
|
+
/// // => 'abc'
|
|
95
|
+
/// $foo: _map((' foo ', ' bar '), _trim);
|
|
96
|
+
/// // => ('foo', 'bar')
|
|
97
|
+
|
|
98
|
+
@function _trim($args...) {
|
|
99
|
+
@return call('__trim', $args...);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
/// Removes leading whitespace or specified characters from `$string`.
|
|
104
|
+
///
|
|
105
|
+
///
|
|
106
|
+
/// @access public
|
|
107
|
+
/// @group String
|
|
108
|
+
/// @param {string} $string [''] - The string to trim.
|
|
109
|
+
/// @param {string} $chars [whitespace] - The characters to trim.
|
|
110
|
+
/// @returns {string} Returns the trimmed string.
|
|
111
|
+
/// @example scss
|
|
112
|
+
/// /// _trim-left(' abc ');
|
|
113
|
+
/// // => 'abc '
|
|
114
|
+
/// /// _trim-left('-_-abc-_-', '_-');
|
|
115
|
+
/// // => 'abc-_-'
|
|
116
|
+
|
|
117
|
+
@function _trim-left($args...) {
|
|
118
|
+
@return call('__trim-left', $args...);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
/// Removes trailing whitespace or specified characters from `$string`.
|
|
123
|
+
///
|
|
124
|
+
///
|
|
125
|
+
/// @access public
|
|
126
|
+
/// @group String
|
|
127
|
+
/// @param {string} $string [''] - The string to trim.
|
|
128
|
+
/// @param {string} $chars [' '] - The characters to trim.
|
|
129
|
+
/// @returns {string} Returns the trimmed string.
|
|
130
|
+
/// @example scss
|
|
131
|
+
/// $foo: _trim-right(' abc ');
|
|
132
|
+
/// // => ' abc'
|
|
133
|
+
/// $foo: _trim-right('-_-abc-_-', '_-');
|
|
134
|
+
/// // => '-_-abc'
|
|
135
|
+
|
|
136
|
+
@function _trim-right($args...) {
|
|
137
|
+
@return call('__trim-right', $args...);
|
|
138
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
@function __trunc($string, $options: null, $guard: null, $omission: null, $length: null, $separator: null) {
|
|
2
|
+
@if ($guard and __is-iteratee-call($string, $options, $guard)) {
|
|
3
|
+
$options: null;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
$length: __either($length, __const('DEFAULT_TRUNC_LENGTH'));
|
|
7
|
+
$omission: __either($omission, __const('DEFAULT_TRUNC_OMISSION'));
|
|
8
|
+
$separator: __either($separator, null);
|
|
9
|
+
|
|
10
|
+
@if $options != null {
|
|
11
|
+
@if (__is-map($options)) {
|
|
12
|
+
$separator: if(
|
|
13
|
+
map-has-key($options, 'separator'),
|
|
14
|
+
__get($options, 'separator'),
|
|
15
|
+
$separator);
|
|
16
|
+
$length: if(
|
|
17
|
+
map-has-key($options, 'length'),
|
|
18
|
+
__get($options, 'length'),
|
|
19
|
+
$length);
|
|
20
|
+
$omission: if(
|
|
21
|
+
map-has-key($options, 'omission'),
|
|
22
|
+
__base-to-string(__get($options, 'omission')),
|
|
23
|
+
$omission);
|
|
24
|
+
} @else {
|
|
25
|
+
$length: __parse-int($options);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
$string: __base-to-string($string);
|
|
30
|
+
|
|
31
|
+
@if ($length >= str-length($string)) {
|
|
32
|
+
@return $string;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
$end: $length - str-length($omission);
|
|
36
|
+
|
|
37
|
+
@if ($end < 1) {
|
|
38
|
+
@return $omission;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
$result: str-slice($string, 0, $end);
|
|
42
|
+
|
|
43
|
+
@if ($separator == null) {
|
|
44
|
+
@return $result + $omission;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@if (__string-index-of($string, $separator, $end) != $end) {
|
|
48
|
+
$index: __string-last-index-of($result, $separator);
|
|
49
|
+
|
|
50
|
+
@if ($index > -1) {
|
|
51
|
+
$result: str-slice($result, 0, $index - 1);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@return $result + $omission;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
/// Truncates `$string` if it is longer than the given maximum string length.
|
|
60
|
+
/// The last characters of the truncated string are replaced with the omission
|
|
61
|
+
/// string which defaults to "...".
|
|
62
|
+
///
|
|
63
|
+
///
|
|
64
|
+
/// @access public
|
|
65
|
+
/// @group String
|
|
66
|
+
/// @param {string} $string [''] - The string to truncate.
|
|
67
|
+
/// @param {Map|number} $options [null] - The options object or maximum string length.
|
|
68
|
+
/// @param {number} $length [30] - The maximum string length.
|
|
69
|
+
/// @param {string} $omission ['...'] - The string to indicate text is omitted.
|
|
70
|
+
/// @param {string} $separator [null] - The separator pattern to truncate to.
|
|
71
|
+
/// @returns {string} Returns the truncated string.
|
|
72
|
+
/// @example scss
|
|
73
|
+
/// $foo: _trunc('hi-diddly-ho there, neighborino');
|
|
74
|
+
/// // => 'hi-diddly-ho there, neighbo...'
|
|
75
|
+
///
|
|
76
|
+
/// $foo: _trunc('hi-diddly-ho there, neighborino', 24);
|
|
77
|
+
/// // => 'hi-diddly-ho there, n...'
|
|
78
|
+
///
|
|
79
|
+
/// $foo: _trunc('hi-diddly-ho there, neighborino',
|
|
80
|
+
/// $length: 24,
|
|
81
|
+
/// $separator: ' '
|
|
82
|
+
/// );
|
|
83
|
+
/// // => 'hi-diddly-ho there,...'
|
|
84
|
+
///
|
|
85
|
+
/// $foo: _trunc('hi-diddly-ho there, neighborino',
|
|
86
|
+
/// $omission: ' (...)'
|
|
87
|
+
/// );
|
|
88
|
+
/// // => 'hi-diddly-ho there, neig (...)'
|
|
89
|
+
|
|
90
|
+
@function _trunc($string, $options: null, $guard: null, $omission: null, $length: null, $separator: null) {
|
|
91
|
+
@return call('__trunc', $string, $options, $guard, $omission, $length, $separator);
|
|
92
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
@function __unescape-html-char($char) {
|
|
2
|
+
@return __const('html-unescapes' $char);
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
@function __unescape($string) {
|
|
6
|
+
$string: __base-to-string($string);
|
|
7
|
+
$escapes: ();
|
|
8
|
+
|
|
9
|
+
@each $escaped, $unescaped in __const('html-unescapes') {
|
|
10
|
+
$escaped-index: str-index($string, $escaped);
|
|
11
|
+
|
|
12
|
+
@if $escaped-index {
|
|
13
|
+
$escapes: append($escapes, (
|
|
14
|
+
'escaped': $escaped,
|
|
15
|
+
'unescaped': $unescaped,
|
|
16
|
+
'index': $escaped-index
|
|
17
|
+
));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
$escapes: __sort-by($escapes, __property('index'));
|
|
22
|
+
|
|
23
|
+
@each $escaped-map in $escapes {
|
|
24
|
+
$escaped: __get($escaped-map, 'escaped');
|
|
25
|
+
$unescaped: __get($escaped-map, 'unescaped');
|
|
26
|
+
$string: __string-replace($string, $escaped, $unescaped);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@return $string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
/// The inverse of `_escape`; this method converts the HTML entities
|
|
34
|
+
/// `&`, `<`, `>`, `"`, `'`, and ``` in `string` to their
|
|
35
|
+
/// corresponding characters.
|
|
36
|
+
/// **Note:** No other HTML entities are unescaped.
|
|
37
|
+
///
|
|
38
|
+
/// @access public
|
|
39
|
+
/// @group String
|
|
40
|
+
/// @param {string} $string [''] - The string to unescape.
|
|
41
|
+
/// @returns {string} Returns the unescaped string.
|
|
42
|
+
/// @example scss
|
|
43
|
+
/// $foo: _unescape('fred, barney, & pebbles');
|
|
44
|
+
/// // => 'fred, barney, & pebbles'
|
|
45
|
+
|
|
46
|
+
@function _unescape($args...) {
|
|
47
|
+
@return call('__unescape', $args...);
|
|
48
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
@function __union($arguments...) {
|
|
2
|
+
@return __base-uniq(__base-flatten($arguments, false, true));
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
/// Creates a list of unique values, in order.
|
|
7
|
+
///
|
|
8
|
+
///
|
|
9
|
+
/// @access public
|
|
10
|
+
/// @group List
|
|
11
|
+
/// @param {List...} $lists... The lists to inspect.
|
|
12
|
+
/// @returns {List} Returns the new list of combined values.
|
|
13
|
+
/// @example scss
|
|
14
|
+
/// $foo: _union((1, 2), (4, 2), (2, 1));
|
|
15
|
+
/// // => (1, 2, 4)
|
|
16
|
+
|
|
17
|
+
@function _union($args...) {
|
|
18
|
+
@return call('__union', $args...);
|
|
19
|
+
}
|