@coopdigital/styles 1.22.0 → 1.23.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.
@@ -1 +1 @@
1
- :root{--color-brand-blue:#00a1cc;--color-blue-900:#002c3d;--color-blue-800:#00394e;--color-blue-700:#005878;--color-blue-500:#00729a;--color-blue-100:#ecf2fb;--color-blue:var(--color-blue-500);--color-text-link:var(--color-blue-500);--color-text-link-hover:var(--color-blue-800);--color-text-link-active:var(--color-blue-900);--color-text-link-visited:var(--color-blue-900);--color-teal-500:#0f8482;--color-teal:var(--color-teal-500);--color-purple-500:#8d44d8;--color-purple:var(--color-purple-500);--color-focus:var(--color-purple-500);--color-red-100:#fcf1f1;--color-red-500:#d12430;--color-red:var(--color-red-500);--color-green-100:#dcedc8;--color-green-500:#5b7f2e;--color-green:var(--color-green-500);--color-yellow-100:var(--color-tint-yellow);--color-yellow-500:var(--color-light-yellow);--color-yellow-900:var(--color-dark-yellow);--color-yellow:var(--color-light-yellow);--color-offer:var(--color-red-500);--color-error:var(--color-red-500);--color-error-light:var(--color-red-100);--color-alert:var(--color-yellow-500);--color-alert-light:var(--color-yellow-100);--color-success:var(--color-green-500);--color-success-light:var(--color-green-100);--color-white:#fff;--color-black:#000;--color-grey-warm-100:#f5f5f0;--color-grey-warm-500:#e5e3da;--color-grey-warm-900:#3a352f;--color-grey-warm:var(--color-grey-warm-500);--color-grey-cool-100:#f2f4f7;--color-grey-cool-500:#dde9ed;--color-grey-cool-900:#1f262c;--color-grey-cool:var(--color-grey-cool-500);--color-grey-900:#282828;--color-grey-800:#595959;--color-grey-700:#6e6e6e;--color-grey-600:#c4c4c4;--color-grey-500:#d8d8d8;--color-grey-400:#e6e6e6;--color-grey-300:#efefef;--color-grey-200:#f3f3f3;--color-grey-100:#fafafa;--color-grey:var(--color-grey-500);--color-text-default:var(--color-grey-900);--color-text-alt:var(--color-grey-800);--color-text-black:var(--color-black);--color-text-white:var(--color-white);--color-text-dark-blue:var(--color-dark-blue);--color-tint-purple:#fef2ff;--color-tint-pink:#ffeaf2;--color-tint-green:#f9fbdd;--color-tint-orange:#ffede0;--color-tint-red:#ffe8e9;--color-tint-yellow:#fff4d5;--color-tint-lilac:#f2f2ff;--color-tint-blue:#e6f6fa;--color-tint-grey:var(--color-grey-200);--color-tint-brown:var(--color-grey-warm-100);--color-light-purple:#f8beff;--color-light-pink:#ffaece;--color-light-green:#e1ec54;--color-light-orange:#ffb886;--color-light-red:#ffb1b4;--color-light-yellow:#ffc82b;--color-light-lilac:#bfbffd;--color-light-blue:#80d0e5;--color-dark-purple:#c164c9;--color-dark-pink:#f85792;--color-dark-green:#819c00;--color-dark-orange:#e85a00;--color-dark-red:#f14f57;--color-dark-yellow:#b78f1f;--color-dark-lilac:#6762f9;--color-dark-blue:#003057}
1
+ :root{--color-brand-blue:#00a1cc;--color-blue-900:#002c3d;--color-blue-800:#00394e;--color-blue-700:#005878;--color-blue-500:#00729a;--color-blue-100:#ecf2fb;--color-blue:var(--color-blue-500);--color-text-link:var(--color-blue-500);--color-text-link-hover:var(--color-blue-800);--color-text-link-active:var(--color-blue-900);--color-text-link-visited:var(--color-blue-900);--color-teal-500:#0f8482;--color-teal:var(--color-teal-500);--color-purple-500:#8d44d8;--color-purple:var(--color-purple-500);--color-focus:var(--color-purple-500);--color-red-100:#fcf1f1;--color-red-500:#d12430;--color-red:var(--color-red-500);--color-green-100:#dcedc8;--color-green-500:#5b7f2e;--color-green:var(--color-green-500);--color-yellow-100:var(--color-tint-yellow);--color-yellow-500:var(--color-light-yellow);--color-yellow-900:var(--color-dark-yellow);--color-yellow:var(--color-light-yellow);--color-offer:var(--color-red-500);--color-error:var(--color-red-500);--color-error-light:var(--color-red-100);--color-alert:var(--color-yellow-500);--color-alert-light:var(--color-yellow-100);--color-success:var(--color-green-500);--color-success-light:var(--color-green-100);--color-white:#fff;--color-black:#000;--color-grey-warm-100:#f5f5f0;--color-grey-warm-500:#e5e3da;--color-grey-warm-900:#3a352f;--color-grey-warm:var(--color-grey-warm-500);--color-grey-cool-100:#f2f4f7;--color-grey-cool-500:#dde9ed;--color-grey-cool-900:#1f262c;--color-grey-cool:var(--color-grey-cool-500);--color-grey-900:#282828;--color-grey-800:#595959;--color-grey-700:#6e6e6e;--color-grey-600:#c4c4c4;--color-grey-500:#d8d8d8;--color-grey-400:#e6e6e6;--color-grey-300:#efefef;--color-grey-200:#f3f3f3;--color-grey-100:#fafafa;--color-grey:var(--color-grey-500);--color-text-default:var(--color-grey-900);--color-text-alt:var(--color-grey-800);--color-text-black:var(--color-black);--color-text-white:var(--color-white);--color-text-dark-blue:var(--color-dark-blue);--color-tint-purple:#fef2ff;--color-tint-pink:#ffeaf2;--color-tint-green:#f9fbdd;--color-tint-orange:#ffede0;--color-tint-red:#ffe8e9;--color-tint-yellow:#fff4d5;--color-tint-lilac:#f2f2ff;--color-tint-blue:#e6f6fa;--color-tint-grey:var(--color-grey-200);--color-tint-brown:var(--color-grey-warm-100);--color-light-purple:#f8beff;--color-light-pink:#ffaece;--color-light-green:#e1ec54;--color-light-orange:#ffb886;--color-light-red:#ffb1b4;--color-light-yellow:#ffc82b;--color-light-lilac:#bfbffd;--color-light-blue:#80d0e5;--color-dark-purple:#c164c9;--color-dark-pink:#f85792;--color-dark-green:#819c00;--color-dark-orange:#e85a00;--color-dark-red:#f14f57;--color-dark-yellow:#b78f1f;--color-dark-lilac:#6762f9;--color-dark-blue:#003057;--color-navy:var(--color-dark-blue)}
package/dist/vars.css CHANGED
@@ -1 +1 @@
1
- :root{--color-brand-blue:#00a1cc;--color-blue-900:#002c3d;--color-blue-800:#00394e;--color-blue-700:#005878;--color-blue-500:#00729a;--color-blue-100:#ecf2fb;--color-blue:var(--color-blue-500);--color-text-link:var(--color-blue-500);--color-text-link-hover:var(--color-blue-800);--color-text-link-active:var(--color-blue-900);--color-text-link-visited:var(--color-blue-900);--color-teal-500:#0f8482;--color-teal:var(--color-teal-500);--color-purple-500:#8d44d8;--color-purple:var(--color-purple-500);--color-focus:var(--color-purple-500);--color-red-100:#fcf1f1;--color-red-500:#d12430;--color-red:var(--color-red-500);--color-green-100:#dcedc8;--color-green-500:#5b7f2e;--color-green:var(--color-green-500);--color-yellow-100:var(--color-tint-yellow);--color-yellow-500:var(--color-light-yellow);--color-yellow-900:var(--color-dark-yellow);--color-yellow:var(--color-light-yellow);--color-offer:var(--color-red-500);--color-error:var(--color-red-500);--color-error-light:var(--color-red-100);--color-alert:var(--color-yellow-500);--color-alert-light:var(--color-yellow-100);--color-success:var(--color-green-500);--color-success-light:var(--color-green-100);--color-white:#fff;--color-black:#000;--color-grey-warm-100:#f5f5f0;--color-grey-warm-500:#e5e3da;--color-grey-warm-900:#3a352f;--color-grey-warm:var(--color-grey-warm-500);--color-grey-cool-100:#f2f4f7;--color-grey-cool-500:#dde9ed;--color-grey-cool-900:#1f262c;--color-grey-cool:var(--color-grey-cool-500);--color-grey-900:#282828;--color-grey-800:#595959;--color-grey-700:#6e6e6e;--color-grey-600:#c4c4c4;--color-grey-500:#d8d8d8;--color-grey-400:#e6e6e6;--color-grey-300:#efefef;--color-grey-200:#f3f3f3;--color-grey-100:#fafafa;--color-grey:var(--color-grey-500);--color-text-default:var(--color-grey-900);--color-text-alt:var(--color-grey-800);--color-text-black:var(--color-black);--color-text-white:var(--color-white);--color-text-dark-blue:var(--color-dark-blue);--color-tint-purple:#fef2ff;--color-tint-pink:#ffeaf2;--color-tint-green:#f9fbdd;--color-tint-orange:#ffede0;--color-tint-red:#ffe8e9;--color-tint-yellow:#fff4d5;--color-tint-lilac:#f2f2ff;--color-tint-blue:#e6f6fa;--color-tint-grey:var(--color-grey-200);--color-tint-brown:var(--color-grey-warm-100);--color-light-purple:#f8beff;--color-light-pink:#ffaece;--color-light-green:#e1ec54;--color-light-orange:#ffb886;--color-light-red:#ffb1b4;--color-light-yellow:#ffc82b;--color-light-lilac:#bfbffd;--color-light-blue:#80d0e5;--color-dark-purple:#c164c9;--color-dark-pink:#f85792;--color-dark-green:#819c00;--color-dark-orange:#e85a00;--color-dark-red:#f14f57;--color-dark-yellow:#b78f1f;--color-dark-lilac:#6762f9;--color-dark-blue:#003057;--ui-shadow:0 2px 4px 0 #00000026;--ui-shadow-sm:0 2px 2px 0 #0000001a;--ui-shadow-hover:0 2px 4px 0 #00000040;--ui-transition-hover:.1s ease-out;--ui-transition-hover-property:background-color, color;--ui-border-radius-sm:4px;--ui-border-radius-md:6px;--ui-border-radius-lg:8px;--ui-border-radius-xl:12px;--ui-border-radius-2xl:16px;--ui-border-radius-3xl:24px;--ui-border-radius-full:calc(infinity * 1px);--ui-text-underline-offset:3px;--spacing-64:4rem;--spacing-60:3.75rem;--spacing-58:3.625rem;--spacing-56:3.5rem;--spacing-54:3.375rem;--spacing-52:3.25rem;--spacing-48:3rem;--spacing-40:2.5rem;--spacing-32:2rem;--spacing-24:1.5rem;--spacing-20:1.25rem;--spacing-18:1.125rem;--spacing-16:1rem;--spacing-14:.875rem;--spacing-12:.75rem;--spacing-10:.625rem;--spacing-8:.5rem;--spacing-6:.375rem;--spacing-4:.25rem;--spacing-2:.125rem;--font-family:"Avenir Next", "Avenir-Next", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-family-headline:"Co-opHeadline", "Impact Fallback", sans-serif;--font-family-mono:ui-monospace, monospace;--font-weight-default:normal;--font-weight-medium:500;--font-weight-demibold:600;--text-size-10:.625rem;--text-size-11:.6875rem;--text-size-12:.75rem;--text-size-13:.8125rem;--text-size-14:.875rem;--text-size-16:1rem;--text-size-18:1.125rem;--text-size-20:1.25rem;--text-size-22:1.375rem;--text-size-24:1.5rem;--text-size-26:1.625rem;--text-size-28:1.75rem;--text-size-30:1.875rem;--text-size-32:2rem;--text-size-36:2.25rem;--text-size-40:2.5rem;--text-size-46:2.875rem;--text-size-48:3rem;--text-size-56:3.5rem;--text-size-60:3.75rem;--text-size-64:4rem;--text-size-72:4.5rem;--text-size-82:5.125rem;--text-size-96:6rem;--text-size-default:var(--text-size-18);--type-line-height-default:1.5;--type-line-height-tight:1.25;--type-line-height-headline:1.05;--type-line-height-loose:1.75}
1
+ :root{--color-brand-blue:#00a1cc;--color-blue-900:#002c3d;--color-blue-800:#00394e;--color-blue-700:#005878;--color-blue-500:#00729a;--color-blue-100:#ecf2fb;--color-blue:var(--color-blue-500);--color-text-link:var(--color-blue-500);--color-text-link-hover:var(--color-blue-800);--color-text-link-active:var(--color-blue-900);--color-text-link-visited:var(--color-blue-900);--color-teal-500:#0f8482;--color-teal:var(--color-teal-500);--color-purple-500:#8d44d8;--color-purple:var(--color-purple-500);--color-focus:var(--color-purple-500);--color-red-100:#fcf1f1;--color-red-500:#d12430;--color-red:var(--color-red-500);--color-green-100:#dcedc8;--color-green-500:#5b7f2e;--color-green:var(--color-green-500);--color-yellow-100:var(--color-tint-yellow);--color-yellow-500:var(--color-light-yellow);--color-yellow-900:var(--color-dark-yellow);--color-yellow:var(--color-light-yellow);--color-offer:var(--color-red-500);--color-error:var(--color-red-500);--color-error-light:var(--color-red-100);--color-alert:var(--color-yellow-500);--color-alert-light:var(--color-yellow-100);--color-success:var(--color-green-500);--color-success-light:var(--color-green-100);--color-white:#fff;--color-black:#000;--color-grey-warm-100:#f5f5f0;--color-grey-warm-500:#e5e3da;--color-grey-warm-900:#3a352f;--color-grey-warm:var(--color-grey-warm-500);--color-grey-cool-100:#f2f4f7;--color-grey-cool-500:#dde9ed;--color-grey-cool-900:#1f262c;--color-grey-cool:var(--color-grey-cool-500);--color-grey-900:#282828;--color-grey-800:#595959;--color-grey-700:#6e6e6e;--color-grey-600:#c4c4c4;--color-grey-500:#d8d8d8;--color-grey-400:#e6e6e6;--color-grey-300:#efefef;--color-grey-200:#f3f3f3;--color-grey-100:#fafafa;--color-grey:var(--color-grey-500);--color-text-default:var(--color-grey-900);--color-text-alt:var(--color-grey-800);--color-text-black:var(--color-black);--color-text-white:var(--color-white);--color-text-dark-blue:var(--color-dark-blue);--color-tint-purple:#fef2ff;--color-tint-pink:#ffeaf2;--color-tint-green:#f9fbdd;--color-tint-orange:#ffede0;--color-tint-red:#ffe8e9;--color-tint-yellow:#fff4d5;--color-tint-lilac:#f2f2ff;--color-tint-blue:#e6f6fa;--color-tint-grey:var(--color-grey-200);--color-tint-brown:var(--color-grey-warm-100);--color-light-purple:#f8beff;--color-light-pink:#ffaece;--color-light-green:#e1ec54;--color-light-orange:#ffb886;--color-light-red:#ffb1b4;--color-light-yellow:#ffc82b;--color-light-lilac:#bfbffd;--color-light-blue:#80d0e5;--color-dark-purple:#c164c9;--color-dark-pink:#f85792;--color-dark-green:#819c00;--color-dark-orange:#e85a00;--color-dark-red:#f14f57;--color-dark-yellow:#b78f1f;--color-dark-lilac:#6762f9;--color-dark-blue:#003057;--color-navy:var(--color-dark-blue);--ui-shadow:0 2px 4px 0 #00000026;--ui-shadow-sm:0 2px 2px 0 #0000001a;--ui-shadow-hover:0 2px 4px 0 #00000040;--ui-transition-hover:.1s ease-out;--ui-transition-hover-property:background-color, color;--ui-border-radius-sm:4px;--ui-border-radius-md:6px;--ui-border-radius-lg:8px;--ui-border-radius-xl:12px;--ui-border-radius-2xl:16px;--ui-border-radius-3xl:24px;--ui-border-radius-full:calc(infinity * 1px);--ui-text-underline-offset:3px;--spacing-64:4rem;--spacing-60:3.75rem;--spacing-58:3.625rem;--spacing-56:3.5rem;--spacing-54:3.375rem;--spacing-52:3.25rem;--spacing-48:3rem;--spacing-40:2.5rem;--spacing-32:2rem;--spacing-24:1.5rem;--spacing-20:1.25rem;--spacing-18:1.125rem;--spacing-16:1rem;--spacing-14:.875rem;--spacing-12:.75rem;--spacing-10:.625rem;--spacing-8:.5rem;--spacing-6:.375rem;--spacing-4:.25rem;--spacing-2:.125rem;--font-family:"Avenir Next", "Avenir-Next", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-family-headline:"Co-opHeadline", "Impact Fallback", sans-serif;--font-family-mono:ui-monospace, monospace;--font-weight-default:normal;--font-weight-medium:500;--font-weight-demibold:600;--text-size-10:.625rem;--text-size-11:.6875rem;--text-size-12:.75rem;--text-size-13:.8125rem;--text-size-14:.875rem;--text-size-16:1rem;--text-size-18:1.125rem;--text-size-20:1.25rem;--text-size-22:1.375rem;--text-size-24:1.5rem;--text-size-26:1.625rem;--text-size-28:1.75rem;--text-size-30:1.875rem;--text-size-32:2rem;--text-size-36:2.25rem;--text-size-40:2.5rem;--text-size-46:2.875rem;--text-size-48:3rem;--text-size-56:3.5rem;--text-size-60:3.75rem;--text-size-64:4rem;--text-size-72:4.5rem;--text-size-82:5.125rem;--text-size-96:6rem;--text-size-default:var(--text-size-18);--type-line-height-default:1.5;--type-line-height-tight:1.25;--type-line-height-headline:1.05;--type-line-height-loose:1.75}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coopdigital/styles",
3
3
  "type": "module",
4
- "version": "1.22.0",
4
+ "version": "1.23.1",
5
5
  "private": false,
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -10,14 +10,13 @@
10
10
  "./*": "./dist/*",
11
11
  "./src/*": "./src/*",
12
12
  "./presets/uno": {
13
- "types": "./presets/uno/index.d.ts",
14
- "default": "./presets/uno/index.js"
13
+ "types": "./dist/presets/uno/index.d.ts",
14
+ "default": "./dist/presets/uno/index.js"
15
15
  }
16
16
  },
17
17
  "files": [
18
18
  "dist",
19
- "src/**/*.scss",
20
- "presets"
19
+ "src/**/*.scss"
21
20
  ],
22
21
  "keywords": [
23
22
  "co-op",
@@ -40,5 +39,5 @@
40
39
  "devDependencies": {
41
40
  "lightningcss": "^1.33.0"
42
41
  },
43
- "gitHead": "6a649143b3381563d36754d873c1410eb307fdc4"
42
+ "gitHead": "6347bde769b20af71b2e29b6d6fc3ec9135eeb5f"
44
43
  }
@@ -26,17 +26,6 @@
26
26
  --author-gap: var(--spacing-16);
27
27
  }
28
28
 
29
- &--content {
30
- display: flex;
31
- flex-direction: column;
32
- font-size: var(--author-font-size);
33
- line-height: var(--author-line-height);
34
- }
35
-
36
- &--date {
37
- white-space: nowrap;
38
- }
39
-
40
29
  img {
41
30
  max-width: var(--author-image-size);
42
31
  max-height: var(--author-image-size);
@@ -52,3 +41,14 @@
52
41
  }
53
42
  }
54
43
  }
44
+
45
+ .coop-author--content {
46
+ display: flex;
47
+ flex-direction: column;
48
+ font-size: var(--author-font-size);
49
+ line-height: var(--author-line-height);
50
+ }
51
+
52
+ .coop-author--date {
53
+ white-space: nowrap;
54
+ }
@@ -36,6 +36,12 @@
36
36
  transition-property: background-color, color, border-color;
37
37
 
38
38
  /* SIZES */
39
+ &[data-size="xs"] {
40
+ --button-padding-x: var(--spacing-12);
41
+ --button-height: var(--spacing-32);
42
+ --button-font-size: var(--text-size-14);
43
+ }
44
+
39
45
  &[data-size="sm"] {
40
46
  --button-padding-x: var(--spacing-16);
41
47
  --button-height: var(--spacing-40);
@@ -3,12 +3,15 @@
3
3
  .coop-card {
4
4
  --card-radius: var(--ui-border-radius-lg);
5
5
  --card-padding: var(--spacing-24);
6
+ --card-row: row;
7
+ --card-direction: column;
8
+ --card-adaptive-direction: var(--card-row);
6
9
 
7
10
  position: relative;
8
11
 
9
12
  overflow: hidden;
10
13
  display: flex;
11
- flex-direction: column;
14
+ flex-direction: var(--card-direction);
12
15
 
13
16
  border-radius: var(--coop-card-radius, var(--card-radius));
14
17
 
@@ -37,153 +40,140 @@
37
40
  outline-offset: 3px;
38
41
  }
39
42
 
40
- &:not([data-orientation="horizontal"]) {
41
- &[data-adaptive="sm"] {
42
- @media (min-width: $mq-sm) {
43
- flex-direction: row;
44
- }
45
- }
46
-
47
- &[data-adaptive="md"] {
48
- @media (min-width: $mq-md) {
49
- flex-direction: row;
50
- }
51
- }
43
+ &:has(picture[data-align="right"]) {
44
+ --card-row: row-reverse;
52
45
  }
53
46
 
54
- &:where([data-orientation="horizontal"]) {
55
- flex-direction: row;
56
-
57
- &[data-adaptive="sm"] {
58
- @media (min-width: $mq-sm) {
59
- flex-direction: column;
60
- }
61
- }
47
+ &[data-orientation="horizontal"] {
48
+ --card-direction: var(--card-row);
49
+ --card-adaptive-direction: column;
50
+ }
62
51
 
63
- &[data-adaptive="md"] {
64
- @media (min-width: $mq-md) {
65
- flex-direction: column;
66
- }
52
+ &[data-adaptive="sm"] {
53
+ @media (min-width: $mq-sm) {
54
+ flex-direction: var(--card-adaptive-direction);
67
55
  }
68
56
  }
69
57
 
70
- &[data-orientation="horizontal"]:where(:has(picture[data-align="right"])) {
71
- flex-direction: row-reverse;
58
+ &[data-adaptive="md"] {
59
+ @media (min-width: $mq-md) {
60
+ flex-direction: var(--card-adaptive-direction);
61
+ }
72
62
  }
73
63
 
74
- &-wrapper {
75
- position: relative;
76
- display: flex;
77
- flex-grow: 1;
64
+ &:has(a):hover,
65
+ &:has(a):focus-visible {
66
+ box-shadow: var(--ui-shadow-hover);
78
67
 
79
- &:hover {
80
- .coop-card--badge {
81
- transform: scale(1.05);
82
- }
68
+ .coop-card--icon svg {
69
+ transform: translateX(0.25rem);
83
70
  }
84
71
  }
85
72
 
86
- &--picture {
87
- overflow: hidden;
88
- flex-shrink: 1.5;
89
- min-width: 33%;
90
- margin: 0;
73
+ &[data-signpost] {
74
+ .coop-card--icon svg {
75
+ width: 2rem;
76
+ height: 2rem;
77
+ }
78
+
79
+ .coop-card--content {
80
+ flex-direction: row;
81
+ flex-grow: 1;
82
+ place-items: center;
83
+ justify-content: space-between;
91
84
 
92
- img {
93
- width: 100%;
94
85
  height: 100%;
95
86
  }
96
87
  }
88
+ }
97
89
 
98
- &--heading {
99
- margin: 0;
100
- font-size: var(--text-size-20);
101
- font-weight: var(--font-weight-demibold);
102
- line-height: var(--type-line-height);
90
+ .coop-card-wrapper {
91
+ position: relative;
92
+ display: flex;
93
+ flex-grow: 1;
94
+
95
+ &:hover {
96
+ .coop-card--badge {
97
+ transform: scale(1.05);
98
+ }
103
99
  }
100
+ }
104
101
 
105
- &--icon {
106
- pointer-events: none;
102
+ .coop-card--picture {
103
+ overflow: hidden;
104
+ flex-shrink: 1.5;
105
+ min-width: 33%;
106
+ margin: 0;
107
107
 
108
- svg {
109
- transition: transform 0.2s ease-out;
110
- }
108
+ img {
109
+ width: 100%;
110
+ height: 100%;
111
111
  }
112
+ }
112
113
 
113
- &--link:is(a) {
114
- color: inherit;
115
- text-decoration: inherit;
116
- outline: 0;
114
+ .coop-card--heading {
115
+ margin: 0;
116
+ font-size: var(--text-size-20);
117
+ font-weight: var(--font-weight-demibold);
118
+ line-height: var(--type-line-height);
119
+ }
117
120
 
118
- &::before {
119
- content: "";
120
- position: absolute;
121
- inset: 0 0 0 0;
122
- }
121
+ .coop-card--icon {
122
+ pointer-events: none;
123
123
 
124
- &:hover,
125
- &:focus-visible {
126
- .coop-card--heading {
127
- text-decoration: underline;
128
- }
129
- }
124
+ svg {
125
+ transition: transform 0.2s ease-out;
130
126
  }
127
+ }
131
128
 
132
- &--content {
133
- display: flex;
134
- flex-direction: column;
135
- gap: var(--spacing-8);
129
+ .coop-card--link:is(a) {
130
+ color: inherit;
131
+ text-decoration: inherit;
132
+ outline: 0;
136
133
 
137
- min-width: 67%;
138
- padding: var(--coop-card-padding, var(--card-padding));
134
+ &::before {
135
+ content: "";
136
+ position: absolute;
137
+ inset: 0 0 0 0;
139
138
  }
140
139
 
141
- &--badge {
142
- --badge-x: 0.5rem;
143
- --badge-y: 0.5rem;
140
+ &:hover,
141
+ &:focus-visible {
142
+ .coop-card--heading {
143
+ text-decoration: underline;
144
+ }
145
+ }
146
+ }
144
147
 
145
- pointer-events: none;
148
+ .coop-card--content {
149
+ display: flex;
150
+ flex-direction: column;
151
+ gap: var(--spacing-8);
146
152
 
147
- position: absolute;
148
- z-index: 10;
149
- top: var(--badge-y);
150
- right: var(--badge-x);
153
+ min-width: 67%;
154
+ padding: var(--coop-card-padding, var(--card-padding));
155
+ }
151
156
 
152
- transition: transform 0.1s ease-out;
157
+ .coop-card--badge {
158
+ --badge-x: 0.5rem;
159
+ --badge-y: 0.5rem;
153
160
 
154
- &[data-position="popout"] {
155
- --badge-x: -0.75rem;
156
- --badge-y: -0.75rem;
157
- }
161
+ pointer-events: none;
158
162
 
159
- &[data-align="left"] {
160
- right: auto;
161
- left: var(--badge-x);
162
- }
163
- }
163
+ position: absolute;
164
+ z-index: 10;
165
+ top: var(--badge-y);
166
+ right: var(--badge-x);
164
167
 
165
- &:has(a):hover,
166
- &:has(a):focus-visible {
167
- box-shadow: var(--ui-shadow-hover);
168
+ transition: transform 0.1s ease-out;
168
169
 
169
- .coop-card--icon svg {
170
- transform: translateX(0.25rem);
171
- }
170
+ &[data-position="popout"] {
171
+ --badge-x: -0.75rem;
172
+ --badge-y: -0.75rem;
172
173
  }
173
174
 
174
- &[data-signpost] {
175
- .coop-card--icon svg {
176
- width: 2rem;
177
- height: 2rem;
178
- }
179
-
180
- .coop-card--content {
181
- flex-direction: row;
182
- flex-grow: 1;
183
- place-items: center;
184
- justify-content: space-between;
185
-
186
- height: 100%;
187
- }
175
+ &[data-align="left"] {
176
+ right: auto;
177
+ left: var(--badge-x);
188
178
  }
189
179
  }
@@ -1,15 +1,14 @@
1
- .coop-expandable {
2
- --expandable-bg-color: var(--bg-color, var(--color-tint-grey));
1
+ :where(.coop-expandable) {
2
+ color: var(--color-text-default);
3
+ background-color: var(--color-tint-grey);
4
+ }
3
5
 
6
+ .coop-expandable {
4
7
  display: inline-block;
5
-
6
8
  padding: var(--spacing-10) var(--spacing-16);
7
9
  border-radius: var(--ui-border-radius-lg);
8
-
9
10
  font-size: var(--text-size-18);
10
11
 
11
- background-color: var(--expandable-bg-color);
12
-
13
12
  & > summary {
14
13
  cursor: pointer;
15
14
 
@@ -28,8 +27,11 @@
28
27
  transition: transform 0.2s ease-out;
29
28
  }
30
29
 
30
+ // The background paints under a transparent border, so the open state grows without a colour
31
31
  &[open] {
32
- box-shadow: 0 0 0 var(--spacing-6) var(--expandable-bg-color);
32
+ margin: calc(var(--spacing-6) * -1);
33
+ border: var(--spacing-6) solid transparent;
34
+ border-radius: calc(var(--ui-border-radius-lg) + var(--spacing-6));
33
35
 
34
36
  .coop-expandable--icon {
35
37
  transform: rotate(180deg);
@@ -1,8 +1,12 @@
1
+ :where(.coop-popover) {
2
+ color: var(--color-text-default);
3
+ background-color: var(--color-tint-grey);
4
+ }
5
+
1
6
  .coop-popover {
2
7
  --popover-width: calc(100vw - 2rem);
3
8
  --popover-max-width: 22.5rem;
4
9
  --popover-zindex: 100;
5
- --popover-bg: var(--color-tint-grey);
6
10
 
7
11
  z-index: var(--popover-zindex);
8
12
 
@@ -11,10 +15,15 @@
11
15
  padding: var(--spacing-16);
12
16
  border-radius: var(--ui-border-radius-md);
13
17
 
14
- background: var(--popover-bg);
15
18
  box-shadow: var(--ui-shadow);
16
19
  }
17
20
 
21
+ // Radix positions and rotates the arrow in a wrapper span, so the wrapper is painted as the arrow
22
+ .coop-popover > span:has(> .coop-popover-arrow) {
23
+ background-color: inherit;
24
+ clip-path: polygon(0 0, 100% 0, 50% 100%);
25
+ }
26
+
18
27
  .coop-popover-arrow {
19
- fill: var(--popover-bg, var(--color-tint-grey));
28
+ fill: none;
20
29
  }
@@ -8,25 +8,6 @@
8
8
  width: 100%;
9
9
  border-width: 0;
10
10
 
11
- &--inner {
12
- display: inline-flex;
13
- align-items: flex-end;
14
-
15
- width: 100%;
16
- border-radius: var(--ui-border-radius-lg);
17
-
18
- background-color: var(--color-white);
19
-
20
- /* STATUS */
21
-
22
- &:has(input:focus-visible) {
23
- border-radius: var(--ui-border-radius-md);
24
- outline: 2px solid var(--color-focus);
25
- outline-offset: 3px;
26
- transition: none;
27
- }
28
- }
29
-
30
11
  button {
31
12
  --button-padding: 0 var(--spacing-12);
32
13
 
@@ -84,3 +65,22 @@
84
65
  }
85
66
  }
86
67
  }
68
+
69
+ .coop-searchbox--inner {
70
+ display: inline-flex;
71
+ align-items: flex-end;
72
+
73
+ width: 100%;
74
+ border-radius: var(--ui-border-radius-lg);
75
+
76
+ background-color: var(--color-white);
77
+
78
+ /* STATUS */
79
+
80
+ &:has(input:focus-visible) {
81
+ border-radius: var(--ui-border-radius-md);
82
+ outline: 2px solid var(--color-focus);
83
+ outline-offset: 3px;
84
+ transition: none;
85
+ }
86
+ }
@@ -17,12 +17,6 @@
17
17
 
18
18
  transition: box-shadow var(--ui-transition-hover);
19
19
 
20
- &--heading {
21
- margin: 0;
22
- font-size: var(--text-size-20);
23
- font-weight: var(--font-weight-demibold);
24
- }
25
-
26
20
  picture {
27
21
  overflow: hidden;
28
22
  align-self: stretch;
@@ -71,30 +65,6 @@
71
65
  }
72
66
  }
73
67
 
74
- &--content {
75
- display: flex;
76
- gap: var(--spacing-12);
77
- align-items: center;
78
- justify-content: space-between;
79
-
80
- height: 100%;
81
- padding: var(--spacing-20);
82
- border-radius: var(--ui-border-radius-lg);
83
-
84
- background: var(--color-white);
85
- }
86
-
87
- &--icon {
88
- display: flex;
89
- justify-content: flex-end;
90
- min-width: 1rem;
91
-
92
- svg {
93
- height: 1rem;
94
- transition: transform 0.2s ease-out;
95
- }
96
- }
97
-
98
68
  &:hover,
99
69
  &:focus-visible {
100
70
  box-shadow: var(--ui-shadow-hover);
@@ -113,3 +83,33 @@
113
83
  }
114
84
  }
115
85
  }
86
+
87
+ .coop-signpost--heading {
88
+ margin: 0;
89
+ font-size: var(--text-size-20);
90
+ font-weight: var(--font-weight-demibold);
91
+ }
92
+
93
+ .coop-signpost--content {
94
+ display: flex;
95
+ gap: var(--spacing-12);
96
+ align-items: center;
97
+ justify-content: space-between;
98
+
99
+ height: 100%;
100
+ padding: var(--spacing-20);
101
+ border-radius: var(--ui-border-radius-lg);
102
+
103
+ background: var(--color-white);
104
+ }
105
+
106
+ .coop-signpost--icon {
107
+ display: flex;
108
+ justify-content: flex-end;
109
+ min-width: 1rem;
110
+
111
+ svg {
112
+ height: 1rem;
113
+ transition: transform 0.2s ease-out;
114
+ }
115
+ }
package/src/form.scss CHANGED
@@ -264,21 +264,21 @@ $inline: '[type="radio"], [type="checkbox"]';
264
264
  outline: 2px solid var(--color-focus);
265
265
  outline-offset: 3px;
266
266
  }
267
+ }
267
268
 
268
- &--heading {
269
- margin-bottom: var(--spacing-8);
270
- }
269
+ .coop-validation-summary--heading {
270
+ margin-bottom: var(--spacing-8);
271
+ }
271
272
 
272
- &--errors {
273
- padding-top: var(--spacing-12);
274
- color: var(--color-error);
273
+ .coop-validation-summary--errors {
274
+ padding-top: var(--spacing-12);
275
+ color: var(--color-error);
275
276
 
276
- ul {
277
- list-style-type: disc;
278
- }
277
+ ul {
278
+ list-style-type: disc;
279
+ }
279
280
 
280
- a:not([class*="bg"]) {
281
- color: var(--color-error);
282
- }
281
+ a:not([class*="bg"]) {
282
+ color: var(--color-error);
283
283
  }
284
284
  }
@@ -1,3 +1,6 @@
1
+ // Line height 0 keeps the wrapper the same size as the icon, so it rotates around the icon's centre
1
2
  .coop-loading-spinner {
3
+ display: inline-block;
4
+ line-height: 0;
2
5
  animation: spin 1.25s linear infinite;
3
6
  }
@@ -24,7 +24,7 @@ a:where(:not([class*="bg"])),
24
24
  align-items: center;
25
25
  }
26
26
 
27
- button.coop-link {
27
+ :where(button).coop-link {
28
28
  cursor: pointer;
29
29
 
30
30
  display: inline;
@@ -123,4 +123,6 @@
123
123
  --color-dark-yellow: #b78f1f;
124
124
  --color-dark-lilac: #6762f9;
125
125
  --color-dark-blue: #003057;
126
+
127
+ --color-navy: var(--color-dark-blue);
126
128
  }
@@ -1,2 +0,0 @@
1
- declare const coopPreset: import("unocss").PresetFactory<object, undefined>;
2
- export { coopPreset as default };