annotate default/assets/scss/vendors/bourbon/library/_contrast-switch.scss @ 0:1d038bc9b3d2 default tip

Up:default
author Liny <dev@neowd.com>
date Sat, 31 May 2025 09:21:51 +0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
1 @charset "UTF-8";
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
2
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
3 /// Switches between two colors based on the lightness of a another color. Great
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
4 /// for building button styles.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
5 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
6 /// @argument {color} $base-color
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
7 /// The color to evaluate lightness against.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
8 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
9 /// @argument {color} $dark-color [#000]
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
10 /// The color to be output when `$base-color` is light.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
11 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
12 /// @argument {color} $light-color [#fff]
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
13 /// The color to be output when `$base-color` is dark.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
14 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
15 /// @return {color}
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
16 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
17 /// @example scss
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
18 /// .element {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
19 /// color: contrast-switch(#bae6e6);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
20 /// }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
21 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
22 /// // CSS Output
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
23 /// .element {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
24 /// color: #000;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
25 /// }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
26 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
27 /// @example scss
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
28 /// .element {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
29 /// $button-color: #2d72d9;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
30 /// background-color: $button-color;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
31 /// color: contrast-switch($button-color, #222, #eee);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
32 /// }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
33 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
34 /// // CSS Output
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
35 /// .element {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
36 /// background-color: #2d72d9;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
37 /// color: #eee;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
38 /// }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
39 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
40 /// @require {function} _is-light
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
41 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
42 /// @since 5.0.0
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
43
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
44 @function contrast-switch(
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
45 $base-color,
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
46 $dark-color: _retrieve-bourbon-setting("contrast-switch-dark-color"),
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
47 $light-color: _retrieve-bourbon-setting("contrast-switch-light-color")
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
48 ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
49
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
50 @if not _is-color($base-color) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
51 @error "`#{$base-color}` is not a valid color for the `$base-color` " +
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
52 "argument in the `contrast-switch` function.";
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
53 } @else if not _is-color($dark-color) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
54 @error "`#{$dark-color}` is not a valid color for the `$dark-color` " +
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
55 "argument in the `contrast-switch` function.";
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
56 } @else if not _is-color($light-color) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
57 @error "`#{$light-color}` is not a valid color for the `$light-color` " +
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
58 "argument in the `contrast-switch` function.";
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
59 } @else {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
60 @return if(_is-light($base-color), $dark-color, $light-color);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
61 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
62 }