@trebired/frontend 21.10.0 → 21.11.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/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 21.11.0
4
+
5
+ - The chrome and the overlays read their colours through the frontend's own namespace. Buttons, popover and dropdown items, the locale switcher and flash messages fell back to `--text-color`, `--border-surface-1`, `--background-surface-2` and their neighbours, which a site sets once at the root. The contrast system rewrites the namespaced tokens on the element, not at the root, so anything reading the bare names stayed at the page's colour whatever it was placed on: the current locale in a popover opened over a dark hero was painted in the light page's ink on a dark panel, and could barely be read.
6
+ - Those fallbacks now go through the adaptive colour, the adaptive border and the surface tokens, so an overlay matches the header above it.
7
+
3
8
  ## 21.10.0
4
9
 
5
10
  - A button takes its border and its text colour from the theme. Both were written into the defaults as `currentColor`, which are fixed at the root, so a button's outline was always as strong as its label and no site could soften it. They now fall through to the adaptive border and the adaptive colour, which also means a button suits the surface it sits on rather than the one it was configured for.
@@ -17,13 +17,13 @@
17
17
  padding-block: var(#{ns.css-var("ui-action-root-py")}, var(#{ns.css-var("ui-btn-root-py")}, 0));
18
18
  border: var(
19
19
  #{ns.css-var("ui-action-root-border")},
20
- var(#{ns.css-var("ui-btn-root-border")}, var(--border-width) solid var(--border-surface-2))
20
+ var(#{ns.css-var("ui-btn-root-border")}, var(#{ns.css-var("border-width")}, 1px) solid var(#{ns.css-var("adaptive-border")}, currentColor))
21
21
  );
22
22
  border-radius: var(
23
23
  #{ns.css-var("ui-action-root-radius")},
24
24
  var(#{ns.css-var("ui-btn-root-radius")}, var(--radius-md, var(#{ns.css-var("radius")}, 0)))
25
25
  );
26
- color: var(#{ns.css-var("ui-action-root-color")}, var(#{ns.css-var("ui-btn-root-color")}, var(--text-color)));
26
+ color: var(#{ns.css-var("ui-action-root-color")}, var(#{ns.css-var("ui-btn-root-color")}, var(#{ns.css-var("adaptive")}, currentColor)));
27
27
  background: var(#{ns.css-var("ui-action-root-bg")}, var(#{ns.css-var("ui-btn-root-bg")}, transparent));
28
28
  cursor: pointer;
29
29
  appearance: none;
@@ -21,11 +21,11 @@
21
21
  padding: var(#{ns.css-var("feedback-flash-container-padding")}, 15px);
22
22
  border: var(
23
23
  #{ns.css-var("feedback-flash-container-border")},
24
- var(#{ns.css-var("border-width")}, 1px) solid var(#{ns.css-var("feedback-flash-container-border")}, var(--border-surface-1, currentColor))
24
+ var(#{ns.css-var("border-width")}, 1px) solid var(#{ns.css-var("feedback-flash-container-border")}, var(#{ns.css-var("adaptive-border")}, currentColor))
25
25
  );
26
26
  border-radius: var(#{ns.css-var("feedback-flash-container-radius")}, var(--radius-lg, var(#{ns.css-var("radius")}, 0)));
27
- color: var(#{ns.css-var("feedback-flash-container-color")}, var(--text-color, currentColor));
28
- background: var(#{ns.css-var("feedback-flash-container-bg")}, var(--background-surface-1, transparent));
27
+ color: var(#{ns.css-var("feedback-flash-container-color")}, var(#{ns.css-var("adaptive")}, currentColor));
28
+ background: var(#{ns.css-var("feedback-flash-container-bg")}, var(#{ns.css-var("surface")}, transparent));
29
29
  box-shadow: var(#{ns.css-var("feedback-flash-container-shadow")}, var(#{ns.css-var("shadow")}, none));
30
30
  opacity: 0;
31
31
  overflow: hidden;
@@ -100,7 +100,7 @@
100
100
  }
101
101
 
102
102
  #{ns.element-class("flash", "description")} {
103
- color: var(#{ns.css-var("feedback-flash-slot-description-color")}, var(--text-color-muted, currentColor));
103
+ color: var(#{ns.css-var("feedback-flash-slot-description-color")}, var(#{ns.css-var("adaptive-muted")}, currentColor));
104
104
  font-size: var(#{ns.css-var("feedback-flash-slot-description-font-size")}, 0.92rem);
105
105
  text-shadow: none;
106
106
  }
@@ -33,8 +33,8 @@
33
33
  right: var(--dd-arrow-right);
34
34
  top: calc(var(--dd-h) / 2);
35
35
  transform: translateY(-3px);
36
- border: calc(var(--border-width) * 6) solid transparent;
37
- border-top-color: var(#{ns.css-var("ui-dropdown-arrow-color")}, var(--text-color-muted, currentColor));
36
+ border: calc(var(#{ns.css-var("border-width")}, 1px) * 6) solid transparent;
37
+ border-top-color: var(#{ns.css-var("ui-dropdown-arrow-color")}, var(#{ns.css-var("adaptive-muted")}, currentColor));
38
38
  pointer-events: none;
39
39
  }
40
40
 
@@ -70,8 +70,8 @@
70
70
  top: calc(100% + 4px);
71
71
  left: 0;
72
72
  right: 0;
73
- background: var(#{ns.css-var("ui-dropdown-menu-bg")}, var(--background-surface-1, transparent));
74
- border: var(--border-width) solid var(--border-surface-1);
73
+ background: var(#{ns.css-var("ui-dropdown-menu-bg")}, var(#{ns.css-var("surface")}, transparent));
74
+ border: var(#{ns.css-var("border-width")}, 1px) solid var(#{ns.css-var("adaptive-border")}, currentColor);
75
75
  border-radius: var(--radius-lg);
76
76
  margin: 0;
77
77
  padding: 0;
@@ -131,14 +131,14 @@
131
131
  pointer-events: none;
132
132
  overflow: hidden;
133
133
  z-index: 1;
134
- color: var(--text-color);
134
+ color: var(#{ns.css-var("adaptive")}, currentColor);
135
135
  font-size: 13px;
136
136
  line-height: 1.4;
137
137
  }
138
138
 
139
139
  #{ns.class("dropdown-top")} {
140
140
  padding: 10px;
141
- border-bottom: var(--border-width) solid var(--border-surface-1);
141
+ border-bottom: var(#{ns.css-var("border-width")}, 1px) solid var(#{ns.css-var("adaptive-border")}, currentColor);
142
142
 
143
143
  #{ns.class("input")} {
144
144
  width: 100%;
@@ -187,7 +187,7 @@
187
187
  user-select: none;
188
188
 
189
189
  &:hover {
190
- background: var(#{ns.css-var("ui-dropdown-option-state-hover-bg")}, var(--background-surface-2, transparent));
190
+ background: var(#{ns.css-var("ui-dropdown-option-state-hover-bg")}, var(#{ns.css-var("surface-muted")}, transparent));
191
191
  }
192
192
 
193
193
  &#{ns.data("dropdown-selected", "true")} {
@@ -195,26 +195,26 @@
195
195
  #{ns.css-var("ui-dropdown-option-state-selected-bg")},
196
196
  color-mix(
197
197
  in srgb,
198
- var(--background-surface-2, transparent) 70%,
198
+ var(#{ns.css-var("surface-muted")}, transparent) 70%,
199
199
  var(--accent, var(#{ns.css-var("focus")}, currentColor)) 30%
200
200
  )
201
201
  );
202
202
  }
203
203
 
204
204
  &#{ns.data("dropdown-placeholder-option")} {
205
- color: var(--text-color-muted);
205
+ color: var(#{ns.css-var("adaptive-muted")}, currentColor);
206
206
  cursor: default;
207
207
  }
208
208
 
209
209
  &#{ns.data("dropdown-unselect", "true")} {
210
- color: var(--text-color-muted);
210
+ color: var(#{ns.css-var("adaptive-muted")}, currentColor);
211
211
  }
212
212
 
213
213
  &#{ns.class("dropdown-section")} {
214
214
  height: auto;
215
215
  min-height: 0;
216
216
  padding: 9px 10px 5px;
217
- color: var(--text-color-muted);
217
+ color: var(#{ns.css-var("adaptive-muted")}, currentColor);
218
218
  cursor: default;
219
219
  font-size: 11px;
220
220
  font-weight: 700;
@@ -4,7 +4,7 @@
4
4
  #{ns.class("options")}#{ns.data("dropdown-portaled", "true")} {
5
5
  position: fixed;
6
6
  background: var(#{ns.css-var("ui-dropdown-menu-bg")}, var(#{ns.css-var("surface")}, #fff));
7
- border: var(--border-width) solid var(#{ns.css-var("adaptive-border")}, currentColor);
7
+ border: var(#{ns.css-var("border-width")}, 1px) solid var(#{ns.css-var("adaptive-border")}, currentColor);
8
8
  border-radius: var(--radius-lg);
9
9
  margin: 0;
10
10
  padding: 0;
@@ -46,7 +46,7 @@
46
46
 
47
47
  #{ns.class("options")}#{ns.data("dropdown-portaled", "true")} #{ns.class("dropdown-top")} {
48
48
  padding: 10px;
49
- border-bottom: var(--border-width) solid var(#{ns.css-var("adaptive-border")}, currentColor);
49
+ border-bottom: var(#{ns.css-var("border-width")}, 1px) solid var(#{ns.css-var("adaptive-border")}, currentColor);
50
50
  }
51
51
 
52
52
  #{ns.class("options")}#{ns.data("dropdown-portaled", "true")} #{ns.class("dropdown-top")} #{ns.class("input")} {
@@ -107,7 +107,7 @@
107
107
  }
108
108
 
109
109
  #{ns.class("options")}#{ns.data("dropdown-portaled", "true")} #{ns.class("dropdown-list")} li:hover {
110
- background: var(#{ns.css-var("ui-dropdown-option-state-hover-bg")}, var(--background-surface-2, transparent));
110
+ background: var(#{ns.css-var("ui-dropdown-option-state-hover-bg")}, var(#{ns.css-var("surface-muted")}, transparent));
111
111
  }
112
112
 
113
113
  #{ns.class("options")}#{ns.data("dropdown-portaled", "true")}
@@ -119,7 +119,7 @@ li#{ns.data("dropdown-selected", "true")} {
119
119
  #{ns.css-var("ui-dropdown-option-state-selected-bg")},
120
120
  color-mix(
121
121
  in srgb,
122
- var(--background-surface-2, transparent) 70%,
122
+ var(#{ns.css-var("surface-muted")}, transparent) 70%,
123
123
  var(--accent, var(#{ns.css-var("focus")}, currentColor)) 30%
124
124
  )
125
125
  );
@@ -66,9 +66,9 @@
66
66
  #{ns.class("locale-switch-popover")} #{ns.class("locale-option")}#{ns.data("locale-current", "true")} {
67
67
  background: var(
68
68
  #{ns.css-var("shell-language-option-state-current-bg")},
69
- var(#{ns.css-var("overlay-popover-item-state-selected-bg")}, var(--background-surface-2, transparent))
69
+ var(#{ns.css-var("overlay-popover-item-state-selected-bg")}, var(#{ns.css-var("surface-muted")}, transparent))
70
70
  );
71
- color: var(#{ns.css-var("shell-language-option-state-current-color")}, var(--text-color));
71
+ color: var(#{ns.css-var("shell-language-option-state-current-color")}, var(#{ns.css-var("adaptive")}, currentColor));
72
72
  }
73
73
 
74
74
  #{ns.class("locale-code")} {
@@ -79,7 +79,7 @@
79
79
  min-width: 28px;
80
80
  height: 20px;
81
81
  padding: 0 5px;
82
- border: var(--border-width, 1px) solid color-mix(in srgb, currentColor 22%, transparent);
82
+ border: var(#{ns.css-var("border-width")}, 1px) solid color-mix(in srgb, currentColor 22%, transparent);
83
83
  border-radius: var(--radius-sm, 3px);
84
84
  color: color-mix(in srgb, currentColor 78%, transparent);
85
85
  font-size: 11px;
@@ -91,9 +91,9 @@
91
91
  --CountryFlagIcon-height: 16px;
92
92
 
93
93
  flex: 0 0 auto;
94
- border: var(--border-width, 1px) solid var(--border-surface-1);
94
+ border: var(#{ns.css-var("border-width")}, 1px) solid var(#{ns.css-var("adaptive-border")}, currentColor);
95
95
  border-radius: var(--radius-sm, 3px);
96
- background-color: var(--background-surface-2, transparent);
96
+ background-color: var(#{ns.css-var("surface-muted")}, transparent);
97
97
  box-shadow: 0 0 0 1px rgb(255 255 255 / 0.02) inset;
98
98
  }
99
99
 
@@ -103,7 +103,7 @@
103
103
  width: 100%;
104
104
  height: 4px;
105
105
  border-radius: 999px;
106
- background: var(--background-surface-2, transparent);
106
+ background: var(#{ns.css-var("surface-muted")}, transparent);
107
107
  }
108
108
 
109
109
  #{ns.class("source-language-share-bar")} {
@@ -122,7 +122,7 @@
122
122
  width: 100%;
123
123
  height: 8px;
124
124
  border-radius: 999px;
125
- background: var(--background-surface-2, transparent);
125
+ background: var(#{ns.css-var("surface-muted")}, transparent);
126
126
  }
127
127
 
128
128
  #{ns.class("source-language-distribution-segment")} {
@@ -19,13 +19,13 @@
19
19
  padding-block: var(#{ns.css-var("surf-btn-root-py")}, var(#{ns.css-var("ui-btn-root-py")}, 0));
20
20
  border: var(
21
21
  #{ns.css-var("surf-btn-root-border")},
22
- var(#{ns.css-var("ui-btn-root-border")}, var(--border-width) solid var(--border-surface-2))
22
+ var(#{ns.css-var("ui-btn-root-border")}, var(#{ns.css-var("border-width")}, 1px) solid var(#{ns.css-var("adaptive-border")}, currentColor))
23
23
  );
24
24
  border-radius: var(
25
25
  #{ns.css-var("surf-btn-root-radius")},
26
26
  var(#{ns.css-var("ui-btn-root-radius")}, var(--radius-md, var(#{ns.css-var("radius")}, 0)))
27
27
  );
28
- color: var(#{ns.css-var("surf-btn-root-color")}, var(#{ns.css-var("ui-btn-root-color")}, var(--text-color)));
28
+ color: var(#{ns.css-var("surf-btn-root-color")}, var(#{ns.css-var("ui-btn-root-color")}, var(#{ns.css-var("adaptive")}, currentColor)));
29
29
  background: var(#{ns.css-var("surf-btn-root-bg")}, var(#{ns.css-var("ui-btn-root-bg")}, transparent));
30
30
  transition: var(
31
31
  #{ns.css-var("surf-btn-root-transition")},
@@ -193,7 +193,7 @@
193
193
  border-color var(#{ns.css-var("transition-fast")}, 180ms) var(#{ns.css-var("transition-easing")}, ease),
194
194
  color var(#{ns.css-var("transition-fast")}, 180ms) var(#{ns.css-var("transition-easing")}, ease)
195
195
  );
196
- border: var(#{ns.css-var("surf-card-root-border")}, var(--border-width) solid var(--border-surface-1));
196
+ border: var(#{ns.css-var("surf-card-root-border")}, var(#{ns.css-var("border-width")}, 1px) solid var(#{ns.css-var("adaptive-border")}, currentColor));
197
197
  border-radius: var(#{ns.css-var("surf-card-root-radius")}, var(--radius-lg, var(#{ns.css-var("radius")}, 0)));
198
198
  color: var(#{ns.css-var("surf-card-root-color")}, var(#{ns.css-var("text")}, #000));
199
199
  background: var(#{ns.css-var("surf-card-root-bg")}, var(--background-page, var(#{ns.css-var("page")}, #fff)));
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  }
9
9
  },
10
10
  "name": "@trebired/frontend",
11
- "version": "21.10.0",
11
+ "version": "21.11.0",
12
12
  "description": "Generic browser runtime systems for Trebired frontend packages and applications.",
13
13
  "type": "module",
14
14
  "private": false,