diff --git a/docs/docs/theming/color.md b/docs/docs/theming/color.md
index 8faa41b44..7ab0e7a6b 100644
--- a/docs/docs/theming/color.md
+++ b/docs/docs/theming/color.md
@@ -65,7 +65,7 @@ Lightness values on this scale have a strong correlation to [relative luminance]
- A difference of 50 ensures a minimum 4.5:1 contrast ratio, suitable for normal text (AA) and large text (AAA)
- A difference of 60 ensures a minimum 7:1 contrast ratio, suitable for all text (AAA)
-Web Awesome defines seven literal colors each with 11 lightness values using the format `--wa-color-{name}-{#}`.
+Web Awesome defines seven literal colors each with 11 lightness values using the format `--wa-color-{hue}-{tint}`.
Red
@@ -549,4 +549,4 @@ Finally, each color is named according to how much attention it draws. Here, we
swatch.appendChild(copyButton)
})
-
\ No newline at end of file
+
diff --git a/src/components/viewport-demo/viewport-demo.styles.ts b/src/components/viewport-demo/viewport-demo.styles.ts
index 696bd4066..b983cdae0 100644
--- a/src/components/viewport-demo/viewport-demo.styles.ts
+++ b/src/components/viewport-demo/viewport-demo.styles.ts
@@ -109,4 +109,14 @@ export default css`
opacity: 80%;
}
}
+
+ [part~='zoom-in'],
+ [part~='zoom-in']::part(base) {
+ cursor: zoom-in;
+ }
+
+ [part~='zoom-out'],
+ [part~='zoom-out']::part(base) {
+ cursor: zoom-out;
+ }
`;
diff --git a/src/components/viewport-demo/viewport-demo.ts b/src/components/viewport-demo/viewport-demo.ts
index fccbc2317..984f40e7b 100644
--- a/src/components/viewport-demo/viewport-demo.ts
+++ b/src/components/viewport-demo/viewport-demo.ts
@@ -291,9 +291,13 @@ export default class WaViewportDemo extends WebAwesomeElement {
${dimensions}
- this.zoomOut()}>-
+ this.zoomOut()} part="zoom-out button"
+ >-
${Math.round(this.computedZoom * 100)}%
- this.zoomIn()}>+
+ this.zoomIn()} part="zoom-in button"
+ >+
diff --git a/src/themes/applied.css b/src/themes/applied.css
index 7cecc5293..fc4438cf3 100644
--- a/src/themes/applied.css
+++ b/src/themes/applied.css
@@ -43,15 +43,23 @@ body {
-webkit-text-size-adjust: none;
}
-/* Show custom elements only after they're registered */
-:where(:not(:defined, [did-ssr])),
-:where(:not(:defined, [did-ssr])) * {
- opacity: 0;
+@keyframes wa-fade-in {
+ from {
+ opacity: 0;
+ }
}
-:where(:defined) {
- opacity: 1;
- transition: 0.1s opacity;
+/* Show custom elements only after they're registered */
+:where(:not(:defined, [did-ssr])) {
+ &,
+ & * {
+ /*
+ * if an element gets defined earlier than 400ms, the animation stops applying so it just appears (no fade)
+ * If it takes somewhere between 400 and 600 ms, then you may get an interrupted fade, but oh well
+ * If an element takes longer than 600ms to get defined, it fades in over 200ms
+ */
+ animation: 200ms 400ms wa-fade-in both;
+ }
}
/* Content flow */