@justeattakeaway/pie-css 0.14.1 → 0.15.1

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.css CHANGED
@@ -98,6 +98,7 @@
98
98
  --dt-color-interactive-form: var(--dt-color-mozzarella-60);
99
99
  --dt-color-interactive-error: var(--dt-color-red);
100
100
  --dt-color-overlay: rgb(0,0,0,0.55);
101
+ --dt-color-transparent: rgb(255,255,255,0);
101
102
  --dt-color-support-error: var(--dt-color-red);
102
103
  --dt-color-support-warning: var(--dt-color-yellow);
103
104
  --dt-color-support-positive: var(--dt-color-green);
@@ -149,14 +150,23 @@
149
150
  --dt-color-content-positive: var(--dt-color-green);
150
151
  --dt-color-content-disabled: var(--dt-color-charcoal-50);
151
152
  --dt-color-content-brand: var(--dt-color-orange);
153
+ --dt-color-hover-01-bg: #000;
152
154
  --dt-color-hover-01: 4%;
155
+ --dt-color-hover-01-dark-bg: #000;
153
156
  --dt-color-hover-01-dark: 4%;
157
+ --dt-color-hover-02-bg: #fff;
154
158
  --dt-color-hover-02: 8%;
159
+ --dt-color-hover-02-light-bg: #fff;
155
160
  --dt-color-hover-02-light: 8%;
161
+ --dt-color-active-01-bg: #000;
156
162
  --dt-color-active-01: 12%;
163
+ --dt-color-active-01-dark-bg: #000;
157
164
  --dt-color-active-01-dark: 12%;
165
+ --dt-color-active-02-bg: #fff;
158
166
  --dt-color-active-02: 20%;
167
+ --dt-color-active-02-light-bg: #fff;
159
168
  --dt-color-active-02-light: 20%;
169
+ --dt-color-resting-bg: #fff;
160
170
  --dt-color-resting: 0%;
161
171
  --dt-color-focus-inner: var(--dt-color-white);
162
172
  --dt-color-focus-outer: var(--dt-color-blue-70);
@@ -465,6 +475,7 @@ html[data-highcontrast-enabled] {
465
475
  --dt-color-interactive-form: var(--dt-color-black);
466
476
  --dt-color-interactive-error: var(--dt-color-red);
467
477
  --dt-color-overlay: rgb(0,0,0,0.55);
478
+ --dt-color-transparent: rgb(255,255,255,0);
468
479
  --dt-color-support-error: var(--dt-color-red-dark-hc);
469
480
  --dt-color-support-warning: var(--dt-color-yellow-dark-hc);
470
481
  --dt-color-support-positive: var(--dt-color-green-dark-hc);
@@ -516,14 +527,23 @@ html[data-highcontrast-enabled] {
516
527
  --dt-color-content-positive: var(--dt-color-green-dark-hc);
517
528
  --dt-color-content-disabled: var(--dt-color-charcoal-50);
518
529
  --dt-color-content-brand: var(--dt-color-orange-dark-hc);
530
+ --dt-color-hover-01-bg: #000;
519
531
  --dt-color-hover-01: 4%;
532
+ --dt-color-hover-01-dark-bg: #000;
520
533
  --dt-color-hover-01-dark: 4%;
534
+ --dt-color-hover-02-bg: #fff;
521
535
  --dt-color-hover-02: 8%;
536
+ --dt-color-hover-02-light-bg: #fff;
522
537
  --dt-color-hover-02-light: 8%;
538
+ --dt-color-active-01-bg: #000;
523
539
  --dt-color-active-01: 12%;
540
+ --dt-color-active-01-dark-bg: #000;
524
541
  --dt-color-active-01-dark: 12%;
542
+ --dt-color-active-02-bg: #fff;
525
543
  --dt-color-active-02: 20%;
544
+ --dt-color-active-02-light-bg: #fff;
526
545
  --dt-color-active-02-light: 20%;
546
+ --dt-color-resting-bg: #fff;
527
547
  --dt-color-resting: 0%;
528
548
  --dt-color-focus-inner: var(--dt-color-white);
529
549
  --dt-color-focus-outer: var(--dt-color-blue-70);
@@ -566,6 +586,7 @@ html[data-highcontrast-enabled] {
566
586
  --dt-color-interactive-form: var(--dt-color-mozzarella-50);
567
587
  --dt-color-interactive-error: var(--dt-color-red-40);
568
588
  --dt-color-overlay: rgb(0,0,0,0.55);
589
+ --dt-color-transparent: rgb(255,255,255,0);
569
590
  --dt-color-support-error: var(--dt-color-red-40);
570
591
  --dt-color-support-warning: var(--dt-color-yellow);
571
592
  --dt-color-support-positive: var(--dt-color-green-30);
@@ -617,14 +638,23 @@ html[data-highcontrast-enabled] {
617
638
  --dt-color-content-positive: var(--dt-color-green-30);
618
639
  --dt-color-content-disabled: var(--dt-color-charcoal-50);
619
640
  --dt-color-content-brand: var(--dt-color-orange-30);
641
+ --dt-color-hover-01-bg: #fff;
620
642
  --dt-color-hover-01: 8%;
643
+ --dt-color-hover-01-dark-bg: #000;
621
644
  --dt-color-hover-01-dark: 4%;
645
+ --dt-color-hover-02-bg: #000;
622
646
  --dt-color-hover-02: 4%;
647
+ --dt-color-hover-02-light-bg: #fff;
623
648
  --dt-color-hover-02-light: 8%;
649
+ --dt-color-active-01-bg: #fff;
624
650
  --dt-color-active-01: 20%;
651
+ --dt-color-active-01-dark-bg: #000;
625
652
  --dt-color-active-01-dark: 12%;
653
+ --dt-color-active-02-bg: #000;
626
654
  --dt-color-active-02: 12%;
655
+ --dt-color-active-02-light-bg: #fff;
627
656
  --dt-color-active-02-light: 20%;
657
+ --dt-color-resting-bg: #000;
628
658
  --dt-color-resting: 0%;
629
659
  --dt-color-focus-inner: var(--dt-color-black);
630
660
  --dt-color-focus-outer: var(--dt-color-blue-30);
@@ -668,6 +698,7 @@ html[data-highcontrast-enabled] {
668
698
  --dt-color-interactive-form: var(--dt-color-white);
669
699
  --dt-color-interactive-error: var(--dt-color-red-40);
670
700
  --dt-color-overlay: rgb(0,0,0,0.55);
701
+ --dt-color-transparent: rgb(255,255,255,0);
671
702
  --dt-color-support-error: var(--dt-color-red-light-hc);
672
703
  --dt-color-support-warning: var(--dt-color-yellow);
673
704
  --dt-color-support-positive: var(--dt-color-green-light-hc);
@@ -719,14 +750,23 @@ html[data-highcontrast-enabled] {
719
750
  --dt-color-content-positive: var(--dt-color-green-light-hc);
720
751
  --dt-color-content-disabled: var(--dt-color-charcoal-50);
721
752
  --dt-color-content-brand: var(--dt-color-orange-30);
753
+ --dt-color-hover-01-bg: #fff;
722
754
  --dt-color-hover-01: 8%;
755
+ --dt-color-hover-01-dark-bg: #000;
723
756
  --dt-color-hover-01-dark: 4%;
757
+ --dt-color-hover-02-bg: #000;
724
758
  --dt-color-hover-02: 4%;
759
+ --dt-color-hover-02-light-bg: #fff;
725
760
  --dt-color-hover-02-light: 8%;
761
+ --dt-color-active-01-bg: #fff;
726
762
  --dt-color-active-01: 20%;
763
+ --dt-color-active-01-dark-bg: #000;
727
764
  --dt-color-active-01-dark: 12%;
765
+ --dt-color-active-02-bg: #000;
728
766
  --dt-color-active-02: 12%;
767
+ --dt-color-active-02-light-bg: #fff;
729
768
  --dt-color-active-02-light: 20%;
769
+ --dt-color-resting-bg: #000;
730
770
  --dt-color-resting: 0%;
731
771
  --dt-color-focus-inner: var(--dt-color-black);
732
772
  --dt-color-focus-outer: var(--dt-color-blue-30);
package/package.json CHANGED
@@ -1,7 +1,12 @@
1
1
  {
2
2
  "name": "@justeattakeaway/pie-css",
3
- "version": "0.14.1",
3
+ "version": "0.15.1",
4
4
  "description": "A styling library that provides both a shared collection of ready to use CSS styles to be used across JET web front-ends, and SCSS-based style helpers for our PIE Web Component library.",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/justeattakeaway/pie",
8
+ "directory": "packages/tools/pie-css"
9
+ },
5
10
  "author": "Just Eat Takeaway.com - Design System Team",
6
11
  "files": [
7
12
  "scss"
@@ -24,7 +29,6 @@
24
29
  "SCSS",
25
30
  "SASS"
26
31
  ],
27
- "repository": "https://github.com/justeattakeaway/pie.git",
28
32
  "license": "Apache-2.0",
29
33
  "devDependencies": {
30
34
  "@types/postcss-import": "14.0.3",
@@ -0,0 +1,70 @@
1
+ // ----------------------------------------------
2
+ // Mixin to define hover, active and loading styles for interactive elements.
3
+ // The mixin expects the '--int-states-mixin-bg-color' css var to be used in component styles.
4
+ // ---
5
+ // $bg-color: design token name to be used for the states
6
+ // $mode: 'default': apply the default lighten/darken to the color via hsl
7
+ // 'alt': applies a larger percentage change to the color (darken)
8
+ // 'inverse': inverts the modifier, so that it lightens the color rather than darken it
9
+ // 'transparent': uses hsla syntax to make the color semi-opaque with base as black
10
+ // 'transparent-inverse': uses hsla syntax to make the color semi-opaque with base as white
11
+ // $level: the level of hover/active to be used. Follows hover/active token names (01, 02, 01-dark, 02-light)
12
+ // ----------------------------------------------
13
+ @mixin interactive-states($bg-color, $mode: default, $level: '01') {
14
+ // Needed for webviews and safari <16.2
15
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/color-mix#browser_compatibility
16
+ &:hover:not(:disabled, .is-disabled, .is-dismissible) {
17
+ @if $mode == 'alt' {
18
+ --hover-modifier: calc(-1 * var(--dt-color-hover-02));
19
+ } @else if $mode == 'inverse' {
20
+ --hover-modifier: var(--dt-color-hover-02);
21
+ } @else {
22
+ --hover-modifier: calc(-1 * var(--dt-color-hover-01));
23
+ }
24
+
25
+ // for mode=transparent, use the hsla syntax to make the button background opaque by a set percentage
26
+ @if $mode == 'transparent' {
27
+ --hover-modifier: var(--dt-color-hover-01);
28
+ --int-states-mixin-bg-color: hsl(var(--dt-color-black-h), var(--dt-color-black-s), var(--dt-color-black-l), var(--hover-modifier));
29
+ }
30
+ @if $mode == 'transparent-inverse' {
31
+ --hover-modifier: var(--dt-color-hover-02);
32
+ --int-states-mixin-bg-color: hsl(var(--dt-color-white-h), var(--dt-color-white-s), var(--dt-color-white-l), var(--active-modifier));
33
+ } @else {
34
+ --int-states-mixin-bg-color: hsl(var(#{$bg-color}-h), var(#{$bg-color}-s), calc(var(#{$bg-color}-l) + var(--hover-modifier)));
35
+ }
36
+ }
37
+
38
+ &:active:not(:disabled, .is-disabled, .is-dismissible),
39
+ &.is-loading:not(:disabled, .is-disabled) {
40
+ @if $mode == 'alt' {
41
+ --active-modifier: calc(-1 * var(--dt-color-active-02));
42
+ } @else if $mode == 'inverse' {
43
+ --active-modifier: var(--dt-color-active-02);
44
+ } @else {
45
+ --active-modifier: calc(-1 * var(--dt-color-active-01));
46
+ }
47
+
48
+ @if $mode == 'transparent' {
49
+ --active-modifier: var(--dt-color-active-01);
50
+ --int-states-mixin-bg-color: hsl(var(--dt-color-black-h), var(--dt-color-black-s), var(--dt-color-black-l), var(--active-modifier));
51
+ }
52
+ @if $mode == 'transparent-inverse' {
53
+ --active-modifier: var(--dt-color-active-02);
54
+ --int-states-mixin-bg-color: hsl(var(--dt-color-white-h), var(--dt-color-white-s), var(--dt-color-white-l), var(--active-modifier));
55
+ } @else {
56
+ --int-states-mixin-bg-color: hsl(var(#{$bg-color}-h), var(#{$bg-color}-s), calc(var(#{$bg-color}-l) + var(--active-modifier)));
57
+ }
58
+ }
59
+
60
+ @supports (background-color: color-mix(in srgb, black, white)) {
61
+ &:hover:not(:disabled, .is-disabled, .is-dismissible) {
62
+ --int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-hover-#{$level}-bg) var(--dt-color-hover-#{$level}), var(#{$bg-color}));
63
+ }
64
+
65
+ &:active:not(:disabled, .is-disabled, .is-dismissible),
66
+ &.is-loading:not(:disabled, .is-disabled) {
67
+ --int-states-mixin-bg-color: color-mix(in srgb, var(--dt-color-active-#{$level}-bg) var(--dt-color-active-#{$level}), var(#{$bg-color}));
68
+ }
69
+ }
70
+ }
@@ -1,4 +1,4 @@
1
- @forward './buttonInteractiveStates';
1
+ @forward './interactiveStates';
2
2
  @forward './unitModifiers';
3
3
  @forward './focus';
4
4
  @forward './visuallyHidden';
@@ -1,47 +0,0 @@
1
- // ----------------------------------------------
2
- // Mixin to define button states for hover, active and loading.
3
- // ---
4
- // $bg-color: design token name to be used for the states
5
- // $mode: 'default': apply the default lighten/darken to the color via hsl
6
- // 'alt': applies a larger percentage change to the color (darken)
7
- // 'inverse': inverts the modifier, so that it lightens the color rather than darken it
8
- // 'transparent': uses hsla syntax to make the color semi-opaque (used for ghost and outline button variants)
9
- // }
10
- // ----------------------------------------------
11
- @mixin button-interactive-states($bg-color, $mode: 'default') {
12
- &:hover:not(:disabled) {
13
- @if $mode == 'alt' {
14
- --hover-modifier: calc(-1 * var(--dt-color-hover-02));
15
- } @else if $mode == 'inverse' {
16
- --hover-modifier: var(--dt-color-hover-02);
17
- } @else {
18
- --hover-modifier: calc(-1 * var(--dt-color-hover-01));
19
- }
20
-
21
- // for mode=transparent, use the hsla syntax to make the button background opaque by a set percentage
22
- @if $mode == 'transparent' {
23
- --hover-modifier: var(--dt-color-hover-01);
24
- --btn-bg-color: hsl(var(#{$bg-color}-h), var(#{$bg-color}-s), var(#{$bg-color}-l), var(--hover-modifier));
25
- } @else {
26
- --btn-bg-color: hsl(var(#{$bg-color}-h), var(#{$bg-color}-s), calc(var(#{$bg-color}-l) + var(--hover-modifier)));
27
- }
28
- }
29
-
30
- &:active:not(:disabled),
31
- &.is-loading:not(:disabled) {
32
- @if $mode == 'alt' {
33
- --active-modifier: calc(-1 * var(--dt-color-active-02));
34
- } @else if $mode == 'inverse' {
35
- --active-modifier: var(--dt-color-active-02);
36
- } @else {
37
- --active-modifier: calc(-1 * var(--dt-color-active-01));
38
- }
39
-
40
- @if $mode == 'transparent' {
41
- --active-modifier: var(--dt-color-active-01);
42
- --btn-bg-color: hsl(var(#{$bg-color}-h), var(#{$bg-color}-s), var(#{$bg-color}-l), var(--active-modifier));
43
- } @else {
44
- --btn-bg-color: hsl(var(#{$bg-color}-h), var(#{$bg-color}-s), calc(var(#{$bg-color}-l) + var(--active-modifier)));
45
- }
46
- }
47
- }