diff --git a/packages/rn-tester/js/assets/rubber-ducky.png b/packages/rn-tester/js/assets/rubber-ducky.png
new file mode 100644
index 00000000000..7ea75f9a25e
Binary files /dev/null and b/packages/rn-tester/js/assets/rubber-ducky.png differ
diff --git a/packages/rn-tester/js/examples/MixBlendMode/MixBlendModeExample.js b/packages/rn-tester/js/examples/MixBlendMode/MixBlendModeExample.js
index 29e794738fa..c1c208db313 100644
--- a/packages/rn-tester/js/examples/MixBlendMode/MixBlendModeExample.js
+++ b/packages/rn-tester/js/examples/MixBlendMode/MixBlendModeExample.js
@@ -24,14 +24,18 @@ function LayeredView(props: Props) {
return (
<>
-
-
-
- Hello, World!
+
+
+
+
+ Hello, World!
+
-
+
>
);
@@ -54,6 +58,22 @@ function LayeredImage(props: Props) {
);
}
+function LayeredViewWithState(props: Props): React.Node {
+ const [s, setS] = React.useState(true);
+ setTimeout(() => setS(!s), 5000);
+
+ return ;
+}
+
+function LayeredImageWithState(props: Props): React.Node {
+ const [s, setS] = React.useState(true);
+ setTimeout(() => setS(!s), 5000);
+
+ return (
+
+ );
+}
+
const styles = StyleSheet.create({
commonImage: {
width: 200,
@@ -65,9 +85,19 @@ const styles = StyleSheet.create({
flexDirection: 'row',
justifyContent: 'space-around',
},
+ duckContainer: {
+ alignSelf: 'center',
+ width: 150,
+ height: 165,
+ backgroundColor: 'lime',
+ },
+ duck: {
+ width: '100%',
+ height: '100%',
+ },
backdrop: {
- opacity: 0.99, // Creating stacking context
height: 110,
+ width: 110,
},
commonView: {
backgroundColor: 'cyan',
@@ -108,7 +138,7 @@ const examples: Array = mixBlendModes.map(mode => ({
name: mode,
render(): React.Node {
return (
-
+
@@ -116,6 +146,167 @@ const examples: Array = mixBlendModes.map(mode => ({
},
}));
+examples.push(
+ {
+ title: 'Text mix-blend-mode',
+ description: 'mix-blend-mode: Text mix-blend-mode',
+ name: 'text',
+ render(): React.Node {
+ return (
+
+
+ 'OVERLAY' BLENDING ON TEXT
+
+
+ );
+ },
+ },
+ {
+ title: 'Spec Example 1',
+ description: 'mix-blend-mode: Spec Example 1',
+ name: 'spec-example-1',
+ render(): React.Node {
+ return (
+
+
+
+ );
+ },
+ },
+ {
+ title: 'Spec Example 2',
+ description: 'mix-blend-mode: Spec Example 2',
+ name: 'spec-example-2',
+ render(): React.Node {
+ return (
+
+
+
+
+
+
+
+
+ );
+ },
+ },
+ {
+ title: 'Spec Example 3',
+ description: 'mix-blend-mode: Spec Example 3',
+ name: 'spec-example-3',
+ render(): React.Node {
+ return (
+
+
+
+
+
+ );
+ },
+ },
+ {
+ title: 'mix-blend-mode with state updates',
+ description: 'Turn mix-blend-mode difference on and off every 5 seconds',
+ render(): React.Node {
+ return (
+
+
+
+
+ );
+ },
+ },
+ {
+ title: 'mix-blend-mode & filter',
+ description: 'mix-blend-mode & filter',
+ name: 'mix-blend-mode-filter',
+ render(): React.Node {
+ return (
+
+
+
+
+ );
+ },
+ },
+);
+
exports.title = 'MixBlendMode';
exports.category = 'UI';
exports.description =