Skip to content

Commit 6a74034

Browse files
committed
Add zero-modes and toggle function
1 parent f5f4c73 commit 6a74034

File tree

12 files changed

+84
-3
lines changed

12 files changed

+84
-3
lines changed

.sassdocrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ groups:
1212
config: Global Settings
1313
'Sass (optional)':
1414
palettes: Color Palettes
15+
tools: Additional Tools
1516

1617
herman:
1718
extraDocs:

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## 0.1.0-beta.9 - 2019/11/29
4+
5+
- NEW: `--ccs-mode--zero` and `--ccs-mode--invert-zero`
6+
provide mode values of `0` (dark) or `1` (light),
7+
rather than `-1` (dark) and `1` (light)
8+
- NEW: `if-mode($light, $dark)` function returns a CSS `calc()` toggle
9+
between two values, depending on the current (light/dark) mode
10+
311
## 0.1.0-beta.8 - 2019/11/29
412

513
- BREAKING: Set defaults on `background-color`

css/ccs.css

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

css/ccs.css.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

index.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ <h1><a href="https://cascading-colors.netlify.com/" rel="home">Cascading Color S
5454
<option value="default">
5555
default
5656
</option>
57+
<option value="oddbird">
58+
oddbird
59+
</option>
5760
<option value="complement">
5861
complement
5962
</option>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cascading-color-systems",
3-
"version": "0.1.0-beta.8",
3+
"version": "0.1.0-beta.9",
44
"description": "generate dynamic color palettes with custom properties",
55
"main": "dist.js",
66
"module": "index.js",

sass/partials/_colors.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@
2727
// final mode calculations
2828
--ccs-mode--cascade: var(--ccs-mode--user, var(--ccs-mode--html, var(--ccs-mode--os, 1)));
2929
--ccs-mode: var(--ccs-mode--cascade, 1);
30+
--ccs-mode--zero: calc((var(--ccs-mode) + 1) * 0.5);
3031
--ccs-mode--invert: calc(-1 * var(--ccs-mode));
32+
--ccs-mode--invert-zero: calc((var(--ccs-mode--invert) + 1) * 0.5);
3133

3234
// full contrast colors, foreground and background
3335
--ccs--bg-full: hsl(0, 0%, calc(100% * var(--ccs-mode)));

sass/partials/_index.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// members only
22
@forward 'palettes';
3+
@forward 'tools';
34

45
// setup
56
@forward 'root';

sass/partials/_tools.scss

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// If-Mode
2+
// -------
3+
/// Toggles between two number values
4+
/// (or CSS `var()` functions that return numbers),
5+
/// depending on the current light/dark mode.
6+
///
7+
/// @param {number | var()} $light -
8+
/// The value to use for light mode
9+
/// @param {number | var()} $dark -
10+
/// The value to use for dark mode
11+
/// @return {calc()} -
12+
/// A CSS `calc()` function that will toggle the proper values
13+
/// based on the value of `--ccs-mode--zero` and `--ccs-mode--invert-zero`
14+
/// @example scss -
15+
/// [data-ccs-theme='oddbird'] {
16+
/// --ccs-prime--config: 195;
17+
/// --ccs-accent--config: 330;
18+
/// --ccs-prime--theme: #{ccs.if-mode(
19+
/// $light: var(--ccs-prime--config),
20+
/// $dark: var(--ccs-accent--config)
21+
/// )};
22+
/// --ccs-accent--theme: #{ccs.if-mode(
23+
/// $light: var(--ccs-accent--config),
24+
/// $dark: var(--ccs-prime--config)
25+
/// )};
26+
/// --ccs-custom-hue: none;
27+
/// }
28+
/// @group tools
29+
@function if-mode(
30+
$light,
31+
$dark
32+
) {
33+
@return calc(
34+
var(--ccs-mode--zero) * #{$light} + var(--ccs-mode--invert-zero) * #{$dark}
35+
);
36+
}

site/css/styles.css

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)