From 815709fb7836543cd581a987d909afdf0c898e94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Sep 2021 06:08:49 +0000 Subject: [PATCH 001/256] Bump nth-check from 2.0.0 to 2.0.1 Bumps [nth-check](https://github.com/fb55/nth-check) from 2.0.0 to 2.0.1. - [Release notes](https://github.com/fb55/nth-check/releases) - [Commits](https://github.com/fb55/nth-check/compare/v2.0.0...v2.0.1) --- updated-dependencies: - dependency-name: nth-check dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index c4b8a4c75..0c2d5cbcd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2642,7 +2642,8 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.9: boolbase@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= brace-expansion@^1.1.7: version "1.1.11" @@ -7475,9 +7476,9 @@ npmlog@^4.0.1, npmlog@^4.1.2: set-blocking "~2.0.0" nth-check@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz" - integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + version "2.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== dependencies: boolbase "^1.0.0" From f21b8f440852a061b0bb8ae5c6dc4b069078b136 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Sep 2021 01:42:06 +0000 Subject: [PATCH 002/256] Bump semver-regex from 3.1.2 to 3.1.3 Bumps [semver-regex](https://github.com/sindresorhus/semver-regex) from 3.1.2 to 3.1.3. - [Release notes](https://github.com/sindresorhus/semver-regex/releases) - [Commits](https://github.com/sindresorhus/semver-regex/commits) --- updated-dependencies: - dependency-name: semver-regex dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0c2d5cbcd..588ce5c64 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8931,9 +8931,9 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz" semver-regex@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.2.tgz#34b4c0d361eef262e07199dbef316d0f2ab11807" - integrity sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA== + version "3.1.3" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3" + integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ== "semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.6.0" From ec7cf833080759d5c829b7e37603d1619cd38a00 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Sep 2021 01:27:04 +0000 Subject: [PATCH 003/256] Bump tmpl from 1.0.4 to 1.0.5 Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5. - [Release notes](https://github.com/daaku/nodejs-tmpl/releases) - [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5) --- updated-dependencies: - dependency-name: tmpl dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index 588ce5c64..f3379817e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9884,8 +9884,9 @@ tiny-warning@^1.0.2: integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz" + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== to-array@0.1.4: version "0.1.4" From 38530ff46abb1882c48001dbc464ba0862d2d4b7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Sep 2021 20:57:36 +0000 Subject: [PATCH 004/256] Bump prismjs from 1.24.0 to 1.25.0 Bumps [prismjs](https://github.com/PrismJS/prism) from 1.24.0 to 1.25.0. - [Release notes](https://github.com/PrismJS/prism/releases) - [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md) - [Commits](https://github.com/PrismJS/prism/compare/v1.24.0...v1.25.0) --- updated-dependencies: - dependency-name: prismjs dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index f3379817e..4f754620c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8157,9 +8157,9 @@ pretty@^2.0.0: js-beautify "^1.6.12" prismjs@^1.23.0: - version "1.24.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.24.0.tgz#0409c30068a6c52c89ef7f1089b3ca4de56be2ac" - integrity sha512-SqV5GRsNqnzCL8k5dfAjCNhUrF3pR0A9lTDSCUZeh/LIshheXJEaP0hwLz2t4XHivd2J/v2HR+gRnigzeKe3cQ== + version "1.25.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.25.0.tgz#6f822df1bdad965734b310b315a23315cf999756" + integrity sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg== process-nextick-args@~2.0.0: version "2.0.0" From b80b06da0df027859f9d5da86ef484fb1a8134f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Aug 2021 22:15:14 +0000 Subject: [PATCH 005/256] Bump path-parse from 1.0.6 to 1.0.7 Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7. - [Release notes](https://github.com/jbgutierrez/path-parse/releases) - [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7) --- updated-dependencies: - dependency-name: path-parse dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4f754620c..935e1923a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7866,8 +7866,9 @@ path-key@^3.0.0, path-key@^3.1.0: integrity sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg== path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz" + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-root-regex@^0.1.0: version "0.1.2" From ea3975d357394ef37a713a4263e06ca8ca8ac2e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Sep 2021 18:03:33 +0000 Subject: [PATCH 006/256] Bump next from 10.0.6 to 11.1.1 Bumps [next](https://github.com/vercel/next.js) from 10.0.6 to 11.1.1. - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Commits](https://github.com/vercel/next.js/compare/v10.0.6...v11.1.1) --- updated-dependencies: - dependency-name: next dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- packages/examples/package.json | 2 +- yarn.lock | 1215 ++++++++++++++------------------ 2 files changed, 525 insertions(+), 692 deletions(-) diff --git a/packages/examples/package.json b/packages/examples/package.json index c9e3561e0..ba81083ad 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -8,7 +8,7 @@ "start": "next start" }, "dependencies": { - "next": "^10.0.6", + "next": "^11.1.1", "react": "^17.0.1", "react-dom": "^17.0.1", "react-native-web": "0.17.1" diff --git a/yarn.lock b/yarn.lock index 935e1923a..67a80e125 100644 --- a/yarn.lock +++ b/yarn.lock @@ -60,57 +60,6 @@ time-require "^0.1.2" valid-url "^1.0.9" -"@ampproject/toolbox-core@2.7.4", "@ampproject/toolbox-core@^2.7.1-alpha.0": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-core/-/toolbox-core-2.7.4.tgz#8355136f16301458ce942acf6c55952c9a415627" - integrity sha512-qpBhcS4urB7IKc+jx2kksN7BuvvwCo7Y3IstapWo+EW+COY5EYAUwb2pil37v3TsaqHKgX//NloFP1SKzGZAnw== - dependencies: - cross-fetch "3.0.6" - lru-cache "6.0.0" - -"@ampproject/toolbox-optimizer@2.7.1-alpha.0": - version "2.7.1-alpha.0" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-optimizer/-/toolbox-optimizer-2.7.1-alpha.0.tgz#1571dcd02608223ff68f6b7223102a123e381197" - integrity sha512-WGPZKVQvHgNYJk1XVJCCmY+NVGTGJtvn0OALDyiegN4FJWOcilQUhCIcjMkZN59u1flz/u+sEKccM5qsROqVyg== - dependencies: - "@ampproject/toolbox-core" "^2.7.1-alpha.0" - "@ampproject/toolbox-runtime-version" "^2.7.1-alpha.0" - "@ampproject/toolbox-script-csp" "^2.5.4" - "@ampproject/toolbox-validator-rules" "^2.7.1-alpha.0" - abort-controller "3.0.0" - cross-fetch "3.0.6" - cssnano-simple "1.2.1" - dom-serializer "1.1.0" - domhandler "3.3.0" - domutils "2.4.2" - htmlparser2 "5.0.1" - https-proxy-agent "5.0.0" - lru-cache "6.0.0" - node-fetch "2.6.1" - normalize-html-whitespace "1.0.0" - postcss "7.0.32" - postcss-safe-parser "4.0.2" - terser "5.5.1" - -"@ampproject/toolbox-runtime-version@^2.7.1-alpha.0": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-runtime-version/-/toolbox-runtime-version-2.7.4.tgz#f49da0dab122101ef75ed3caed3a0142487b73e1" - integrity sha512-SAdOUOERp42thVNWaBJlnFvFVvnacMVnz5z9LyUZHSnoL1EqrAW5Sz5jv+Ly+gkA8NYsEaUxAdSCBAzE9Uzb4Q== - dependencies: - "@ampproject/toolbox-core" "2.7.4" - -"@ampproject/toolbox-script-csp@^2.5.4": - version "2.5.4" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-script-csp/-/toolbox-script-csp-2.5.4.tgz#d8b7b91a678ae8f263cb36d9b74e441b7d633aad" - integrity sha512-+knTYetI5nWllRZ9wFcj7mYxelkiiFVRAAW/hl0ad8EnKHMH82tRlk40CapEnUHhp6Er5sCYkumQ8dngs3Q4zQ== - -"@ampproject/toolbox-validator-rules@^2.7.1-alpha.0": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-validator-rules/-/toolbox-validator-rules-2.7.4.tgz#a58b5eca723f6c3557ac83b696de0247f5f03ce4" - integrity sha512-z3JRcpIZLLdVC9XVe7YTZuB3a/eR9s2SjElYB9AWRdyJyL5Jt7+pGNv4Uwh1uHVoBXsWEVQzNOWSNtrO3mSwZA== - dependencies: - cross-fetch "3.0.6" - "@babel/cli@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.12.13.tgz#ae2c6a75fa43f3db4bca0659799b0dfca3f5212b" @@ -292,6 +241,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz#174254d0f2424d8aefb4dd48057511247b0a9eeb" integrity sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA== +"@babel/helper-plugin-utils@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + "@babel/helper-remap-async-to-generator@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz#170365f4140e2d20e5c88f8ba23c24468c296878" @@ -337,6 +291,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== +"@babel/helper-validator-identifier@^7.14.9": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== + "@babel/helper-validator-option@^7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz#d66cb8b7a3e7fe4c6962b32020a131ecf0847f4f" @@ -546,6 +505,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" + integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-jsx@^7.12.1", "@babel/plugin-syntax-jsx@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15" @@ -1017,17 +983,10 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz" - integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.13.tgz#0a21452352b02542db0ffb928ac2d3ca7cb6d66d" - integrity sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw== +"@babel/runtime@7.15.3", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz#2e1c2880ca118e5b2f9988322bd8a7656a32502b" + integrity sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA== dependencies: regenerator-runtime "^0.13.4" @@ -1055,13 +1014,12 @@ globals "^11.1.0" lodash "^4.17.19" -"@babel/types@7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz" - integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg== +"@babel/types@7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd" + integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ== dependencies: - esutils "^2.0.2" - lodash "^4.17.13" + "@babel/helper-validator-identifier" "^7.14.9" to-fast-properties "^2.0.0" "@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.7.4": @@ -1215,10 +1173,10 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@hapi/accept@5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-5.0.1.tgz#068553e867f0f63225a506ed74e899441af53e10" - integrity sha512-fMr4d7zLzsAXo28PRRQPXR1o2Wmu+6z+VY1UzDp0iFo13Twj8WePakwXBiqn3E1aAlTpSNzCXdnnQXFhst8h8Q== +"@hapi/accept@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-5.0.2.tgz#ab7043b037e68b722f93f376afb05e85c0699523" + integrity sha512-CmzBx/bXUR8451fnZRuZAJRlzgm0Jgu5dltTX/bszmR2lheb9BpyN47Q1RbaGTsvFzn0PXAEs+lXDKfshccYZw== dependencies: "@hapi/boom" "9.x.x" "@hapi/hoek" "9.x.x" @@ -1450,20 +1408,25 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@next/env@10.0.6": - version "10.0.6" - resolved "https://registry.yarnpkg.com/@next/env/-/env-10.0.6.tgz#e3c845491a8b0fffda219b5bda84b361b8b2f9c2" - integrity sha512-++zgrcSL9SprjWKBbO3YuVj/8CTmxJl+zLErW/Kbr2VCT0u12SrBcMKvD236lEGs5/qUgeBfU3Dvmr6MASWrtA== +"@napi-rs/triples@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c" + integrity sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA== + +"@next/env@11.1.1": + version "11.1.1" + resolved "https://registry.yarnpkg.com/@next/env/-/env-11.1.1.tgz#d403282accbe8795aa2341f0e02c2e8bfc92bfb0" + integrity sha512-UEAzlfKofotLmj9LIgNixAfXpRck9rt/1CU9Q4ZtNDueGBJQP3HUzPHlrLChltWY2TA5MOzDQGL82H0a3+i5Ag== -"@next/polyfill-module@10.0.6": - version "10.0.6" - resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-10.0.6.tgz#9d4c651456d90b5bafb3d9a3a93100d309d47746" - integrity sha512-Sk3HYFxiI3AyIhw7Nnc5un//duCthAP2XtPb4N1SamymOU2QSb8I1zkcsxVIlZRvftdXikQQgra6Ck2zfJRxpA== +"@next/polyfill-module@11.1.1": + version "11.1.1" + resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-11.1.1.tgz#89d5a70685a52a0fad79f05a1f97a6b15cc727aa" + integrity sha512-9FyVSnz00WGdlLsgc2w1xL1Lm/Q25y6FYIyA+1WlJvT6LA2lbR78GKiHgedzUvrAatVGAcg/Og+d0d7B4tsJOg== -"@next/react-dev-overlay@10.0.6": - version "10.0.6" - resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-10.0.6.tgz#9e9828cfd75a62e852a3d1861e605c92d97c4ff4" - integrity sha512-KbxpyVT6gr1KZ7JoFDKGNM0hK7CxPkIC14j/gYgR6qSOhxGs3GEIBScJRXfKD7LNPMgVgQtaJlBYlEJ7aQu1xg== +"@next/react-dev-overlay@11.1.1": + version "11.1.1" + resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-11.1.1.tgz#3cd99202a85412bada8ba9c8e3f4cf7c19294b24" + integrity sha512-CXc/A0DbSk5VXYu4+zr0fHm52Zh/LhPlLyVPEctJOZL64ccxkls5xGoXvgolJCku9L0pLjJzvdfAmhNLOp5dyw== dependencies: "@babel/code-frame" "7.12.11" anser "1.4.9" @@ -1477,10 +1440,30 @@ stacktrace-parser "0.1.10" strip-ansi "6.0.0" -"@next/react-refresh-utils@10.0.6": - version "10.0.6" - resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-10.0.6.tgz#896a182654d54eec6b6374251d834199efa70081" - integrity sha512-4BF+8PyzDcYpumQJ22yBUjVP/CL2KLPM+3K3ZQb61HvmIptB/t+jFnH2ew8S7ORQNu/caVQC6wP5wAfOtpJNsg== +"@next/react-refresh-utils@11.1.1": + version "11.1.1" + resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-11.1.1.tgz#8d1a5432a53c9f987503d5ab07d3241230afb33f" + integrity sha512-j186y+lWc8BHAuysAWvlOqO9Bp7E3BLK/d/Ju3W2sP5BCH5ZLyLG/p308zSy/O0MGTag0B038ZA1dCy/msouRQ== + +"@next/swc-darwin-arm64@11.1.1": + version "11.1.1" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-11.1.1.tgz#ea9a76bcff00945df29a81bc43b3b22dd0a6cb53" + integrity sha512-KyB0aLpfQ+B2dsyGYpkM0ZwK3PV0t4C4b9yjgQc1VoTVnIjzXdDPnNOuVvmD849ZNOHfj3x8e2rlbxkj0lPm3A== + +"@next/swc-darwin-x64@11.1.1": + version "11.1.1" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-11.1.1.tgz#95838e9116897ae734d02fdbbfa601b6f52adaf3" + integrity sha512-B3ZXgrGx0bQplbrk2oggPjKPPsmyg8Fl0PJLMTVQ+erQ8g1m5QzyS9P6tB3SiIZa180JgENuguTHlVK5qEj4UA== + +"@next/swc-linux-x64-gnu@11.1.1": + version "11.1.1" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-11.1.1.tgz#42c4973213a880977ebdfad01474217d7d71e8c2" + integrity sha512-qvZL7gSKF+E+GZ3L1XiTnE3cOh9rk0wkqimT/q+wwcZA4E720Lu4lrT79I3HPuj6i/JPgGvmNskcnYrDeaoFaw== + +"@next/swc-win32-x64-msvc@11.1.1": + version "11.1.1" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-11.1.1.tgz#1ffcbd01a0155fa8558f7aefffea1066e9bebe74" + integrity sha512-jhnCiA1De1L+kA0gmHG1AJijHoxOcrETWziDWy8fcqSrM1NlC4aJ5Mnu6k0QMcM9MnmXTA4TQZOEv3kF7vhJUQ== "@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents": version "2.1.8-no-fsevents" @@ -1499,6 +1482,13 @@ readdirp "^2.2.1" upath "^1.1.1" +"@node-rs/helper@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@node-rs/helper/-/helper-1.2.1.tgz#e079b05f21ff4329d82c4e1f71c0290e4ecdc70c" + integrity sha512-R5wEmm8nbuQU0YGGmYVjEc0OHtYsuXdpRG+Ut/3wZ9XAvQWyThN08bTh2cBJgoZxHQUPtvRfeQuxcAgLuiBISg== + dependencies: + "@napi-rs/triples" "^1.0.3" + "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz" @@ -1520,18 +1510,6 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" -"@opentelemetry/api@0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-0.14.0.tgz#4e17d8d2f1da72b19374efa7b6526aa001267cae" - integrity sha512-L7RMuZr5LzMmZiQSQDy9O1jo0q+DaLy6XpYJfIGfYSfoJA5qzYwUP3sP1uMIQ549DvxAgM3ng85EaPTM/hUHwQ== - dependencies: - "@opentelemetry/context-base" "^0.14.0" - -"@opentelemetry/context-base@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.14.0.tgz#c67fc20a4d891447ca1a855d7d70fa79a3533001" - integrity sha512-sDOAZcYwynHFTbLo6n8kIbLiVF3a3BLkrmehJUyEbT9F+Smbi47kLGS2gG2g0fjBLR/Lr1InPD7kXL7FaTqEkw== - "@polka/url@^1.0.0-next.9": version "1.0.0-next.11" resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.11.tgz#aeb16f50649a91af79dbe36574b66d0f9e4d9f71" @@ -1915,13 +1893,6 @@ abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz" -abort-controller@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - accepts@~1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz" @@ -2002,13 +1973,6 @@ after@0.8.2: resolved "https://registry.npmjs.org/after/-/after-0.8.2.tgz" integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - aggregate-error@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz" @@ -2072,10 +2036,6 @@ ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz" -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz" - ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz" @@ -2133,18 +2093,6 @@ aphrodite@^2.4.0: inline-style-prefixer "^5.1.0" string-hash "^1.1.3" -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz" @@ -2196,11 +2144,6 @@ array-find-index@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz" -array-flatten@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-3.0.0.tgz#6428ca2ee52c7b823192ec600fa3ed2f157cd541" - integrity sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA== - array-includes@^3.1.1, array-includes@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.2.tgz#a8db03e0b88c8c6aeddc49cb132f9bcab4ebf9c8" @@ -2279,6 +2222,16 @@ assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz" +assert@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" + integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== + dependencies: + es6-object-assign "^1.1.0" + is-nan "^1.2.1" + object-is "^1.0.1" + util "^0.12.0" + assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz" @@ -2330,6 +2283,11 @@ atob@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz" +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz" @@ -2455,7 +2413,7 @@ babel-plugin-macros@^2.6.1: babel-plugin-syntax-jsx "^6.18.0" lodash "^4.17.10" -babel-plugin-syntax-jsx@6.18.0, babel-plugin-syntax-jsx@^6.18.0: +babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" resolved "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz" @@ -2568,7 +2526,7 @@ base64-arraybuffer@0.1.5: resolved "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz" integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= -base64-js@^1.0.2, base64-js@^1.3.1: +base64-js@^1.0.2: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -2621,15 +2579,6 @@ binary-extensions@^2.0.0: resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bl@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" - integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - blob@0.0.5: version "0.0.5" resolved "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz" @@ -2797,33 +2746,22 @@ browserify-sign@^4.0.0: inherits "^2.0.1" parse-asn1 "^5.0.0" -browserify-zlib@^0.2.0: +browserify-zlib@0.2.0, browserify-zlib@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz" dependencies: pako "~1.0.5" -browserslist@4.16.1: - version "4.16.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.1.tgz#bf757a2da376b3447b800a16f0f1c96358138766" - integrity sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA== - dependencies: - caniuse-lite "^1.0.30001173" - colorette "^1.2.1" - electron-to-chromium "^1.3.634" - escalade "^3.1.1" - node-releases "^1.1.69" - -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.1: - version "4.16.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" - integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== +browserslist@4.16.6, browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.1: + version "4.16.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" + integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== dependencies: - caniuse-lite "^1.0.30001181" - colorette "^1.2.1" - electron-to-chromium "^1.3.649" + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" escalade "^3.1.1" - node-releases "^1.1.70" + node-releases "^1.1.71" bs-recipes@1.3.4: version "1.3.4" @@ -2865,14 +2803,6 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" @@ -2961,10 +2891,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001093, caniuse-lite@^1.0.30001173, caniuse-lite@^1.0.30001179, caniuse-lite@^1.0.30001181: - version "1.0.30001185" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz#3482a407d261da04393e2f0d61eefbc53be43b95" - integrity sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228: + version "1.0.30001261" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz#96d89813c076ea061209a4e040d8dcf0c66a1d01" + integrity sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA== capture-exit@^2.0.0: version "2.0.0" @@ -2985,7 +2915,7 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3084,10 +3014,6 @@ chokidar@3.5.1, chokidar@^3.3.0, chokidar@^3.4.0, chokidar@^3.4.1: optionalDependencies: fsevents "~2.3.1" -chownr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz" - chrome-trace-event@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz" @@ -3187,10 +3113,6 @@ co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz" -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz" - collect-v8-coverage@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz" @@ -3203,7 +3125,7 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.9.0, color-convert@^1.9.1: +color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz" dependencies: @@ -3221,32 +3143,21 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@^1.0.0, color-name@^1.1.4, color-name@~1.1.4: +color-name@^1.1.4, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" - integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" - integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.4" - colorette@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== +colorette@^1.2.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz" @@ -3354,10 +3265,6 @@ console-browserify@^1.1.0: dependencies: date-now "^0.1.4" -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz" - constantinople@^3.0.1, constantinople@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-3.1.2.tgz#d45ed724f57d3d10500017a7d3a889c1381ae647" @@ -3368,7 +3275,7 @@ constantinople@^3.0.1, constantinople@^3.1.2: babel-types "^6.26.0" babylon "^6.18.0" -constants-browserify@^1.0.0: +constants-browserify@1.0.0, constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz" @@ -3474,7 +3381,7 @@ cross-env@^7.0.3: dependencies: cross-spawn "^7.0.1" -cross-fetch@3.0.6, cross-fetch@^3.0.4: +cross-fetch@^3.0.4: version "3.0.6" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.0.6.tgz#3a4040bc8941e653e0e9cf17f29ebcd177d3365c" integrity sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ== @@ -3610,37 +3517,19 @@ cssfontparser@^1.2.1: resolved "https://registry.yarnpkg.com/cssfontparser/-/cssfontparser-1.2.1.tgz" integrity sha1-9AIvyPlwDGgCnVQghK+69CWj8+M= -cssnano-preset-simple@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-1.2.1.tgz#8976013114b1fc4718253d30f21aaed1780fb80e" - integrity sha512-B2KahOIFTV6dw5Ioy9jHshTh/vAYNnUB2enyWRgnAEg3oJBjI/035ExpePaMqS2SwpbH7gCgvQqwpMBH6hTJSw== - dependencies: - caniuse-lite "^1.0.30001093" - postcss "^7.0.32" - -cssnano-preset-simple@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-1.2.2.tgz#c631bf79ffec7fdfc4069e2f2da3ca67d99d8413" - integrity sha512-gtvrcRSGtP3hA/wS8mFVinFnQdEsEpm3v4I/s/KmNjpdWaThV/4E5EojAzFXxyT5OCSRPLlHR9iQexAqKHlhGQ== - dependencies: - caniuse-lite "^1.0.30001179" - postcss "^7.0.32" - -cssnano-simple@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-1.2.1.tgz#6de5d9dd75774bc8f31767573410a952c7dd8a12" - integrity sha512-9vOyjw8Dj/T12kIOnXPZ5VnEIo6F3YMaIn0wqJXmn277R58cWpI3AvtdlCBtohX7VAUNYcyk2d0dKcXXkb5I6Q== +cssnano-preset-simple@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-3.0.0.tgz#e95d0012699ca2c741306e9a3b8eeb495a348dbe" + integrity sha512-vxQPeoMRqUT3c/9f0vWeVa2nKQIHFpogtoBvFdW4GQ3IvEJ6uauCP6p3Y5zQDLFcI7/+40FTgX12o7XUL0Ko+w== dependencies: - cssnano-preset-simple "1.2.1" - postcss "^7.0.32" + caniuse-lite "^1.0.30001202" -cssnano-simple@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-1.2.2.tgz#72c2c3970e67123c3b4130894a30dc1050267007" - integrity sha512-4slyYc1w4JhSbhVX5xi9G0aQ42JnRyPg+7l7cqoNyoIDzfWx40Rq3JQZnoAWDu60A4AvKVp9ln/YSUOdhDX68g== +cssnano-simple@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-3.0.0.tgz#a4b8ccdef4c7084af97e19bc5b93b4ecf211e90f" + integrity sha512-oU3ueli5Dtwgh0DyeohcIEE00QVfbPR3HzyXdAl89SfnQG3y0/qcpfLVW+jPIh3/rgMZGwuW96rejZGaYE9eUg== dependencies: - cssnano-preset-simple "1.2.2" - postcss "^7.0.32" + cssnano-preset-simple "^3.0.0" csso@^4.2.0: version "4.2.0" @@ -3729,13 +3618,13 @@ date-time@^0.1.1: resolved "https://registry.npmjs.org/date-time/-/date-time-0.1.1.tgz" integrity sha1-7S9tk9l5DOL9ZtW1/z7dW7y/Owc= -debug@2.6.9, debug@^2.2.0, debug@^2.3.3: +debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz" dependencies: ms "2.0.0" -debug@4, debug@4.3.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: +debug@4.3.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== @@ -3770,28 +3659,10 @@ decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz" -decompress-response@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986" - integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== - dependencies: - mimic-response "^2.0.0" - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz" -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz" - deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -3866,10 +3737,6 @@ delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz" -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz" - depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz" @@ -3895,10 +3762,6 @@ destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz" -detect-libc@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz" - detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz" @@ -3957,15 +3820,6 @@ dom-accessibility-api@^0.5.4: resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz#b06d059cdd4a4ad9a79275f9d414a5c126241166" integrity sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ== -dom-serializer@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.1.0.tgz#5f7c828f1bfc44887dc2a315ab5c45691d544b58" - integrity sha512-ox7bvGXt2n+uLWtCRLybYx60IrOlWL/aCebWJk1T0d4m3y2tzf4U3ij9wBMUb6YJZpz06HCCYuyCDveE2xXmzQ== - dependencies: - domelementtype "^2.0.1" - domhandler "^3.0.0" - entities "^2.0.0" - dom-serializer@^1.0.1, dom-serializer@~1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz" @@ -3975,6 +3829,11 @@ dom-serializer@^1.0.1, dom-serializer@~1.2.0: domhandler "^4.0.0" entities "^2.0.0" +domain-browser@4.19.0: + version "4.19.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.19.0.tgz#1093e17c0a17dbd521182fe90d49ac1370054af1" + integrity sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ== + domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz" @@ -3998,13 +3857,6 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" -domhandler@3.3.0, domhandler@^3.0.0, domhandler@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.3.0.tgz#6db7ea46e4617eb15cf875df68b2b8524ce0037a" - integrity sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA== - dependencies: - domelementtype "^2.0.1" - domhandler@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz" @@ -4012,16 +3864,7 @@ domhandler@^4.0.0: dependencies: domelementtype "^2.1.0" -domutils@2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.4.2.tgz#7ee5be261944e1ad487d9aa0616720010123922b" - integrity sha512-NKbgaM8ZJOecTZsIzW5gSuplsX2IWW2mIK7xVr8hTQF2v1CJWTmLZ1HOCh5sH+IzVPAGE5IucooOkvwBRAdowA== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.0.1" - domhandler "^3.3.0" - -domutils@^2.4.2, domutils@^2.4.3, domutils@^2.4.4: +domutils@^2.4.3, domutils@^2.4.4: version "2.4.4" resolved "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz" integrity sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA== @@ -4075,10 +3918,10 @@ ejs@^2.7.4: resolved "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz" integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== -electron-to-chromium@^1.3.634, electron-to-chromium@^1.3.649: - version "1.3.657" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.657.tgz#a9c307f2612681245738bb8d36d997cbb568d481" - integrity sha512-/9ROOyvEflEbaZFUeGofD+Tqs/WynbSTbNgNF+/TJJxH1ePD/e6VjZlDJpW3FFFd3nj5l3Hd8ki2vRwy+gyRFw== +electron-to-chromium@^1.3.723: + version "1.3.852" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.852.tgz#04091fd848b38e7248e4eb70c05e1f9befd2671b" + integrity sha512-vNbdzbbx3d7TStoC0oIVYz6X/tIezHXnreI+4a8I7EqAQ9hpHulz3ar8xChUNcG77A+TtPSKz9B9Xwpt9e1B5w== eleventy-plugin-svg-contents@^0.7.0: version "0.7.0" @@ -4130,7 +3973,14 @@ encodeurl@~1.0.1, encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz" -end-of-stream@^1.1.0, end-of-stream@^1.4.1: +encoding@0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -4267,6 +4117,30 @@ es-abstract@^1.18.0-next.1: string.prototype.trimend "^1.0.3" string.prototype.trimstart "^1.0.3" +es-abstract@^1.18.5: + version "1.18.6" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.6.tgz#2c44e3ea7a6255039164d26559777a6d978cb456" + integrity sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-string "^1.0.7" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + es-abstract@^1.4.3: version "1.12.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz" @@ -4291,6 +4165,11 @@ es-to-primitive@^1.1.1, es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +es6-object-assign@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" + integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= + escalade@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" @@ -4480,11 +4359,6 @@ etag@1.8.1, etag@^1.8.1, etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz" -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - eventemitter3@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz" @@ -4581,11 +4455,6 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expand-template@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" - integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== - expect@^25.5.0: version "25.5.0" resolved "https://registry.yarnpkg.com/expect/-/expect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba" @@ -4804,6 +4673,11 @@ for-in@^1.0.2: resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= + forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz" @@ -4826,11 +4700,6 @@ fresh@0.5.2, fresh@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz" -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - fs-extra@3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz" @@ -4871,19 +4740,6 @@ functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - gen-flow-files@^0.4.11: version "0.4.11" resolved "https://registry.npmjs.org/gen-flow-files/-/gen-flow-files-0.4.11.tgz#ace4934f529aa6a40c83337f21494ed6dc57ac4e" @@ -4910,7 +4766,7 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.1, get-intrinsic@^1.0.2, get-intrinsic@^1.1.0: +get-intrinsic@^1.0.1, get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== @@ -4919,6 +4775,13 @@ get-intrinsic@^1.0.1, get-intrinsic@^1.0.2, get-intrinsic@^1.1.0: has "^1.0.3" has-symbols "^1.0.1" +get-orientation@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/get-orientation/-/get-orientation-1.1.2.tgz#20507928951814f8a91ded0a0e67b29dfab98947" + integrity sha512-/pViTfifW+gBbh/RnlFYHINvELT9Znt+SYyDKAUL6uV6By019AK/s+i9XP4jSwq7lwP38Fd8HVeTxym3+hkwmQ== + dependencies: + stream-parser "^0.3.1" + get-own-enumerable-property-symbols@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz" @@ -4941,6 +4804,14 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz" @@ -4951,11 +4822,6 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -github-from-package@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" - integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= - glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz" @@ -5089,6 +4955,11 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + has-binary2@~1.0.2: version "1.0.3" resolved "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz" @@ -5120,9 +4991,17 @@ has-symbols@^1.0.0, has-symbols@^1.0.1: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz" +has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" has-value@^0.3.1: version "0.3.1" @@ -5230,16 +5109,6 @@ html-minifier@^4.0.0: relateurl "^0.2.7" uglify-js "^3.5.1" -htmlparser2@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-5.0.1.tgz#7daa6fc3e35d6107ac95a4fc08781f091664f6e7" - integrity sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ== - dependencies: - domelementtype "^2.0.1" - domhandler "^3.3.0" - domutils "^2.4.2" - entities "^2.0.0" - htmlparser2@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.0.0.tgz" @@ -5287,18 +5156,10 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-browserify@^1.0.0: +https-browserify@1.0.0, https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz" -https-proxy-agent@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== - dependencies: - agent-base "6" - debug "4" - human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz" @@ -5336,12 +5197,19 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -ieee754@^1.1.13, ieee754@^1.1.4: +ieee754@^1.1.4: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -5355,6 +5223,13 @@ ignore@^5.1.1: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz" integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== +image-size@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.0.tgz#58b31fe4743b1cec0a0ac26f5c914d3c5b2f0750" + integrity sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw== + dependencies: + queue "6.0.2" + immutable@^3: version "3.8.2" resolved "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz" @@ -5423,7 +5298,7 @@ inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz" -ini@^1.3.4, ini@~1.3.0: +ini@^1.3.4: version "1.3.7" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz" integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== @@ -5442,7 +5317,7 @@ inline-style-prefixer@^6.0.0: dependencies: css-in-js-utils "^2.0.0" -internal-slot@^1.0.2: +internal-slot@^1.0.2, internal-slot@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== @@ -5481,14 +5356,24 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz" -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" is-binary-path@^1.0.0: version "1.0.1" @@ -5503,6 +5388,14 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz" @@ -5512,6 +5405,11 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.2: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== +is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz" @@ -5586,16 +5484,6 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz" -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" @@ -5606,6 +5494,13 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== +is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz" @@ -5623,6 +5518,14 @@ is-in-browser@^1.0.2, is-in-browser@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz" +is-nan@^1.2.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" + integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + is-negative-zero@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" @@ -5635,6 +5538,13 @@ is-number-like@^1.0.3: dependencies: lodash.isfinite "^3.3.2" +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz" @@ -5707,6 +5617,14 @@ is-regex@^1.0.3, is-regex@^1.0.4, is-regex@^1.1.1: call-bind "^1.0.2" has-symbols "^1.0.1" +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz" @@ -5732,12 +5650,37 @@ is-string@^1.0.5: resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== +is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + is-symbol@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz" dependencies: has-symbols "^1.0.0" +is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.3, is-typed-array@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79" + integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.18.5" + foreach "^2.0.5" + has-tostringtag "^1.0.0" + is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz" @@ -6248,13 +6191,14 @@ jest-watcher@^25.5.0: jest-util "^25.5.0" string-length "^3.1.0" -jest-worker@24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== +jest-worker@27.0.0-next.5: + version "27.0.0-next.5" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.0-next.5.tgz#5985ee29b12a4e191f4aae4bb73b97971d86ec28" + integrity sha512-mk0umAQ5lT+CaOJ+Qp01N6kz48sJG2kr2n1rX0koqKf6FIygQV0qLOdN9SCYID4IVeSigDOcPeGLozdMLYfb5g== dependencies: + "@types/node" "*" merge-stream "^2.0.0" - supports-color "^6.1.0" + supports-color "^8.0.0" jest-worker@^25.5.0: version "25.5.0" @@ -6667,14 +6611,6 @@ limiter@^1.0.5: resolved "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz" integrity sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA== -line-column@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz#d25af2936b6f4849172b312e4792d1d987bc34a2" - integrity sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI= - dependencies: - isarray "^1.0.0" - isobject "^2.0.0" - lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz" @@ -6821,7 +6757,7 @@ lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz" -lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4: +lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -6865,13 +6801,6 @@ lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz" -lru-cache@6.0.0, lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - lru-cache@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz" @@ -6880,6 +6809,13 @@ lru-cache@^4.1.5: pseudomap "^1.0.2" yallist "^2.1.2" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + luxon@^1.24.1: version "1.25.0" resolved "https://registry.npmjs.org/luxon/-/luxon-1.25.0.tgz" @@ -7105,16 +7041,6 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-response@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" - integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - min-indent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.0.tgz" @@ -7146,7 +7072,7 @@ minimist-options@^4.0.2: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -7164,11 +7090,6 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - mkdirp@^0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz" @@ -7218,10 +7139,10 @@ mustache@^2.3.2: resolved "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz" integrity sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ== -nanoid@^3.1.16, nanoid@^3.1.20: - version "3.1.20" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" - integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== +nanoid@^3.1.23: + version "3.1.28" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.28.tgz#3c01bac14cb6c5680569014cc65a2f26424c6bd4" + integrity sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw== nanomatch@^1.2.9: version "1.2.13" @@ -7239,11 +7160,6 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -napi-build-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" - integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== - native-url@0.3.4: version "0.3.4" resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.3.4.tgz#29c943172aed86c63cee62c8c04db7f5756661f8" @@ -7264,50 +7180,66 @@ neo-async@^2.6.0, neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -next@^10.0.6: - version "10.0.6" - resolved "https://registry.yarnpkg.com/next/-/next-10.0.6.tgz#1d33723d714c85f282b9bf6ff59dcae40f9252cb" - integrity sha512-uM5Yv4Ha9iL6Lbg7Ez36GyJ0YTdRLzXLA9b1REH3rX2Wytw0Ls5qPuFGk4BHSQpQhYx6Z61iA2qPkGl33W4iBg== - dependencies: - "@ampproject/toolbox-optimizer" "2.7.1-alpha.0" - "@babel/runtime" "7.12.5" - "@hapi/accept" "5.0.1" - "@next/env" "10.0.6" - "@next/polyfill-module" "10.0.6" - "@next/react-dev-overlay" "10.0.6" - "@next/react-refresh-utils" "10.0.6" - "@opentelemetry/api" "0.14.0" +next@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/next/-/next-11.1.1.tgz#ca15c6d6b4b4bf8c3e859f7fc4f9657ce59bcb63" + integrity sha512-vfLJDkwAHsZUho5R1K4w49nfYhftUMWNmeNSjCtulOvnRBuEFb7ROyRZOQk7f29rMz02eLQrPZ9yiAmPsexL2g== + dependencies: + "@babel/runtime" "7.15.3" + "@hapi/accept" "5.0.2" + "@next/env" "11.1.1" + "@next/polyfill-module" "11.1.1" + "@next/react-dev-overlay" "11.1.1" + "@next/react-refresh-utils" "11.1.1" + "@node-rs/helper" "1.2.1" + assert "2.0.0" ast-types "0.13.2" - browserslist "4.16.1" + browserify-zlib "0.2.0" + browserslist "4.16.6" buffer "5.6.0" - caniuse-lite "^1.0.30001179" + caniuse-lite "^1.0.30001228" chalk "2.4.2" chokidar "3.5.1" + constants-browserify "1.0.0" crypto-browserify "3.12.0" - cssnano-simple "1.2.2" + cssnano-simple "3.0.0" + domain-browser "4.19.0" + encoding "0.1.13" etag "1.8.1" find-cache-dir "3.3.1" - jest-worker "24.9.0" + get-orientation "1.1.2" + https-browserify "1.0.0" + image-size "1.0.0" + jest-worker "27.0.0-next.5" native-url "0.3.4" node-fetch "2.6.1" node-html-parser "1.4.9" node-libs-browser "^2.2.1" + os-browserify "0.3.0" p-limit "3.1.0" path-browserify "1.0.1" pnp-webpack-plugin "1.6.4" - postcss "8.1.7" + postcss "8.2.15" process "0.11.10" - prop-types "15.7.2" + querystring-es3 "0.2.1" raw-body "2.4.1" - react-is "16.13.1" + react-is "17.0.2" react-refresh "0.8.3" stream-browserify "3.0.0" - styled-jsx "3.3.2" + stream-http "3.1.1" + string_decoder "1.3.0" + styled-jsx "4.0.0" + timers-browserify "2.0.12" + tty-browserify "0.0.1" use-subscription "1.5.1" + util "0.12.4" vm-browserify "1.1.2" - watchpack "2.0.0-beta.13" + watchpack "2.1.1" optionalDependencies: - sharp "0.26.3" + "@next/swc-darwin-arm64" "11.1.1" + "@next/swc-darwin-x64" "11.1.1" + "@next/swc-linux-x64-gnu" "11.1.1" + "@next/swc-win32-x64-msvc" "11.1.1" nice-try@^1.0.4: version "1.0.5" @@ -7319,18 +7251,6 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" -node-abi@^2.7.0: - version "2.19.3" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.19.3.tgz#252f5dcab12dad1b5503b2d27eddd4733930282d" - integrity sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg== - dependencies: - semver "^5.4.1" - -node-addon-api@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239" - integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw== - node-fetch@2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" @@ -7392,15 +7312,10 @@ node-notifier@^6.0.0: shellwords "^0.1.1" which "^1.3.1" -node-releases@^1.1.69, node-releases@^1.1.70: - version "1.1.70" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.70.tgz#66e0ed0273aa65666d7fe78febe7634875426a08" - integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw== - -noop-logger@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" - integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI= +node-releases@^1.1.71: + version "1.1.76" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" + integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== nopt@^5.0.0: version "5.0.0" @@ -7413,11 +7328,6 @@ normalize-css-color@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/normalize-css-color/-/normalize-css-color-1.0.2.tgz" -normalize-html-whitespace@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/normalize-html-whitespace/-/normalize-html-whitespace-1.0.0.tgz#5e3c8e192f1b06c3b9eee4b7e7f28854c7601e34" - integrity sha512-9ui7CGtOOlehQu0t/OhhlmDyc71mKVlv+4vF+me4iZLPrNtRL2xoquEdfZxasC/bdQi/Hr3iTrpyRKIG+ocabA== - normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz" @@ -7466,15 +7376,6 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npmlog@^4.0.1, npmlog@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - nth-check@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" @@ -7482,10 +7383,6 @@ nth-check@^2.0.0: dependencies: boolbase "^1.0.0" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz" - nunjucks@^3.2.1: version "3.2.2" resolved "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.2.tgz" @@ -7523,11 +7420,24 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" +object-inspect@^1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + object-inspect@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== +object-is@^1.0.1: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -7650,7 +7560,7 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -os-browserify@^0.3.0: +os-browserify@0.3.0, os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz" @@ -8027,13 +7937,6 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-safe-parser@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96" - integrity sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g== - dependencies: - postcss "^7.0.26" - postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" @@ -8049,64 +7952,15 @@ postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@7.0.32: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@8.1.7: - version "8.1.7" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.7.tgz#ff6a82691bd861f3354fd9b17b2332f88171233f" - integrity sha512-llCQW1Pz4MOPwbZLmOddGM9eIJ8Bh7SZ2Oj5sxZva77uVaotYDsYTch1WBTNu7fUY0fpWp0fdt7uW40D4sRiiQ== - dependencies: - colorette "^1.2.1" - line-column "^1.0.2" - nanoid "^3.1.16" - source-map "^0.6.1" - -postcss@^7.0.26, postcss@^7.0.32: - version "7.0.35" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" - integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^8.2.4: - version "8.2.5" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.5.tgz#3c75149ada4e93db9521913654c0144517f77c9a" - integrity sha512-wMcb7BpDcm3gxQOQx46NDNT36Kk0Ao6PJLLI2ed5vehbbbxCEuslSQzbQ2sfSKy+gkYxhWcGWSeaK+gwm4KIZg== +postcss@8.2.15, postcss@^8.2.4: + version "8.2.15" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.15.tgz#9e66ccf07292817d226fc315cbbf9bc148fbca65" + integrity sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q== dependencies: - colorette "^1.2.1" - nanoid "^3.1.20" + colorette "^1.2.2" + nanoid "^3.1.23" source-map "^0.6.1" -prebuild-install@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.0.0.tgz#669022bcde57c710a869e39c5ca6bf9cd207f316" - integrity sha512-h2ZJ1PXHKWZpp1caLw0oX9sagVpL2YTk+ZwInQbQ3QqNd4J03O6MpFNmMTJlkfgPENWqe5kP0WjQLqz5OjLfsw== - dependencies: - detect-libc "^1.0.3" - expand-template "^2.0.3" - github-from-package "0.0.0" - minimist "^1.2.3" - mkdirp-classic "^0.5.3" - napi-build-utils "^1.0.1" - node-abi "^2.7.0" - noop-logger "^0.1.1" - npmlog "^4.0.1" - pump "^3.0.0" - rc "^1.2.7" - simple-get "^3.0.3" - tar-fs "^2.0.0" - tunnel-agent "^0.6.0" - which-pm-runs "^1.0.0" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -8188,7 +8042,7 @@ prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.3" -prop-types@15.7.2, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.7.2: +prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -8358,7 +8212,7 @@ qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz" -querystring-es3@^0.2.0: +querystring-es3@0.2.1, querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz" @@ -8366,6 +8220,13 @@ querystring@0.2.0, querystring@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz" +queue@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" + integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== + dependencies: + inherits "~2.0.3" + quick-lru@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" @@ -8399,15 +8260,6 @@ raw-body@2.4.1, raw-body@^2.3.2: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz" - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - react-display-name@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/react-display-name/-/react-display-name-0.2.4.tgz" @@ -8422,16 +8274,16 @@ react-dom@^17.0.1: object-assign "^4.1.1" scheduler "^0.20.1" -react-is@16.13.1, react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1: +react-is@17.0.2, "react-is@^16.12.0 || ^17.0.0", react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -"react-is@^16.12.0 || ^17.0.0", react-is@^17.0.1: - version "17.0.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" - integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== - react-jss@^10.5.1: version "10.5.1" resolved "https://registry.yarnpkg.com/react-jss/-/react-jss-10.5.1.tgz#f57f4277649c69c3609844913d2911e2f5ed719a" @@ -8507,7 +8359,7 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.3.3, readable-stream@^2.3.6: +readable-stream@^2.0.2, readable-stream@^2.3.3, readable-stream@^2.3.6: version "2.3.6" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -8520,7 +8372,7 @@ readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.3.3, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0: +readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -8860,7 +8712,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz" @@ -9009,7 +8861,7 @@ server-destroy@1.0.1: resolved "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz" integrity sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0= -set-blocking@^2.0.0, set-blocking@~2.0.0: +set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz" @@ -9067,22 +8919,6 @@ shallowequal@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz" -sharp@0.26.3: - version "0.26.3" - resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.26.3.tgz#9de8577a986b22538e6e12ced1f7e8a53f9728de" - integrity sha512-NdEJ9S6AMr8Px0zgtFo1TJjMK/ROMU92MkDtYn2BBrDjIx3YfH9TUyGdzPC+I/L619GeYQc690Vbaxc5FPCCWg== - dependencies: - array-flatten "^3.0.0" - color "^3.1.3" - detect-libc "^1.0.3" - node-addon-api "^3.0.2" - npmlog "^4.1.2" - prebuild-install "^6.0.0" - semver "^7.3.2" - simple-get "^4.0.0" - tar-fs "^2.1.1" - tunnel-agent "^0.6.0" - shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz" @@ -9133,36 +8969,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3" - integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA== - dependencies: - decompress-response "^4.2.0" - once "^1.3.1" - simple-concat "^1.0.0" - -simple-get@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.0.tgz#73fa628278d21de83dadd5512d2cc1f4872bd675" - integrity sha512-ZalZGexYr3TA0SwySsr5HlgOOinS4Jsa8YB2GJ6lUNAazyAu4KG/VmzMTwAt2YVXzzVj8QmefmAonZIK2BSGcQ== - dependencies: - decompress-response "^6.0.0" - once "^1.3.1" - simple-concat "^1.0.0" - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - sirv@^1.0.7: version "1.0.11" resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.11.tgz#81c19a29202048507d6ec0d8ba8910fda52eb5a4" @@ -9462,6 +9268,16 @@ stream-browserify@^2.0.1: inherits "~2.0.1" readable-stream "^2.0.2" +stream-http@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.1.1.tgz#0370a8017cf8d050b9a8554afe608f043eaff564" + integrity sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.4" + readable-stream "^3.6.0" + xtend "^4.0.2" + stream-http@^2.7.2: version "2.8.3" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz" @@ -9472,6 +9288,13 @@ stream-http@^2.7.2: to-arraybuffer "^1.0.0" xtend "^4.0.0" +stream-parser@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/stream-parser/-/stream-parser-0.3.1.tgz#1618548694420021a1182ff0af1911c129761773" + integrity sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M= + dependencies: + debug "2" + stream-throttle@^0.1.3: version "0.1.3" resolved "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz" @@ -9502,22 +9325,6 @@ string-natural-compare@^3.0.1: resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2": - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - string-width@^4.1.0, string-width@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz" @@ -9556,6 +9363,14 @@ string.prototype.trimend@^1.0.3: call-bind "^1.0.0" define-properties "^1.1.3" +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + string.prototype.trimstart@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" @@ -9564,7 +9379,15 @@ string.prototype.trimstart@^1.0.3: call-bind "^1.0.0" define-properties "^1.1.3" -string_decoder@^1.0.0, string_decoder@^1.1.1: +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string_decoder@1.3.0, string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -9594,19 +9417,13 @@ strip-ansi@6.0.0, strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: +strip-ansi@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz" - dependencies: - ansi-regex "^3.0.0" - strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz" @@ -9654,11 +9471,6 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - style-loader@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" @@ -9683,13 +9495,13 @@ styled-components@^5.2.1: shallowequal "^1.1.0" supports-color "^5.5.0" -styled-jsx@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-3.3.2.tgz" - integrity sha512-daAkGd5mqhbBhLd6jYAjYBa9LpxYCzsgo/f6qzPdFxVB8yoGbhxvzQgkC0pfmCVvW3JuAEBn0UzFLBfkHVZG1g== +styled-jsx@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-4.0.0.tgz#f7b90e7889d0a4f4635f8d1ae9ac32f3acaedc57" + integrity sha512-2USeoWMoJ/Lx5s2y1PxuvLy/cz2Yrr8cTySV3ILHU1Vmaw1bnV7suKdblLPjnyhMD+qzN7B1SWyh4UZTARn/WA== dependencies: - "@babel/types" "7.8.3" - babel-plugin-syntax-jsx "6.18.0" + "@babel/plugin-syntax-jsx" "7.14.5" + "@babel/types" "7.15.0" convert-source-map "1.7.0" loader-utils "1.2.3" source-map "0.7.3" @@ -9721,13 +9533,6 @@ supports-color@^5.3.0, supports-color@^5.5.0: dependencies: has-flag "^3.0.0" -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - supports-color@^7.0.0, supports-color@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz" @@ -9735,6 +9540,13 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-hyperlinks@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.0.0.tgz" @@ -9772,27 +9584,6 @@ tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== -tar-fs@^2.0.0, tar-fs@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - terminal-link@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz" @@ -9813,7 +9604,7 @@ terser-webpack-plugin@^5.1.1: source-map "^0.6.1" terser "^5.5.1" -terser@5.5.1, terser@^5.5.1: +terser@^5.5.1: version "5.5.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== @@ -9873,9 +9664,10 @@ time-require@^0.1.2: pretty-ms "^0.2.1" text-table "^0.2.0" -timers-browserify@^2.0.4: - version "2.0.10" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz" +timers-browserify@2.0.12, timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== dependencies: setimmediate "^1.0.4" @@ -9999,6 +9791,11 @@ tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" +tty-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" + integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz" @@ -10122,6 +9919,16 @@ ultron@~1.1.0: resolved "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz" integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz" @@ -10232,6 +10039,18 @@ util@0.10.3: dependencies: inherits "2.0.1" +util@0.12.4, util@^0.12.0: + version "0.12.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" + integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + safe-buffer "^5.1.2" + which-typed-array "^1.1.2" + util@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz" @@ -10320,15 +10139,7 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" -watchpack@2.0.0-beta.13: - version "2.0.0-beta.13" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.0.0-beta.13.tgz#9d9b0c094b8402139333e04eb6194643c8384f55" - integrity sha512-ZEFq2mx/k5qgQwgi6NOm+2ImICb8ngAkA/rZ6oyXZ7SgPn3pncf+nfhYTCrs3lmHwOxnPtGLTOuFLfpSMh1VMA== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -watchpack@^2.0.0: +watchpack@2.1.1, watchpack@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" integrity sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw== @@ -10457,6 +10268,17 @@ whatwg-url@^8.0.0: tr46 "^2.0.2" webidl-conversions "^6.1.0" +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz" @@ -10466,6 +10288,18 @@ which-pm-runs@^1.0.0: resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= +which-typed-array@^1.1.2: + version "1.1.7" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793" + integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.18.5" + foreach "^2.0.5" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.7" + which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz" @@ -10479,12 +10313,6 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz" - dependencies: - string-width "^1.0.2 || 2" - wildcard@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" @@ -10582,6 +10410,11 @@ xtend@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz" +xtend@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" From 562db69a0f3305b07f252ad26b4661bb92bcb72c Mon Sep 17 00:00:00 2001 From: Janic Duplessis Date: Mon, 23 Aug 2021 19:39:48 +0000 Subject: [PATCH 007/256] [fix] numberOfLines=1 on Safari Safari requires use of `white-space:nowrap` if not using the multi-line technique. This patch uses the multi-lines styles to truncate single-lines. Fix #2111 Close #2113 --- .../Text/__tests__/__snapshots__/index-test.js.snap | 2 +- packages/react-native-web/src/exports/Text/index.js | 11 ++--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap b/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap index d9790bb13..7c1a743be 100644 --- a/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap +++ b/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap @@ -159,7 +159,7 @@ exports[`components/Text prop "numberOfLines" value is set 1`] = ` exports[`components/Text prop "numberOfLines" value is set to one 1`] = `
`; diff --git a/packages/react-native-web/src/exports/Text/index.js b/packages/react-native-web/src/exports/Text/index.js index e87af4c95..a2a74ce47 100644 --- a/packages/react-native-web/src/exports/Text/index.js +++ b/packages/react-native-web/src/exports/Text/index.js @@ -73,12 +73,11 @@ const Text: React.AbstractComponent = const classList = [ classes.text, hasTextAncestor === true && classes.textHasAncestor, - numberOfLines === 1 && classes.textOneLine, - numberOfLines != null && numberOfLines > 1 && classes.textMultiLine + numberOfLines != null && classes.textMultiLine ]; const style = [ props.style, - numberOfLines != null && numberOfLines > 1 && { WebkitLineClamp: numberOfLines }, + numberOfLines != null && { WebkitLineClamp: numberOfLines }, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable @@ -180,12 +179,6 @@ const classes = css.create({ font: 'inherit', whiteSpace: 'inherit' }, - textOneLine: { - maxWidth: '100%', - overflow: 'hidden', - textOverflow: 'ellipsis', - whiteSpace: 'pre' - }, // See #13 textMultiLine: { display: '-webkit-box', From aeae9dd184ba03c42fb9b8ff4be368348c7f4773 Mon Sep 17 00:00:00 2001 From: sawa-zen Date: Fri, 24 Sep 2021 01:01:25 +0900 Subject: [PATCH 008/256] Update documentation styling example Close #2137 --- packages/docs/src/pages/docs/concepts/styling.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/docs/src/pages/docs/concepts/styling.md b/packages/docs/src/pages/docs/concepts/styling.md index e027ee774..6ce476943 100644 --- a/packages/docs/src/pages/docs/concepts/styling.md +++ b/packages/docs/src/pages/docs/concepts/styling.md @@ -340,10 +340,10 @@ Output: ```html
From 192472b22661b04b18304d8f29a8744d15621172 Mon Sep 17 00:00:00 2001 From: Warr1611 Date: Sun, 5 Sep 2021 17:48:00 -0400 Subject: [PATCH 009/256] Add document about use PanResponder on elements with text content Close #2123 --- packages/docs/src/pages/docs/apis/pan-responder.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/docs/src/pages/docs/apis/pan-responder.md b/packages/docs/src/pages/docs/apis/pan-responder.md index a3cbb80b8..fcab7d9ea 100644 --- a/packages/docs/src/pages/docs/apis/pan-responder.md +++ b/packages/docs/src/pages/docs/apis/pan-responder.md @@ -13,6 +13,10 @@ eleventyNavigation: PanResponder reconciles several pointers into a single gesture. It makes single-pointer gestures resilient to extra touches, and can be used to recognize basic multi-touch gestures. ::: +:::callout +**Note:** Using the `PanResponder` on components that contain text may cause native text selection events to interrupt the pan gesture. This can be avoided by setting `userSelect: 'none'` on the text elements while the gesture is active. +::: + Please refer to the React Native documentation below: * [PanResponder](https://reactnative.dev/docs/panresponder) From 68e878be8fa1f2acb2c13736e6e07a91d62d7384 Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Tue, 28 Sep 2021 11:41:39 -0700 Subject: [PATCH 010/256] 0.17.2 --- package.json | 2 +- packages/babel-plugin-react-native-web/package.json | 2 +- packages/benchmarks/package.json | 6 +++--- packages/docs/package.json | 2 +- packages/dom-event-testing-library/package.json | 2 +- packages/examples/package.json | 6 +++--- packages/react-native-web/package.json | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 847b94725..e0f010f01 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "0.17.1", + "version": "0.17.2", "name": "monorepo", "scripts": { "clean": "del-cli ./packages/*/dist", diff --git a/packages/babel-plugin-react-native-web/package.json b/packages/babel-plugin-react-native-web/package.json index 3536043f4..f4d3ddeae 100644 --- a/packages/babel-plugin-react-native-web/package.json +++ b/packages/babel-plugin-react-native-web/package.json @@ -3,7 +3,7 @@ "registry": "https://registry.npmjs.org/" }, "name": "babel-plugin-react-native-web", - "version": "0.17.1", + "version": "0.17.2", "description": "Babel plugin for React Native for Web", "main": "index.js", "devDependencies": { diff --git a/packages/benchmarks/package.json b/packages/benchmarks/package.json index 9b6b9d696..6f37eb92c 100644 --- a/packages/benchmarks/package.json +++ b/packages/benchmarks/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "benchmarks", - "version": "0.17.1", + "version": "0.17.2", "scripts": { "dev": "mkdir -p dist && cp -f index.html dist/index.html && ./node_modules/.bin/webpack-cli --config ./webpack.config.js", "build": "NODE_ENV=production yarn dev" @@ -12,11 +12,11 @@ "d3-scale-chromatic": "^2.0.0", "@emotion/css": "^11.1.3", "react-jss": "^10.5.1", - "react-native-web": "0.17.1", + "react-native-web": "0.17.2", "styled-components": "^5.2.1" }, "devDependencies": { - "babel-plugin-react-native-web": "0.17.1", + "babel-plugin-react-native-web": "0.17.2", "css-loader": "^5.0.2", "style-loader": "^2.0.0", "url-loader": "^4.1.1", diff --git a/packages/docs/package.json b/packages/docs/package.json index 889e0b6e1..dd90fe94b 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "docs", - "version": "0.17.1", + "version": "0.17.2", "description": "Documentation website for React Native for Web", "scripts": { "dev": "eleventy --serve", diff --git a/packages/dom-event-testing-library/package.json b/packages/dom-event-testing-library/package.json index 9acb3466b..aff460b6d 100644 --- a/packages/dom-event-testing-library/package.json +++ b/packages/dom-event-testing-library/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "dom-event-testing-library", - "version": "0.17.1", + "version": "0.17.2", "main": "index.js", "description": "Browser event sequences for unit tests", "author": "Nicolas Gallagher", diff --git a/packages/examples/package.json b/packages/examples/package.json index ba81083ad..e2171f95c 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "examples", - "version": "0.17.1", + "version": "0.17.2", "scripts": { "dev": "next", "build": "next build", @@ -11,12 +11,12 @@ "next": "^11.1.1", "react": "^17.0.1", "react-dom": "^17.0.1", - "react-native-web": "0.17.1" + "react-native-web": "0.17.2" }, "devDependencies": { "@babel/core": "^7.12.13", "@babel/preset-flow": "^7.12.13", - "babel-plugin-react-native-web": "0.17.1" + "babel-plugin-react-native-web": "0.17.2" }, "license": "MIT" } diff --git a/packages/react-native-web/package.json b/packages/react-native-web/package.json index 51541cabd..d3a1db03c 100644 --- a/packages/react-native-web/package.json +++ b/packages/react-native-web/package.json @@ -3,7 +3,7 @@ "registry": "https://registry.npmjs.org/" }, "name": "react-native-web", - "version": "0.17.1", + "version": "0.17.2", "description": "React Native for Web", "module": "dist/index.js", "main": "dist/cjs/index.js", From 4aba2bdcf4c6ced1d3a88c69a8f2872b3bd72041 Mon Sep 17 00:00:00 2001 From: Cloud Le Date: Sun, 19 Sep 2021 01:23:02 +0700 Subject: [PATCH 011/256] [fix] Dimensions addEventListener returns subscription object Fix #2130 Close #2131 --- packages/docs/src/pages/docs/apis/dimensions.md | 2 +- packages/examples/pages/dimensions/index.js | 4 ++-- .../src/exports/Dimensions/__tests__/index-test.js | 5 ++++- .../react-native-web/src/exports/Dimensions/index.js | 9 ++++++++- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/packages/docs/src/pages/docs/apis/dimensions.md b/packages/docs/src/pages/docs/apis/dimensions.md index 6f9d938b6..f9995a3e4 100644 --- a/packages/docs/src/pages/docs/apis/dimensions.md +++ b/packages/docs/src/pages/docs/apis/dimensions.md @@ -33,7 +33,7 @@ Get a dimension (e.g., window or screen). This should only be called server-side with an estimate for initial dimensions to be used when pre-rendering pages on the server. {% endcall %} -{% call macro.prop('addEventListener', '(type: ?string, listener: (dimensions) => void) => void') %} +{% call macro.prop('addEventListener', '(type: ?string, listener: (dimensions) => void) => ?EmitterSubscription') %} Add a listener to `Dimensions` changes. Listen to the `"change"` event type. The handler is called with the dimensions state. {% endcall %} diff --git a/packages/examples/pages/dimensions/index.js b/packages/examples/pages/dimensions/index.js index 33d6d0e19..2d6b4af64 100644 --- a/packages/examples/pages/dimensions/index.js +++ b/packages/examples/pages/dimensions/index.js @@ -12,9 +12,9 @@ export default function DimensionsPage() { setWindow(win); }; - Dimensions.addEventListener('change', handleChange); + const subscription = Dimensions.addEventListener('change', handleChange); return () => { - Dimensions.removeEventListener('change', handleChange); + subscription.remove(); }; }, [setScreen, setWindow]); diff --git a/packages/react-native-web/src/exports/Dimensions/__tests__/index-test.js b/packages/react-native-web/src/exports/Dimensions/__tests__/index-test.js index c068e81a1..283e6f93d 100644 --- a/packages/react-native-web/src/exports/Dimensions/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/Dimensions/__tests__/index-test.js @@ -14,13 +14,16 @@ describe('apis/Dimensions', () => { test('addEventListener', () => { const handler = jest.fn(); - Dimensions.addEventListener('change', handler); + const subscription = Dimensions.addEventListener('change', handler); Dimensions._update(); expect(handler).toHaveBeenCalledTimes(1); expect(handler).toHaveBeenLastCalledWith({ window: Dimensions.get('window'), screen: Dimensions.get('screen') }); + subscription.remove(); + Dimensions._update(); + expect(handler).toHaveBeenCalledTimes(1); }); test('removeEventListener', () => { diff --git a/packages/react-native-web/src/exports/Dimensions/index.js b/packages/react-native-web/src/exports/Dimensions/index.js index 36fdce7d0..6629d1803 100644 --- a/packages/react-native-web/src/exports/Dimensions/index.js +++ b/packages/react-native-web/src/exports/Dimensions/index.js @@ -8,6 +8,7 @@ * @flow */ +import type { EventSubscription } from '../../vendor/react-native/emitter/EventEmitter'; import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; import invariant from 'fbjs/lib/invariant'; @@ -94,9 +95,15 @@ export default class Dimensions { static addEventListener( type: DimensionEventListenerType, handler: (DimensionsValue) => void - ): void { + ): EventSubscription { listeners[type] = listeners[type] || []; listeners[type].push(handler); + + return { + remove: () => { + this.removeEventListener(type, handler); + } + }; } static removeEventListener( From 126642783b9c74d59a7c45212510cf82a685e838 Mon Sep 17 00:00:00 2001 From: Chris Zelenak Date: Thu, 16 Sep 2021 14:22:23 -0400 Subject: [PATCH 012/256] [fix] AppState addEventListener returns subscription object Close #2129 --- .../docs/src/pages/docs/apis/app-state.md | 2 +- packages/examples/pages/app-state/index.js | 4 +-- .../exports/AppState/__tests__/index-test.js | 18 +++++------ .../src/exports/AppState/index.js | 31 ++++++++++--------- 4 files changed, 29 insertions(+), 26 deletions(-) diff --git a/packages/docs/src/pages/docs/apis/app-state.md b/packages/docs/src/pages/docs/apis/app-state.md index 7b624f046..cd67cadba 100644 --- a/packages/docs/src/pages/docs/apis/app-state.md +++ b/packages/docs/src/pages/docs/apis/app-state.md @@ -36,7 +36,7 @@ Returns the current state of the app. ### Static methods -{% call macro.prop('addEventListener', '(type: ?string, listener: (boolean) => void) => void') %} +{% call macro.prop('addEventListener', '(type: ?string, listener: (boolean) => void) => ?EmitterSubscription') %} Add a listener to `AppState` changes. Listen to the `"change"` event type. The handler is called with the app state value. {% endcall %} diff --git a/packages/examples/pages/app-state/index.js b/packages/examples/pages/app-state/index.js index 8185a4969..bcac89e28 100644 --- a/packages/examples/pages/app-state/index.js +++ b/packages/examples/pages/app-state/index.js @@ -18,9 +18,9 @@ export default function AppStatePage() { })); }; - AppState.addEventListener('change', handleChange); + const subscription = AppState.addEventListener('change', handleChange); return () => { - AppState.removeEventListener('change', handleChange); + subscription.remove(); }; }, []); diff --git a/packages/react-native-web/src/exports/AppState/__tests__/index-test.js b/packages/react-native-web/src/exports/AppState/__tests__/index-test.js index a05860ff9..5bd76bc72 100644 --- a/packages/react-native-web/src/exports/AppState/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/AppState/__tests__/index-test.js @@ -5,22 +5,22 @@ import AppState from '..'; describe('apis/AppState', () => { const handler = () => {}; - afterEach(() => { - try { - AppState.removeEventListener('change', handler); - } catch (e) {} - }); - describe('addEventListener', () => { test('throws if the provided "eventType" is not supported', () => { expect(() => AppState.addEventListener('foo', handler)).toThrow(); - expect(() => AppState.addEventListener('change', handler)).not.toThrow(); + expect(() => AppState.addEventListener('change', handler).remove()).not.toThrow(); }); }); describe('removeEventListener', () => { - test('throws if the handler is not registered', () => { - expect(() => AppState.removeEventListener('change', handler)).toThrow(); + beforeEach(() => { + // removeEventListener logs a deprecation warning, ignore + jest.spyOn(console, 'error'); + console.error.mockImplementation(() => {}); + }); + + afterEach(() => { + console.error.mockRestore(); }); test('throws if the provided "eventType" is not supported', () => { diff --git a/packages/react-native-web/src/exports/AppState/index.js b/packages/react-native-web/src/exports/AppState/index.js index 72211864c..dcf756c4f 100644 --- a/packages/react-native-web/src/exports/AppState/index.js +++ b/packages/react-native-web/src/exports/AppState/index.js @@ -9,8 +9,8 @@ */ import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; -import findIndex from 'array-find-index'; import invariant from 'fbjs/lib/invariant'; +import EventEmitter from '../../vendor/react-native/emitter/_EventEmitter'; // Android 4.4 browser const isPrefixed = @@ -25,7 +25,7 @@ const AppStates = { ACTIVE: 'active' }; -const listeners = []; +let changeEmitter = null; export default class AppState { static isAvailable = canUseDOM && document[VISIBILITY_STATE_PROPERTY]; @@ -53,9 +53,19 @@ export default class AppState { type ); if (type === 'change') { - const callback = () => handler(AppState.currentState); - listeners.push([handler, callback]); - document.addEventListener(VISIBILITY_CHANGE_EVENT, callback, false); + if (!changeEmitter) { + changeEmitter = new EventEmitter(); + document.addEventListener( + VISIBILITY_CHANGE_EVENT, + () => { + if (changeEmitter) { + changeEmitter.emit('change', AppState.currentState); + } + }, + false + ); + } + return changeEmitter.addListener(type, handler); } } } @@ -67,15 +77,8 @@ export default class AppState { 'Trying to remove listener for unknown event: "%s"', type ); - if (type === 'change') { - const listenerIndex = findIndex(listeners, (pair) => pair[0] === handler); - invariant( - listenerIndex !== -1, - 'Trying to remove AppState listener for unregistered handler' - ); - const callback = listeners[listenerIndex][1]; - document.removeEventListener(VISIBILITY_CHANGE_EVENT, callback, false); - listeners.splice(listenerIndex, 1); + if (type === 'change' && changeEmitter) { + changeEmitter.removeListener(handler); } } } From 36681c4f549480de196b12a8314869d926d0b38d Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Wed, 29 Sep 2021 10:12:10 -0700 Subject: [PATCH 013/256] 0.17.3 --- package.json | 2 +- packages/babel-plugin-react-native-web/package.json | 2 +- packages/benchmarks/package.json | 6 +++--- packages/docs/package.json | 2 +- packages/dom-event-testing-library/package.json | 2 +- packages/examples/package.json | 6 +++--- packages/react-native-web/package.json | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index e0f010f01..a9b655ed5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "0.17.2", + "version": "0.17.3", "name": "monorepo", "scripts": { "clean": "del-cli ./packages/*/dist", diff --git a/packages/babel-plugin-react-native-web/package.json b/packages/babel-plugin-react-native-web/package.json index f4d3ddeae..00e27a974 100644 --- a/packages/babel-plugin-react-native-web/package.json +++ b/packages/babel-plugin-react-native-web/package.json @@ -3,7 +3,7 @@ "registry": "https://registry.npmjs.org/" }, "name": "babel-plugin-react-native-web", - "version": "0.17.2", + "version": "0.17.3", "description": "Babel plugin for React Native for Web", "main": "index.js", "devDependencies": { diff --git a/packages/benchmarks/package.json b/packages/benchmarks/package.json index 6f37eb92c..b596e1d63 100644 --- a/packages/benchmarks/package.json +++ b/packages/benchmarks/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "benchmarks", - "version": "0.17.2", + "version": "0.17.3", "scripts": { "dev": "mkdir -p dist && cp -f index.html dist/index.html && ./node_modules/.bin/webpack-cli --config ./webpack.config.js", "build": "NODE_ENV=production yarn dev" @@ -12,11 +12,11 @@ "d3-scale-chromatic": "^2.0.0", "@emotion/css": "^11.1.3", "react-jss": "^10.5.1", - "react-native-web": "0.17.2", + "react-native-web": "0.17.3", "styled-components": "^5.2.1" }, "devDependencies": { - "babel-plugin-react-native-web": "0.17.2", + "babel-plugin-react-native-web": "0.17.3", "css-loader": "^5.0.2", "style-loader": "^2.0.0", "url-loader": "^4.1.1", diff --git a/packages/docs/package.json b/packages/docs/package.json index dd90fe94b..fe9c7b836 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "docs", - "version": "0.17.2", + "version": "0.17.3", "description": "Documentation website for React Native for Web", "scripts": { "dev": "eleventy --serve", diff --git a/packages/dom-event-testing-library/package.json b/packages/dom-event-testing-library/package.json index aff460b6d..ef0b68845 100644 --- a/packages/dom-event-testing-library/package.json +++ b/packages/dom-event-testing-library/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "dom-event-testing-library", - "version": "0.17.2", + "version": "0.17.3", "main": "index.js", "description": "Browser event sequences for unit tests", "author": "Nicolas Gallagher", diff --git a/packages/examples/package.json b/packages/examples/package.json index e2171f95c..53af961bc 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "examples", - "version": "0.17.2", + "version": "0.17.3", "scripts": { "dev": "next", "build": "next build", @@ -11,12 +11,12 @@ "next": "^11.1.1", "react": "^17.0.1", "react-dom": "^17.0.1", - "react-native-web": "0.17.2" + "react-native-web": "0.17.3" }, "devDependencies": { "@babel/core": "^7.12.13", "@babel/preset-flow": "^7.12.13", - "babel-plugin-react-native-web": "0.17.2" + "babel-plugin-react-native-web": "0.17.3" }, "license": "MIT" } diff --git a/packages/react-native-web/package.json b/packages/react-native-web/package.json index d3a1db03c..286837d03 100644 --- a/packages/react-native-web/package.json +++ b/packages/react-native-web/package.json @@ -3,7 +3,7 @@ "registry": "https://registry.npmjs.org/" }, "name": "react-native-web", - "version": "0.17.2", + "version": "0.17.3", "description": "React Native for Web", "module": "dist/index.js", "main": "dist/cjs/index.js", From 8999188b5d76324b26b40e33fe988db551b82aa7 Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Wed, 29 Sep 2021 10:19:26 -0700 Subject: [PATCH 014/256] [fix] Pressable disabled focus behavior Fix #2127 --- .../exports/Pressable/__tests__/index-test.js | 19 +++++++++++++++++++ .../src/exports/Pressable/index.js | 10 ++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/packages/react-native-web/src/exports/Pressable/__tests__/index-test.js b/packages/react-native-web/src/exports/Pressable/__tests__/index-test.js index beba25cd4..b9a4a2d8d 100644 --- a/packages/react-native-web/src/exports/Pressable/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/Pressable/__tests__/index-test.js @@ -91,6 +91,25 @@ describe('components/Pressable', () => { expect(container.firstChild).toMatchSnapshot(); }); + test('focus interaction (disabled)', () => { + const onBlur = jest.fn(); + const onFocus = jest.fn(); + const ref = React.createRef(); + act(() => { + render(); + }); + const target = createEventTarget(ref.current); + const body = createEventTarget(document.body); + act(() => { + target.focus(); + }); + expect(onFocus).not.toBeCalled(); + act(() => { + body.focus({ relatedTarget: target.node }); + }); + expect(onBlur).not.toBeCalled(); + }); + test('hover interaction', () => { let container; const onHoverIn = jest.fn(); diff --git a/packages/react-native-web/src/exports/Pressable/index.js b/packages/react-native-web/src/exports/Pressable/index.js index 48e2d05e5..5dd7fcf85 100644 --- a/packages/react-native-web/src/exports/Pressable/index.js +++ b/packages/react-native-web/src/exports/Pressable/index.js @@ -144,6 +144,9 @@ function Pressable(props: Props, forwardedRef): React.Node { const blurHandler = React.useCallback( (e) => { + if (disabled) { + return; + } if (e.nativeEvent.target === hostRef.current) { setFocused(false); if (onBlur != null) { @@ -151,11 +154,14 @@ function Pressable(props: Props, forwardedRef): React.Node { } } }, - [hostRef, setFocused, onBlur] + [disabled, hostRef, setFocused, onBlur] ); const focusHandler = React.useCallback( (e) => { + if (disabled) { + return; + } if (e.nativeEvent.target === hostRef.current) { setFocused(true); if (onFocus != null) { @@ -163,7 +169,7 @@ function Pressable(props: Props, forwardedRef): React.Node { } } }, - [hostRef, setFocused, onFocus] + [disabled, hostRef, setFocused, onFocus] ); const contextMenuHandler = React.useCallback( From 798d34e192ad1c3cee61825e75f6c68f8c9f3eed Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Wed, 29 Sep 2021 10:24:51 -0700 Subject: [PATCH 015/256] 0.17.4 --- package.json | 2 +- packages/babel-plugin-react-native-web/package.json | 2 +- packages/benchmarks/package.json | 6 +++--- packages/docs/package.json | 2 +- packages/dom-event-testing-library/package.json | 2 +- packages/examples/package.json | 6 +++--- packages/react-native-web/package.json | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index a9b655ed5..184aaa1bd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "0.17.3", + "version": "0.17.4", "name": "monorepo", "scripts": { "clean": "del-cli ./packages/*/dist", diff --git a/packages/babel-plugin-react-native-web/package.json b/packages/babel-plugin-react-native-web/package.json index 00e27a974..6fbccf024 100644 --- a/packages/babel-plugin-react-native-web/package.json +++ b/packages/babel-plugin-react-native-web/package.json @@ -3,7 +3,7 @@ "registry": "https://registry.npmjs.org/" }, "name": "babel-plugin-react-native-web", - "version": "0.17.3", + "version": "0.17.4", "description": "Babel plugin for React Native for Web", "main": "index.js", "devDependencies": { diff --git a/packages/benchmarks/package.json b/packages/benchmarks/package.json index b596e1d63..9811d6087 100644 --- a/packages/benchmarks/package.json +++ b/packages/benchmarks/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "benchmarks", - "version": "0.17.3", + "version": "0.17.4", "scripts": { "dev": "mkdir -p dist && cp -f index.html dist/index.html && ./node_modules/.bin/webpack-cli --config ./webpack.config.js", "build": "NODE_ENV=production yarn dev" @@ -12,11 +12,11 @@ "d3-scale-chromatic": "^2.0.0", "@emotion/css": "^11.1.3", "react-jss": "^10.5.1", - "react-native-web": "0.17.3", + "react-native-web": "0.17.4", "styled-components": "^5.2.1" }, "devDependencies": { - "babel-plugin-react-native-web": "0.17.3", + "babel-plugin-react-native-web": "0.17.4", "css-loader": "^5.0.2", "style-loader": "^2.0.0", "url-loader": "^4.1.1", diff --git a/packages/docs/package.json b/packages/docs/package.json index fe9c7b836..9f5bff2f8 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "docs", - "version": "0.17.3", + "version": "0.17.4", "description": "Documentation website for React Native for Web", "scripts": { "dev": "eleventy --serve", diff --git a/packages/dom-event-testing-library/package.json b/packages/dom-event-testing-library/package.json index ef0b68845..1ff20eff3 100644 --- a/packages/dom-event-testing-library/package.json +++ b/packages/dom-event-testing-library/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "dom-event-testing-library", - "version": "0.17.3", + "version": "0.17.4", "main": "index.js", "description": "Browser event sequences for unit tests", "author": "Nicolas Gallagher", diff --git a/packages/examples/package.json b/packages/examples/package.json index 53af961bc..118470e1f 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "examples", - "version": "0.17.3", + "version": "0.17.4", "scripts": { "dev": "next", "build": "next build", @@ -11,12 +11,12 @@ "next": "^11.1.1", "react": "^17.0.1", "react-dom": "^17.0.1", - "react-native-web": "0.17.3" + "react-native-web": "0.17.4" }, "devDependencies": { "@babel/core": "^7.12.13", "@babel/preset-flow": "^7.12.13", - "babel-plugin-react-native-web": "0.17.3" + "babel-plugin-react-native-web": "0.17.4" }, "license": "MIT" } diff --git a/packages/react-native-web/package.json b/packages/react-native-web/package.json index 286837d03..748f4ae9e 100644 --- a/packages/react-native-web/package.json +++ b/packages/react-native-web/package.json @@ -3,7 +3,7 @@ "registry": "https://registry.npmjs.org/" }, "name": "react-native-web", - "version": "0.17.3", + "version": "0.17.4", "description": "React Native for Web", "module": "dist/index.js", "main": "dist/cjs/index.js", From 04fbf5e5ce6c7127cf285eda17017721f61af990 Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Wed, 29 Sep 2021 10:27:15 -0700 Subject: [PATCH 016/256] [fix] Animated no longer sets non-unique IDs on elements Remove problematic code added only for native platforms using Fabric. Fix #2136 --- .../Animated/createAnimatedComponent.js | 29 ------------------- 1 file changed, 29 deletions(-) diff --git a/packages/react-native-web/src/vendor/react-native/Animated/createAnimatedComponent.js b/packages/react-native-web/src/vendor/react-native/Animated/createAnimatedComponent.js index ad38344a4..9d5755ff7 100644 --- a/packages/react-native-web/src/vendor/react-native/Animated/createAnimatedComponent.js +++ b/packages/react-native-web/src/vendor/react-native/Animated/createAnimatedComponent.js @@ -224,39 +224,10 @@ function createAnimatedComponent( this.props.passthroughAnimatedPropExplicitValues || {}; const mergedStyle = {...style, ...passthruStyle}; - // On Fabric, we always want to ensure the container Animated View is *not* - // flattened. - // Because we do not get a host component ref immediately and thus cannot - // do a proper Fabric vs non-Fabric detection immediately, we default to assuming - // that Fabric *is* enabled until we know otherwise. - // Thus, in Fabric, this view will never be flattened. In non-Fabric, the view will - // not be flattened during the initial render but may be flattened in the second render - // and onwards. - const forceNativeIdFabric = - (this._component == null && - (options?.collapsable === false || props.collapsable !== true)) || - this._isFabric(); - - const forceNativeId = - props.collapsable ?? - (this._propsAnimated.__isNative || - forceNativeIdFabric || - options?.collapsable === false); - // The native driver updates views directly through the UI thread so we - // have to make sure the view doesn't get optimized away because it cannot - // go through the NativeViewHierarchyManager since it operates on the shadow - // thread. TODO: T68258846 - const collapsableProps = forceNativeId - ? { - nativeID: props.nativeID ?? 'animatedComponent', - collapsable: false, - } - : {}; return ( From d05fa342d0befc051daab7783914340e97b1d1ed Mon Sep 17 00:00:00 2001 From: Chris Green Date: Tue, 4 May 2021 20:57:36 +0100 Subject: [PATCH 017/256] Add failing test for style resolving behavior Less specific shorthand style properties are being applied instead of the more specific styles if there is another element also with one of the more specific styles. This is due to the common styles being pulled out as class names for de-duplication. Ref #2007 Close #2010 --- .../StyleSheet/__tests__/createStyleResolver-test.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/react-native-web/src/exports/StyleSheet/__tests__/createStyleResolver-test.js b/packages/react-native-web/src/exports/StyleSheet/__tests__/createStyleResolver-test.js index e4d3d09da..97fec84eb 100644 --- a/packages/react-native-web/src/exports/StyleSheet/__tests__/createStyleResolver-test.js +++ b/packages/react-native-web/src/exports/StyleSheet/__tests__/createStyleResolver-test.js @@ -77,6 +77,16 @@ describe('StyleSheet/createStyleResolver', () => { expect(styleResolver.resolve({ pointerEvents: 'box-none' })).toMatchSnapshot(); }); + test.skip('long form style properties take precedence over shorthand properties', () => { + const registeredStyle1 = ReactNativePropRegistry.register({ paddingHorizontal: '40px' }); + const inlineStyle1 = { padding: '8px', paddingHorizontal: '40px' }; + expect(styleResolver.resolve([registeredStyle1, inlineStyle1])).toMatchSnapshot(); + + const registeredStyle2 = ReactNativePropRegistry.register({ marginVertical: '40px' }); + const inlineStyle2 = { margin: '8px', marginVertical: '40px' }; + expect(styleResolver.resolve([registeredStyle2, inlineStyle2])).toMatchSnapshot(); + }); + describe('sheet', () => { beforeEach(() => { ExecutionEnvironment.canUseDOM = false; From 081a128db325f9ee10c359e304e9f6cc7f4f9c56 Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Wed, 29 Sep 2021 10:34:06 -0700 Subject: [PATCH 018/256] 0.17.5 --- package.json | 2 +- packages/babel-plugin-react-native-web/package.json | 2 +- packages/benchmarks/package.json | 6 +++--- packages/docs/package.json | 2 +- packages/dom-event-testing-library/package.json | 2 +- packages/examples/package.json | 6 +++--- packages/react-native-web/package.json | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 184aaa1bd..ca2185533 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "0.17.4", + "version": "0.17.5", "name": "monorepo", "scripts": { "clean": "del-cli ./packages/*/dist", diff --git a/packages/babel-plugin-react-native-web/package.json b/packages/babel-plugin-react-native-web/package.json index 6fbccf024..9b1a8afe8 100644 --- a/packages/babel-plugin-react-native-web/package.json +++ b/packages/babel-plugin-react-native-web/package.json @@ -3,7 +3,7 @@ "registry": "https://registry.npmjs.org/" }, "name": "babel-plugin-react-native-web", - "version": "0.17.4", + "version": "0.17.5", "description": "Babel plugin for React Native for Web", "main": "index.js", "devDependencies": { diff --git a/packages/benchmarks/package.json b/packages/benchmarks/package.json index 9811d6087..0caa26818 100644 --- a/packages/benchmarks/package.json +++ b/packages/benchmarks/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "benchmarks", - "version": "0.17.4", + "version": "0.17.5", "scripts": { "dev": "mkdir -p dist && cp -f index.html dist/index.html && ./node_modules/.bin/webpack-cli --config ./webpack.config.js", "build": "NODE_ENV=production yarn dev" @@ -12,11 +12,11 @@ "d3-scale-chromatic": "^2.0.0", "@emotion/css": "^11.1.3", "react-jss": "^10.5.1", - "react-native-web": "0.17.4", + "react-native-web": "0.17.5", "styled-components": "^5.2.1" }, "devDependencies": { - "babel-plugin-react-native-web": "0.17.4", + "babel-plugin-react-native-web": "0.17.5", "css-loader": "^5.0.2", "style-loader": "^2.0.0", "url-loader": "^4.1.1", diff --git a/packages/docs/package.json b/packages/docs/package.json index 9f5bff2f8..c8c19f37b 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "docs", - "version": "0.17.4", + "version": "0.17.5", "description": "Documentation website for React Native for Web", "scripts": { "dev": "eleventy --serve", diff --git a/packages/dom-event-testing-library/package.json b/packages/dom-event-testing-library/package.json index 1ff20eff3..2fba72c38 100644 --- a/packages/dom-event-testing-library/package.json +++ b/packages/dom-event-testing-library/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "dom-event-testing-library", - "version": "0.17.4", + "version": "0.17.5", "main": "index.js", "description": "Browser event sequences for unit tests", "author": "Nicolas Gallagher", diff --git a/packages/examples/package.json b/packages/examples/package.json index 118470e1f..d8418417d 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "examples", - "version": "0.17.4", + "version": "0.17.5", "scripts": { "dev": "next", "build": "next build", @@ -11,12 +11,12 @@ "next": "^11.1.1", "react": "^17.0.1", "react-dom": "^17.0.1", - "react-native-web": "0.17.4" + "react-native-web": "0.17.5" }, "devDependencies": { "@babel/core": "^7.12.13", "@babel/preset-flow": "^7.12.13", - "babel-plugin-react-native-web": "0.17.4" + "babel-plugin-react-native-web": "0.17.5" }, "license": "MIT" } diff --git a/packages/react-native-web/package.json b/packages/react-native-web/package.json index 748f4ae9e..1f710f78b 100644 --- a/packages/react-native-web/package.json +++ b/packages/react-native-web/package.json @@ -3,7 +3,7 @@ "registry": "https://registry.npmjs.org/" }, "name": "react-native-web", - "version": "0.17.4", + "version": "0.17.5", "description": "React Native for Web", "module": "dist/index.js", "main": "dist/cjs/index.js", From 9d86760db39b75421391fd34810f44af66b6b030 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jan 2022 23:14:50 +0000 Subject: [PATCH 019/256] Bump markdown-it from 12.0.4 to 12.3.2 Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 12.0.4 to 12.3.2. - [Release notes](https://github.com/markdown-it/markdown-it/releases) - [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md) - [Commits](https://github.com/markdown-it/markdown-it/compare/12.0.4...12.3.2) --- updated-dependencies: - dependency-name: markdown-it dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- packages/docs/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/docs/package.json b/packages/docs/package.json index c8c19f37b..89e45ab36 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -17,7 +17,7 @@ "eleventy-plugin-svg-contents": "^0.7.0", "eleventy-plugin-toc": "^1.1.0", "html-minifier": "^4.0.0", - "markdown-it": "^12.0.4", + "markdown-it": "^12.3.2", "markdown-it-anchor": "^7.0.0", "markdown-it-attrs": "^4.0.0", "markdown-it-container": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index 67a80e125..d93b762d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6912,10 +6912,10 @@ markdown-it@^10.0.0: mdurl "^1.0.1" uc.micro "^1.0.5" -markdown-it@^12.0.4: - version "12.0.4" - resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-12.0.4.tgz" - integrity sha512-34RwOXZT8kyuOJy25oJNJoulO8L0bTHYWXcdZBYZqFnjIy3NgjeoM3FmPXIOFQ26/lSHYMr8oc62B6adxXcb3Q== +markdown-it@^12.3.2: + version "12.3.2" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.3.2.tgz#bf92ac92283fe983fe4de8ff8abfb5ad72cd0c90" + integrity sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg== dependencies: argparse "^2.0.1" entities "~2.1.0" From aaefb1bdde37a297992f939a1d3b9c5fd3be5224 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 15 Jan 2022 06:57:35 +0000 Subject: [PATCH 020/256] Bump follow-redirects from 1.13.1 to 1.14.7 Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.13.1 to 1.14.7. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.13.1...v1.14.7) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index d93b762d0..2b5a85c82 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4664,9 +4664,9 @@ flow-bin@^0.148.0: integrity sha512-7Cx6BUm8UAlbqtYJNYXdMrh900MQhNV+SjtBxZuWN7UmlVG4tIRNzNLEOjNnj2DN2vcL1wfI5IlSUXnws/QCEw== follow-redirects@^1.0.0, follow-redirects@^1.10.0: - version "1.13.1" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz" - integrity sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg== + version "1.14.7" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" + integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== for-in@^1.0.2: version "1.0.2" From e217f737ab7b2b5fb8ea0edca515632af535d9a2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 22 Jan 2022 02:34:37 +0000 Subject: [PATCH 021/256] Bump nanoid from 3.1.28 to 3.2.0 Bumps [nanoid](https://github.com/ai/nanoid) from 3.1.28 to 3.2.0. - [Release notes](https://github.com/ai/nanoid/releases) - [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md) - [Commits](https://github.com/ai/nanoid/compare/3.1.28...3.2.0) --- updated-dependencies: - dependency-name: nanoid dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2b5a85c82..0033a03d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7140,9 +7140,9 @@ mustache@^2.3.2: integrity sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ== nanoid@^3.1.23: - version "3.1.28" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.28.tgz#3c01bac14cb6c5680569014cc65a2f26424c6bd4" - integrity sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw== + version "3.2.0" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" + integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== nanomatch@^1.2.9: version "1.2.13" From 438b7b7281065a8bcd69647841297103e0953a8f Mon Sep 17 00:00:00 2001 From: youngvform Date: Sat, 11 Sep 2021 20:05:52 +0900 Subject: [PATCH 022/256] [fix] Linking.openURL opens 'tel' links in current tab. Close #2125 Fix #2124 --- packages/react-native-web/src/exports/Linking/index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/react-native-web/src/exports/Linking/index.js b/packages/react-native-web/src/exports/Linking/index.js index ddc3e2932..4cd1b254e 100644 --- a/packages/react-native-web/src/exports/Linking/index.js +++ b/packages/react-native-web/src/exports/Linking/index.js @@ -88,7 +88,11 @@ class Linking { const open = (url) => { if (canUseDOM) { const urlToOpen = new URL(url, window.location).toString(); - window.open(urlToOpen, '_blank', 'noopener'); + if (urlToOpen.indexOf('tel:') === 0) { + window.location = urlToOpen; + } else { + window.open(urlToOpen, '_blank', 'noopener'); + } } }; From d21c401620aea17ad2ab0fd7d71dadaa37b60143 Mon Sep 17 00:00:00 2001 From: Markus Kobisch Date: Mon, 8 Nov 2021 15:38:05 +0100 Subject: [PATCH 023/256] [fix] Avoid edge case where focus jumps between TextInputs Close #2163 Fix #2162 --- .../react-native-web/src/exports/TextInput/index.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/react-native-web/src/exports/TextInput/index.js b/packages/react-native-web/src/exports/TextInput/index.js index a37dd8ca8..2145ecd48 100644 --- a/packages/react-native-web/src/exports/TextInput/index.js +++ b/packages/react-native-web/src/exports/TextInput/index.js @@ -83,6 +83,8 @@ function isEventComposing(nativeEvent) { return nativeEvent.isComposing || nativeEvent.keyCode === 229; } +let focusTimeout: ?TimeoutID = null; + const TextInput: React.AbstractComponent< TextInputProps, HTMLElement & PlatformMethods @@ -243,8 +245,13 @@ const TextInput: React.AbstractComponent< } if (selectTextOnFocus) { // Safari requires selection to occur in a setTimeout - setTimeout(() => { - hostNode.select(); + if (focusTimeout != null) { + clearTimeout(focusTimeout); + } + focusTimeout = setTimeout(() => { + if (hostNode != null) { + hostNode.select(); + } }, 0); } } From 944b45cd0b6d43470d653560bef3f46c5eae6c2a Mon Sep 17 00:00:00 2001 From: meenu Date: Tue, 9 Nov 2021 17:25:52 +0530 Subject: [PATCH 024/256] [fix] Switch support for custom colors when disabled Close #2164 Fix #1758 --- packages/examples/pages/switch/index.js | 8 +++ .../__snapshots__/index-test.js.snap | 43 ++++++++++++ .../exports/Switch/__tests__/index-test.js | 42 +++++++++++ .../src/exports/Switch/index.js | 69 ++++++++++++++++--- 4 files changed, 153 insertions(+), 9 deletions(-) create mode 100644 packages/react-native-web/src/exports/Switch/__tests__/__snapshots__/index-test.js.snap diff --git a/packages/examples/pages/switch/index.js b/packages/examples/pages/switch/index.js index 6223b816a..a6b8a5650 100644 --- a/packages/examples/pages/switch/index.js +++ b/packages/examples/pages/switch/index.js @@ -24,6 +24,14 @@ export default function SwitchPage() { + + + + + + + + diff --git a/packages/react-native-web/src/exports/Switch/__tests__/__snapshots__/index-test.js.snap b/packages/react-native-web/src/exports/Switch/__tests__/__snapshots__/index-test.js.snap new file mode 100644 index 000000000..bec819f2f --- /dev/null +++ b/packages/react-native-web/src/exports/Switch/__tests__/__snapshots__/index-test.js.snap @@ -0,0 +1,43 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`components/Switch disabled when "true" and value="false", a disabled checkbox is rendered with provided false value of trackColor 1`] = ` +
+`; + +exports[`components/Switch disabled when "true" and value="false", a disabled checkbox is rendered with provided thumbColor 1`] = ` +
+`; + +exports[`components/Switch disabled when "true" and value="false", a disabled checkbox is rendered with provided trackColor 1`] = ` +
+`; + +exports[`components/Switch disabled when "true" and value="true", a disabled checkbox is rendered with provided activeThumbColor 1`] = ` +
+`; + +exports[`components/Switch disabled when "true" and value="true", a disabled checkbox is rendered with provided activeTrackColor 1`] = ` +
+`; + +exports[`components/Switch disabled when "true" and value="true", a disabled checkbox is rendered with provided true value of trackColor 1`] = ` +
+`; diff --git a/packages/react-native-web/src/exports/Switch/__tests__/index-test.js b/packages/react-native-web/src/exports/Switch/__tests__/index-test.js index 0435cfb9a..92b173104 100644 --- a/packages/react-native-web/src/exports/Switch/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/Switch/__tests__/index-test.js @@ -8,6 +8,14 @@ function findCheckbox(container) { return container.firstChild.querySelector('input'); } +function findSwitchTrack(container) { + return container.firstChild.querySelector('div'); +} + +function findSwitchThumb(container) { + return container.firstChild.childNodes[1]; +} + describe('components/Switch', () => { test('accessibilityLabel is applied to native checkbox', () => { const { container } = render(); @@ -24,6 +32,40 @@ describe('components/Switch', () => { const { container } = render(); expect(findCheckbox(container).disabled).toBe(true); }); + + test('when "true" and value="true", a disabled checkbox is rendered with provided activeTrackColor', () => { + const { container } = render(); + expect(findSwitchTrack(container)).toMatchSnapshot(); + }); + + test('when "true" and value="true", a disabled checkbox is rendered with provided activeThumbColor', () => { + const { container } = render(); + expect(findSwitchThumb(container)).toMatchSnapshot(); + }); + + test('when "true" and value="false", a disabled checkbox is rendered with provided trackColor', () => { + const { container } = render(); + expect(findSwitchTrack(container)).toMatchSnapshot(); + }); + + test('when "true" and value="false", a disabled checkbox is rendered with provided thumbColor', () => { + const { container } = render(); + expect(findSwitchThumb(container)).toMatchSnapshot(); + }); + + test('when "true" and value="true", a disabled checkbox is rendered with provided true value of trackColor', () => { + const { container } = render( + + ); + expect(findSwitchTrack(container)).toMatchSnapshot(); + }); + + test('when "true" and value="false", a disabled checkbox is rendered with provided false value of trackColor', () => { + const { container } = render( + + ); + expect(findSwitchTrack(container)).toMatchSnapshot(); + }); }); describe('onValueChange', () => { diff --git a/packages/react-native-web/src/exports/Switch/index.js b/packages/react-native-web/src/exports/Switch/index.js index dbcca6f94..8ed7be983 100644 --- a/packages/react-native-web/src/exports/Switch/index.js +++ b/packages/react-native-web/src/exports/Switch/index.js @@ -31,19 +31,27 @@ const emptyObject = {}; const thumbDefaultBoxShadow = '0px 1px 3px rgba(0,0,0,0.5)'; const thumbFocusedBoxShadow = `${thumbDefaultBoxShadow}, 0 0 0 10px rgba(0,0,0,0.1)`; +const defaultActiveTrackColor = '#A3D3CF'; +const defaultTrackColor = '#939393'; +const defaultDisabledTrackColor = '#D5D5D5'; + +const defaultActiveThumbColor = '#009688'; +const defaultThumbColor = '#FAFAFA'; +const defaultDisabledThumbColor = '#BDBDBD'; + const Switch: React.AbstractComponent< SwitchProps, React.ElementRef > = React.forwardRef((props, forwardedRef) => { const { accessibilityLabel, - activeThumbColor = '#009688', - activeTrackColor = '#A3D3CF', + activeThumbColor, + activeTrackColor, disabled = false, onValueChange, style = emptyObject, - thumbColor = '#FAFAFA', - trackColor = '#939393', + thumbColor, + trackColor, value = false, ...other } = props; @@ -69,31 +77,74 @@ const Switch: React.AbstractComponent< const minWidth = multiplyStyleLengthValue(height, 2); const width = styleWidth > minWidth ? styleWidth : minWidth; const trackBorderRadius = multiplyStyleLengthValue(height, 0.5); + const trackCurrentColor = (function () { if (value === true) { if (trackColor != null && typeof trackColor === 'object') { return trackColor.true; } else { - return activeTrackColor; + return activeTrackColor ?? defaultActiveTrackColor; } } else { if (trackColor != null && typeof trackColor === 'object') { return trackColor.false; } else { - return trackColor; + return trackColor ?? defaultTrackColor; } } })(); - const thumbCurrentColor = value ? activeThumbColor : thumbColor; + + const thumbCurrentColor = value + ? activeThumbColor ?? defaultActiveThumbColor + : thumbColor ?? defaultThumbColor; + const thumbHeight = height; const thumbWidth = thumbHeight; const rootStyle = [styles.root, style, disabled && styles.cursorDefault, { height, width }]; + const disabledTrackColor = (function () { + if (value === true) { + if ( + (typeof activeTrackColor === 'string' && activeTrackColor != null) || + (typeof trackColor === 'object' && trackColor?.true) + ) { + return trackCurrentColor; + } else { + return defaultDisabledTrackColor; + } + } else { + if ( + (typeof trackColor === 'string' && trackColor != null) || + (typeof trackColor === 'object' && trackColor?.false) + ) { + return trackCurrentColor; + } else { + return defaultDisabledTrackColor; + } + } + })(); + + const disabledThumbColor = (function () { + if (value === true) { + if (activeThumbColor == null) { + return defaultDisabledThumbColor; + } else { + return thumbCurrentColor; + } + } else { + if (thumbColor == null) { + return defaultDisabledThumbColor; + } else { + return thumbCurrentColor; + } + } + })(); + const trackStyle = [ styles.track, { - backgroundColor: disabled ? '#D5D5D5' : trackCurrentColor, + backgroundColor: disabled ? disabledTrackColor : trackCurrentColor, borderRadius: trackBorderRadius } ]; @@ -102,7 +153,7 @@ const Switch: React.AbstractComponent< styles.thumb, value && styles.thumbActive, { - backgroundColor: disabled ? '#BDBDBD' : thumbCurrentColor, + backgroundColor: disabled ? disabledThumbColor : thumbCurrentColor, height: thumbHeight, marginStart: value ? multiplyStyleLengthValue(thumbWidth, -1) : 0, width: thumbWidth From 79707ce1b34e11ac691b8b8fa06a4a0bc5cebac0 Mon Sep 17 00:00:00 2001 From: Rajat Parashar Date: Mon, 10 Jan 2022 10:45:18 +0530 Subject: [PATCH 025/256] [fix] Text numberOfLines=1 on Safari" This reverts commit 562db69a0f3305b07f252ad26b4661bb92bcb72c. Close #2193 Fix #2186 Fix #2111 --- .../Text/__tests__/__snapshots__/index-test.js.snap | 2 +- packages/react-native-web/src/exports/Text/index.js | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap b/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap index 7c1a743be..da9988b41 100644 --- a/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap +++ b/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap @@ -159,7 +159,7 @@ exports[`components/Text prop "numberOfLines" value is set 1`] = ` exports[`components/Text prop "numberOfLines" value is set to one 1`] = `
`; diff --git a/packages/react-native-web/src/exports/Text/index.js b/packages/react-native-web/src/exports/Text/index.js index a2a74ce47..a9f08c15d 100644 --- a/packages/react-native-web/src/exports/Text/index.js +++ b/packages/react-native-web/src/exports/Text/index.js @@ -73,11 +73,12 @@ const Text: React.AbstractComponent = const classList = [ classes.text, hasTextAncestor === true && classes.textHasAncestor, - numberOfLines != null && classes.textMultiLine + numberOfLines === 1 && classes.textOneLine, + numberOfLines != null && numberOfLines > 1 && classes.textMultiLine ]; const style = [ props.style, - numberOfLines != null && { WebkitLineClamp: numberOfLines }, + numberOfLines != null && numberOfLines > 1 && { WebkitLineClamp: numberOfLines }, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable @@ -179,6 +180,13 @@ const classes = css.create({ font: 'inherit', whiteSpace: 'inherit' }, + textOneLine: { + maxWidth: '100%', + overflow: 'hidden', + textOverflow: 'ellipsis', + whiteSpace: 'pre', + wordWrap: 'normal' + }, // See #13 textMultiLine: { display: '-webkit-box', From 17241dbcfa7b34004a4fe7d0abf0ac5e591ae69c Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Fri, 18 Feb 2022 10:10:55 -0800 Subject: [PATCH 026/256] [fix] AppState.removeEventListener deprecation Fix #2215 Fix #2166 --- .../exports/AppState/__tests__/index-test.js | 19 +++---------------- .../src/exports/AppState/index.js | 5 +++++ 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/packages/react-native-web/src/exports/AppState/__tests__/index-test.js b/packages/react-native-web/src/exports/AppState/__tests__/index-test.js index 5bd76bc72..1dd0218eb 100644 --- a/packages/react-native-web/src/exports/AppState/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/AppState/__tests__/index-test.js @@ -10,23 +10,10 @@ describe('apis/AppState', () => { expect(() => AppState.addEventListener('foo', handler)).toThrow(); expect(() => AppState.addEventListener('change', handler).remove()).not.toThrow(); }); - }); - - describe('removeEventListener', () => { - beforeEach(() => { - // removeEventListener logs a deprecation warning, ignore - jest.spyOn(console, 'error'); - console.error.mockImplementation(() => {}); - }); - afterEach(() => { - console.error.mockRestore(); - }); - - test('throws if the provided "eventType" is not supported', () => { - AppState.addEventListener('change', handler); - expect(() => AppState.removeEventListener('foo', handler)).toThrow(); - expect(() => AppState.removeEventListener('change', handler)).not.toThrow(); + test('returns remove subscription', () => { + const subscription = AppState.addEventListener('change', handler); + expect(() => subscription.remove()).not.toThrow(); }); }); }); diff --git a/packages/react-native-web/src/exports/AppState/index.js b/packages/react-native-web/src/exports/AppState/index.js index dcf756c4f..36b8a70a7 100644 --- a/packages/react-native-web/src/exports/AppState/index.js +++ b/packages/react-native-web/src/exports/AppState/index.js @@ -72,6 +72,11 @@ export default class AppState { static removeEventListener(type: string, handler: Function) { if (AppState.isAvailable) { + console.error( + `AppState.removeListener('${type}', ...): Method has been ` + + 'deprecated. Please instead use `remove()` on the subscription ' + + 'returned by `AppState.addEventListener`.' + ); invariant( EVENT_TYPES.indexOf(type) !== -1, 'Trying to remove listener for unknown event: "%s"', From 7ec2489c78f9734bae5bcfdc514b0c91621a6300 Mon Sep 17 00:00:00 2001 From: Andre Staltz Date: Wed, 16 Feb 2022 11:48:39 +0200 Subject: [PATCH 027/256] [fix] inverted VirtualizedList supports wheel events Close #2223 Close #1241 Fix #995 --- .../react-native/VirtualizedList/index.js | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/packages/react-native-web/src/vendor/react-native/VirtualizedList/index.js b/packages/react-native-web/src/vendor/react-native/VirtualizedList/index.js index 23a9ccea5..836f40c40 100644 --- a/packages/react-native-web/src/vendor/react-native/VirtualizedList/index.js +++ b/packages/react-native-web/src/vendor/react-native/VirtualizedList/index.js @@ -678,6 +678,8 @@ class VirtualizedList extends React.PureComponent { state: State; + invertedWheelEventHandler: ?(ev: any) => void; + constructor(props: Props) { super(props); invariant( @@ -731,6 +733,19 @@ class VirtualizedList extends React.PureComponent { } } + // For issue https://github.com/necolas/react-native-web/issues/995 + this.invertedWheelEventHandler = (ev: any) => { + if (this.props.inverted && this._scrollRef && this._scrollRef.getScrollableNode) { + const node = (this._scrollRef: any).getScrollableNode(); + if (this.props.horizontal) { + node.scrollLeft -= ev.deltaX || ev.wheelDeltaX + } else { + node.scrollTop -= ev.deltaY || ev.wheelDeltaY + } + ev.preventDefault(); + } + }; + this.state = initialState; } @@ -747,6 +762,7 @@ class VirtualizedList extends React.PureComponent { parentDebugInfo: this.context.debugInfo, }); } + this.setupWebWheelHandler(); } componentWillUnmount() { @@ -766,6 +782,26 @@ class VirtualizedList extends React.PureComponent { tuple.viewabilityHelper.dispose(); }); this._fillRateHelper.deactivateAndFlush(); + this.teardownWebWheelHandler(); + } + + setupWebWheelHandler() { + if (this._scrollRef && this._scrollRef.getScrollableNode) { + this._scrollRef.getScrollableNode().addEventListener('wheel', + this.invertedWheelEventHandler + ); + } else { + setTimeout(() => this.setupWebWheelHandler(), 50); + return + } + } + + teardownWebWheelHandler() { + if (this._scrollRef && this._scrollRef.getScrollableNode) { + this._scrollRef.getScrollableNode().removeEventListener('wheel', + this.invertedWheelEventHandler + ); + } } static getDerivedStateFromProps(newProps: Props, prevState: State): State { @@ -2092,4 +2128,4 @@ const styles = StyleSheet.create({ }, }); -export default VirtualizedList; \ No newline at end of file +export default VirtualizedList; From da80ede2dc39c5aad67faf27a0a07a1d185c051c Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Fri, 18 Feb 2022 10:31:11 -0800 Subject: [PATCH 028/256] 0.17.6 --- package.json | 2 +- packages/babel-plugin-react-native-web/package.json | 2 +- packages/benchmarks/package.json | 6 +++--- packages/docs/package.json | 2 +- packages/dom-event-testing-library/package.json | 2 +- packages/examples/package.json | 6 +++--- packages/react-native-web/package.json | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index ca2185533..88cfda307 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "0.17.5", + "version": "0.17.6", "name": "monorepo", "scripts": { "clean": "del-cli ./packages/*/dist", diff --git a/packages/babel-plugin-react-native-web/package.json b/packages/babel-plugin-react-native-web/package.json index 9b1a8afe8..633839e7a 100644 --- a/packages/babel-plugin-react-native-web/package.json +++ b/packages/babel-plugin-react-native-web/package.json @@ -3,7 +3,7 @@ "registry": "https://registry.npmjs.org/" }, "name": "babel-plugin-react-native-web", - "version": "0.17.5", + "version": "0.17.6", "description": "Babel plugin for React Native for Web", "main": "index.js", "devDependencies": { diff --git a/packages/benchmarks/package.json b/packages/benchmarks/package.json index 0caa26818..f7674563a 100644 --- a/packages/benchmarks/package.json +++ b/packages/benchmarks/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "benchmarks", - "version": "0.17.5", + "version": "0.17.6", "scripts": { "dev": "mkdir -p dist && cp -f index.html dist/index.html && ./node_modules/.bin/webpack-cli --config ./webpack.config.js", "build": "NODE_ENV=production yarn dev" @@ -12,11 +12,11 @@ "d3-scale-chromatic": "^2.0.0", "@emotion/css": "^11.1.3", "react-jss": "^10.5.1", - "react-native-web": "0.17.5", + "react-native-web": "0.17.6", "styled-components": "^5.2.1" }, "devDependencies": { - "babel-plugin-react-native-web": "0.17.5", + "babel-plugin-react-native-web": "0.17.6", "css-loader": "^5.0.2", "style-loader": "^2.0.0", "url-loader": "^4.1.1", diff --git a/packages/docs/package.json b/packages/docs/package.json index 89e45ab36..7d0553181 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "docs", - "version": "0.17.5", + "version": "0.17.6", "description": "Documentation website for React Native for Web", "scripts": { "dev": "eleventy --serve", diff --git a/packages/dom-event-testing-library/package.json b/packages/dom-event-testing-library/package.json index 2fba72c38..23771673f 100644 --- a/packages/dom-event-testing-library/package.json +++ b/packages/dom-event-testing-library/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "dom-event-testing-library", - "version": "0.17.5", + "version": "0.17.6", "main": "index.js", "description": "Browser event sequences for unit tests", "author": "Nicolas Gallagher", diff --git a/packages/examples/package.json b/packages/examples/package.json index d8418417d..1d97b6653 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "examples", - "version": "0.17.5", + "version": "0.17.6", "scripts": { "dev": "next", "build": "next build", @@ -11,12 +11,12 @@ "next": "^11.1.1", "react": "^17.0.1", "react-dom": "^17.0.1", - "react-native-web": "0.17.5" + "react-native-web": "0.17.6" }, "devDependencies": { "@babel/core": "^7.12.13", "@babel/preset-flow": "^7.12.13", - "babel-plugin-react-native-web": "0.17.5" + "babel-plugin-react-native-web": "0.17.6" }, "license": "MIT" } diff --git a/packages/react-native-web/package.json b/packages/react-native-web/package.json index 1f710f78b..a533a8de6 100644 --- a/packages/react-native-web/package.json +++ b/packages/react-native-web/package.json @@ -3,7 +3,7 @@ "registry": "https://registry.npmjs.org/" }, "name": "react-native-web", - "version": "0.17.5", + "version": "0.17.6", "description": "React Native for Web", "module": "dist/index.js", "main": "dist/cjs/index.js", From ea87af27b28fa5933abb8935e8586c86c74f2c0a Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Tue, 22 Feb 2022 11:44:19 -0800 Subject: [PATCH 029/256] AppState docs without deprecated API --- packages/docs/src/pages/docs/apis/app-state.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/docs/src/pages/docs/apis/app-state.md b/packages/docs/src/pages/docs/apis/app-state.md index cd67cadba..e9b832749 100644 --- a/packages/docs/src/pages/docs/apis/app-state.md +++ b/packages/docs/src/pages/docs/apis/app-state.md @@ -40,10 +40,6 @@ Returns the current state of the app. Add a listener to `AppState` changes. Listen to the `"change"` event type. The handler is called with the app state value. {% endcall %} -{% call macro.prop('removeEventListener', '(type: ?string, listener: (boolean) => void) => void') %} -Remove a listener from `AppState` changes. -{% endcall %} - --- ## Examples From c0e3409ace1747b776d8eb06aae4e31b558e318e Mon Sep 17 00:00:00 2001 From: David Rieman Date: Fri, 18 Feb 2022 17:52:48 -0800 Subject: [PATCH 030/256] Fix 'yarn lint' issue Close #2238 --- packages/react-native-web/src/modules/useEvent/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native-web/src/modules/useEvent/index.js b/packages/react-native-web/src/modules/useEvent/index.js index 945b0d99b..5851ccba0 100644 --- a/packages/react-native-web/src/modules/useEvent/index.js +++ b/packages/react-native-web/src/modules/useEvent/index.js @@ -55,7 +55,7 @@ export default function useEvent( }); targetListeners.clear(); }; - }, []); + }, [targetListeners]); return addListener; } From aaa58d7d75b800514aee51334979559e3f7d5f44 Mon Sep 17 00:00:00 2001 From: David Rieman Date: Thu, 24 Feb 2022 20:29:50 -0800 Subject: [PATCH 031/256] Add SectionList example page Close #2240 --- packages/examples/pages/section-list/index.js | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 packages/examples/pages/section-list/index.js diff --git a/packages/examples/pages/section-list/index.js b/packages/examples/pages/section-list/index.js new file mode 100644 index 000000000..e04e9d061 --- /dev/null +++ b/packages/examples/pages/section-list/index.js @@ -0,0 +1,67 @@ +import React from 'react'; +import { StyleSheet } from 'react-native'; +import Example from '../../shared/example'; +import { SectionList, Text, View } from 'react-native-web'; + +function makeItems(length) { + return Array(length) + .fill(0) + .map((value, index) => ({ + key: `item_${index}`, + title: `Item ${index}` + })); +} + +const sectionsData = [ + { data: makeItems(9), title: 'Section A', color: 'red', key: 'a' }, + { data: makeItems(6), title: 'Section B', color: 'green', key: 'b' }, + { data: makeItems(3), title: 'Section C', color: 'yellow', key: 'c' } +]; + +function renderItem({ item }) { + return ( + + {item.title} + + ); +} + +function renderSectionHeader({ section }) { + const extraStyle = { backgroundColor: section.color }; + return ( + + {section.title} + + ); +} + +function renderSectionFooter({ section }) { + const footerStyle = { height: 10, backgroundColor: section.color, marginBottom: 10 }; + return ; +} + +export default function SectionListPage() { + return ( + + (Example ListFooterComponent Here) + } + ListHeaderComponent={ + (Example ListHeaderComponent Here) + } + renderItem={renderItem} + renderSectionFooter={renderSectionFooter} + renderSectionHeader={renderSectionHeader} + sections={sectionsData} + /> + + ); +} + +const styles = StyleSheet.create({ + examplesFooter: { fontSize: 22 }, + examplesHeader: { fontSize: 22, marginBottom: 20 }, + itemTitleText: { fontSize: 16 }, + sectionHeaderText: { fontSize: 20, fontWeight: 'bold' } +}); From 9ffda216595c63912918d4474cf9bcb4d9482ce7 Mon Sep 17 00:00:00 2001 From: David Rieman Date: Fri, 18 Feb 2022 22:09:19 -0800 Subject: [PATCH 032/256] Add FlatList examples Close #2229 --- packages/examples/pages/flatlist/index.js | 114 ++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 packages/examples/pages/flatlist/index.js diff --git a/packages/examples/pages/flatlist/index.js b/packages/examples/pages/flatlist/index.js new file mode 100644 index 000000000..0580925af --- /dev/null +++ b/packages/examples/pages/flatlist/index.js @@ -0,0 +1,114 @@ +import React from 'react'; +import { StyleSheet } from 'react-native'; +import Example from '../../shared/example'; +import { FlatList, Text, TouchableOpacity, View } from 'react-native-web'; + +const multiSelectData = ['First', 'Second', 'Third'].map((title, id) => ({ id, title })); +const minimalData = ['a', 'b', 'c', 'd', 'e'].map((key) => ({ key })); +const pageExamplesData = ['minimal', 'multiSelect'].map((type) => ({ type })); + +class MyListItem extends React.PureComponent { + _onPress = () => { + this.props.onPressItem(this.props.id); + }; + + render() { + const textColor = this.props.selected ? 'red' : 'black'; + return ( + + + {this.props.title} + + + ); + } +} + +class MultiSelectList extends React.PureComponent { + state = { selected: new Map() }; + + _keyExtractor = (item, index) => item.id; + + _onPressItem = (id) => { + // updater functions are preferred for transactional updates + this.setState((state) => { + // copy the map rather than modifying state. + const selected = new Map(state.selected); + selected.set(id, !selected.get(id)); // toggle + return { selected }; + }); + }; + + _renderItem = ({ item }) => ( + + ); + + render() { + return ( + + ); + } +} + +function renderExampleItem({ item }) { + switch (item.type) { + case 'minimal': + // Example Minimal FlatList, directly from FlatList's own JSDoc details. + // Appending our own view as a header to keep this example itself tightly matching the JSDoc. + return ( + + Minimal FlatList: + {item.key}} + /> + + ); + case 'multiSelect': + // Example Multi-Select FlatList, directly from FlatList's own JSDoc details. + // Appending our own view as a header to keep this example itself tightly matching the JSDoc. + return ( + + Multi-Select FlatList: + + + ); + default: + throw new Error('Unexpected Item Type'); + } +} + +export default function FlatListPage() { + return ( + + (Example ListFooterComponent Here) + } + ListHeaderComponent={ + (Example ListHeaderComponent Here) + } + data={pageExamplesData} + renderItem={renderExampleItem} + /> + + ); +} + +const styles = StyleSheet.create({ + allExamplesFooter: { fontSize: 22 }, + allExamplesHeader: { fontSize: 22, marginBottom: 20 }, + exampleContainer: { marginBottom: 20 }, + exampleHeaderText: { fontSize: 18, fontWeight: 'bold' }, + listItemText: { fontSize: 16 } +}); From 8cc79ea8d018882e3f45955ea03746bc43e25355 Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Tue, 1 Mar 2022 13:19:06 -0800 Subject: [PATCH 033/256] [fix] TextInput numberOfLines for text with line breaks Reverts the change made for #2058, which is considered an avoidable edge-case. Fix #2243 --- packages/examples/pages/text/index.js | 86 ++++++++++++++----- .../__snapshots__/index-test.js.snap | 2 +- .../src/exports/Text/index.js | 2 +- 3 files changed, 65 insertions(+), 25 deletions(-) diff --git a/packages/examples/pages/text/index.js b/packages/examples/pages/text/index.js index 98819f057..8e2e65848 100644 --- a/packages/examples/pages/text/index.js +++ b/packages/examples/pages/text/index.js @@ -283,10 +283,28 @@ function TextShadow() { ); } +function LineExample({ description, children }) { + return ( + + {description} + + + {children} + + + ); +} + export default function TextPage() { return ( - + Text wraps across multiple lines by default. Text wraps across multiple lines by default. Text wraps across multiple lines by default. Text wraps across multiple lines by default. @@ -369,35 +387,57 @@ export default function TextPage() { click-and-hold. - - - The next two lines should look identical: + + + + { + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.' + } + + + + + + { + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\nUt enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\nExcepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.' + } + + + + + + { + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.' + } + + + + + + { + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\nUt enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\nExcepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.' + } + + + + + goal aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + + + - Spaces - between - words + + Spaces + between + words + Spaces between words - - - Maximum of one line, no matter how much I write here. If I keep writing, it - {"'"} - ll just truncate after one line. - - - Maximum of two lines, no matter how much I write here. If I keep writing, it - {"'"} - ll just truncate after two lines. - - - No maximum lines specified, no matter how much I write here. If I keep writing, it - {"'"} - ll just keep going and going. - + diff --git a/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap b/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap index da9988b41..ae188b56b 100644 --- a/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap +++ b/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap @@ -159,7 +159,7 @@ exports[`components/Text prop "numberOfLines" value is set 1`] = ` exports[`components/Text prop "numberOfLines" value is set to one 1`] = `
`; diff --git a/packages/react-native-web/src/exports/Text/index.js b/packages/react-native-web/src/exports/Text/index.js index a9f08c15d..e6d5a9a42 100644 --- a/packages/react-native-web/src/exports/Text/index.js +++ b/packages/react-native-web/src/exports/Text/index.js @@ -184,7 +184,7 @@ const classes = css.create({ maxWidth: '100%', overflow: 'hidden', textOverflow: 'ellipsis', - whiteSpace: 'pre', + whiteSpace: 'nowrap', wordWrap: 'normal' }, // See #13 From dc9ecfbc84c7e6cbf0c36c537ac1b0a86b7e43c1 Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Tue, 1 Mar 2022 13:22:24 -0800 Subject: [PATCH 034/256] 0.17.7 --- package.json | 2 +- packages/babel-plugin-react-native-web/package.json | 2 +- packages/benchmarks/package.json | 6 +++--- packages/docs/package.json | 2 +- packages/dom-event-testing-library/package.json | 2 +- packages/examples/package.json | 6 +++--- packages/react-native-web/package.json | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 88cfda307..8d4f3bf75 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "0.17.6", + "version": "0.17.7", "name": "monorepo", "scripts": { "clean": "del-cli ./packages/*/dist", diff --git a/packages/babel-plugin-react-native-web/package.json b/packages/babel-plugin-react-native-web/package.json index 633839e7a..3bc4b8b6b 100644 --- a/packages/babel-plugin-react-native-web/package.json +++ b/packages/babel-plugin-react-native-web/package.json @@ -3,7 +3,7 @@ "registry": "https://registry.npmjs.org/" }, "name": "babel-plugin-react-native-web", - "version": "0.17.6", + "version": "0.17.7", "description": "Babel plugin for React Native for Web", "main": "index.js", "devDependencies": { diff --git a/packages/benchmarks/package.json b/packages/benchmarks/package.json index f7674563a..f03a0f2f3 100644 --- a/packages/benchmarks/package.json +++ b/packages/benchmarks/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "benchmarks", - "version": "0.17.6", + "version": "0.17.7", "scripts": { "dev": "mkdir -p dist && cp -f index.html dist/index.html && ./node_modules/.bin/webpack-cli --config ./webpack.config.js", "build": "NODE_ENV=production yarn dev" @@ -12,11 +12,11 @@ "d3-scale-chromatic": "^2.0.0", "@emotion/css": "^11.1.3", "react-jss": "^10.5.1", - "react-native-web": "0.17.6", + "react-native-web": "0.17.7", "styled-components": "^5.2.1" }, "devDependencies": { - "babel-plugin-react-native-web": "0.17.6", + "babel-plugin-react-native-web": "0.17.7", "css-loader": "^5.0.2", "style-loader": "^2.0.0", "url-loader": "^4.1.1", diff --git a/packages/docs/package.json b/packages/docs/package.json index 7d0553181..4a119446b 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "docs", - "version": "0.17.6", + "version": "0.17.7", "description": "Documentation website for React Native for Web", "scripts": { "dev": "eleventy --serve", diff --git a/packages/dom-event-testing-library/package.json b/packages/dom-event-testing-library/package.json index 23771673f..7940979a0 100644 --- a/packages/dom-event-testing-library/package.json +++ b/packages/dom-event-testing-library/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "dom-event-testing-library", - "version": "0.17.6", + "version": "0.17.7", "main": "index.js", "description": "Browser event sequences for unit tests", "author": "Nicolas Gallagher", diff --git a/packages/examples/package.json b/packages/examples/package.json index 1d97b6653..0da81d33c 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "examples", - "version": "0.17.6", + "version": "0.17.7", "scripts": { "dev": "next", "build": "next build", @@ -11,12 +11,12 @@ "next": "^11.1.1", "react": "^17.0.1", "react-dom": "^17.0.1", - "react-native-web": "0.17.6" + "react-native-web": "0.17.7" }, "devDependencies": { "@babel/core": "^7.12.13", "@babel/preset-flow": "^7.12.13", - "babel-plugin-react-native-web": "0.17.6" + "babel-plugin-react-native-web": "0.17.7" }, "license": "MIT" } diff --git a/packages/react-native-web/package.json b/packages/react-native-web/package.json index a533a8de6..14938400a 100644 --- a/packages/react-native-web/package.json +++ b/packages/react-native-web/package.json @@ -3,7 +3,7 @@ "registry": "https://registry.npmjs.org/" }, "name": "react-native-web", - "version": "0.17.6", + "version": "0.17.7", "description": "React Native for Web", "module": "dist/index.js", "main": "dist/cjs/index.js", From c113e4605cce41cc36497d031a250e11fb42220a Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Thu, 24 Feb 2022 12:26:08 -0800 Subject: [PATCH 035/256] Fix canUseDOM imports Close #2149 --- .eslintrc | 2 +- .flowconfig | 3 ++- .../dom-event-testing-library/src/createEvent.js | 9 ++++++--- .../src/domEnvironment.js | 4 ---- .../src/domEventSequences.js | 2 +- packages/dom-event-testing-library/src/index.js | 7 +++---- .../dom-event-testing-library/src/testHelpers.js | 2 -- .../src/exports/AccessibilityInfo/index.js | 3 ++- .../src/exports/AppState/__tests__/index-test.js | 7 ++++++- .../src/exports/AppState/index.js | 3 ++- .../src/exports/Appearance/index.js | 3 ++- .../src/exports/CheckBox/__tests__/index-test.js | 7 ++++++- .../src/exports/DeviceInfo/index.js | 3 ++- .../src/exports/Dimensions/index.js | 3 ++- .../exports/I18nManager/__tests__/index-test.js | 7 ++++++- .../src/exports/Image/__tests__/index-test.js | 8 +++++++- .../src/exports/Linking/index.js | 3 ++- .../src/exports/Modal/ModalContent.js | 3 ++- .../src/exports/Modal/ModalFocusTrap.js | 3 ++- .../src/exports/Modal/ModalPortal.js | 3 ++- .../src/exports/Picker/__tests__/index-test.js | 7 ++++++- .../src/exports/Platform/__tests__/index-test.js | 7 ++++++- .../exports/Pressable/__tests__/index-test.js | 7 ++++++- .../exports/ProgressBar/__tests__/index-test.js | 7 ++++++- .../src/exports/SafeAreaView/index.js | 3 ++- .../src/exports/Switch/__tests__/index-test.js | 7 ++++++- .../src/exports/Text/__tests__/index-test.js | 8 +++++++- .../exports/TextInput/__tests__/index-test.js | 16 +++++++++++----- .../exports/UIManager/__tests__/index-test.js | 7 ++++++- .../src/exports/View/__tests__/index-test.js | 7 ++++++- .../createElement/__tests__/index-test.js | 7 ++++++- .../exports/processColor/__tests__/index-test.js | 4 +--- .../propsToAccessibilityComponent-test.js | 7 ++++++- .../__tests__/propsToAriaRole-test.js | 7 ++++++- .../createDOMProps/__tests__/index-test.js | 7 ++++++- .../src/modules/createEventHandle/index.js | 3 ++- .../src/modules/modality/index.js | 3 ++- .../__tests__/index-test.js | 7 ++++++- .../src/modules/requestIdleCallback/index.js | 3 ++- .../src/modules/useElementLayout/index.js | 3 ++- .../src/modules/useLayoutEffect/index.js | 3 ++- .../useResponderEvents/ResponderSystem.js | 3 ++- .../useResponderEvents/__tests__/index-test.js | 7 ++++++- 43 files changed, 167 insertions(+), 58 deletions(-) diff --git a/.eslintrc b/.eslintrc index 53e0250bc..4b8b43b43 100644 --- a/.eslintrc +++ b/.eslintrc @@ -118,7 +118,7 @@ "no-with": 2, "prefer-const": 2, "prefer-rest-params": 2, - "quotes": [2, "single", "avoid-escape"], + "quotes": [2, "single", { "avoidEscape": true, "allowTemplateLiterals": true }], "radix": 2, "use-isnan": 2, "valid-typeof": 2, diff --git a/.flowconfig b/.flowconfig index f70d34181..407b75d42 100644 --- a/.flowconfig +++ b/.flowconfig @@ -1,11 +1,12 @@ [version] -^0.148.0 +0.148.0 [ignore] /.*/__tests__/.* /packages/.*/dist/.* /packages/docs/.* /packages/examples/.* +.*/node_modules/.*/.*.json .*/node_modules/@emotion/css/* .*/node_modules/babel-plugin-transform-react-remove-prop-types/* diff --git a/packages/dom-event-testing-library/src/createEvent.js b/packages/dom-event-testing-library/src/createEvent.js index b8d90eb41..3d3ce3828 100644 --- a/packages/dom-event-testing-library/src/createEvent.js +++ b/packages/dom-event-testing-library/src/createEvent.js @@ -232,12 +232,15 @@ export default function createEvent(type, init) { if (data != null) { Object.keys(data).forEach((key) => { const value = data[key]; - // Ensure the value of 'defaultPrevented' is updated if 'preventDefault' is mocked. - // The property is marked as 'configurable' to allow mocking. + // Ensure that mocks for 'preventDefault' can be called without interferring with + // the native behavior of 'preventDefault' (inc for passive events) if (key === 'preventDefault' && typeof value === 'function') { + const originalPreventDefault = event.preventDefault.bind(event); const preventDefault = function () { + // call the original function + originalPreventDefault(); + // call the mock function value(); - Object.defineProperty(this, 'defaultPrevented', { value: true }); }; Object.defineProperty(event, key, { configurable: true, diff --git a/packages/dom-event-testing-library/src/domEnvironment.js b/packages/dom-event-testing-library/src/domEnvironment.js index 8771cbd15..2a9bca8bc 100644 --- a/packages/dom-event-testing-library/src/domEnvironment.js +++ b/packages/dom-event-testing-library/src/domEnvironment.js @@ -1,5 +1,3 @@ -/* eslint-env jasmine, jest */ - /** * Copyright (c) Facebook, Inc. and its affiliates. * @@ -7,8 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -'use strict'; - /** * Change environment support for PointerEvent. */ diff --git a/packages/dom-event-testing-library/src/domEventSequences.js b/packages/dom-event-testing-library/src/domEventSequences.js index fc8e910e7..e92b7d481 100644 --- a/packages/dom-event-testing-library/src/domEventSequences.js +++ b/packages/dom-event-testing-library/src/domEventSequences.js @@ -105,7 +105,7 @@ function getPointerType(payload) { * - 'targetTouches' contains any of the remaining active pointers for the target. */ -export function contextmenu(target, defaultPayload) { +export function contextmenu(target, defaultPayload = {}) { const dispatch = (arg) => target.dispatchEvent(arg); const pointerType = getPointerType(defaultPayload); diff --git a/packages/dom-event-testing-library/src/index.js b/packages/dom-event-testing-library/src/index.js index 5681c8984..230c6a15b 100644 --- a/packages/dom-event-testing-library/src/index.js +++ b/packages/dom-event-testing-library/src/index.js @@ -32,9 +32,6 @@ const createEventTarget = (node) => ({ }, focus(payload) { domEventSequences.focus(node, payload); - try { - node.focus(); - } catch (e) {} }, keydown(payload) { node.dispatchEvent(domEvents.keydown(payload)); @@ -111,7 +108,9 @@ const createEventTarget = (node) => ({ left: x, right: x + width, top: y, - bottom: y + height + bottom: y + height, + x, + y }; }; } diff --git a/packages/dom-event-testing-library/src/testHelpers.js b/packages/dom-event-testing-library/src/testHelpers.js index 519e9811c..19d2c9ecf 100644 --- a/packages/dom-event-testing-library/src/testHelpers.js +++ b/packages/dom-event-testing-library/src/testHelpers.js @@ -1,5 +1,3 @@ -/* eslint-env jasmine, jest */ - /** * Copyright (c) Facebook, Inc. and its affiliates. * diff --git a/packages/react-native-web/src/exports/AccessibilityInfo/index.js b/packages/react-native-web/src/exports/AccessibilityInfo/index.js index 4ad14bbc6..ad0417b80 100644 --- a/packages/react-native-web/src/exports/AccessibilityInfo/index.js +++ b/packages/react-native-web/src/exports/AccessibilityInfo/index.js @@ -7,7 +7,8 @@ * @flow */ -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; function isScreenReaderEnabled(): Promise<*> { return new Promise((resolve, reject) => { diff --git a/packages/react-native-web/src/exports/AppState/__tests__/index-test.js b/packages/react-native-web/src/exports/AppState/__tests__/index-test.js index 1dd0218eb..681cef9d8 100644 --- a/packages/react-native-web/src/exports/AppState/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/AppState/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import AppState from '..'; diff --git a/packages/react-native-web/src/exports/AppState/index.js b/packages/react-native-web/src/exports/AppState/index.js index 36b8a70a7..5283c6e64 100644 --- a/packages/react-native-web/src/exports/AppState/index.js +++ b/packages/react-native-web/src/exports/AppState/index.js @@ -8,9 +8,10 @@ * @noflow */ -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; import invariant from 'fbjs/lib/invariant'; import EventEmitter from '../../vendor/react-native/emitter/_EventEmitter'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; // Android 4.4 browser const isPrefixed = diff --git a/packages/react-native-web/src/exports/Appearance/index.js b/packages/react-native-web/src/exports/Appearance/index.js index 78787f7ff..437200227 100644 --- a/packages/react-native-web/src/exports/Appearance/index.js +++ b/packages/react-native-web/src/exports/Appearance/index.js @@ -8,7 +8,8 @@ * @flow */ -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; export type ColorSchemeName = 'light' | 'dark'; diff --git a/packages/react-native-web/src/exports/CheckBox/__tests__/index-test.js b/packages/react-native-web/src/exports/CheckBox/__tests__/index-test.js index ecee57950..3d7e82a20 100644 --- a/packages/react-native-web/src/exports/CheckBox/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/CheckBox/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import CheckBox from '../'; import React from 'react'; diff --git a/packages/react-native-web/src/exports/DeviceInfo/index.js b/packages/react-native-web/src/exports/DeviceInfo/index.js index 7a832e8fb..3f59b0e1b 100644 --- a/packages/react-native-web/src/exports/DeviceInfo/index.js +++ b/packages/react-native-web/src/exports/DeviceInfo/index.js @@ -9,8 +9,9 @@ import type { DisplayMetrics } from '../Dimensions'; -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; import Dimensions from '../Dimensions'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; const DeviceInfo = { Dimensions: { diff --git a/packages/react-native-web/src/exports/Dimensions/index.js b/packages/react-native-web/src/exports/Dimensions/index.js index 6629d1803..7d9ded32f 100644 --- a/packages/react-native-web/src/exports/Dimensions/index.js +++ b/packages/react-native-web/src/exports/Dimensions/index.js @@ -9,8 +9,9 @@ */ import type { EventSubscription } from '../../vendor/react-native/emitter/EventEmitter'; -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; import invariant from 'fbjs/lib/invariant'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; export type DisplayMetrics = {| fontScale: number, diff --git a/packages/react-native-web/src/exports/I18nManager/__tests__/index-test.js b/packages/react-native-web/src/exports/I18nManager/__tests__/index-test.js index 8873e8f11..09a1b0630 100644 --- a/packages/react-native-web/src/exports/I18nManager/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/I18nManager/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import I18nManager from '..'; diff --git a/packages/react-native-web/src/exports/Image/__tests__/index-test.js b/packages/react-native-web/src/exports/Image/__tests__/index-test.js index a08bad565..45196b864 100644 --- a/packages/react-native-web/src/exports/Image/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/Image/__tests__/index-test.js @@ -1,4 +1,10 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + /* eslint-disable react/jsx-no-bind */ import { act } from 'react-dom/test-utils'; diff --git a/packages/react-native-web/src/exports/Linking/index.js b/packages/react-native-web/src/exports/Linking/index.js index 4cd1b254e..7152a6452 100644 --- a/packages/react-native-web/src/exports/Linking/index.js +++ b/packages/react-native-web/src/exports/Linking/index.js @@ -8,8 +8,9 @@ * @flow */ -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; import invariant from 'fbjs/lib/invariant'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; const initialURL = canUseDOM ? window.location.href : ''; diff --git a/packages/react-native-web/src/exports/Modal/ModalContent.js b/packages/react-native-web/src/exports/Modal/ModalContent.js index ee11e7af8..6cdfcc9a6 100644 --- a/packages/react-native-web/src/exports/Modal/ModalContent.js +++ b/packages/react-native-web/src/exports/Modal/ModalContent.js @@ -9,9 +9,10 @@ */ import * as React from 'react'; -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; import View from '../View'; import StyleSheet from '../StyleSheet'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; export type ModalContentProps = {| active?: ?(boolean | (() => boolean)), diff --git a/packages/react-native-web/src/exports/Modal/ModalFocusTrap.js b/packages/react-native-web/src/exports/Modal/ModalFocusTrap.js index 5b11636af..855b68599 100644 --- a/packages/react-native-web/src/exports/Modal/ModalFocusTrap.js +++ b/packages/react-native-web/src/exports/Modal/ModalFocusTrap.js @@ -9,11 +9,12 @@ */ import * as React from 'react'; -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; import View from '../View'; import createElement from '../createElement'; import StyleSheet from '../StyleSheet'; import UIManager from '../UIManager'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; /** * This Component is used to "wrap" the modal we're opening diff --git a/packages/react-native-web/src/exports/Modal/ModalPortal.js b/packages/react-native-web/src/exports/Modal/ModalPortal.js index 10fc4c2b4..ff0c73141 100644 --- a/packages/react-native-web/src/exports/Modal/ModalPortal.js +++ b/packages/react-native-web/src/exports/Modal/ModalPortal.js @@ -9,8 +9,9 @@ */ import * as React from 'react'; -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; import ReactDOM from 'react-dom'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; export type ModalPortalProps = {| children: any diff --git a/packages/react-native-web/src/exports/Picker/__tests__/index-test.js b/packages/react-native-web/src/exports/Picker/__tests__/index-test.js index 44dd6a1be..c16aba5f6 100644 --- a/packages/react-native-web/src/exports/Picker/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/Picker/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import React from 'react'; import { render } from '@testing-library/react'; diff --git a/packages/react-native-web/src/exports/Platform/__tests__/index-test.js b/packages/react-native-web/src/exports/Platform/__tests__/index-test.js index a2b34dfe3..c316b6cf7 100644 --- a/packages/react-native-web/src/exports/Platform/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/Platform/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import Platform from '../'; diff --git a/packages/react-native-web/src/exports/Pressable/__tests__/index-test.js b/packages/react-native-web/src/exports/Pressable/__tests__/index-test.js index b9a4a2d8d..484333f51 100644 --- a/packages/react-native-web/src/exports/Pressable/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/Pressable/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import React from 'react'; import Pressable from '../'; diff --git a/packages/react-native-web/src/exports/ProgressBar/__tests__/index-test.js b/packages/react-native-web/src/exports/ProgressBar/__tests__/index-test.js index db0d77cd6..8ddc69702 100644 --- a/packages/react-native-web/src/exports/ProgressBar/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/ProgressBar/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import React from 'react'; import { render } from '@testing-library/react'; diff --git a/packages/react-native-web/src/exports/SafeAreaView/index.js b/packages/react-native-web/src/exports/SafeAreaView/index.js index 3f51a637f..cef933c7e 100644 --- a/packages/react-native-web/src/exports/SafeAreaView/index.js +++ b/packages/react-native-web/src/exports/SafeAreaView/index.js @@ -11,9 +11,10 @@ import type { ViewProps } from '../View'; import * as React from 'react'; -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; import StyleSheet from '../StyleSheet'; import View from '../View'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; const cssFunction: 'constant' | 'env' = (function () { if ( diff --git a/packages/react-native-web/src/exports/Switch/__tests__/index-test.js b/packages/react-native-web/src/exports/Switch/__tests__/index-test.js index 92b173104..c7eea04dd 100644 --- a/packages/react-native-web/src/exports/Switch/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/Switch/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import React from 'react'; import { render } from '@testing-library/react'; diff --git a/packages/react-native-web/src/exports/Text/__tests__/index-test.js b/packages/react-native-web/src/exports/Text/__tests__/index-test.js index f8b47bd49..ac7530dc1 100644 --- a/packages/react-native-web/src/exports/Text/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/Text/__tests__/index-test.js @@ -1,4 +1,10 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + /* eslint-disable react/jsx-no-bind */ import React from 'react'; diff --git a/packages/react-native-web/src/exports/TextInput/__tests__/index-test.js b/packages/react-native-web/src/exports/TextInput/__tests__/index-test.js index 5a7986674..69af09b11 100644 --- a/packages/react-native-web/src/exports/TextInput/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/TextInput/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import React from 'react'; import TextInput from '..'; @@ -285,6 +290,7 @@ describe('components/TextInput', () => { target.focus(); }); expect(onFocus).toHaveBeenCalledTimes(1); + target.node.focus(); expect(TextInput.State.currentlyFocusedField()).toBe(target.node); }); @@ -509,7 +515,7 @@ describe('components/TextInput', () => { const { container } = render(); const input = findInput(container); // This doesn't cause ReactDOM to trigger 'change' event... ¯\_(ツ)_/¯ - input.dispatchEvent(new window.Event('change', { bubbles: true })); + input.dispatchEvent(new window.Event('input', { bubbles: true })); expect(onSelectionChange).toHaveBeenCalledTimes(1); }); }); @@ -607,9 +613,9 @@ describe('components/TextInput', () => { const cursorLocation = { start: 3, end: 3 }; const { container: defaultContainer } = render(); const inputDefaultSelection = findInput(defaultContainer); - // default selection is 0 - expect(inputDefaultSelection.selectionStart).toEqual(0); - expect(inputDefaultSelection.selectionEnd).toEqual(0); + // default selection is at the end + expect(inputDefaultSelection.selectionStart).toEqual(5); + expect(inputDefaultSelection.selectionEnd).toEqual(5); const { container: customContainer } = render( diff --git a/packages/react-native-web/src/exports/UIManager/__tests__/index-test.js b/packages/react-native-web/src/exports/UIManager/__tests__/index-test.js index 1feed387d..6d547607c 100644 --- a/packages/react-native-web/src/exports/UIManager/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/UIManager/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import UIManager from '..'; diff --git a/packages/react-native-web/src/exports/View/__tests__/index-test.js b/packages/react-native-web/src/exports/View/__tests__/index-test.js index 592db3f67..4a129c512 100644 --- a/packages/react-native-web/src/exports/View/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/View/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import React from 'react'; import View from '../'; diff --git a/packages/react-native-web/src/exports/createElement/__tests__/index-test.js b/packages/react-native-web/src/exports/createElement/__tests__/index-test.js index 6401a4362..95e642196 100644 --- a/packages/react-native-web/src/exports/createElement/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/createElement/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import createElement from '..'; import React from 'react'; diff --git a/packages/react-native-web/src/exports/processColor/__tests__/index-test.js b/packages/react-native-web/src/exports/processColor/__tests__/index-test.js index fed99c495..77fc8baa8 100644 --- a/packages/react-native-web/src/exports/processColor/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/processColor/__tests__/index-test.js @@ -1,7 +1,5 @@ -/* eslint-env jasmine, jest */ - /** - * Copyright (c) 2015-present, Facebook, Inc. + * Copyright (c) Nicolas Gallagher. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. diff --git a/packages/react-native-web/src/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.js b/packages/react-native-web/src/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.js index 6ace887f5..22615971c 100644 --- a/packages/react-native-web/src/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.js +++ b/packages/react-native-web/src/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import propsToAccessibilityComponent from '../propsToAccessibilityComponent'; diff --git a/packages/react-native-web/src/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.js b/packages/react-native-web/src/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.js index fd69aec81..5513ca14d 100644 --- a/packages/react-native-web/src/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.js +++ b/packages/react-native-web/src/modules/AccessibilityUtil/__tests__/propsToAriaRole-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import propsToAriaRole from '../propsToAriaRole'; diff --git a/packages/react-native-web/src/modules/createDOMProps/__tests__/index-test.js b/packages/react-native-web/src/modules/createDOMProps/__tests__/index-test.js index 0a208eda9..a5068e1b3 100644 --- a/packages/react-native-web/src/modules/createDOMProps/__tests__/index-test.js +++ b/packages/react-native-web/src/modules/createDOMProps/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import createDOMProps from '..'; diff --git a/packages/react-native-web/src/modules/createEventHandle/index.js b/packages/react-native-web/src/modules/createEventHandle/index.js index b64f6d5df..3be102027 100644 --- a/packages/react-native-web/src/modules/createEventHandle/index.js +++ b/packages/react-native-web/src/modules/createEventHandle/index.js @@ -9,7 +9,8 @@ 'use strict'; -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; type Listener = (e: any) => void; diff --git a/packages/react-native-web/src/modules/modality/index.js b/packages/react-native-web/src/modules/modality/index.js index b0b5f7fb2..5b748d270 100644 --- a/packages/react-native-web/src/modules/modality/index.js +++ b/packages/react-native-web/src/modules/modality/index.js @@ -7,8 +7,9 @@ * @flow */ -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; import createEventHandle from '../createEventHandle'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; export type Modality = 'keyboard' | 'mouse' | 'touch' | 'pen'; diff --git a/packages/react-native-web/src/modules/multiplyStyleLengthValue/__tests__/index-test.js b/packages/react-native-web/src/modules/multiplyStyleLengthValue/__tests__/index-test.js index a7ae061a5..e43b5960b 100644 --- a/packages/react-native-web/src/modules/multiplyStyleLengthValue/__tests__/index-test.js +++ b/packages/react-native-web/src/modules/multiplyStyleLengthValue/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import multiplyStyleLengthValue from '..'; diff --git a/packages/react-native-web/src/modules/requestIdleCallback/index.js b/packages/react-native-web/src/modules/requestIdleCallback/index.js index 209d209a4..57aaa66b1 100644 --- a/packages/react-native-web/src/modules/requestIdleCallback/index.js +++ b/packages/react-native-web/src/modules/requestIdleCallback/index.js @@ -7,7 +7,8 @@ * @flow */ -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; const _requestIdleCallback = function (cb: Function, options?: Object) { return setTimeout(() => { diff --git a/packages/react-native-web/src/modules/useElementLayout/index.js b/packages/react-native-web/src/modules/useElementLayout/index.js index 529e9d8e1..bce499797 100644 --- a/packages/react-native-web/src/modules/useElementLayout/index.js +++ b/packages/react-native-web/src/modules/useElementLayout/index.js @@ -10,9 +10,10 @@ import type { ElementRef } from 'react'; import type { LayoutEvent } from '../../types'; -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; import useLayoutEffect from '../useLayoutEffect'; import UIManager from '../../exports/UIManager'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; const DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler'; diff --git a/packages/react-native-web/src/modules/useLayoutEffect/index.js b/packages/react-native-web/src/modules/useLayoutEffect/index.js index ba3ee2406..0de8d9f86 100644 --- a/packages/react-native-web/src/modules/useLayoutEffect/index.js +++ b/packages/react-native-web/src/modules/useLayoutEffect/index.js @@ -10,8 +10,9 @@ * @flow */ -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; import { useEffect, useLayoutEffect } from 'react'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; const useLayoutEffectImpl: typeof useLayoutEffect = canUseDOM ? useLayoutEffect : useEffect; diff --git a/packages/react-native-web/src/modules/useResponderEvents/ResponderSystem.js b/packages/react-native-web/src/modules/useResponderEvents/ResponderSystem.js index b9aaad703..99e2d0a93 100644 --- a/packages/react-native-web/src/modules/useResponderEvents/ResponderSystem.js +++ b/packages/react-native-web/src/modules/useResponderEvents/ResponderSystem.js @@ -133,7 +133,6 @@ to return true:wantsResponderID| | import type { ResponderEvent } from './createResponderEvent'; -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; import createResponderEvent from './createResponderEvent'; import { isCancelish, @@ -152,6 +151,8 @@ import { setResponderId } from './utils'; import ResponderTouchHistoryStore from './ResponderTouchHistoryStore'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; +const { canUseDOM } = ExecutionEnvironment; /* ------------ TYPES ------------ */ diff --git a/packages/react-native-web/src/modules/useResponderEvents/__tests__/index-test.js b/packages/react-native-web/src/modules/useResponderEvents/__tests__/index-test.js index 8dc5106d7..c2a265d7f 100644 --- a/packages/react-native-web/src/modules/useResponderEvents/__tests__/index-test.js +++ b/packages/react-native-web/src/modules/useResponderEvents/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import { act } from 'react-dom/test-utils'; import React, { createRef } from 'react'; From 9583155523cd46bb656bf11585b1d59aa74d0725 Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Thu, 24 Feb 2022 12:31:22 -0800 Subject: [PATCH 036/256] Remove unused benchmarks and libraries We only need to test against the baseline of css-modules. Fix #2210 --- packages/benchmarks/src/app/App.js | 6 +-- packages/benchmarks/src/app/theme.js | 3 +- packages/benchmarks/src/cases/TextTree.js | 36 ------------- packages/benchmarks/src/impl.js | 1 - .../src/implementations/aphrodite/Box.js | 49 ------------------ .../src/implementations/aphrodite/Provider.js | 2 - .../src/implementations/aphrodite/View.js | 30 ----------- .../src/implementations/aphrodite/index.js | 9 ---- .../src/implementations/css-modules/Dot.js | 20 ++++++++ .../css-modules/dot-styles.css | 10 ++++ .../src/implementations/css-modules/index.js | 2 + .../css-modules/view-styles.css | 7 ++- .../src/implementations/emotion/Box.js | 48 ------------------ .../src/implementations/emotion/Dot.js | 35 ------------- .../src/implementations/emotion/Provider.js | 2 - .../src/implementations/emotion/View.js | 28 ----------- .../src/implementations/emotion/index.js | 11 ---- .../src/implementations/inline-styles/Dot.js | 19 +++---- .../src/implementations/inline-styles/View.js | 11 ++-- .../src/implementations/react-jss/Box.js | 50 ------------------- .../src/implementations/react-jss/Dot.js | 25 ---------- .../src/implementations/react-jss/Provider.js | 2 - .../src/implementations/react-jss/View.js | 31 ------------ .../src/implementations/react-jss/index.js | 11 ---- .../react-native-web/TextBox.js | 38 -------------- .../implementations/react-native-web/index.js | 2 - .../implementations/styled-components/Box.js | 31 ------------ .../implementations/styled-components/Dot.js | 24 --------- .../styled-components/Provider.js | 2 - .../implementations/styled-components/View.js | 19 ------- .../styled-components/index.js | 11 ---- packages/benchmarks/src/index.js | 8 --- 32 files changed, 55 insertions(+), 528 deletions(-) delete mode 100644 packages/benchmarks/src/cases/TextTree.js delete mode 100644 packages/benchmarks/src/implementations/aphrodite/Box.js delete mode 100644 packages/benchmarks/src/implementations/aphrodite/Provider.js delete mode 100644 packages/benchmarks/src/implementations/aphrodite/View.js delete mode 100644 packages/benchmarks/src/implementations/aphrodite/index.js create mode 100644 packages/benchmarks/src/implementations/css-modules/Dot.js create mode 100644 packages/benchmarks/src/implementations/css-modules/dot-styles.css delete mode 100644 packages/benchmarks/src/implementations/emotion/Box.js delete mode 100644 packages/benchmarks/src/implementations/emotion/Dot.js delete mode 100644 packages/benchmarks/src/implementations/emotion/Provider.js delete mode 100644 packages/benchmarks/src/implementations/emotion/View.js delete mode 100644 packages/benchmarks/src/implementations/emotion/index.js delete mode 100644 packages/benchmarks/src/implementations/react-jss/Box.js delete mode 100644 packages/benchmarks/src/implementations/react-jss/Dot.js delete mode 100644 packages/benchmarks/src/implementations/react-jss/Provider.js delete mode 100644 packages/benchmarks/src/implementations/react-jss/View.js delete mode 100644 packages/benchmarks/src/implementations/react-jss/index.js delete mode 100644 packages/benchmarks/src/implementations/react-native-web/TextBox.js delete mode 100644 packages/benchmarks/src/implementations/styled-components/Box.js delete mode 100644 packages/benchmarks/src/implementations/styled-components/Dot.js delete mode 100644 packages/benchmarks/src/implementations/styled-components/Provider.js delete mode 100644 packages/benchmarks/src/implementations/styled-components/View.js delete mode 100644 packages/benchmarks/src/implementations/styled-components/index.js diff --git a/packages/benchmarks/src/app/App.js b/packages/benchmarks/src/app/App.js index 4af159439..31ad1d7fa 100644 --- a/packages/benchmarks/src/app/App.js +++ b/packages/benchmarks/src/app/App.js @@ -169,7 +169,7 @@ export default class App extends Component { () => ({ status: 'running' }), () => { if (this._shouldHideBenchmark && this._benchWrapperRef) { - this._benchWrapperRef.setNativeProps({ style: { opacity: 0 } }); + this._benchWrapperRef.style.opacity = 0; } this._benchmarkRef.start(); this._scrollToEnd(); @@ -181,9 +181,7 @@ export default class App extends Component { _handleVisuallyHideBenchmark = () => { this._shouldHideBenchmark = !this._shouldHideBenchmark; if (this._benchWrapperRef) { - this._benchWrapperRef.setNativeProps({ - style: { opacity: this._shouldHideBenchmark ? 0 : 1 } - }); + this._benchWrapperRef.style.opacity = this._shouldHideBenchmark ? 0 : 1; } }; diff --git a/packages/benchmarks/src/app/theme.js b/packages/benchmarks/src/app/theme.js index f1b7416a2..68d7058c8 100644 --- a/packages/benchmarks/src/app/theme.js +++ b/packages/benchmarks/src/app/theme.js @@ -1,8 +1,9 @@ -import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; +import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; import { Dimensions, Platform } from 'react-native'; const baseFontSize = 14; const baseUnit = 1.3125; +const { canUseDOM } = ExecutionEnvironment; const createPlatformLength = (multiplier) => Platform.select({ web: `${multiplier}rem`, default: multiplier * baseFontSize }); diff --git a/packages/benchmarks/src/cases/TextTree.js b/packages/benchmarks/src/cases/TextTree.js deleted file mode 100644 index 5324a3bda..000000000 --- a/packages/benchmarks/src/cases/TextTree.js +++ /dev/null @@ -1,36 +0,0 @@ -import { BenchmarkType } from '../app/Benchmark'; -import React, { Component } from 'react'; - -class TextTree extends Component { - static displayName = 'TextTree'; - - static benchmarkType = BenchmarkType.MOUNT; - - render() { - const { breadth, components, depth, id, wrap } = this.props; - const { TextBox } = components; - - let result = ( - - {depth === 0 && } - {depth !== 0 && - Array.from({ length: breadth }).map((el, i) => ( - - ))} - - ); - for (let i = 0; i < wrap; i++) { - result = {result}; - } - return result; - } -} - -export default TextTree; diff --git a/packages/benchmarks/src/impl.js b/packages/benchmarks/src/impl.js index b926c25f8..fcf6226fd 100644 --- a/packages/benchmarks/src/impl.js +++ b/packages/benchmarks/src/impl.js @@ -10,7 +10,6 @@ type ComponentsType = { Box: Component, Dot: Component, Provider: Component, - TextBox: Component, View: Component }; diff --git a/packages/benchmarks/src/implementations/aphrodite/Box.js b/packages/benchmarks/src/implementations/aphrodite/Box.js deleted file mode 100644 index 994b956d8..000000000 --- a/packages/benchmarks/src/implementations/aphrodite/Box.js +++ /dev/null @@ -1,49 +0,0 @@ -import React from 'react'; -import View from './View'; -import { StyleSheet } from 'aphrodite'; - -const Box = ({ color, fixed = false, layout = 'column', outer = false, ...other }) => ( - -); - -const styles = StyleSheet.create({ - outer: { - alignSelf: 'flex-start', - padding: 4 - }, - row: { - flexDirection: 'row' - }, - color0: { - backgroundColor: '#14171A' - }, - color1: { - backgroundColor: '#AAB8C2' - }, - color2: { - backgroundColor: '#E6ECF0' - }, - color3: { - backgroundColor: '#FFAD1F' - }, - color4: { - backgroundColor: '#F45D22' - }, - color5: { - backgroundColor: '#E0245E' - }, - fixed: { - width: 6, - height: 6 - } -}); - -export default Box; diff --git a/packages/benchmarks/src/implementations/aphrodite/Provider.js b/packages/benchmarks/src/implementations/aphrodite/Provider.js deleted file mode 100644 index 864fc43a7..000000000 --- a/packages/benchmarks/src/implementations/aphrodite/Provider.js +++ /dev/null @@ -1,2 +0,0 @@ -import View from './View'; -export default View; diff --git a/packages/benchmarks/src/implementations/aphrodite/View.js b/packages/benchmarks/src/implementations/aphrodite/View.js deleted file mode 100644 index bb2791c25..000000000 --- a/packages/benchmarks/src/implementations/aphrodite/View.js +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react'; -import { css, StyleSheet } from 'aphrodite'; - -class View extends React.Component { - render() { - const { style, ...other } = this.props; - return
; - } -} - -const styles = StyleSheet.create({ - root: { - alignItems: 'stretch', - borderWidth: 0, - borderStyle: 'solid', - boxSizing: 'border-box', - display: 'flex', - flexBasis: 'auto', - flexDirection: 'column', - flexShrink: 0, - margin: 0, - padding: 0, - position: 'relative', - // fix flexbox bugs - minHeight: 0, - minWidth: 0 - } -}); - -export default View; diff --git a/packages/benchmarks/src/implementations/aphrodite/index.js b/packages/benchmarks/src/implementations/aphrodite/index.js deleted file mode 100644 index 5a9541d88..000000000 --- a/packages/benchmarks/src/implementations/aphrodite/index.js +++ /dev/null @@ -1,9 +0,0 @@ -import Box from './Box'; -import Provider from './Provider'; -import View from './View'; - -export default { - Box, - Provider, - View -}; diff --git a/packages/benchmarks/src/implementations/css-modules/Dot.js b/packages/benchmarks/src/implementations/css-modules/Dot.js new file mode 100644 index 000000000..030033721 --- /dev/null +++ b/packages/benchmarks/src/implementations/css-modules/Dot.js @@ -0,0 +1,20 @@ +import React from 'react'; +import styles from './dot-styles.css'; + +const Dot = ({ size, x, y, children, color }) => ( +
+ {children} +
+); + +export default Dot; diff --git a/packages/benchmarks/src/implementations/css-modules/dot-styles.css b/packages/benchmarks/src/implementations/css-modules/dot-styles.css new file mode 100644 index 000000000..6e392563a --- /dev/null +++ b/packages/benchmarks/src/implementations/css-modules/dot-styles.css @@ -0,0 +1,10 @@ +.root { + position: absolute; + cursor: pointer; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-top-width: 0; + transform: translate(50%, 50%); +} diff --git a/packages/benchmarks/src/implementations/css-modules/index.js b/packages/benchmarks/src/implementations/css-modules/index.js index 5a9541d88..f32ff155d 100644 --- a/packages/benchmarks/src/implementations/css-modules/index.js +++ b/packages/benchmarks/src/implementations/css-modules/index.js @@ -1,9 +1,11 @@ import Box from './Box'; +import Dot from './Dot'; import Provider from './Provider'; import View from './View'; export default { Box, + Dot, Provider, View }; diff --git a/packages/benchmarks/src/implementations/css-modules/view-styles.css b/packages/benchmarks/src/implementations/css-modules/view-styles.css index 2dda1491f..eab671c1e 100644 --- a/packages/benchmarks/src/implementations/css-modules/view-styles.css +++ b/packages/benchmarks/src/implementations/css-modules/view-styles.css @@ -1,5 +1,6 @@ .initial { align-items: stretch; + background-color: transparent; border-width: 0; border-style: solid; box-sizing: border-box; @@ -7,9 +8,11 @@ flex-basis: auto; flex-direction: column; flex-shrink: 0; + list-style: none; margin: 0; - padding: 0; - position: relative; min-height: 0; min-width: 0; + padding: 0; + position: relative; + z-index: 0; } diff --git a/packages/benchmarks/src/implementations/emotion/Box.js b/packages/benchmarks/src/implementations/emotion/Box.js deleted file mode 100644 index f3af5dd06..000000000 --- a/packages/benchmarks/src/implementations/emotion/Box.js +++ /dev/null @@ -1,48 +0,0 @@ -import React from 'react'; -import View from './View'; - -const Box = ({ color, fixed = false, layout = 'column', outer = false, ...other }) => ( - -); - -const styles = { - outer: { - alignSelf: 'flex-start', - padding: 4 - }, - row: { - flexDirection: 'row' - }, - color0: { - backgroundColor: '#14171A' - }, - color1: { - backgroundColor: '#AAB8C2' - }, - color2: { - backgroundColor: '#E6ECF0' - }, - color3: { - backgroundColor: '#FFAD1F' - }, - color4: { - backgroundColor: '#F45D22' - }, - color5: { - backgroundColor: '#E0245E' - }, - fixed: { - width: 6, - height: 6 - } -}; - -export default Box; diff --git a/packages/benchmarks/src/implementations/emotion/Dot.js b/packages/benchmarks/src/implementations/emotion/Dot.js deleted file mode 100644 index 8f2fbe4a0..000000000 --- a/packages/benchmarks/src/implementations/emotion/Dot.js +++ /dev/null @@ -1,35 +0,0 @@ -import React from 'react'; -import { css } from '@emotion/css'; - -const Dot = ({ size, x, y, children, color }) => ( -
- {children} -
-); - -const styles = { - root: { - position: 'absolute', - cursor: 'pointer', - width: 0, - height: 0, - borderColor: 'transparent', - borderStyle: 'solid', - borderTopWidth: 0, - transform: 'translate(50%, 50%)' - } -}; - -export default Dot; diff --git a/packages/benchmarks/src/implementations/emotion/Provider.js b/packages/benchmarks/src/implementations/emotion/Provider.js deleted file mode 100644 index 864fc43a7..000000000 --- a/packages/benchmarks/src/implementations/emotion/Provider.js +++ /dev/null @@ -1,2 +0,0 @@ -import View from './View'; -export default View; diff --git a/packages/benchmarks/src/implementations/emotion/View.js b/packages/benchmarks/src/implementations/emotion/View.js deleted file mode 100644 index 126f5afe3..000000000 --- a/packages/benchmarks/src/implementations/emotion/View.js +++ /dev/null @@ -1,28 +0,0 @@ -import { css } from '@emotion/css'; -import React from 'react'; - -class View extends React.Component { - render() { - const { style, ...other } = this.props; - return
; - } -} - -const viewStyle = { - alignItems: 'stretch', - borderWidth: 0, - borderStyle: 'solid', - boxSizing: 'border-box', - display: 'flex', - flexBasis: 'auto', - flexDirection: 'column', - flexShrink: 0, - margin: 0, - padding: 0, - position: 'relative', - // fix flexbox bugs - minHeight: 0, - minWidth: 0 -}; - -export default View; diff --git a/packages/benchmarks/src/implementations/emotion/index.js b/packages/benchmarks/src/implementations/emotion/index.js deleted file mode 100644 index f32ff155d..000000000 --- a/packages/benchmarks/src/implementations/emotion/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import Box from './Box'; -import Dot from './Dot'; -import Provider from './Provider'; -import View from './View'; - -export default { - Box, - Dot, - Provider, - View -}; diff --git a/packages/benchmarks/src/implementations/inline-styles/Dot.js b/packages/benchmarks/src/implementations/inline-styles/Dot.js index 13eec8d82..4a6e4ab77 100644 --- a/packages/benchmarks/src/implementations/inline-styles/Dot.js +++ b/packages/benchmarks/src/implementations/inline-styles/Dot.js @@ -2,17 +2,14 @@ import React from 'react'; const Dot = ({ size, x, y, children, color }) => (
{children}
diff --git a/packages/benchmarks/src/implementations/inline-styles/View.js b/packages/benchmarks/src/implementations/inline-styles/View.js index 96ff0dbac..2768ed39c 100644 --- a/packages/benchmarks/src/implementations/inline-styles/View.js +++ b/packages/benchmarks/src/implementations/inline-styles/View.js @@ -17,19 +17,20 @@ class View extends React.Component { const viewStyle = { alignItems: 'stretch', - borderWidth: 0, - borderStyle: 'solid', + backgroundColor: 'transparent', + border: '0 solid black', boxSizing: 'border-box', display: 'flex', flexBasis: 'auto', flexDirection: 'column', flexShrink: 0, + listStyle: 'none', margin: 0, + minHeight: 0, + minWidth: 0, padding: 0, position: 'relative', - // fix flexbox bugs - minHeight: 0, - minWidth: 0 + zIndex: 0 }; export default View; diff --git a/packages/benchmarks/src/implementations/react-jss/Box.js b/packages/benchmarks/src/implementations/react-jss/Box.js deleted file mode 100644 index e48d417f1..000000000 --- a/packages/benchmarks/src/implementations/react-jss/Box.js +++ /dev/null @@ -1,50 +0,0 @@ -import classnames from 'classnames'; -import injectSheet from 'react-jss'; -import React from 'react'; -import View from './View'; - -const Box = ({ classes, color, fixed = false, layout = 'column', outer = false, ...other }) => ( - -); - -const styles = { - outer: { - alignSelf: 'flex-start', - padding: 4 - }, - row: { - flexDirection: 'row' - }, - color0: { - backgroundColor: '#14171A' - }, - color1: { - backgroundColor: '#AAB8C2' - }, - color2: { - backgroundColor: '#E6ECF0' - }, - color3: { - backgroundColor: '#FFAD1F' - }, - color4: { - backgroundColor: '#F45D22' - }, - color5: { - backgroundColor: '#E0245E' - }, - fixed: { - width: 6, - height: 6 - } -}; - -export default injectSheet(styles)(Box); diff --git a/packages/benchmarks/src/implementations/react-jss/Dot.js b/packages/benchmarks/src/implementations/react-jss/Dot.js deleted file mode 100644 index 568bf60b1..000000000 --- a/packages/benchmarks/src/implementations/react-jss/Dot.js +++ /dev/null @@ -1,25 +0,0 @@ -import injectSheet from 'react-jss'; -import React from 'react'; - -const Dot = ({ classes, children }) =>
{children}
; - -const styles = { - root: { - position: 'absolute', - cursor: 'pointer', - width: 0, - height: 0, - borderColor: 'transparent', - borderStyle: 'solid', - borderTopWidth: 0, - transform: 'translate(50%, 50%)', - borderBottomColor: ({ color }) => color, - borderRightWidth: ({ size }) => size / 2, - borderBottomWidth: ({ size }) => size / 2, - borderLeftWidth: ({ size }) => size / 2, - marginLeft: ({ x }) => x, - marginTop: ({ y }) => y - } -}; - -export default injectSheet(styles)(Dot); diff --git a/packages/benchmarks/src/implementations/react-jss/Provider.js b/packages/benchmarks/src/implementations/react-jss/Provider.js deleted file mode 100644 index 864fc43a7..000000000 --- a/packages/benchmarks/src/implementations/react-jss/Provider.js +++ /dev/null @@ -1,2 +0,0 @@ -import View from './View'; -export default View; diff --git a/packages/benchmarks/src/implementations/react-jss/View.js b/packages/benchmarks/src/implementations/react-jss/View.js deleted file mode 100644 index 5a17abc56..000000000 --- a/packages/benchmarks/src/implementations/react-jss/View.js +++ /dev/null @@ -1,31 +0,0 @@ -import classnames from 'classnames'; -import injectSheet from 'react-jss'; -import React from 'react'; - -class View extends React.Component { - render() { - const { classes, className, ...other } = this.props; - return
; - } -} - -const styles = { - root: { - alignItems: 'stretch', - borderWidth: 0, - borderStyle: 'solid', - boxSizing: 'border-box', - display: 'flex', - flexBasis: 'auto', - flexDirection: 'column', - flexShrink: 0, - margin: 0, - padding: 0, - position: 'relative', - // fix flexbox bugs - minHeight: 0, - minWidth: 0 - } -}; - -export default injectSheet(styles)(View); diff --git a/packages/benchmarks/src/implementations/react-jss/index.js b/packages/benchmarks/src/implementations/react-jss/index.js deleted file mode 100644 index f32ff155d..000000000 --- a/packages/benchmarks/src/implementations/react-jss/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import Box from './Box'; -import Dot from './Dot'; -import Provider from './Provider'; -import View from './View'; - -export default { - Box, - Dot, - Provider, - View -}; diff --git a/packages/benchmarks/src/implementations/react-native-web/TextBox.js b/packages/benchmarks/src/implementations/react-native-web/TextBox.js deleted file mode 100644 index 05d8e6f78..000000000 --- a/packages/benchmarks/src/implementations/react-native-web/TextBox.js +++ /dev/null @@ -1,38 +0,0 @@ -import React from 'react'; -import { StyleSheet, Text } from 'react-native'; - -const TextBox = ({ color, outer = false, ...other }) => ( - -); - -const styles = StyleSheet.create({ - root: { - color: 'white' - }, - outer: { - fontStyle: 'italic' - }, - row: { - flexDirection: 'row' - }, - color0: { - color: '#14171A' - }, - color1: { - color: '#AAB8C2' - }, - color2: { - color: '#E6ECF0' - }, - color3: { - color: '#FFAD1F' - }, - color4: { - color: '#F45D22' - }, - color5: { - color: '#E0245E' - } -}); - -export default TextBox; diff --git a/packages/benchmarks/src/implementations/react-native-web/index.js b/packages/benchmarks/src/implementations/react-native-web/index.js index 055113c48..0533daaa0 100644 --- a/packages/benchmarks/src/implementations/react-native-web/index.js +++ b/packages/benchmarks/src/implementations/react-native-web/index.js @@ -1,13 +1,11 @@ import Box from './Box'; import Dot from './Dot'; import Provider from './Provider'; -import TextBox from './TextBox'; import { View } from 'react-native'; export default { Box, Dot, Provider, - TextBox, View }; diff --git a/packages/benchmarks/src/implementations/styled-components/Box.js b/packages/benchmarks/src/implementations/styled-components/Box.js deleted file mode 100644 index 97300fcac..000000000 --- a/packages/benchmarks/src/implementations/styled-components/Box.js +++ /dev/null @@ -1,31 +0,0 @@ -import styled from 'styled-components'; -import View from './View'; - -const getColor = (color) => { - switch (color) { - case 0: - return '#14171A'; - case 1: - return '#AAB8C2'; - case 2: - return '#E6ECF0'; - case 3: - return '#FFAD1F'; - case 4: - return '#F45D22'; - case 5: - return '#E0245E'; - default: - return 'transparent'; - } -}; - -const Box = styled(View)` - align-self: flex-start; - flex-direction: ${(props) => (props.layout === 'column' ? 'column' : 'row')}; - padding: ${(props) => (props.outer ? '4px' : '0')}; - ${(props) => props.fixed && 'height:6px;'} ${(props) => - props.fixed && 'width:6px;'} background-color: ${(props) => getColor(props.color)}; -`; - -export default Box; diff --git a/packages/benchmarks/src/implementations/styled-components/Dot.js b/packages/benchmarks/src/implementations/styled-components/Dot.js deleted file mode 100644 index 108a0cc10..000000000 --- a/packages/benchmarks/src/implementations/styled-components/Dot.js +++ /dev/null @@ -1,24 +0,0 @@ -import styled from 'styled-components'; -import View from './View'; - -const Dot = styled(View).attrs((props) => ({ - style: { - marginLeft: `${props.x}px`, - marginTop: `${props.y}px`, - borderRightWidth: `${props.size / 2}px`, - borderBottomWidth: `${props.size / 2}px`, - borderLeftWidth: `${props.size / 2}px`, - borderBottomColor: `${props.color}` - } -}))` - position: absolute; - cursor: pointer; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; - border-top-width: 0; - transform: translate(50%, 50%); -`; - -export default Dot; diff --git a/packages/benchmarks/src/implementations/styled-components/Provider.js b/packages/benchmarks/src/implementations/styled-components/Provider.js deleted file mode 100644 index 864fc43a7..000000000 --- a/packages/benchmarks/src/implementations/styled-components/Provider.js +++ /dev/null @@ -1,2 +0,0 @@ -import View from './View'; -export default View; diff --git a/packages/benchmarks/src/implementations/styled-components/View.js b/packages/benchmarks/src/implementations/styled-components/View.js deleted file mode 100644 index f0da52e98..000000000 --- a/packages/benchmarks/src/implementations/styled-components/View.js +++ /dev/null @@ -1,19 +0,0 @@ -import styled from 'styled-components'; - -const View = styled.div` - align-items: stretch; - border-width: 0; - border-style: solid; - box-sizing: border-box; - display: flex; - flex-basis: auto; - flex-direction: column; - flex-shrink: 0; - margin: 0; - padding: 0; - position: relative; - min-height: 0; - min-width: 0; -`; - -export default View; diff --git a/packages/benchmarks/src/implementations/styled-components/index.js b/packages/benchmarks/src/implementations/styled-components/index.js deleted file mode 100644 index f32ff155d..000000000 --- a/packages/benchmarks/src/implementations/styled-components/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import Box from './Box'; -import Dot from './Dot'; -import Provider from './Provider'; -import View from './View'; - -export default { - Box, - Dot, - Provider, - View -}; diff --git a/packages/benchmarks/src/index.js b/packages/benchmarks/src/index.js index 279f247ea..cd8d37fa9 100644 --- a/packages/benchmarks/src/index.js +++ b/packages/benchmarks/src/index.js @@ -1,6 +1,5 @@ import App from './app/App'; import impl from './impl'; -import TextTree from './cases/TextTree'; import Tree from './cases/Tree'; import SierpinskiTriangle from './cases/SierpinskiTriangle'; @@ -51,13 +50,6 @@ const tests = { }, Provider: components.Provider, sampleCount: 100 - })), - 'Mount text tree': createTestBlock((components) => ({ - benchmarkType: 'mount', - Component: TextTree, - getComponentProps: () => ({ breadth: 6, components, depth: 3, id: 0, wrap: 2 }), - Provider: components.Provider, - sampleCount: 50 })) }; From 174ebb3c5d68bd396943a949d5e0098840505c1e Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Thu, 24 Feb 2022 12:53:36 -0800 Subject: [PATCH 037/256] [change] Remove deprecated accessibility APIs Removes 'accessible', 'accessibilityState', and 'accessibilityValue' props. --- .../ActivityIndicator/__tests__/index-test.js | 7 +- .../src/exports/ActivityIndicator/index.js | 5 +- .../src/exports/Modal/ModalContent.js | 7 +- .../src/exports/ProgressBar/index.js | 26 ++- .../src/exports/Text/types.js | 13 -- .../src/exports/View/types.js | 21 +-- .../__snapshots__/index-test.js.snap | 49 ------ .../createDOMProps/__tests__/index-test.js | 49 ------ .../src/modules/createDOMProps/index.js | 47 +----- .../src/modules/forwardedProps/index.js | 6 +- .../src/modules/pick/index.js | 6 +- .../prefixStyles/__tests__/index-test.js | 13 -- .../src/modules/prefixStyles/index.js | 15 -- .../src/modules/prefixStyles/static.js | 152 +++++------------- .../src/modules/usePlatformMethods/index.js | 17 +- 15 files changed, 87 insertions(+), 346 deletions(-) delete mode 100644 packages/react-native-web/src/modules/createDOMProps/__tests__/__snapshots__/index-test.js.snap delete mode 100644 packages/react-native-web/src/modules/prefixStyles/__tests__/index-test.js diff --git a/packages/react-native-web/src/exports/ActivityIndicator/__tests__/index-test.js b/packages/react-native-web/src/exports/ActivityIndicator/__tests__/index-test.js index f5ae61b58..2e0f5a155 100644 --- a/packages/react-native-web/src/exports/ActivityIndicator/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/ActivityIndicator/__tests__/index-test.js @@ -1,4 +1,9 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import ActivityIndicator from '..'; import React from 'react'; diff --git a/packages/react-native-web/src/exports/ActivityIndicator/index.js b/packages/react-native-web/src/exports/ActivityIndicator/index.js index 79e4d6067..11a74f177 100644 --- a/packages/react-native-web/src/exports/ActivityIndicator/index.js +++ b/packages/react-native-web/src/exports/ActivityIndicator/index.js @@ -14,8 +14,6 @@ import * as React from 'react'; import StyleSheet from '../StyleSheet'; import View from '../View'; -const accessibilityValue = { max: 1, min: 0 }; - const createSvgCircle = (style) => ( ); @@ -59,7 +57,8 @@ const ActivityIndicator: React.AbstractComponent< diff --git a/packages/react-native-web/src/exports/Modal/ModalContent.js b/packages/react-native-web/src/exports/Modal/ModalContent.js index 6cdfcc9a6..3266b7e89 100644 --- a/packages/react-native-web/src/exports/Modal/ModalContent.js +++ b/packages/react-native-web/src/exports/Modal/ModalContent.js @@ -47,7 +47,12 @@ const ModalContent: React.AbstractComponent< }, [transparent]); return ( - + {children} ); diff --git a/packages/react-native-web/src/exports/ProgressBar/index.js b/packages/react-native-web/src/exports/ProgressBar/index.js index 84ee0db54..394438f1f 100644 --- a/packages/react-native-web/src/exports/ProgressBar/index.js +++ b/packages/react-native-web/src/exports/ProgressBar/index.js @@ -36,32 +36,24 @@ const ProgressBar: React.AbstractComponent< } = props; const percentageProgress = progress * 100; - - const progressRef = React.useRef(null); - React.useEffect(() => { - const width = indeterminate ? '25%' : `${percentageProgress}%`; - if (progressRef.current != null) { - progressRef.current.setNativeProps({ - style: { width } - }); - } - }, [indeterminate, percentageProgress, progressRef]); + const width = indeterminate ? '25%' : `${percentageProgress}%`; return ( ); diff --git a/packages/react-native-web/src/exports/Text/types.js b/packages/react-native-web/src/exports/Text/types.js index fbdf7b403..ba401efc4 100644 --- a/packages/react-native-web/src/exports/Text/types.js +++ b/packages/react-native-web/src/exports/Text/types.js @@ -72,19 +72,6 @@ export type TextProps = { | 'listitem' | 'none' | 'text', - accessibilityState?: { - busy?: ?boolean, - checked?: ?boolean | 'mixed', - disabled?: ?boolean, - expanded?: ?boolean, - grabbed?: ?boolean, - hidden?: ?boolean, - invalid?: ?boolean, - pressed?: ?boolean, - readonly?: ?boolean, - required?: ?boolean, - selected?: ?boolean - }, dir?: 'auto' | 'ltr' | 'rtl', numberOfLines?: ?number, onPress?: (e: any) => void, diff --git a/packages/react-native-web/src/exports/View/types.js b/packages/react-native-web/src/exports/View/types.js index 8cdabd9a9..8e0ef8a1d 100644 --- a/packages/react-native-web/src/exports/View/types.js +++ b/packages/react-native-web/src/exports/View/types.js @@ -113,27 +113,8 @@ export type ViewStyle = { export type ViewProps = { ...AccessibilityProps, - accessibilityState?: { - busy?: ?boolean, - checked?: ?boolean | 'mixed', - disabled?: ?boolean, - expanded?: ?boolean, - grabbed?: ?boolean, - hidden?: ?boolean, - invalid?: ?boolean, - modal?: ?boolean, - pressed?: ?boolean, - readonly?: ?boolean, - required?: ?boolean, - selected?: ?boolean - }, - accessibilityValue?: { - max?: ?number, - min?: ?number, - now?: ?number, - text?: ?string - }, children?: ?any, + dir?: 'ltr' | 'rtl', focusable?: ?boolean, nativeID?: ?string, onBlur?: (e: any) => void, diff --git a/packages/react-native-web/src/modules/createDOMProps/__tests__/__snapshots__/index-test.js.snap b/packages/react-native-web/src/modules/createDOMProps/__tests__/__snapshots__/index-test.js.snap deleted file mode 100644 index bf7fe0422..000000000 --- a/packages/react-native-web/src/modules/createDOMProps/__tests__/__snapshots__/index-test.js.snap +++ /dev/null @@ -1,49 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`modules/createDOMProps includes base reset style for browser-styled elements 1`] = `"css-reset-4rbku5"`; - -exports[`modules/createDOMProps includes base reset style for browser-styled elements 2`] = `"css-reset-4rbku5"`; - -exports[`modules/createDOMProps includes base reset style for browser-styled elements 3`] = `"css-reset-4rbku5"`; - -exports[`modules/createDOMProps includes base reset style for browser-styled elements 4`] = `"css-reset-4rbku5"`; - -exports[`modules/createDOMProps includes cursor style for pressable roles 1`] = `"css-cursor-18t94o4"`; - -exports[`modules/createDOMProps includes cursor style for pressable roles 2`] = `"css-cursor-18t94o4"`; - -exports[`modules/createDOMProps prop "accessibilityState" values are "false" 1`] = ` -Object { - "aria-busy": false, - "aria-checked": false, - "aria-expanded": false, - "aria-grabbed": false, - "aria-invalid": false, - "aria-modal": false, - "aria-pressed": false, - "aria-readonly": false, - "aria-required": false, - "aria-selected": false, -} -`; - -exports[`modules/createDOMProps prop "accessibilityState" values are "true" 1`] = ` -Object { - "aria-busy": true, - "aria-checked": true, - "aria-disabled": true, - "aria-expanded": true, - "aria-grabbed": true, - "aria-hidden": true, - "aria-invalid": true, - "aria-modal": true, - "aria-pressed": true, - "aria-readonly": true, - "aria-required": true, - "aria-selected": true, - "disabled": true, - "hidden": true, -} -`; - -exports[`modules/createDOMProps prop "accessibilityState" values are "undefined" 1`] = `Object {}`; diff --git a/packages/react-native-web/src/modules/createDOMProps/__tests__/index-test.js b/packages/react-native-web/src/modules/createDOMProps/__tests__/index-test.js index a5068e1b3..9795cc701 100644 --- a/packages/react-native-web/src/modules/createDOMProps/__tests__/index-test.js +++ b/packages/react-native-web/src/modules/createDOMProps/__tests__/index-test.js @@ -118,43 +118,6 @@ describe('modules/createDOMProps', () => { expect(props.role).toEqual('button'); }); - describe('prop "accessibilityState"', () => { - function createAccessibilityState(value) { - return { - busy: value, - checked: value, - disabled: value, - expanded: value, - grabbed: value, - hidden: value, - invalid: value, - modal: value, - pressed: value, - readonly: value, - required: value, - selected: value - }; - } - - test('values are "undefined"', () => { - const accessibilityState = createAccessibilityState(undefined); - const props = createProps({ accessibilityState }); - expect(props).toMatchSnapshot(); - }); - - test('values are "false"', () => { - const accessibilityState = createAccessibilityState(false); - const props = createProps({ accessibilityState }); - expect(props).toMatchSnapshot(); - }); - - test('values are "true"', () => { - const accessibilityState = createAccessibilityState(true); - const props = createProps({ accessibilityState }); - expect(props).toMatchSnapshot(); - }); - }); - test('prop "className" is preserved', () => { const className = 'external-class-name'; const props = createProps({ className }); @@ -172,16 +135,4 @@ describe('modules/createDOMProps', () => { const props = createProps({ testID }); expect(props['data-testid']).toEqual(testID); }); - - test('includes cursor style for pressable roles', () => { - expect(createDOMProps('span', { accessibilityRole: 'link' }).className).toMatchSnapshot(); - expect(createDOMProps('span', { accessibilityRole: 'button' }).className).toMatchSnapshot(); - }); - - test('includes base reset style for browser-styled elements', () => { - expect(createDOMProps('a').className).toMatchSnapshot(); - expect(createDOMProps('button').className).toMatchSnapshot(); - expect(createDOMProps('li').className).toMatchSnapshot(); - expect(createDOMProps('ul').className).toMatchSnapshot(); - }); }); diff --git a/packages/react-native-web/src/modules/createDOMProps/index.js b/packages/react-native-web/src/modules/createDOMProps/index.js index 3f7efb13f..c420067af 100644 --- a/packages/react-native-web/src/modules/createDOMProps/index.js +++ b/packages/react-native-web/src/modules/createDOMProps/index.js @@ -123,45 +123,15 @@ const createDOMProps = (elementType, props) => { pointerEvents, style: providedStyle, testID, - // Deprecated - accessible, - accessibilityState, - accessibilityValue, + isRTL, // Rest ...domProps } = props; - const disabled = - (accessibilityState != null && accessibilityState.disabled === true) || accessibilityDisabled; + const disabled = accessibilityDisabled; const role = AccessibilityUtil.propsToAriaRole(props); - // DEPRECATED - if (accessibilityState != null) { - for (const prop in accessibilityState) { - const value = accessibilityState[prop]; - if (value != null) { - if (prop === 'disabled' || prop === 'hidden') { - if (value === true) { - domProps[`aria-${prop}`] = value; - // also set prop directly to pick up host elementType behaviour - domProps[prop] = value; - } - } else { - domProps[`aria-${prop}`] = value; - } - } - } - } - if (accessibilityValue != null) { - for (const prop in accessibilityValue) { - const value = accessibilityValue[prop]; - if (value != null) { - domProps[`aria-value${prop}`] = value; - } - } - } - // ACCESSIBILITY if (accessibilityActiveDescendant != null) { domProps['aria-activedescendant'] = accessibilityActiveDescendant; @@ -336,23 +306,22 @@ const createDOMProps = (elementType, props) => { // FOCUS // "focusable" indicates that an element may be a keyboard tab-stop. - const _focusable = focusable != null ? focusable : accessible; - if (_focusable === false) { + if (focusable === false) { domProps.tabIndex = '-1'; } if ( - // These native elements are focusable by default + // These native elements are keyboard focusable by default elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea' ) { - if (_focusable === false || accessibilityDisabled === true) { + if (focusable === false || accessibilityDisabled === true) { domProps.tabIndex = '-1'; } } else if ( - // These roles are made focusable by default + // These roles are made keyboard focusable by default role === 'button' || role === 'checkbox' || role === 'link' || @@ -360,12 +329,12 @@ const createDOMProps = (elementType, props) => { role === 'textbox' || role === 'switch' ) { - if (_focusable !== false) { + if (focusable !== false) { domProps.tabIndex = '0'; } } else { // Everything else must explicitly set the prop - if (_focusable === true) { + if (focusable === true) { domProps.tabIndex = '0'; } } diff --git a/packages/react-native-web/src/modules/forwardedProps/index.js b/packages/react-native-web/src/modules/forwardedProps/index.js index 35782de47..2fbfa3105 100644 --- a/packages/react-native-web/src/modules/forwardedProps/index.js +++ b/packages/react-native-web/src/modules/forwardedProps/index.js @@ -64,11 +64,7 @@ export const accessibilityProps = { accessibilityValueNow: true, accessibilityValueText: true, dir: true, - focusable: true, - // Deprecated - accessible: true, - accessibilityState: true, - accessibilityValue: true + focusable: true }; export const clickProps = { diff --git a/packages/react-native-web/src/modules/pick/index.js b/packages/react-native-web/src/modules/pick/index.js index 8bdf5c1a5..a53ad4368 100644 --- a/packages/react-native-web/src/modules/pick/index.js +++ b/packages/react-native-web/src/modules/pick/index.js @@ -11,11 +11,7 @@ export default function pick(obj: Object, list: { [string]: boolean }): Object { const nextObj = {}; for (const key in obj) { if (obj.hasOwnProperty(key)) { - if ( - list[key] === true || - // Temporary until ARIA is mapped to explicit props - key.indexOf('aria-') === 0 - ) { + if (list[key] === true) { nextObj[key] = obj[key]; } } diff --git a/packages/react-native-web/src/modules/prefixStyles/__tests__/index-test.js b/packages/react-native-web/src/modules/prefixStyles/__tests__/index-test.js deleted file mode 100644 index cc269fcc9..000000000 --- a/packages/react-native-web/src/modules/prefixStyles/__tests__/index-test.js +++ /dev/null @@ -1,13 +0,0 @@ -/* eslint-env jasmine, jest */ - -import { prefixInlineStyles } from '..'; - -describe('modules/prefixStyles', () => { - test('handles array values for inline styles', () => { - const style = { - display: ['-webkit-flex', 'flex'] - }; - - expect(prefixInlineStyles(style)).toEqual({ display: 'flex' }); - }); -}); diff --git a/packages/react-native-web/src/modules/prefixStyles/index.js b/packages/react-native-web/src/modules/prefixStyles/index.js index ba6249e9d..e18459452 100644 --- a/packages/react-native-web/src/modules/prefixStyles/index.js +++ b/packages/react-native-web/src/modules/prefixStyles/index.js @@ -14,19 +14,4 @@ type StyleModifier = (style: Object) => Object; const prefixAll: StyleModifier = createPrefixer(staticData); -export const prefixInlineStyles: StyleModifier = (style) => { - const prefixedStyles = prefixAll(style); - - // React@15 removed undocumented support for fallback values in - // inline-styles. Revert array values to the standard CSS value - Object.keys(prefixedStyles).forEach((prop) => { - const value = prefixedStyles[prop]; - if (Array.isArray(value)) { - prefixedStyles[prop] = value[value.length - 1]; - } - }); - - return prefixedStyles; -}; - export default prefixAll; diff --git a/packages/react-native-web/src/modules/prefixStyles/static.js b/packages/react-native-web/src/modules/prefixStyles/static.js index c82e436ce..f532ba9e7 100644 --- a/packages/react-native-web/src/modules/prefixStyles/static.js +++ b/packages/react-native-web/src/modules/prefixStyles/static.js @@ -2,11 +2,6 @@ import backgroundClip from 'inline-style-prefixer/lib/plugins/backgroundClip'; import crossFade from 'inline-style-prefixer/lib/plugins/crossFade'; import cursor from 'inline-style-prefixer/lib/plugins/cursor'; import filter from 'inline-style-prefixer/lib/plugins/filter'; -import flex from 'inline-style-prefixer/lib/plugins/flex'; -import flexboxIE from 'inline-style-prefixer/lib/plugins/flexboxIE'; -import flexboxOld from 'inline-style-prefixer/lib/plugins/flexboxOld'; -import gradient from 'inline-style-prefixer/lib/plugins/gradient'; -import grid from 'inline-style-prefixer/lib/plugins/grid'; import imageSet from 'inline-style-prefixer/lib/plugins/imageSet'; import logical from 'inline-style-prefixer/lib/plugins/logical'; import position from 'inline-style-prefixer/lib/plugins/position'; @@ -14,7 +9,6 @@ import sizing from 'inline-style-prefixer/lib/plugins/sizing'; import transition from 'inline-style-prefixer/lib/plugins/transition'; const w = ['Webkit']; const m = ['Moz']; -const ms = ['ms']; const wm = ['Webkit', 'Moz']; const wms = ['Webkit', 'ms']; const wmms = ['Webkit', 'Moz', 'ms']; @@ -25,11 +19,6 @@ export default { crossFade, cursor, filter, - flex, - flexboxIE, - flexboxOld, - gradient, - grid, imageSet, logical, position, @@ -37,112 +26,57 @@ export default { transition ], prefixMap: { - animation: w, - animationDelay: w, - animationDirection: w, - animationFillMode: w, - animationDuration: w, - animationIterationCount: w, - animationName: w, - animationPlayState: w, - animationTimingFunction: w, - appearance: wm, - userSelect: wmms, - textEmphasisPosition: w, - textEmphasis: w, - textEmphasisStyle: w, - textEmphasisColor: w, - boxDecorationBreak: w, + appearance: wmms, + userSelect: wm, + textEmphasisPosition: wms, + textEmphasis: wms, + textEmphasisStyle: wms, + textEmphasisColor: wms, + boxDecorationBreak: wms, clipPath: w, - maskImage: w, - maskMode: w, - maskRepeat: w, - maskPosition: w, - maskClip: w, - maskOrigin: w, - maskSize: w, - maskComposite: w, - mask: w, - maskBorderSource: w, - maskBorderMode: w, - maskBorderSlice: w, - maskBorderWidth: w, - maskBorderOutset: w, - maskBorderRepeat: w, - maskBorder: w, - maskType: w, + maskImage: wms, + maskMode: wms, + maskRepeat: wms, + maskPosition: wms, + maskClip: wms, + maskOrigin: wms, + maskSize: wms, + maskComposite: wms, + mask: wms, + maskBorderSource: wms, + maskBorderMode: wms, + maskBorderSlice: wms, + maskBorderWidth: wms, + maskBorderOutset: wms, + maskBorderRepeat: wms, + maskBorder: wms, + maskType: wms, textDecorationStyle: w, textDecorationSkip: w, textDecorationLine: w, textDecorationColor: w, filter: w, - fontFeatureSettings: w, - breakAfter: wmms, - breakBefore: wmms, - breakInside: wmms, - columnCount: wm, - columnFill: wm, - columnGap: wm, - columnRule: wm, - columnRuleColor: wm, - columnRuleStyle: wm, - columnRuleWidth: wm, - columns: wm, - columnSpan: wm, - columnWidth: wm, - writingMode: wms, - flex: wms, - flexBasis: w, - flexDirection: wms, - flexGrow: w, - flexFlow: wms, - flexShrink: w, - flexWrap: wms, - alignContent: w, - alignItems: w, - alignSelf: w, - justifyContent: w, - order: w, - transform: w, - transformOrigin: w, - transformOriginX: w, - transformOriginY: w, - backfaceVisibility: w, - perspective: w, - perspectiveOrigin: w, - transformStyle: w, - transformOriginZ: w, + breakAfter: w, + breakBefore: w, + breakInside: w, + columnCount: w, + columnFill: w, + columnGap: w, + columnRule: w, + columnRuleColor: w, + columnRuleStyle: w, + columnRuleWidth: w, + columns: w, + columnSpan: w, + columnWidth: w, backdropFilter: w, - fontKerning: w, - scrollSnapType: wms, - scrollSnapPointsX: wms, - scrollSnapPointsY: wms, - scrollSnapDestination: wms, - scrollSnapCoordinate: wms, - shapeImageThreshold: w, - shapeImageMargin: w, - shapeImageOutside: w, - hyphens: wmms, - flowInto: wms, - flowFrom: wms, - regionFragment: wms, + hyphens: w, + flowInto: w, + flowFrom: w, + regionFragment: w, textOrientation: w, - textAlignLast: m, tabSize: m, - wrapFlow: ms, - wrapThrough: ms, - wrapMargin: ms, - touchAction: ms, - textSizeAdjust: ['ms', 'Webkit'], - borderImage: w, - borderImageOutset: w, - borderImageRepeat: w, - borderImageSlice: w, - borderImageSource: w, - borderImageWidth: w, - transitionDelay: w, - transitionDuration: w, - transitionProperty: w, - transitionTimingFunction: w + fontKerning: w, + textSizeAdjust: w } }; diff --git a/packages/react-native-web/src/modules/usePlatformMethods/index.js b/packages/react-native-web/src/modules/usePlatformMethods/index.js index c04c781c7..44827a345 100644 --- a/packages/react-native-web/src/modules/usePlatformMethods/index.js +++ b/packages/react-native-web/src/modules/usePlatformMethods/index.js @@ -15,14 +15,19 @@ import createDOMProps from '../createDOMProps'; import useStable from '../useStable'; import { useRef } from 'react'; +let didWarn = false; const emptyObject = {}; -function setNativeProps(node, nativeProps, classList, pointerEvents, style, previousStyleRef) { +function setNativeProps(node, nativeProps, pointerEvents, style, previousStyleRef) { + if (!didWarn) { + console.warn('setNativeProps is deprecated. Please update props using React state instead.'); + didWarn = true; + } + if (node != null && nativeProps) { const domProps = createDOMProps(null, { pointerEvents, ...nativeProps, - classList: [classList, nativeProps.className], style: [style, nativeProps.style] }); @@ -50,17 +55,15 @@ function setNativeProps(node, nativeProps, classList, pointerEvents, style, prev * API like `ReactNative.measure(hostRef, callback)` is added to React Native. */ export default function usePlatformMethods({ - classList, pointerEvents, style }: { - classList?: Array, style?: GenericStyleProp<*>, pointerEvents?: $PropertyType }): (hostNode: any) => void { const previousStyleRef = useRef(null); const setNativePropsArgsRef = useRef(null); - setNativePropsArgsRef.current = { classList, pointerEvents, style }; + setNativePropsArgsRef.current = { pointerEvents, style }; // Avoid creating a new ref on every render. The props only need to be // available to 'setNativeProps' when it is called. @@ -71,8 +74,8 @@ export default function usePlatformMethods({ UIManager.measureLayout(hostNode, relativeToNode, failure, success); hostNode.measureInWindow = (callback) => UIManager.measureInWindow(hostNode, callback); hostNode.setNativeProps = (nativeProps) => { - const { classList, style, pointerEvents } = setNativePropsArgsRef.current || emptyObject; - setNativeProps(hostNode, nativeProps, classList, pointerEvents, style, previousStyleRef); + const { style, pointerEvents } = setNativePropsArgsRef.current || emptyObject; + setNativeProps(hostNode, nativeProps, pointerEvents, style, previousStyleRef); }; } }); From b27c9820dbffe1e5a3ffc87d62b1c9c167dbae8c Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Mon, 28 Feb 2022 12:19:33 -0800 Subject: [PATCH 038/256] [change] StyleSheet rewrite * Improves React Native compatibility by making StyleSheet.create the identify function. * Improves React 18 support by inserting styles on eval. * Supports use with multiple windows (i.e., iframes) and shadow roots. * Supports nested LTR/RTL layouts. * Supports 3rd party compilers and extraction to static CSS. * Fixes static and dynamic short/longform deduplication. * Reduces browser support: Safari 10.1+, Chromium Edge, no IE, no legacy Android browsers. * Removes automatic vendor-prefixing of inline styles (for better perf). * Removes focus-visible polyfill as modern browsers no longer show focus rings for mouse interactions. Close #2208 Fix #2138 Fix #2196 Fix #2007 Fix #1517 --- flow-typed/npm/styleq.js | 34 ++ .../src/__tests__/index-test.js | 16 +- .../__snapshots__/index-test.js.snap | 48 +-- .../__snapshots__/index-test.js.snap | 36 -- .../AppRegistry/__tests__/index-test.js | 126 ++++--- .../AppRegistry/__tests__/index-test.node.js | 141 ++++++++ .../exports/AppRegistry/renderApplication.js | 4 +- .../__snapshots__/index-test.js.snap | 22 +- .../__snapshots__/index-test.js.snap | 36 +- .../__snapshots__/index-test.js.snap | 19 - .../Dimensions/__tests__/index-test.js | 25 +- .../I18nManager/__tests__/index-test.js | 30 -- .../src/exports/I18nManager/index.js | 10 +- .../__snapshots__/index-test.js.snap | 108 +++--- .../src/exports/Image/index.js | 30 +- .../__tests__/{index.js => index-test.js} | 11 +- .../src/exports/ImageBackground/index.js | 2 +- .../__tests__/{index.js => index-test.js} | 7 +- .../__snapshots__/index-test.js.snap | 47 ++- .../__snapshots__/index-test.js.snap | 8 +- .../StyleSheet/ReactNativePropRegistry.js | 43 --- .../src/exports/StyleSheet/StyleSheet.js | 65 ---- .../__snapshots__/compile-test.js.snap | 105 ------ .../createOrderedCSSStyleSheet-test.js.snap | 65 ---- .../createReactDOMStyle-test.js.snap | 66 ---- .../createStyleResolver-test.js.snap | 203 ----------- .../__snapshots__/flattenStyle-test.js.snap | 28 -- .../StyleSheet/__tests__/compile-test.js | 68 ---- ...s => compiler-createReactDOMStyle-test.js} | 88 ++++- .../__tests__/compiler-preprocess-test.js | 294 +++++++++++++++ .../StyleSheet/__tests__/compiler-test.js | 170 +++++++++ .../__tests__/createCompileableStyle-test.js | 120 ------- .../__tests__/createStyleResolver-test.js | 109 ------ ...=> dom-createOrderedCSSStyleSheet-test.js} | 111 ++++-- .../exports/StyleSheet/__tests__/dom-test.js | 60 ++++ .../StyleSheet/__tests__/dom-test.node.js | 34 ++ .../StyleSheet/__tests__/flattenStyle-test.js | 39 -- .../StyleSheet/__tests__/i18nStyle-test.js | 253 ------------- .../StyleSheet/__tests__/index-test.js | 334 ++++++++++++++++-- .../normalizeValueWithProperty-test.js | 20 -- .../StyleSheet/__tests__/validate-test.js | 42 +++ .../compiler/createReactDOMStyle.js | 200 +++++++++++ .../src/exports/StyleSheet/compiler/hash.js | 60 ++++ .../StyleSheet/compiler/hyphenateStyleName.js | 27 ++ .../{compile.js => compiler/index.js} | 125 +++---- .../StyleSheet/compiler/normalizeColor.js | 31 ++ .../normalizeValueWithProperty.js | 4 +- .../{i18nStyle.js => compiler/preprocess.js} | 106 ++++-- .../{ => compiler}/resolveShadowValue.js | 2 +- .../StyleSheet/compiler/unitlessNumbers.js | 76 ++++ .../src/exports/StyleSheet/constants.js | 59 ---- .../exports/StyleSheet/createCSSStyleSheet.js | 31 -- .../StyleSheet/createCompileableStyle.js | 70 ---- .../exports/StyleSheet/createReactDOMStyle.js | 190 ---------- .../exports/StyleSheet/createStyleResolver.js | 254 ------------- .../src/exports/StyleSheet/css.js | 26 -- .../StyleSheet/dom/createCSSStyleSheet.js | 42 +++ .../{ => dom}/createOrderedCSSStyleSheet.js | 24 +- .../src/exports/StyleSheet/dom/index.js | 85 +++++ .../src/exports/StyleSheet/flattenStyle.js | 47 --- .../src/exports/StyleSheet/index.js | 177 +++++++++- .../src/exports/StyleSheet/initialRules.js | 20 -- .../src/exports/StyleSheet/modality.js | 275 -------------- .../src/exports/StyleSheet/styleResolver.js | 12 - .../src/exports/StyleSheet/validate.js | 31 +- .../__snapshots__/index-test.js.snap | 12 +- .../__snapshots__/index-test.js.snap | 50 +-- .../src/exports/Text/index.js | 81 +++-- .../src/exports/TextInput/index.js | 28 +- .../__snapshots__/index-test.js.snap | 54 +-- .../src/exports/View/index.js | 31 +- .../src/exports/render/index.js | 17 +- .../src/modules/RTLContext/index.js | 15 + .../src/modules/createDOMProps/index.js | 55 +-- .../src/modules/flattenArray/index.js | 27 -- .../Animated/nodes/AnimatedStyle.js | 4 +- scripts/inline-style-prefixer/create.js | 19 +- 77 files changed, 2560 insertions(+), 2884 deletions(-) create mode 100644 flow-typed/npm/styleq.js delete mode 100644 packages/react-native-web/src/exports/AppRegistry/__tests__/__snapshots__/index-test.js.snap create mode 100644 packages/react-native-web/src/exports/AppRegistry/__tests__/index-test.node.js delete mode 100644 packages/react-native-web/src/exports/Dimensions/__tests__/__snapshots__/index-test.js.snap rename packages/react-native-web/src/exports/ImageBackground/__tests__/{index.js => index-test.js} (78%) rename packages/react-native-web/src/exports/Modal/__tests__/{index.js => index-test.js} (99%) delete mode 100644 packages/react-native-web/src/exports/StyleSheet/ReactNativePropRegistry.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/StyleSheet.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/__snapshots__/compile-test.js.snap delete mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/__snapshots__/createOrderedCSSStyleSheet-test.js.snap delete mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/__snapshots__/createReactDOMStyle-test.js.snap delete mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/__snapshots__/createStyleResolver-test.js.snap delete mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/__snapshots__/flattenStyle-test.js.snap delete mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/compile-test.js rename packages/react-native-web/src/exports/StyleSheet/__tests__/{createReactDOMStyle-test.js => compiler-createReactDOMStyle-test.js} (64%) create mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/compiler-preprocess-test.js create mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/compiler-test.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/createCompileableStyle-test.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/createStyleResolver-test.js rename packages/react-native-web/src/exports/StyleSheet/__tests__/{createOrderedCSSStyleSheet-test.js => dom-createOrderedCSSStyleSheet-test.js} (50%) create mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/dom-test.js create mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/dom-test.node.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/flattenStyle-test.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/i18nStyle-test.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/normalizeValueWithProperty-test.js create mode 100644 packages/react-native-web/src/exports/StyleSheet/__tests__/validate-test.js create mode 100644 packages/react-native-web/src/exports/StyleSheet/compiler/createReactDOMStyle.js create mode 100644 packages/react-native-web/src/exports/StyleSheet/compiler/hash.js create mode 100644 packages/react-native-web/src/exports/StyleSheet/compiler/hyphenateStyleName.js rename packages/react-native-web/src/exports/StyleSheet/{compile.js => compiler/index.js} (73%) create mode 100644 packages/react-native-web/src/exports/StyleSheet/compiler/normalizeColor.js rename packages/react-native-web/src/exports/StyleSheet/{ => compiler}/normalizeValueWithProperty.js (87%) rename packages/react-native-web/src/exports/StyleSheet/{i18nStyle.js => compiler/preprocess.js} (57%) rename packages/react-native-web/src/exports/StyleSheet/{ => compiler}/resolveShadowValue.js (94%) create mode 100644 packages/react-native-web/src/exports/StyleSheet/compiler/unitlessNumbers.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/constants.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/createCSSStyleSheet.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/createCompileableStyle.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/createReactDOMStyle.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/createStyleResolver.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/css.js create mode 100644 packages/react-native-web/src/exports/StyleSheet/dom/createCSSStyleSheet.js rename packages/react-native-web/src/exports/StyleSheet/{ => dom}/createOrderedCSSStyleSheet.js (90%) create mode 100644 packages/react-native-web/src/exports/StyleSheet/dom/index.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/flattenStyle.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/initialRules.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/modality.js delete mode 100644 packages/react-native-web/src/exports/StyleSheet/styleResolver.js create mode 100644 packages/react-native-web/src/modules/RTLContext/index.js delete mode 100644 packages/react-native-web/src/modules/flattenArray/index.js diff --git a/flow-typed/npm/styleq.js b/flow-typed/npm/styleq.js new file mode 100644 index 000000000..a77fadf9d --- /dev/null +++ b/flow-typed/npm/styleq.js @@ -0,0 +1,34 @@ +type CompiledStyle = { + $$css: boolean, + [key: string]: string, +}; + +type InlineStyle = { + [key: string]: mixed, +}; + +type EitherStyle = CompiledStyle | InlineStyle; + +type StylesArray<+T> = T | $ReadOnlyArray>; +type Styles = StylesArray; +type Style<+T = EitherStyle> = StylesArray; + +type StyleqOptions = { + disableCache?: boolean, + disableMix?: boolean, + transform?: (CompiledStyle) => CompiledStyle, +}; + +type StyleqResult = [string, InlineStyle | null]; +type Styleq = (styles: Styles) => StyleqResult; + +type IStyleq = { + (...styles: $ReadOnlyArray): StyleqResult, + factory: (options?: StyleqOptions) => Styleq, +}; + +declare module "styleq" { + declare module.exports: { + styleq: IStyleq + }; +} diff --git a/packages/dom-event-testing-library/src/__tests__/index-test.js b/packages/dom-event-testing-library/src/__tests__/index-test.js index faa040e70..585184798 100644 --- a/packages/dom-event-testing-library/src/__tests__/index-test.js +++ b/packages/dom-event-testing-library/src/__tests__/index-test.js @@ -1,5 +1,3 @@ -/* eslint-env jasmine, jest */ - /** * Copyright (c) Facebook, Inc. and its affiliates. * @@ -49,7 +47,7 @@ describe('createEventTarget', () => { const target = createEventTarget(node); expect(target.node).toEqual(node); expect(Object.keys(target)).toMatchInlineSnapshot(` - Array [ + [ "node", "blur", "click", @@ -331,9 +329,7 @@ describe('createEventTarget', () => { }); /** - * Complex event sequences - * - * ...coming soon + * TODO: Complex event sequences */ /** @@ -343,24 +339,28 @@ describe('createEventTarget', () => { test('.setBoundingClientRect()', () => { const target = createEventTarget(node); expect(node.getBoundingClientRect()).toMatchInlineSnapshot(` - Object { + { "bottom": 0, "height": 0, "left": 0, "right": 0, "top": 0, "width": 0, + "x": 0, + "y": 0, } `); target.setBoundingClientRect({ x: 10, y: 20, width: 100, height: 200 }); expect(node.getBoundingClientRect()).toMatchInlineSnapshot(` - Object { + { "bottom": 220, "height": 200, "left": 10, "right": 110, "top": 20, "width": 100, + "x": 10, + "y": 20, } `); }); diff --git a/packages/react-native-web/src/exports/ActivityIndicator/__tests__/__snapshots__/index-test.js.snap b/packages/react-native-web/src/exports/ActivityIndicator/__tests__/__snapshots__/index-test.js.snap index 5a4bbcb87..51d701c6e 100644 --- a/packages/react-native-web/src/exports/ActivityIndicator/__tests__/__snapshots__/index-test.js.snap +++ b/packages/react-native-web/src/exports/ActivityIndicator/__tests__/__snapshots__/index-test.js.snap @@ -5,11 +5,11 @@ exports[`components/ActivityIndicator prop "accessibilityLabel" value is set 1`] aria-label="accessibility label" aria-valuemax="1" aria-valuemin="0" - class="css-view-1dbjc4n r-alignItems-1awozwy r-justifyContent-1777fci" + class="css-view-175oi2r r-alignItems-1awozwy r-justifyContent-1777fci" role="progressbar" >
*{pointer-events:auto;} -.r-pointerEvents-12vffkv{pointer-events:none!important;}" -`; - -exports[`AppRegistry getApplication returns "element" and "getStyleElement" 1`] = ` - - - -`; - -exports[`AppRegistry getApplication returns "element" and "getStyleElement" 2`] = ` -"" -`; diff --git a/packages/react-native-web/src/exports/AppRegistry/__tests__/index-test.js b/packages/react-native-web/src/exports/AppRegistry/__tests__/index-test.js index 808094058..bde49cbc7 100644 --- a/packages/react-native-web/src/exports/AppRegistry/__tests__/index-test.js +++ b/packages/react-native-web/src/exports/AppRegistry/__tests__/index-test.js @@ -1,76 +1,16 @@ -/* eslint-env jasmine, jest */ +/** + * Copyright (c) Nicolas Gallagher. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ import AppRegistry from '..'; -import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment'; import React from 'react'; -import ReactDOMServer from 'react-dom/server'; -import { render } from '@testing-library/react'; -import StyleSheet from '../../StyleSheet'; -import Text from '../../Text'; -import View from '../../View'; -const canUseDOM = ExecutionEnvironment.canUseDOM; -const NoopComponent = () =>
; +const NoopComponent = () => React.createElement('div'); describe('AppRegistry', () => { - describe('getApplication', () => { - beforeEach(() => { - ExecutionEnvironment.canUseDOM = false; - }); - - afterEach(() => { - ExecutionEnvironment.canUseDOM = canUseDOM; - }); - - test('does not throw when missing appParameters', () => { - AppRegistry.registerComponent('App', () => NoopComponent); - expect(() => AppRegistry.getApplication('App')).not.toThrow(); - }); - - test('returns "element" and "getStyleElement"', () => { - AppRegistry.registerComponent('App', () => NoopComponent); - const { element, getStyleElement } = AppRegistry.getApplication('App', {}); - const styleElement = ReactDOMServer.renderToStaticMarkup(getStyleElement()); - - expect(element).toMatchSnapshot(); - expect(styleElement).toMatchSnapshot(); - }); - - test('"getStyleElement" adds props to " + `); + }); + + test('"getStyleElement" adds props to " + .r-textOverflow-1udbk01{text-overflow:ellipsis;} + .r-top-ipm5af{top:0px;} + .r-userSelect-1xnzce8{-moz-user-select:text;-webkit-user-select:text;user-select:text;} + .r-userSelect-lrvibr{-moz-user-select:none;-webkit-user-select:none;user-select:none;} + .r-whiteSpace-3s2u2q{white-space:nowrap;} + .r-wordWrap-1iln25a{word-wrap:normal;}" `); }); @@ -78,7 +91,8 @@ describe('AppRegistry', () => { }; // First render "RootComponent" - const RootComponent = () => React.createElement(View); + const RootComponent = () => + React.createElement(View, React.createElement(Text)); AppRegistry.registerComponent('App', () => RootComponent); const first = getApplicationStyles('App'); expect(first).toMatchInlineSnapshot(` @@ -88,13 +102,20 @@ describe('AppRegistry', () => { html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);} input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;} [stylesheet-group=\\"1\\"]{} + .css-text-13q1o4w{background-color:rgba(0,0,0,0.00);border:0 solid black;box-sizing:border-box;color:rgba(0,0,0,1.00);display:inline;font:14px -apple-system,BlinkMacSystemFont,\\"Segoe UI\\",Roboto,Helvetica,Arial,sans-serif;list-style:none;margin:0px;padding:0px;position:relative;text-align:inherit;text-decoration:none;white-space:pre-wrap;word-wrap:break-word;} + .css-textHasAncestor-1jxf684{background-color:rgba(0,0,0,0.00);border:0 solid black;box-sizing:border-box;color:inherit;display:inline;font:inherit;list-style:none;margin:0px;padding:0px;position:relative;text-align:inherit;text-decoration:none;white-space:inherit;word-wrap:break-word;} .css-view-175oi2r{align-items:stretch;background-color:rgba(0,0,0,0.00);border:0 solid black;box-sizing:border-box;display:flex;flex-basis:auto;flex-direction:column;flex-shrink:0;list-style:none;margin:0px;min-height:0px;min-width:0px;padding:0px;position:relative;text-decoration:none;z-index:0;} [stylesheet-group=\\"2\\"]{} + .r-display-krxsd3{display:-webkit-box;} .r-display-xoduu5{display:inline-flex;} .r-flex-13awgt0{flex:1;} + .r-overflow-1udh08x{overflow-x:hidden;overflow-y:hidden;} [stylesheet-group=\\"3\\"]{} + .r-WebkitBoxOrient-8akbws{-webkit-box-orient:vertical;} .r-bottom-1p0dtai{bottom:0px;} + .r-cursor-1loqt21{cursor:pointer;} .r-left-1d2f490{left:0px;} + .r-maxWidth-dnmrzs{max-width:100%;} .r-pointerEvents-105ug2t{pointer-events:auto!important;} .r-pointerEvents-12vffkv>*{pointer-events:auto;} .r-pointerEvents-12vffkv{pointer-events:none!important;} @@ -103,7 +124,12 @@ describe('AppRegistry', () => { .r-pointerEvents-ah5dr5{pointer-events:auto!important;} .r-position-u8s1d{position:absolute;} .r-right-zchlnj{right:0px;} - .r-top-ipm5af{top:0px;}" + .r-textOverflow-1udbk01{text-overflow:ellipsis;} + .r-top-ipm5af{top:0px;} + .r-userSelect-1xnzce8{-moz-user-select:text;-webkit-user-select:text;user-select:text;} + .r-userSelect-lrvibr{-moz-user-select:none;-webkit-user-select:none;user-select:none;} + .r-whiteSpace-3s2u2q{white-space:nowrap;} + .r-wordWrap-1iln25a{word-wrap:normal;}" `); // Second render "AlternativeComponent" @@ -124,15 +150,22 @@ describe('AppRegistry', () => { html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);} input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;} [stylesheet-group=\\"1\\"]{} + .css-text-13q1o4w{background-color:rgba(0,0,0,0.00);border:0 solid black;box-sizing:border-box;color:rgba(0,0,0,1.00);display:inline;font:14px -apple-system,BlinkMacSystemFont,\\"Segoe UI\\",Roboto,Helvetica,Arial,sans-serif;list-style:none;margin:0px;padding:0px;position:relative;text-align:inherit;text-decoration:none;white-space:pre-wrap;word-wrap:break-word;} + .css-textHasAncestor-1jxf684{background-color:rgba(0,0,0,0.00);border:0 solid black;box-sizing:border-box;color:inherit;display:inline;font:inherit;list-style:none;margin:0px;padding:0px;position:relative;text-align:inherit;text-decoration:none;white-space:inherit;word-wrap:break-word;} .css-view-175oi2r{align-items:stretch;background-color:rgba(0,0,0,0.00);border:0 solid black;box-sizing:border-box;display:flex;flex-basis:auto;flex-direction:column;flex-shrink:0;list-style:none;margin:0px;min-height:0px;min-width:0px;padding:0px;position:relative;text-decoration:none;z-index:0;} [stylesheet-group=\\"2\\"]{} .r-borderWidth-1bee2fs{border-bottom-width:1234px;border-left-width:1234px;border-right-width:1234px;border-top-width:1234px;} + .r-display-krxsd3{display:-webkit-box;} .r-display-xoduu5{display:inline-flex;} .r-flex-13awgt0{flex:1;} + .r-overflow-1udh08x{overflow-x:hidden;overflow-y:hidden;} [stylesheet-group=\\"3\\"]{} + .r-WebkitBoxOrient-8akbws{-webkit-box-orient:vertical;} .r-backgroundColor-aot4c7{background-color:rgba(128,0,128,1.00);} .r-bottom-1p0dtai{bottom:0px;} + .r-cursor-1loqt21{cursor:pointer;} .r-left-1d2f490{left:0px;} + .r-maxWidth-dnmrzs{max-width:100%;} .r-pointerEvents-105ug2t{pointer-events:auto!important;} .r-pointerEvents-12vffkv>*{pointer-events:auto;} .r-pointerEvents-12vffkv{pointer-events:none!important;} @@ -141,7 +174,12 @@ describe('AppRegistry', () => { .r-pointerEvents-ah5dr5{pointer-events:auto!important;} .r-position-u8s1d{position:absolute;} .r-right-zchlnj{right:0px;} - .r-top-ipm5af{top:0px;}" + .r-textOverflow-1udbk01{text-overflow:ellipsis;} + .r-top-ipm5af{top:0px;} + .r-userSelect-1xnzce8{-moz-user-select:text;-webkit-user-select:text;user-select:text;} + .r-userSelect-lrvibr{-moz-user-select:none;-webkit-user-select:none;user-select:none;} + .r-whiteSpace-3s2u2q{white-space:nowrap;} + .r-wordWrap-1iln25a{word-wrap:normal;}" `); // Third render "RootComponent" again diff --git a/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap b/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap index 3f99c8bcd..e17cfb4a8 100644 --- a/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap +++ b/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap @@ -2,18 +2,18 @@ exports[`components/Text default 1`] = `
`; exports[`components/Text nested 1`] = `
@@ -22,7 +22,7 @@ exports[`components/Text nested 1`] = ` exports[`components/Text prop "aria-label" value is set 1`] = `
`; @@ -30,7 +30,7 @@ exports[`components/Text prop "aria-label" value is set 1`] = ` exports[`components/Text prop "aria-labelledby" value is set 1`] = `
`; @@ -38,28 +38,28 @@ exports[`components/Text prop "aria-labelledby" value is set 1`] = ` exports[`components/Text prop "aria-live" value is set 1`] = `
`; exports[`components/Text prop "dir" value is "ltr" 1`] = `
`; exports[`components/Text prop "dir" value is "rtl" 1`] = `
`; exports[`components/Text prop "href" href with accessibilityRole 1`] = ` @@ -76,7 +76,7 @@ exports[`components/Text prop "href" value is set 1`] = ` exports[`components/Text prop "hrefAttrs" null values are excluded 1`] = ` @@ -84,14 +84,14 @@ exports[`components/Text prop "hrefAttrs" null values are excluded 1`] = ` exports[`components/Text prop "hrefAttrs" requires "href" 1`] = `
`; exports[`components/Text prop "hrefAttrs" target variant is set 1`] = ` @@ -119,7 +119,7 @@ exports[`components/Text prop "lang" ar 1`] = ` exports[`components/Text prop "lang" fr 1`] = `
@@ -127,14 +127,14 @@ exports[`components/Text prop "lang" fr 1`] = ` exports[`components/Text prop "lang" undefined 1`] = `
`; exports[`components/Text prop "lang" with dir 1`] = `
@@ -142,7 +142,7 @@ exports[`components/Text prop "lang" with dir 1`] = ` exports[`components/Text prop "nativeID" value is set 1`] = `
@@ -150,21 +150,21 @@ exports[`components/Text prop "nativeID" value is set 1`] = ` exports[`components/Text prop "numberOfLines" value is set 1`] = `
`; exports[`components/Text prop "numberOfLines" value is set to one 1`] = `
`; exports[`components/Text prop "role" value alters HTML element 1`] = `
@@ -172,7 +172,7 @@ exports[`components/Text prop "role" value alters HTML element 1`] = ` exports[`components/Text prop "role" value is "button" 1`] = `