diff --git a/apps/common-app/package.json b/apps/common-app/package.json
index 93f75b3ea922..1837a0f0a83b 100644
--- a/apps/common-app/package.json
+++ b/apps/common-app/package.json
@@ -19,6 +19,7 @@
"@react-navigation/native": "*",
"@react-navigation/native-stack": "*",
"@react-navigation/stack": "*",
+ "@stylexjs/babel-plugin": "*",
"d3-shape": "*",
"react": "*",
"react-dom": "*",
@@ -29,7 +30,8 @@
"react-native-safe-area-context": "*",
"react-native-screens": "*",
"react-native-svg": "*",
- "react-native-web": "*"
+ "react-native-web": "*",
+ "react-strict-dom": "*"
},
"devDependencies": {
"@fortawesome/fontawesome-svg-core": "^6.4.0",
@@ -43,6 +45,7 @@
"@react-navigation/native": "^6.1.9",
"@react-navigation/native-stack": "^6.9.17",
"@react-navigation/stack": "^6.3.18",
+ "@stylexjs/babel-plugin": "^0.7.0",
"@tsconfig/react-native": "^3.0.0",
"@types/d3-shape": "^3.1.1",
"d3-shape": "^3.2.0",
@@ -58,6 +61,7 @@
"react-native-safe-area-context": "4.10.0-rc.1",
"react-native-screens": "3.31.0-rc.1",
"react-native-svg": "^15.2.0-rc.0",
+ "react-strict-dom": "^0.0.17",
"typescript": "~5.3.0"
}
}
diff --git a/apps/common-app/src/examples/StrictDOMExample.tsx b/apps/common-app/src/examples/StrictDOMExample.tsx
new file mode 100644
index 000000000000..08c4f75b3cc0
--- /dev/null
+++ b/apps/common-app/src/examples/StrictDOMExample.tsx
@@ -0,0 +1,70 @@
+import React, { useEffect } from 'react';
+import { css, html } from 'react-strict-dom';
+import Animated, {
+ useAnimatedStyle,
+ useSharedValue,
+ withRepeat,
+ withSpring,
+ withTiming,
+} from 'react-native-reanimated';
+import { Gesture, GestureDetector } from 'react-native-gesture-handler';
+
+const animated = {
+ html: {
+ div: Animated.createAnimatedComponent(html.div),
+ },
+};
+
+const styles = css.create({
+ container: {
+ display: 'flex',
+ flexDirection: 'column',
+ flexGrow: 1,
+ alignItems: 'center',
+ justifyContent: 'center',
+ },
+ box: {
+ width: '100px',
+ height: '100px',
+ backgroundColor: 'blue',
+ },
+});
+
+export default function StrictDOMExample() {
+ const opacity = useSharedValue(1);
+ const width = useSharedValue(100);
+ const x = useSharedValue(0);
+ const y = useSharedValue(0);
+
+ const animatedStyle = useAnimatedStyle(() => {
+ return {
+ opacity: opacity.value,
+ width: width.value,
+ transform: [{ translateX: x.value }, { translateY: y.value }],
+ };
+ });
+
+ const panGesture = Gesture.Pan()
+ .onUpdate((e) => {
+ x.value = e.translationX;
+ y.value = e.translationY;
+ })
+ .onEnd(() => {
+ x.value = withSpring(0);
+ y.value = withSpring(0);
+ });
+
+ useEffect(() => {
+ opacity.value = withRepeat(withTiming(0.3, { duration: 800 }), -1, true);
+ width.value = withRepeat(withTiming(300, { duration: 800 }), -1, true);
+ }, []);
+
+ return (
+
+ React Strict DOM demo
+
+
+
+
+ );
+}
diff --git a/apps/common-app/src/examples/index.ts b/apps/common-app/src/examples/index.ts
index 10f7e41c72b7..8315ac704cfb 100644
--- a/apps/common-app/src/examples/index.ts
+++ b/apps/common-app/src/examples/index.ts
@@ -131,6 +131,7 @@ import ComposedHandlerInternalMergingExample from './ComposedHandlerInternalMerg
import BorderRadiiExample from './SharedElementTransitions/BorderRadii';
import FreezingShareablesExample from './ShareableFreezingExample';
import TabNavigatorExample from './SharedElementTransitions/TabNavigatorExample';
+import StrictDOMExample from './StrictDOMExample';
interface Example {
icon?: string;
@@ -530,6 +531,11 @@ export const EXAMPLES: Record = {
title: 'BB',
screen: BBExample,
},
+ StrictDOMExample: {
+ icon: '👮♂️',
+ title: 'React Strict DOM',
+ screen: StrictDOMExample,
+ },
// Old examples
diff --git a/apps/web-example/babel.config.js b/apps/web-example/babel.config.js
index 5aa2df7db747..4954e5c79d22 100644
--- a/apps/web-example/babel.config.js
+++ b/apps/web-example/babel.config.js
@@ -1,12 +1,32 @@
+const stylexPlugin = require('@stylexjs/babel-plugin');
+const rsdPlugin = require('react-strict-dom/babel');
+
module.exports = function (api) {
+ const plugins = [
+ rsdPlugin,
+ [
+ stylexPlugin,
+ {
+ importSources: [
+ '@stylexjs/stylex',
+ { from: 'react-strict-dom', as: 'css' },
+ ],
+ runtimeInjection: true,
+ },
+ ],
+ ];
+
const disableBabelPlugin = process.env.DISABLE_BABEL_PLUGIN === '1';
// https://babeljs.io/docs/en/config-files#apicache
api.cache.invalidate(() => disableBabelPlugin);
if (disableBabelPlugin) {
console.log('Starting Web example without Babel plugin.');
+ } else {
+ plugins.push('react-native-reanimated/plugin');
}
+
return {
presets: ['babel-preset-expo'],
- plugins: disableBabelPlugin ? [] : ['react-native-reanimated/plugin'],
+ plugins,
};
};
diff --git a/yarn.lock b/yarn.lock
index fd25939cb727..6a82a08cf117 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -83,6 +83,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/code-frame@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/code-frame@npm:7.24.7"
+ dependencies:
+ "@babel/highlight": "npm:^7.24.7"
+ picocolors: "npm:^1.0.0"
+ checksum: 10/4812e94885ba7e3213d49583a155fdffb05292330f0a9b2c41b49288da70cf3c746a3fda0bf1074041a6d741c33f8d7be24be5e96f41ef77395eeddc5c9ff624
+ languageName: node
+ linkType: hard
+
"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.5, @babel/compat-data@npm:^7.24.4":
version: 7.24.4
resolution: "@babel/compat-data@npm:7.24.4"
@@ -97,6 +107,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/compat-data@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/compat-data@npm:7.24.7"
+ checksum: 10/6edc09152ca51a22c33741c441f33f9475598fa59edc53369edb74b49f4ea4bef1281f5b0ed2b9b67fb66faef2da2069e21c4eef83405d8326e524b301f4e7e2
+ languageName: node
+ linkType: hard
+
"@babel/core@npm:^7.1.0, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.18.5, @babel/core@npm:^7.20.0, @babel/core@npm:^7.23.9":
version: 7.24.5
resolution: "@babel/core@npm:7.24.5"
@@ -143,6 +160,29 @@ __metadata:
languageName: node
linkType: hard
+"@babel/core@npm:^7.23.6":
+ version: 7.24.7
+ resolution: "@babel/core@npm:7.24.7"
+ dependencies:
+ "@ampproject/remapping": "npm:^2.2.0"
+ "@babel/code-frame": "npm:^7.24.7"
+ "@babel/generator": "npm:^7.24.7"
+ "@babel/helper-compilation-targets": "npm:^7.24.7"
+ "@babel/helper-module-transforms": "npm:^7.24.7"
+ "@babel/helpers": "npm:^7.24.7"
+ "@babel/parser": "npm:^7.24.7"
+ "@babel/template": "npm:^7.24.7"
+ "@babel/traverse": "npm:^7.24.7"
+ "@babel/types": "npm:^7.24.7"
+ convert-source-map: "npm:^2.0.0"
+ debug: "npm:^4.1.0"
+ gensync: "npm:^1.0.0-beta.2"
+ json5: "npm:^2.2.3"
+ semver: "npm:^6.3.1"
+ checksum: 10/ef8cc1afa3ccecee6d1f5660c487ccc2a3f25106830ea9040e80ef4b2092e053607ee4ddd03493e4f7ef2f9967a956ca53b830d54c5bee738eeb58cce679dd4a
+ languageName: node
+ linkType: hard
+
"@babel/eslint-parser@npm:^7.20.0":
version: 7.24.5
resolution: "@babel/eslint-parser@npm:7.24.5"
@@ -181,6 +221,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/generator@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/generator@npm:7.24.7"
+ dependencies:
+ "@babel/types": "npm:^7.24.7"
+ "@jridgewell/gen-mapping": "npm:^0.3.5"
+ "@jridgewell/trace-mapping": "npm:^0.3.25"
+ jsesc: "npm:^2.5.1"
+ checksum: 10/c71d24a4b41b19c10d2f2eb819f27d4cf94220e2322f7c8fed8bfbbb115b2bebbdd6dc1f27dac78a175e90604def58d763af87e0fa81ce4ab1582858162cf768
+ languageName: node
+ linkType: hard
+
"@babel/helper-annotate-as-pure@npm:^7.22.5":
version: 7.22.5
resolution: "@babel/helper-annotate-as-pure@npm:7.22.5"
@@ -234,6 +286,19 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-compilation-targets@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-compilation-targets@npm:7.24.7"
+ dependencies:
+ "@babel/compat-data": "npm:^7.24.7"
+ "@babel/helper-validator-option": "npm:^7.24.7"
+ browserslist: "npm:^4.22.2"
+ lru-cache: "npm:^5.1.1"
+ semver: "npm:^6.3.1"
+ checksum: 10/8f8bc89af70a606ccb208513aa25d83e19b88f91b64a33174f7701a9479e67ddbb0a9c89033265070375cd24e690b93380b3a3ea11e4b3a711d742f0f4699ee7
+ languageName: node
+ linkType: hard
+
"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.24.1, @babel/helper-create-class-features-plugin@npm:^7.24.4, @babel/helper-create-class-features-plugin@npm:^7.24.5":
version: 7.24.5
resolution: "@babel/helper-create-class-features-plugin@npm:7.24.5"
@@ -314,6 +379,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-environment-visitor@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-environment-visitor@npm:7.24.7"
+ dependencies:
+ "@babel/types": "npm:^7.24.7"
+ checksum: 10/079d86e65701b29ebc10baf6ed548d17c19b808a07aa6885cc141b690a78581b180ee92b580d755361dc3b16adf975b2d2058b8ce6c86675fcaf43cf22f2f7c6
+ languageName: node
+ linkType: hard
+
"@babel/helper-function-name@npm:^7.23.0":
version: 7.23.0
resolution: "@babel/helper-function-name@npm:7.23.0"
@@ -334,6 +408,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-function-name@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-function-name@npm:7.24.7"
+ dependencies:
+ "@babel/template": "npm:^7.24.7"
+ "@babel/types": "npm:^7.24.7"
+ checksum: 10/2ceb3d9b2b35a0fc4100fc06ed7be3bc38f03ff0bf128ff0edbc0cc7dd842967b1496fc70b5c616c747d7711c2b87e7d025c8888f48740631d6148a9d3614f85
+ languageName: node
+ linkType: hard
+
"@babel/helper-hoist-variables@npm:^7.22.5":
version: 7.22.5
resolution: "@babel/helper-hoist-variables@npm:7.22.5"
@@ -352,6 +436,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-hoist-variables@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-hoist-variables@npm:7.24.7"
+ dependencies:
+ "@babel/types": "npm:^7.24.7"
+ checksum: 10/6cfdcf2289cd12185dcdbdf2435fa8d3447b797ac75851166de9fc8503e2fd0021db6baf8dfbecad3753e582c08e6a3f805c8d00cbed756060a877d705bd8d8d
+ languageName: node
+ linkType: hard
+
"@babel/helper-member-expression-to-functions@npm:^7.23.0, @babel/helper-member-expression-to-functions@npm:^7.24.5":
version: 7.24.5
resolution: "@babel/helper-member-expression-to-functions@npm:7.24.5"
@@ -388,6 +481,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-module-imports@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-module-imports@npm:7.24.7"
+ dependencies:
+ "@babel/traverse": "npm:^7.24.7"
+ "@babel/types": "npm:^7.24.7"
+ checksum: 10/df8bfb2bb18413aa151ecd63b7d5deb0eec102f924f9de6bc08022ced7ed8ca7fed914562d2f6fa5b59b74a5d6e255dc35612b2bc3b8abf361e13f61b3704770
+ languageName: node
+ linkType: hard
+
"@babel/helper-module-transforms@npm:^7.23.3, @babel/helper-module-transforms@npm:^7.24.5":
version: 7.24.5
resolution: "@babel/helper-module-transforms@npm:7.24.5"
@@ -418,6 +521,21 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-module-transforms@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-module-transforms@npm:7.24.7"
+ dependencies:
+ "@babel/helper-environment-visitor": "npm:^7.24.7"
+ "@babel/helper-module-imports": "npm:^7.24.7"
+ "@babel/helper-simple-access": "npm:^7.24.7"
+ "@babel/helper-split-export-declaration": "npm:^7.24.7"
+ "@babel/helper-validator-identifier": "npm:^7.24.7"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10/4f2b232bf6d1be8d3a72b084a2a7ac1b0b93ea85717411a11ae1fb6375d4392019e781d8cc155789e649a2caa7eec378dd1404210603d6d4230f042c5feacffb
+ languageName: node
+ linkType: hard
+
"@babel/helper-optimise-call-expression@npm:^7.22.5":
version: 7.22.5
resolution: "@babel/helper-optimise-call-expression@npm:7.22.5"
@@ -507,6 +625,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-simple-access@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-simple-access@npm:7.24.7"
+ dependencies:
+ "@babel/traverse": "npm:^7.24.7"
+ "@babel/types": "npm:^7.24.7"
+ checksum: 10/5083e190186028e48fc358a192e4b93ab320bd016103caffcfda81302a13300ccce46c9cd255ae520c25d2a6a9b47671f93e5fe5678954a2329dc0a685465c49
+ languageName: node
+ linkType: hard
+
"@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0, @babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5":
version: 7.22.5
resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.22.5"
@@ -543,6 +671,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-split-export-declaration@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-split-export-declaration@npm:7.24.7"
+ dependencies:
+ "@babel/types": "npm:^7.24.7"
+ checksum: 10/ff04a3071603c87de0d6ee2540b7291ab36305b329bd047cdbb6cbd7db335a12f9a77af1cf708779f75f13c4d9af46093c00b34432e50b2411872c658d1a2e5e
+ languageName: node
+ linkType: hard
+
"@babel/helper-string-parser@npm:^7.24.1":
version: 7.24.1
resolution: "@babel/helper-string-parser@npm:7.24.1"
@@ -557,6 +694,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-string-parser@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-string-parser@npm:7.24.7"
+ checksum: 10/603d8d962bbe89907aa99a8f19a006759ab7b2464615f20a6a22e3e2e8375af37ddd0e5175c9e622e1c4b2d83607ffb41055a59d0ce34404502af30fde573a5c
+ languageName: node
+ linkType: hard
+
"@babel/helper-validator-identifier@npm:^7.22.20, @babel/helper-validator-identifier@npm:^7.24.5":
version: 7.24.5
resolution: "@babel/helper-validator-identifier@npm:7.24.5"
@@ -571,6 +715,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-validator-identifier@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-validator-identifier@npm:7.24.7"
+ checksum: 10/86875063f57361471b531dbc2ea10bbf5406e12b06d249b03827d361db4cad2388c6f00936bcd9dc86479f7e2c69ea21412c2228d4b3672588b754b70a449d4b
+ languageName: node
+ linkType: hard
+
"@babel/helper-validator-option@npm:^7.23.5":
version: 7.23.5
resolution: "@babel/helper-validator-option@npm:7.23.5"
@@ -585,6 +736,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-validator-option@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-validator-option@npm:7.24.7"
+ checksum: 10/9689166bf3f777dd424c026841c8cd651e41b21242dbfd4569a53086179a3e744c8eddd56e9d10b54142270141c91581b53af0d7c00c82d552d2540e2a919f7e
+ languageName: node
+ linkType: hard
+
"@babel/helper-wrap-function@npm:^7.22.20":
version: 7.24.5
resolution: "@babel/helper-wrap-function@npm:7.24.5"
@@ -617,6 +775,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helpers@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helpers@npm:7.24.7"
+ dependencies:
+ "@babel/template": "npm:^7.24.7"
+ "@babel/types": "npm:^7.24.7"
+ checksum: 10/f7496f0d7a0b13ea86136ac2053371027125734170328215f8a90eac96fafaaae4e5398c0729bdadf23261c00582a31e14bc70113427653b718220641a917f9d
+ languageName: node
+ linkType: hard
+
"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.24.6":
version: 7.24.6
resolution: "@babel/highlight@npm:7.24.6"
@@ -641,6 +809,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/highlight@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/highlight@npm:7.24.7"
+ dependencies:
+ "@babel/helper-validator-identifier": "npm:^7.24.7"
+ chalk: "npm:^2.4.2"
+ js-tokens: "npm:^4.0.0"
+ picocolors: "npm:^1.0.0"
+ checksum: 10/69b73f38cdd4f881b09b939a711e76646da34f4834f4ce141d7a49a6bb1926eab1c594148970a8aa9360398dff800f63aade4e81fafdd7c8d8a8489ea93bfec1
+ languageName: node
+ linkType: hard
+
"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.5, @babel/parser@npm:^7.7.0":
version: 7.24.5
resolution: "@babel/parser@npm:7.24.5"
@@ -659,6 +839,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/parser@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/parser@npm:7.24.7"
+ bin:
+ parser: ./bin/babel-parser.js
+ checksum: 10/ef9ebce60e13db560ccc7af9235d460f6726bb7e23ae2d675098c1fc43d5249067be60d4118889dad33b1d4f85162cf66baf554719e1669f29bb20e71322568e
+ languageName: node
+ linkType: hard
+
"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.24.5":
version: 7.24.5
resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.24.5"
@@ -2235,6 +2424,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/template@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/template@npm:7.24.7"
+ dependencies:
+ "@babel/code-frame": "npm:^7.24.7"
+ "@babel/parser": "npm:^7.24.7"
+ "@babel/types": "npm:^7.24.7"
+ checksum: 10/5975d404ef51cf379515eb0f80b115981d0b9dff5539e53a47516644abb8c83d7559f5b083eb1d4977b20d8359ebb2f911ccd4f729143f8958fdc465f976d843
+ languageName: node
+ linkType: hard
+
"@babel/traverse@npm:^7.20.0, @babel/traverse@npm:^7.24.5, @babel/traverse@npm:^7.7.0":
version: 7.24.5
resolution: "@babel/traverse@npm:7.24.5"
@@ -2253,6 +2453,24 @@ __metadata:
languageName: node
linkType: hard
+"@babel/traverse@npm:^7.23.6, @babel/traverse@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/traverse@npm:7.24.7"
+ dependencies:
+ "@babel/code-frame": "npm:^7.24.7"
+ "@babel/generator": "npm:^7.24.7"
+ "@babel/helper-environment-visitor": "npm:^7.24.7"
+ "@babel/helper-function-name": "npm:^7.24.7"
+ "@babel/helper-hoist-variables": "npm:^7.24.7"
+ "@babel/helper-split-export-declaration": "npm:^7.24.7"
+ "@babel/parser": "npm:^7.24.7"
+ "@babel/types": "npm:^7.24.7"
+ debug: "npm:^4.3.1"
+ globals: "npm:^11.1.0"
+ checksum: 10/785cf26383a992740e492efba7016de964cd06c05c9d7146fa1b5ead409e054c444f50b36dc37856884a56e32cf9d3105ddf1543486b6df68300bffb117a245a
+ languageName: node
+ linkType: hard
+
"@babel/traverse@npm:^7.24.6":
version: 7.24.6
resolution: "@babel/traverse@npm:7.24.6"
@@ -2282,6 +2500,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/types@npm:^7.23.6, @babel/types@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/types@npm:7.24.7"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.24.7"
+ "@babel/helper-validator-identifier": "npm:^7.24.7"
+ to-fast-properties: "npm:^2.0.0"
+ checksum: 10/ad3c8c0d6fb4acb0bb74bb5b4bb849b181bf6185677ef9c59c18856c81e43628d0858253cf232f0eca806f02e08eff85a1d3e636a3e94daea737597796b0b430
+ languageName: node
+ linkType: hard
+
"@babel/types@npm:^7.24.6":
version: 7.24.6
resolution: "@babel/types@npm:7.24.6"
@@ -6051,6 +6280,40 @@ __metadata:
languageName: node
linkType: hard
+"@stylexjs/babel-plugin@npm:^0.7.0":
+ version: 0.7.0
+ resolution: "@stylexjs/babel-plugin@npm:0.7.0"
+ dependencies:
+ "@babel/core": "npm:^7.23.6"
+ "@babel/helper-module-imports": "npm:^7.22.15"
+ "@babel/traverse": "npm:^7.23.6"
+ "@babel/types": "npm:^7.23.6"
+ "@stylexjs/shared": "npm:0.7.0"
+ "@stylexjs/stylex": "npm:0.7.0"
+ checksum: 10/7407e0c32e73e723385798709304e81e4a2d614859b2de12084e9df6e4a5e4e79541efe88be2056978964d8da95671139609b5bb476791c5f957b22962883eed
+ languageName: node
+ linkType: hard
+
+"@stylexjs/shared@npm:0.7.0":
+ version: 0.7.0
+ resolution: "@stylexjs/shared@npm:0.7.0"
+ dependencies:
+ postcss-value-parser: "npm:^4.1.0"
+ checksum: 10/89fb3faec9342e33010181c22f8bb1324b23cc7ac8d875ce7ada5fef8d8cb743c98efd48507b766f13580659f930aa223bcf5d6e18d3782af5f3960fa51e0342
+ languageName: node
+ linkType: hard
+
+"@stylexjs/stylex@npm:0.7.0, @stylexjs/stylex@npm:^0.7.0":
+ version: 0.7.0
+ resolution: "@stylexjs/stylex@npm:0.7.0"
+ dependencies:
+ css-mediaquery: "npm:^0.1.2"
+ invariant: "npm:^2.2.4"
+ styleq: "npm:0.1.3"
+ checksum: 10/e69fc65be50c49877b31101e000b07342197c2377bc374d350f4cb5f5b6b68fd906175a6cef5c44fa289c63e934104a3a1cc0d18a7b77f6cb781f395871fff99
+ languageName: node
+ linkType: hard
+
"@swc/counter@npm:^0.1.3":
version: 0.1.3
resolution: "@swc/counter@npm:0.1.3"
@@ -8618,6 +8881,7 @@ __metadata:
"@react-navigation/native": "npm:^6.1.9"
"@react-navigation/native-stack": "npm:^6.9.17"
"@react-navigation/stack": "npm:^6.3.18"
+ "@stylexjs/babel-plugin": "npm:^0.7.0"
"@tsconfig/react-native": "npm:^3.0.0"
"@types/d3-shape": "npm:^3.1.1"
d3-shape: "npm:^3.2.0"
@@ -8633,6 +8897,7 @@ __metadata:
react-native-safe-area-context: "npm:4.10.0-rc.1"
react-native-screens: "npm:3.31.0-rc.1"
react-native-svg: "npm:^15.2.0-rc.0"
+ react-strict-dom: "npm:^0.0.17"
typescript: "npm:~5.3.0"
peerDependencies:
"@fortawesome/fontawesome-svg-core": "*"
@@ -8646,6 +8911,7 @@ __metadata:
"@react-navigation/native": "*"
"@react-navigation/native-stack": "*"
"@react-navigation/stack": "*"
+ "@stylexjs/babel-plugin": "*"
d3-shape: "*"
react: "*"
react-dom: "*"
@@ -8657,6 +8923,7 @@ __metadata:
react-native-screens: "*"
react-native-svg: "*"
react-native-web: "*"
+ react-strict-dom: "*"
languageName: unknown
linkType: soft
@@ -9054,6 +9321,13 @@ __metadata:
languageName: node
linkType: hard
+"css-mediaquery@npm:0.1.2, css-mediaquery@npm:^0.1.2":
+ version: 0.1.2
+ resolution: "css-mediaquery@npm:0.1.2"
+ checksum: 10/f2f7512daa015f98b82bd65bbdd7c2100b16dddf22784bde2a8085f10f11e8775da57108016fe767f5e400afe64581c15d4e649c47725af7eac5f4094fa7ae43
+ languageName: node
+ linkType: hard
+
"css-select@npm:^5.1.0":
version: 5.1.0
resolution: "css-select@npm:5.1.0"
@@ -16359,7 +16633,7 @@ __metadata:
languageName: node
linkType: hard
-"postcss-value-parser@npm:^4.2.0":
+"postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0":
version: 4.2.0
resolution: "postcss-value-parser@npm:4.2.0"
checksum: 10/e4e4486f33b3163a606a6ed94f9c196ab49a37a7a7163abfcd469e5f113210120d70b8dd5e33d64636f41ad52316a3725655421eb9a1094f1bcab1db2f555c62
@@ -17341,6 +17615,21 @@ __metadata:
languageName: node
linkType: hard
+"react-strict-dom@npm:^0.0.17":
+ version: 0.0.17
+ resolution: "react-strict-dom@npm:0.0.17"
+ dependencies:
+ "@stylexjs/stylex": "npm:^0.7.0"
+ css-mediaquery: "npm:0.1.2"
+ postcss-value-parser: "npm:^4.1.0"
+ peerDependencies:
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ react-native: ^0.73.2
+ checksum: 10/80750fcef76c351eb1aa476d0e85bc5bc3fc20994911d9d869736c04cda8a7f86175a0c41daabfe5346c5ca545c3de16ffd301288c9d2f7fd7e0374ff90f0555
+ languageName: node
+ linkType: hard
+
"react-test-renderer@npm:18.2.0":
version: 18.2.0
resolution: "react-test-renderer@npm:18.2.0"
@@ -18872,7 +19161,7 @@ __metadata:
languageName: node
linkType: hard
-"styleq@npm:^0.1.2, styleq@npm:^0.1.3":
+"styleq@npm:0.1.3, styleq@npm:^0.1.2, styleq@npm:^0.1.3":
version: 0.1.3
resolution: "styleq@npm:0.1.3"
checksum: 10/9a75a1b635f8ebf5c0fdc3ffb56f466254f29aa1b2962ab2af776015d3b3bb1732a53edcda0c9ac9b97be96c22459db768feac0d61c1a319cc3954011ca9dcd8