claritas-web-framework 8.3.1 → 8.4.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.
package/dist/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Claritas Web Framework</title><script defer="defer" src="index.js"></script><link href="./index.css" rel="stylesheet"></head><body><div class="container"><div class="grid"><div class="col--tablet-4"><div class="card"><div class="card--body">Card</div></div></div><div class="col--8"><div class="card"><div class="card--body"><button type="button" class="button button--danger">Click me</button></div></div></div></div></div></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Claritas Web Framework</title><script defer="defer" src="index.js"></script><link href="./index.css" rel="stylesheet"></head><body><div class="container">hello <button type="button" class="button button--primary">Hello</button> <button type="button" class="button button--primary button--outline">Hello</button> <button type="button" class="button button--primary button--outline" disabled="disabled">Hello</button> <button type="button" class="button button--danger" disabled="disabled">Hello</button><div class="alert alert--primary">Hello <a href="/">Click me</a></div></div></body></html>
package/index.html CHANGED
@@ -9,20 +9,12 @@
9
9
 
10
10
  <body>
11
11
  <div class="container">
12
- <div class="grid">
13
- <div class="col--tablet-4">
14
- <div class="card">
15
- <div class="card--body">Card</div>
16
- </div>
17
- </div>
18
- <div class="col--8">
19
- <div class="card">
20
- <div class="card--body">
21
- <button type="button" class="button button--danger">Click me</button>
22
- </div>
23
- </div>
24
- </div>
25
- </div>
12
+ hello
13
+ <button type="button" class="button button--primary">Hello</button>
14
+ <button type="button" class="button button--primary button--outline">Hello</button>
15
+ <button type="button" class="button button--primary button--outline" disabled>Hello</button>
16
+ <button type="button" class="button button--danger" disabled>Hello</button>
17
+ <div class="alert alert--primary">Hello <a href="/">Click me</a></div>
26
18
  </div>
27
19
  </body>
28
20
  </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claritas-web-framework",
3
- "version": "8.3.1",
3
+ "version": "8.4.0",
4
4
  "description": "The CSS framework built for Claritas front end.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -16,18 +16,18 @@
16
16
  "license": "UNLICENSED",
17
17
  "devDependencies": {
18
18
  "css-loader": "^7.1.2",
19
- "find-unused-sass-variables": "^6.0.0",
19
+ "find-unused-sass-variables": "^6.1.0",
20
20
  "html-webpack-plugin": "^5.6.3",
21
21
  "mini-css-extract-plugin": "^2.9.2",
22
- "prettier": "^3.3.3",
23
- "sass-loader": "^16.0.3",
24
- "webpack": "^5.96.1",
25
- "webpack-cli": "^5.1.4",
26
- "webpack-dev-server": "^5.1.0"
22
+ "prettier": "^3.5.3",
23
+ "sass-loader": "^16.0.5",
24
+ "webpack": "^5.99.8",
25
+ "webpack-cli": "^6.0.1",
26
+ "webpack-dev-server": "^5.2.1"
27
27
  },
28
28
  "dependencies": {
29
29
  "modern-normalize": "^3.0.1",
30
30
  "rfs": "^10.0.0",
31
- "sass": "^1.81.0"
31
+ "sass": "^1.88.0"
32
32
  }
33
33
  }
@@ -48,8 +48,8 @@
48
48
  $color-sum: math.max(color.channel($value, "lightness", $space: hsl), 0%);
49
49
 
50
50
  @if $color-sum > $threshold {
51
- @return hsl(var(--dark-h) var(--dark-s) var(--dark-l) / $opacity);
51
+ @return hsl(from var(--dark) h s l / $opacity);
52
52
  } @else {
53
- @return hsl(var(--white-h) var(--white-s) var(--white-l) / $opacity);
53
+ @return hsl(from var(--white) h s l / $opacity);
54
54
  }
55
55
  }
@@ -15,7 +15,6 @@
15
15
  @forward "./modules/form/radio";
16
16
  @forward "./modules/form/range";
17
17
  @forward "./modules/form/select";
18
- @forward "./modules/form/switch";
19
18
  @forward "./modules/form/text";
20
19
  @forward "./modules/form/textarea";
21
20
  @forward "./modules/form/toggle";
package/sass/_reboot.scss CHANGED
@@ -117,11 +117,11 @@ dd {
117
117
  }
118
118
 
119
119
  a {
120
- color: hsl(var(--primary-h) var(--primary-s) var(--primary-l));
120
+ color: var(--primary);
121
121
  text-decoration: $link-decoration;
122
122
 
123
123
  &:hover {
124
- color: hsl(var(--primary-h) var(--primary-s) calc(var(--primary-l) - #{$link-shade-percentage}));
124
+ color: color-mix(in oklab, var(--primary), #000 #{$link-shade-percentage});
125
125
  text-decoration: $link-hover-decoration;
126
126
  }
127
127
  }
package/sass/_root.scss CHANGED
@@ -1,13 +1,8 @@
1
1
  @use "./variables" as *;
2
- @use "./mixins/colors" as *;
3
2
 
4
3
  :root {
5
4
  interpolate-size: allow-keywords;
6
5
 
7
- @include define-color-variables($title: "body-color", $color: $body-color);
8
-
9
- @include define-color-variables($title: "border-color-main", $color: $border-color-main);
10
-
11
6
  --spacer: #{$spacer};
12
7
  --body-color: #{$body-color};
13
8
  --body-background: #{$body-background};
@@ -36,14 +31,6 @@
36
31
  --#{$key}: #{$value};
37
32
  }
38
33
 
39
- @each $key, $value in $grays {
40
- @include define-color-variables($key, $value);
41
- }
42
-
43
- @each $key, $value in $all-colors {
44
- @include define-color-variables($key, $value);
45
- }
46
-
47
34
  @each $key, $value in $zindexes {
48
35
  --zindex-#{$key}: #{$value};
49
36
  }
@@ -216,8 +216,8 @@ $headings-color: $body-color !default;
216
216
  /* --------------------------------- border --------------------------------- */
217
217
  $border-color-main: $gray-5 !default;
218
218
  $border-color-hover-main: $gray-6 !default;
219
- $border-shade: 0.75 !default;
220
- $border-shade-hover: 0.75 !default;
219
+ $border-shade-percentage: 20% !default;
220
+ $border-shade-hover-percentage: 20% !default;
221
221
  $border-radius-none: 0 !default;
222
222
  $border-radius-small: calc($spacer * 0.15) !default;
223
223
  $border-radius-medium: calc($spacer * 0.275) !default;
@@ -273,9 +273,9 @@ $zindexes: (
273
273
  ) !default;
274
274
 
275
275
  /* --------------------------------- shadow --------------------------------- */
276
- $box-shadow-small: 0 calc($spacer * 0.125) calc($spacer * 0.25) rgba($dark, 7.5%) !default;
277
- $box-shadow-medium: 0 calc($spacer * 0.5) calc($spacer * 0.75) rgba($dark, 15%) !default;
278
- $box-shadow-large: 0 $spacer calc($spacer * 2.5) rgba($dark, 17.5%) !default;
276
+ $box-shadow-small: 0 calc($spacer * 0.125) calc($spacer * 0.25) hsl(from var(--dark) h s l / 7.5%) !default;
277
+ $box-shadow-medium: 0 calc($spacer * 0.5) calc($spacer * 0.75) hsl(from var(--dark) h s l / 15%) !default;
278
+ $box-shadow-large: 0 $spacer calc($spacer * 2.5) hsl(from var(--dark) h s l / 17.5%) !default;
279
279
  $box-shadows: (
280
280
  "small": $box-shadow-small,
281
281
  "medium": $box-shadow-medium,
@@ -294,10 +294,10 @@ $embeds: (
294
294
  /* ---------------------------------- forms --------------------------------- */
295
295
  $form-select-indicator-color: $body-color !default;
296
296
  $form-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>") !default;
297
- $list-nested-indicator-color: rgba($body-color, 25%) !default;
297
+ $list-nested-indicator-color: hsl(from var(--body-color) h s l / 25%) !default;
298
298
  $list-nested-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='#{$list-nested-indicator-color}' stroke='none' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 15l-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9l6 6z'/></svg>") !default;
299
- $form-file-indicator-color: rgba($body-color, 25%) !default;
300
- $form-file-indicator-hover-color: rgba($body-color, 50%) !default;
299
+ $form-file-indicator-color: hsl(from var(--body-color) h s l / 25%) !default;
300
+ $form-file-indicator-hover-color: hsl(from var(--body-color) h s l / 50%) !default;
301
301
  $form-file-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='#{$form-file-indicator-color}' stroke='none' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z'/></svg>") !default;
302
302
  $form-file-indicator-hover: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='#{$form-file-indicator-hover-color}' stroke='none' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z'/></svg>") !default;
303
303
  $form-transition:
@@ -371,8 +371,7 @@ $button-small-border-radius: $input-button-small-border-radius !default;
371
371
  $button-round-border-radius: $input-button-round-border-radius !default;
372
372
  $button-color-flip-threshold: 60% !default;
373
373
  $button-color-flip-l: 35% !default;
374
- $button-disabled-border-alpha: 35% !default;
375
- $button-disabled-background-alpha: $color-disabled-alpha !default;
374
+ $button-disabled-border-alpha: 50% !default;
376
375
  $button-hover-background-alpha: 10% !default;
377
376
 
378
377
  /* ---------------------------------- close --------------------------------- */
@@ -418,18 +417,13 @@ $breadcrumb-color: $medium !default;
418
417
  $breadcrumb-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'><path fill='#{$breadcrumb-color}' d='M89.45 87.5l143.1 152c4.375 4.625 6.562 10.56 6.562 16.5c0 5.937-2.188 11.87-6.562 16.5l-143.1 152C80.33 434.1 65.14 434.5 55.52 425.4c-9.688-9.125-10.03-24.38-.9375-33.94l128.4-135.5l-128.4-135.5C45.49 110.9 45.83 95.75 55.52 86.56C65.14 77.47 80.33 77.87 89.45 87.5z'/></svg>") !default;
419
418
 
420
419
  /* ---------------------------------- modal --------------------------------- */
421
- $modal-open-background: rgba(
422
- color.channel($dark, "red", $space: rgb),
423
- color.channel($dark, "green", $space: rgb),
424
- color.channel($dark, "blue", $space: rgb),
425
- 0.5
426
- ) !default;
420
+ $modal-open-background: hsl(from var(--dark) h s l / 50%) !default;
427
421
  $modal-background-blur: 4px !default;
428
422
 
429
423
  /* ---------------------------------- alert --------------------------------- */
430
- $alert-color-l: 40% !default;
431
- $alert-background-l: 90% !default;
432
- $alert-border-l: 80% !default;
424
+ $alert-color-l: 20% !default;
425
+ $alert-background-l: 80% !default;
426
+ $alert-border-l: 20% !default;
433
427
 
434
428
  /* ---------------------------------- pills --------------------------------- */
435
429
  $pill-color-flip-threshold: 54% !default;
@@ -13,96 +13,67 @@
13
13
  --button-focus-color: #{$color};
14
14
  --button-active-color: #{$color};
15
15
  --button-disabled-color: #{$color-disabled};
16
- --button-border-color: hsl(
17
- var(--#{$main}-h) var(--#{$main}-s) calc(calc(var(--#{$main}-l) / 100) * #{$border-shade} * 100)
18
- );
19
- --button-hover-border-color: hsl(
20
- var(--#{$main}-h) var(--#{$main}-s) calc(calc(var(--#{$main}-l) / 100) * #{$border-shade-hover} * 100)
21
- );
22
- --button-focus-border-color: hsl(
23
- var(--#{$main}-h) var(--#{$main}-s) calc(calc(var(--#{$main}-l) / 100) * #{$border-shade-hover} * 100)
24
- );
25
- --button-active-border-color: hsl(
26
- var(--#{$main}-h) var(--#{$main}-s) calc(calc(var(--#{$main}-l) / 100) * #{$border-shade-hover} * 100)
27
- );
28
- --button-disabled-border-color: hsl(
29
- var(--#{$main}-h) var(--#{$main}-s) calc(calc(var(--#{$main}-l) / 100) * #{$border-shade} * 100) / #{$button-disabled-border-alpha}
30
- );
31
- --button-background: hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l));
32
- --button-hover-background: hsl(
33
- var(--#{$main}-h) var(--#{$main}-s) calc(calc(var(--#{$main}-l) / 100) * #{$border-shade} * 100)
34
- );
35
- --button-focus-background: hsl(
36
- var(--#{$main}-h) var(--#{$main}-s) calc(calc(var(--#{$main}-l) / 100) * #{$border-shade} * 100)
37
- );
38
- --button-active-background: hsl(
39
- var(--#{$main}-h) var(--#{$main}-s) calc(calc(var(--#{$main}-l) / 100) * #{$border-shade} * 100)
40
- );
41
- --button-disabled-background: hsl(
42
- var(--#{$main}-h) var(--#{$main}-s) calc(calc(var(--#{$main}-l) / 100) * #{$border-shade} * 100) / #{$button-disabled-background-alpha}
43
- );
44
- --button-box-shadow: 0 0 0 0.125em hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / 0%);
45
- --button-hover-box-shadow: 0 0 0 0.125em hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / 0%);
46
- --button-focus-box-shadow: 0 0 0 0.125em hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / 20%);
47
- --button-active-box-shadow: 0 0 0 0.125em hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / 20%);
48
- --button-disabled-box-shadow: 0 0 0 0.125em hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / 0%);
16
+ --button-border-color: color-mix(in oklab, var(--#{$main}), #000 #{$border-shade-percentage});
17
+ --button-hover-border-color: color-mix(in oklab, var(--#{$main}), #000 #{$border-shade-hover-percentage});
18
+ --button-focus-border-color: color-mix(in oklab, var(--#{$main}), #000 #{$border-shade-hover-percentage});
19
+ --button-active-border-color: color-mix(in oklab, var(--#{$main}), #000 #{$border-shade-hover-percentage});
20
+ --button-disabled-border-color: color-mix(in oklab, var(--#{$main}), hsl(0 0% 0% / 5%) #{$border-shade-percentage});
21
+ --button-background: var(--#{$main});
22
+ --button-hover-background: color-mix(in oklab, var(--#{$main}), #000 #{$border-shade-percentage});
23
+ --button-focus-background: color-mix(in oklab, var(--#{$main}), #000 #{$border-shade-percentage});
24
+ --button-active-background: color-mix(in oklab, var(--#{$main}), #000 #{$border-shade-percentage});
25
+ --button-disabled-background: hsl(from var(--#{$main}) h s l / #{$button-disabled-border-alpha});
26
+ --button-box-shadow: 0 0 0 0.125em hsl(from var(--#{$main}) h s l / 0%);
27
+ --button-hover-box-shadow: 0 0 0 0.125em hsl(from var(--#{$main}) h s l / 0%);
28
+ --button-focus-box-shadow: 0 0 0 0.125em hsl(from var(--#{$main}) h s l / 20%);
29
+ --button-active-box-shadow: 0 0 0 0.125em hsl(from var(--#{$main}) h s l / 20%);
30
+ --button-disabled-box-shadow: 0 0 0 0.125em hsl(from var(--#{$main}) h s l / 0%);
49
31
  }
50
32
 
51
33
  @mixin button-variant-outline(
52
34
  $main,
53
35
  $value,
54
36
  $color: color-flip($main, $value, $button-color-flip-threshold, $button-color-flip-l),
55
- $border-color: hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l)),
56
- $border-color-disabled:
57
- hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / #{calc(20% * #{$border-shade-hover})})
37
+ $border-color: var(--#{$main}),
38
+ $border-color-disabled: color-mix(in oklab, var(--#{$main}), hsl(0 0% 0% / 5%) #{$border-shade-percentage})
58
39
  ) {
59
- --button-color: hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l));
40
+ --button-color: var(--#{$main});
60
41
  --button-hover-color: #{$color};
61
42
  --button-focus-color: #{$color};
62
43
  --button-active-color: #{$color};
63
- --button-disabled-color: hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / #{$color-disabled-alpha});
44
+ --button-disabled-color: hsl(from var(--#{$main}) h s l / #{$button-disabled-border-alpha});
64
45
  --button-border-color: #{$border-color};
65
46
  --button-hover-border-color: #{$border-color};
66
47
  --button-focus-border-color: #{$border-color};
67
48
  --button-active-border-color: #{$border-color};
68
49
  --button-disabled-border-color: #{$border-color-disabled};
69
- --button-background: hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / 0%);
70
- --button-hover-background: hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l));
71
- --button-focus-background: hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l));
72
- --button-active-background: hsl(
73
- var(--#{$main}-h) var(--#{$main}-s) calc(var(--#{$main}-l) - #{$button-hover-background-alpha})
74
- );
75
- --button-disabled-background: hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / 0%);
76
- --button-box-shadow: 0 0 0 0.125em hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / 0%);
77
- --button-hover-box-shadow: 0 0 0 0.125em hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / 0%);
78
- --button-focus-box-shadow: 0 0 0 0.125em hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / 20%);
79
- --button-active-box-shadow: 0 0 0 0.125em hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / 20%);
80
- --button-disabled-box-shadow: 0 0 0 0.125em hsl(var(--#{$main}-h) var(--#{$main}-s) var(--#{$main}-l) / 0%);
50
+ --button-background: hsl(from var(--#{$main}) h s l / 0%);
51
+ --button-hover-background: var(--#{$main});
52
+ --button-focus-background: var(--#{$main});
53
+ --button-active-background: color-mix(in oklab, var(--#{$main}), #000 #{$border-shade-percentage});
54
+ --button-disabled-background: hsl(from var(--#{$main}) h s l / 0%);
55
+ --button-box-shadow: 0 0 0 0.125em hsl(from var(--#{$main}) h s l / 0%);
56
+ --button-hover-box-shadow: 0 0 0 0.125em hsl(from var(--#{$main}) h s l / 0%);
57
+ --button-focus-box-shadow: 0 0 0 0.125em hsl(from var(--#{$main}) h s l / 20%);
58
+ --button-active-box-shadow: 0 0 0 0.125em hsl(from var(--#{$main}) h s l / 20%);
59
+ --button-disabled-box-shadow: 0 0 0 0.125em hsl(from var(--#{$main}) h s l / 0%);
81
60
  }
82
61
 
83
62
  @mixin button-variant-link($color) {
84
- --button-color: hsl(var(--#{$color}-h) var(--#{$color}-s) var(--#{$color}-l));
85
- --button-hover-color: hsl(var(--#{$color}-h) var(--#{$color}-s) calc(var(--#{$color}-l) - #{$link-shade-percentage}));
86
- --button-focus-color: hsl(var(--#{$color}-h) var(--#{$color}-s) calc(var(--#{$color}-l) - #{$link-shade-percentage}));
87
- --button-active-color: hsl(
88
- var(--#{$color}-h) var(--#{$color}-s) calc(var(--#{$color}-l) - #{$link-shade-percentage})
89
- );
90
- --button-disabled-color: hsl(var(--#{$color}-h) var(--#{$color}-s) var(--#{$color}-l) / #{$color-disabled-alpha});
63
+ --button-color: var(--#{$color});
64
+ --button-hover-color: color-mix(in oklab, var(--#{$color}), #000 #{$link-shade-percentage});
65
+ --button-focus-color: color-mix(in oklab, var(--#{$color}), #000 #{$link-shade-percentage});
66
+ --button-active-color: color-mix(in oklab, var(--#{$color}), #000 #{$link-shade-percentage});
67
+ --button-disabled-color: hsl(from var(--#{$color}) h s l / #{$color-disabled-alpha});
91
68
  --button-border-color: transparent;
92
69
  --button-hover-border-color: transparent;
93
70
  --button-focus-border-color: transparent;
94
71
  --button-active-border-color: transparent;
95
72
  --button-disabled-border-color: transparent;
96
73
  --button-background: transparent;
97
- --button-hover-background: hsl(
98
- var(--#{$color}-h) var(--#{$color}-s) var(--#{$color}-l) / #{$button-hover-background-alpha}
99
- );
100
- --button-focus-background: hsl(
101
- var(--#{$color}-h) var(--#{$color}-s) var(--#{$color}-l) / #{$button-hover-background-alpha}
102
- );
103
- --button-active-background: hsl(
104
- var(--#{$color}-h) var(--#{$color}-s) var(--#{$color}-l) / #{$button-hover-background-alpha}
105
- );
74
+ --button-hover-background: hsl(from var(--#{$color}) h s l / #{$button-hover-background-alpha});
75
+ --button-focus-background: hsl(from var(--#{$color}) h s l / #{$button-hover-background-alpha});
76
+ --button-active-background: hsl(from var(--#{$color}) h s l / #{$button-hover-background-alpha});
106
77
  --button-disabled-background: transparent;
107
78
  --button-box-shadow: none;
108
79
  --button-hover-box-shadow: none;
@@ -112,13 +83,11 @@
112
83
  }
113
84
 
114
85
  @mixin button-variant-unstyled($color) {
115
- --button-color: hsl(var(--#{$color}-h) var(--#{$color}-s) var(--#{$color}-l));
116
- --button-hover-color: hsl(var(--#{$color}-h) var(--#{$color}-s) calc(var(--#{$color}-l) - #{$link-shade-percentage}));
117
- --button-focus-color: hsl(var(--#{$color}-h) var(--#{$color}-s) calc(var(--#{$color}-l) - #{$link-shade-percentage}));
118
- --button-active-color: hsl(
119
- var(--#{$color}-h) var(--#{$color}-s) calc(var(--#{$color}-l) - #{$link-shade-percentage})
120
- );
121
- --button-disabled-color: hsl(var(--#{$color}-h) var(--#{$color}-s) var(--#{$color}-l) / #{$color-disabled-alpha});
86
+ --button-color: var(--#{$color});
87
+ --button-hover-color: color-mix(in oklab, var(--#{$color}), #000 #{$link-shade-percentage});
88
+ --button-focus-color: color-mix(in oklab, var(--#{$color}), #000 #{$link-shade-percentage});
89
+ --button-active-color: color-mix(in oklab, var(--#{$color}), #000 #{$link-shade-percentage});
90
+ --button-disabled-color: hsl(from var(--#{$color}) h s l / #{$color-disabled-alpha});
122
91
  --button-border-color: transparent;
123
92
  --button-hover-border-color: transparent;
124
93
  --button-focus-border-color: transparent;
@@ -27,7 +27,7 @@
27
27
 
28
28
  &::after {
29
29
  border-bottom: 0;
30
- border-top: calc(var(--spacer) * 0.25) solid hsl(var(--#{$color}-h) var(--#{$color}-s) var(--#{$color}-l));
30
+ border-top: calc(var(--spacer) * 0.25) solid hsl(from var(--#{$color}) h s l);
31
31
  }
32
32
  }
33
33
 
@@ -36,6 +36,6 @@
36
36
 
37
37
  &::after {
38
38
  border-top: 0;
39
- border-bottom: calc(var(--spacer) * 0.25) solid hsl(var(--#{$color}-h) var(--#{$color}-s) var(--#{$color}-l));
39
+ border-bottom: calc(var(--spacer) * 0.25) solid hsl(from var(--#{$color}) h s l);
40
40
  }
41
41
  }
@@ -9,15 +9,15 @@
9
9
  }
10
10
 
11
11
  @mixin make-color($title) {
12
- --color: hsl(var(--#{$title}-h) var(--#{$title}-s) var(--#{$title}-l));
13
- --color-hover: hsl(var(--#{$title}-h) var(--#{$title}-s) calc(var(--#{$title}-l) - #{$link-shade-percentage}));
14
- --color-disabled: hsl(var(--#{$title}-h) var(--#{$title}-s) var(--#{$title}-l) / #{$color-disabled-alpha});
12
+ --color: var(--#{$title});
13
+ --color-hover: color-mix(in oklab, var(--#{$title}), #000 #{$link-shade-percentage});
14
+ --color-disabled: hsl(from var(--#{$title}) h s l / #{$color-disabled-alpha});
15
15
  }
16
16
 
17
17
  @mixin make-background-color($title) {
18
- --background-color: hsl(var(--#{$title}-h) var(--#{$title}-s) var(--#{$title}-l));
18
+ --background-color: var(--#{$title});
19
19
  }
20
20
 
21
21
  @mixin make-border-color($title) {
22
- --border-color: hsl(var(--#{$title}-h) var(--#{$title}-s) var(--#{$title}-l));
22
+ --border-color: var(--#{$title});
23
23
  }
@@ -4,34 +4,44 @@
4
4
  // Horizontal gradient, from left to right
5
5
  // Creates two color stops, start and end, by specifying a color and position for each color stop.
6
6
 
7
- @mixin gradient-x($start-color: $gray-7, $end-color: $gray-8, $start-percent: 0%, $end-percent: 100%) {
7
+ @mixin gradient-x($start-color: var(--gray-7), $end-color: var(--gray-8), $start-percent: 0%, $end-percent: 100%) {
8
8
  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
9
9
  }
10
10
 
11
11
  // Vertical gradient, from top to bottom
12
12
  // Creates two color stops, start and end, by specifying a color and position for each color stop.
13
13
 
14
- @mixin gradient-y($start-color: $gray-7, $end-color: $gray-8, $start-percent: null, $end-percent: null) {
14
+ @mixin gradient-y($start-color: var(--gray-7), $end-color: var(--gray-8), $start-percent: null, $end-percent: null) {
15
15
  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
16
16
  }
17
17
 
18
- @mixin gradient-directional($start-color: $gray-7, $end-color: $gray-8, $deg: 45deg) {
18
+ @mixin gradient-directional($start-color: var(--gray-7), $end-color: var(--gray-8), $deg: 45deg) {
19
19
  background-image: linear-gradient($deg, $start-color, $end-color);
20
20
  }
21
21
 
22
- @mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
22
+ @mixin gradient-x-three-colors(
23
+ $start-color: var(--blue),
24
+ $mid-color: var(--purple),
25
+ $color-stop: 50%,
26
+ $end-color: var(--red)
27
+ ) {
23
28
  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
24
29
  }
25
30
 
26
- @mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
31
+ @mixin gradient-y-three-colors(
32
+ $start-color: var(--blue),
33
+ $mid-color: var(--purple),
34
+ $color-stop: 50%,
35
+ $end-color: var(--red)
36
+ ) {
27
37
  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
28
38
  }
29
39
 
30
- @mixin gradient-radial($inner-color: $gray-7, $outer-color: $gray-8) {
40
+ @mixin gradient-radial($inner-color: var(--gray-7), $outer-color: var(--gray-8)) {
31
41
  background-image: radial-gradient(circle, $inner-color, $outer-color);
32
42
  }
33
43
 
34
- @mixin gradient-striped($color: rgba($white, 15%), $angle: 45deg) {
44
+ @mixin gradient-striped($color: hsl(var(--white) h s l / 15%), $angle: 45deg) {
35
45
  background-image: linear-gradient(
36
46
  $angle,
37
47
  $color 25%,
@@ -8,12 +8,10 @@
8
8
  --alert-border-style: solid;
9
9
  --alert-border-color: var(--border-color-main);
10
10
  --alert-border-radius: var(--border-radius-default);
11
- --alert-background: hsl(var(--body-color-h) var(--body-color-s) #{$alert-background-l});
12
- --alert-color: hsl(var(--body-color-h) var(--body-color-s) #{$alert-color-l});
13
- --alert-link-color: hsl(var(--body-color-h) var(--body-color-s) #{$alert-color-l});
14
- --alert-link-hover-color: hsl(
15
- var(--body-color-h) var(--body-color-s) calc(#{$alert-color-l} - #{$link-shade-percentage})
16
- );
11
+ --alert-background: color-mix(in oklab, var(--body-color), #fff #{$alert-background-l});
12
+ --alert-color: color-mix(in oklab, var(--body-color), #000 #{$alert-color-l});
13
+ --alert-link-color: color-mix(in oklab, var(--body-color), #000 #{$alert-color-l});
14
+ --alert-link-hover-color: color-mix(in oklab, var(--body-color), #000 #{$alert-color-l + $link-shade-percentage});
17
15
 
18
16
  color: var(--alert-color);
19
17
  border: var(--alert-border-width) var(--alert-border-style) var(--alert-border-color);
@@ -55,12 +53,10 @@
55
53
 
56
54
  @each $key, $value in $all-colors {
57
55
  .alert--#{$key} {
58
- --alert-border-color: hsl(var(--#{$key}-h) var(--#{$key}-s) #{$alert-border-l});
59
- --alert-background: hsl(var(--#{$key}-h) var(--#{$key}-s) #{$alert-background-l});
60
- --alert-color: hsl(var(--#{$key}-h) var(--#{$key}-s) #{$alert-color-l});
61
- --alert-link-color: hsl(var(--#{$key}-h) var(--#{$key}-s) #{$alert-color-l});
62
- --alert-link-hover-color: hsl(
63
- var(--#{$key}-h) var(--#{$key}-s) calc(#{$alert-color-l} - #{$link-shade-percentage})
64
- );
56
+ --alert-border-color: color-mix(in oklab, var(--#{$key}), #fff #{$alert-border-l});
57
+ --alert-background: color-mix(in oklab, var(--#{$key}), #fff #{$alert-background-l});
58
+ --alert-color: color-mix(in oklab, var(--#{$key}), #000 #{$alert-color-l});
59
+ --alert-link-color: color-mix(in oklab, var(--#{$key}), #000 #{$alert-color-l});
60
+ --alert-link-hover-color: color-mix(in oklab, var(--#{$key}), #000 #{$alert-color-l + $link-shade-percentage});
65
61
  }
66
62
  }
@@ -4,7 +4,7 @@
4
4
 
5
5
  .breadcrumbs {
6
6
  --breadcrumb-color: var(--medium);
7
- --breadcrumb-hover-color: hsl(var(--medium-h) var(--medium-s) calc(var(--medium-l) - #{$link-shade-percentage}));
7
+ --breadcrumb-hover-color: color-mix(in oklab, var(--medium), #000 #{$link-shade-percentage});
8
8
 
9
9
  @include make-list-unstyled;
10
10
 
@@ -4,32 +4,26 @@
4
4
 
5
5
  .button {
6
6
  // Changing
7
- --button-color: hsl(var(--body-color-h) var(--body-color-s) var(--body-color-l));
8
- --button-hover-color: hsl(var(--body-color-h) var(--body-color-s) var(--body-color-l));
9
- --button-focus-color: hsl(
10
- var(--body-color-h) var(--body-color-s) calc(var(--body-color-l) - #{$link-shade-percentage})
11
- );
12
- --button-active-color: hsl(
13
- var(--body-color-h) var(--body-color-s) calc(var(--body-color-l) - #{$link-shade-percentage})
14
- );
15
- --button-disabled-color: hsl(var(--body-color-h) var(--body-color-s) var(--body-color-l) / #{$color-disabled-alpha});
7
+ --button-color: var(--body-color);
8
+ --button-hover-color: var(--body-color);
9
+ --button-focus-color: color-mix(in oklab, var(--body-color), #000 #{$link-shade-percentage});
10
+ --button-active-color: color-mix(in oklab, var(--body-color), #000 #{$link-shade-percentage});
11
+ --button-disabled-color: hsl(from var(--body-color) h s l / #{$color-disabled-alpha});
16
12
  --button-border-color: var(--border-color-main);
17
13
  --button-hover-border-color: var(--border-color-hover-main);
18
14
  --button-focus-border-color: var(--border-color-hover-main);
19
15
  --button-active-border-color: var(--border-color-hover-main);
20
- --button-disabled-border-color: hsl(
21
- var(--border-color-main-h) var(--border-color-main-s) var(--border-color-main-l) / #{$color-disabled-alpha}
22
- );
23
- --button-background: hsl(var(--body-color-h) var(--body-color-s) 100%);
24
- --button-hover-background: hsl(var(--body-color-h) var(--body-color-s) 100%);
25
- --button-focus-background: hsl(var(--body-color-h) var(--body-color-s) 100%);
26
- --button-active-background: hsl(var(--body-color-h) var(--body-color-s) 95%);
27
- --button-disabled-background: hsl(var(--body-color-h) var(--body-color-s) 100% / #{$color-disabled-alpha});
28
- --button-box-shadow: 0 0 0 0.125em hsl(var(--body-color-h) var(--body-color-s) var(--body-color-l) / 0%);
29
- --button-hover-box-shadow: 0 0 0 0.125em hsl(var(--body-color-h) var(--body-color-s) var(--body-color-l) / 0%);
30
- --button-focus-box-shadow: 0 0 0 0.125em hsl(var(--body-color-h) var(--body-color-s) var(--body-color-l) / 20%);
31
- --button-active-box-shadow: 0 0 0 0.125em hsl(var(--body-color-h) var(--body-color-s) var(--body-color-l) / 20%);
32
- --button-disabled-box-shadow: 0 0 0 0.125em hsl(var(--body-color-h) var(--body-color-s) var(--body-color-l) / 0%);
16
+ --button-disabled-border-color: hsl(from var(--body-color) h s l / #{$color-disabled-alpha});
17
+ --button-background: var(--white);
18
+ --button-hover-background: var(--white);
19
+ --button-focus-background: var(--white);
20
+ --button-active-background: color-mix(in oklab, var(--body-color), #fff 95%);
21
+ --button-disabled-background: hsl(from var(--white) h s l / #{$color-disabled-alpha});
22
+ --button-box-shadow: 0 0 0 0.125em transparent;
23
+ --button-hover-box-shadow: 0 0 0 0.125em transparent;
24
+ --button-focus-box-shadow: 0 0 0 0.125em hsl(from var(--body-color) h s l / 20%);
25
+ --button-active-box-shadow: 0 0 0 0.125em hsl(from var(--body-color) h s l / 20%);
26
+ --button-disabled-box-shadow: 0 0 0 0.125em transparent;
33
27
 
34
28
  // Static
35
29
  --button-padding-x: #{$button-padding-x};
@@ -107,8 +101,7 @@
107
101
  }
108
102
  }
109
103
 
110
- &:hover,
111
- .button--switch + &:hover {
104
+ &:hover {
112
105
  color: var(--button-hover-color);
113
106
  background: var(--button-hover-background);
114
107
  border-color: var(--button-hover-border-color);
@@ -116,8 +109,7 @@
116
109
  text-decoration: var(--button-hover-text-decoration);
117
110
  }
118
111
 
119
- &:focus-visible,
120
- .button--switch:focus-visible + & {
112
+ &:focus-visible {
121
113
  color: var(--button-focus-color);
122
114
  background: var(--button-focus-background);
123
115
  border-color: var(--button-focus-border-color);
@@ -125,8 +117,6 @@
125
117
  z-index: 1;
126
118
  }
127
119
 
128
- .button--switch:checked + &,
129
- :not(.button--switch) + &:active,
130
120
  &:first-child:active,
131
121
  &.active,
132
122
  &.show {
@@ -4,7 +4,7 @@
4
4
 
5
5
  .card {
6
6
  --card-background: var(--white);
7
- --card-hover-background: hsl(var(--body-color-h) var(--body-color-s) var(--body-color-l) / 10%);
7
+ --card-hover-background: color-mix(in oklab, var(--body-color), #fff 95%);
8
8
  --card-border-width: 1px;
9
9
  --card-border-style: solid;
10
10
  --card-border-color: var(--border-color-main);