);
}
diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md
index d361c7f4f..23c13bb9a 100644
--- a/src/content/community/conferences.md
+++ b/src/content/community/conferences.md
@@ -10,6 +10,7 @@ Vous connaissez une conférence React.js locale ? Ajoutez-la ! (Merci de conse
## Conférences à venir {/*upcoming-conferences*/}
+<<<<<<< HEAD
### React Nexus 2024 {/*react-nexus-2024*/}
July 04 & 05, 2024. Bangalore, India (In-person event)
@@ -30,6 +31,8 @@ August 12-13, 2024. Park City, UT, USA
[Site web](https://reactrally.com) - [Twitter](https://twitter.com/ReactRally) - [YouTube](https://www.youtube.com/channel/UCXBhQ05nu3L1abBUGeQ0ahw)
+=======
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
### React Universe Conf 2024 {/*react-universe-conf-2024*/}
September 5-6, 2024. Wrocław, Poland.
@@ -55,12 +58,56 @@ October 18, 2024. In-person in Brussels, Belgium (hybrid event)
[Site web](https://www.react.brussels/) - [Twitter](https://x.com/BrusselsReact)
+### reactjsday 2024 {/*reactjsday-2024*/}
+October 25, 2024. In-person in Verona, Italy + online (hybrid event)
+
+[Website](https://2024.reactjsday.it/) - [Twitter](https://x.com/reactjsday) - [Facebook](https://www.facebook.com/GrUSP/) - [YouTube](https://www.youtube.com/c/grusp)
+
+### React Advanced London 2024 {/*react-advanced-london-2024*/}
+October 25 & 28, 2024. In-person in London, UK + online (hybrid event)
+
+[Website](https://reactadvanced.com/) - [Twitter](https://x.com/reactadvanced)
+
+### React Summit US 2024 {/*react-summit-us-2024*/}
+November 19 & 22, 2024. In-person in New York, USA + online (hybrid event)
+
+[Website](https://reactsummit.us/) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://portal.gitnation.org/)
+
### React Africa 2024 {/*react-africa-2024*/}
November 29, 2024. In-person in Casablanca, Morocco (hybrid event)
[Site web](https://react-africa.com/) - [Twitter](https://x.com/BeJS_)
+<<<<<<< HEAD
## Conférences passées {/*past-conferences*/}
+=======
+### React Day Berlin 2024 {/*react-day-berlin-2024*/}
+December 13 & 16, 2024. In-person in Berlin, Germany + remote (hybrid event)
+
+[Website](https://reactday.berlin/) - [Twitter](https://x.com/reactdayberlin)
+
+## Past Conferences {/*past-conferences*/}
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
+
+### React Rally 2024 🐙 {/*react-rally-2024*/}
+August 12-13, 2024. Park City, UT, USA
+
+[Website](https://reactrally.com) - [Twitter](https://twitter.com/ReactRally) - [YouTube](https://www.youtube.com/channel/UCXBhQ05nu3L1abBUGeQ0ahw)
+
+### The Geek Conf 2024 {/*the-geek-conf-2024*/}
+July 25, 2024. In-person in Berlin, Germany + remote (hybrid event)
+
+[Website](https://thegeekconf.com) - [Twitter](https://twitter.com/thegeekconf)
+
+### Chain React 2024 {/*chain-react-2024*/}
+July 17-19, 2024. In-person in Portland, OR, USA
+
+[Website](https://chainreactconf.com) - [Twitter](https://twitter.com/ChainReactConf)
+
+### React Nexus 2024 {/*react-nexus-2024*/}
+July 04 & 05, 2024. Bangalore, India (In-person event)
+
+[Website](https://reactnexus.com/) - [Twitter](https://twitter.com/ReactNexus) - [Linkedin](https://www.linkedin.com/company/react-nexus) - [YouTube](https://www.youtube.com/reactify_in)
### React Summit 2024 {/*react-summit-2024*/}
June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event)
diff --git a/src/content/learn/conditional-rendering.md b/src/content/learn/conditional-rendering.md
index 8006ba458..ceb800c1e 100644
--- a/src/content/learn/conditional-rendering.md
+++ b/src/content/learn/conditional-rendering.md
@@ -52,13 +52,17 @@ export default function PackingList() {
+<<<<<<< HEAD
Remarquez que certains composants `Item` ont leur prop `isPacked` à `true` plutôt qu'à `false`. Vous souhaitez ajouter une coche (✔) aux objets pour lesquels `isPacked={true}`.
+=======
+Notice that some of the `Item` components have their `isPacked` prop set to `true` instead of `false`. You want to add a checkmark (✅) to packed items if `isPacked={true}`.
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
Vous pourriez écrire ça sous forme [d'instruction `if`/`else`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/if...else), comme ceci :
```js
if (isPacked) {
- return
{name} ✔
;
+ return
{name} ✅
;
}
return
{name}
;
```
@@ -70,7 +74,7 @@ Si la prop `isPacked` vaut `true`, ce code **renverra un arbre JSX différent**.
```js
function Item({ name, isPacked }) {
if (isPacked) {
- return
{name} ✔
;
+ return
{name} ✅
;
}
return
{name}
;
}
@@ -159,7 +163,7 @@ En pratique, les composants ne renvoient pas souvent `null` parce que ça peut s
Dans l'exemple précédent, vous contrôliez quel arbre JSX renvoyer (si tant est qu'il y en ait un !) depuis le composant. Vous avez peut-être remarqué une légère duplication dans l'affichage produit. Ce JSX :
```js
-
{name} ✔
+
{name} ✅
```
est très similaire à
@@ -172,7 +176,7 @@ Les deux branches conditionnelles renvoient `
...
` :
```js
if (isPacked) {
- return
{name} ✔
;
+ return
{name} ✅
;
}
return
{name}
;
```
@@ -187,7 +191,7 @@ Au lieu de ceci :
```js
if (isPacked) {
- return
);
}
@@ -337,7 +345,7 @@ Utilisez une instruction `if` pour réaffecter une expression JSX à `itemConten
```js
if (isPacked) {
- itemContent = name + " ✔";
+ itemContent = name + " ✅";
}
```
@@ -357,7 +365,7 @@ Ce style est certes le plus verbeux, mais au final le plus flexible. Le voici e
function Item({ name, isPacked }) {
let itemContent = name;
if (isPacked) {
- itemContent = name + " ✔";
+ itemContent = name + " ✅";
}
return (
@@ -401,7 +409,7 @@ function Item({ name, isPacked }) {
if (isPacked) {
itemContent = (
- {name + " ✔"}
+ {name + " ✅"}
);
}
@@ -462,7 +470,7 @@ Utilisez l'opérateur conditionnel (`cond ? a : b`) pour afficher ❌ si `isPack
function Item({ name, isPacked }) {
return (
);
}
diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md
index ba87ae9f0..703b8ba2f 100644
--- a/src/content/learn/react-compiler.md
+++ b/src/content/learn/react-compiler.md
@@ -123,7 +123,7 @@ In addition to these docs, we recommend checking the [React Compiler Working Gro
Prior to installing the compiler, you can first check to see if your codebase is compatible:
-npx react-compiler-healthcheck@latest
+npx react-compiler-healthcheck@experimental
This script will:
@@ -145,7 +145,7 @@ Found no usage of incompatible libraries.
React Compiler also powers an eslint plugin. The eslint plugin can be used **independently** of the compiler, meaning you can use the eslint plugin even if you don't use the compiler.
-npm install eslint-plugin-react-compiler
+npm install eslint-plugin-react-compiler@experimental
Then, add it to your eslint config:
@@ -205,7 +205,7 @@ If you're starting a new project, you can enable the compiler on your entire cod
### Babel {/*usage-with-babel*/}
-npm install babel-plugin-react-compiler
+npm install babel-plugin-react-compiler@experimental
The compiler includes a Babel plugin which you can use in your build pipeline to run the compiler.
@@ -260,7 +260,7 @@ Next.js has an experimental configuration to enable the React Compiler. It autom
- Install `babel-plugin-react-compiler`
-npm install next@canary babel-plugin-react-compiler
+npm install next@canary babel-plugin-react-compiler@experimental
Then configure the experimental option in `next.config.js`:
diff --git a/src/content/learn/you-might-not-need-an-effect.md b/src/content/learn/you-might-not-need-an-effect.md
index 64eed03e8..6d05f5a5c 100644
--- a/src/content/learn/you-might-not-need-an-effect.md
+++ b/src/content/learn/you-might-not-need-an-effect.md
@@ -409,9 +409,15 @@ function Game() {
Ce code pose deux problèmes.
+<<<<<<< HEAD
Le premier problème est qu’il est très inefficace : le composant (et ses enfants) doivent refaire un rendu entre chaque appel `set` de la chaîne. Dans l’exemple ci-dessus, dans le pire des cas (`setCard` → rendu → `setGoldCardCount` → rendu → `setRound` → rendu → `setIsGameOver` → rendu) on a pas moins de trois rendus superflus de l’arbre au sein du composant.
Même si ce n’était pas lent, au fil de l’évolution de votre code, vous tomberez sur des cas où la « chaîne » que vous avez construite ne correspond plus aux nouvelles spécifications. Imaginez que vous ajoutiez une étape au sein de l’historique des mouvements de la partie. Pour ce faire, vous devriez mettre à jour chaque variable d’état sur base d’une valeur passée. Seulement voilà, redéfinir `card` à une valeur passée déclencherait à nouveau la chaîne d’Effets et modifierait la donnée affichée. Ce genre de code est rigide et fragile.
+=======
+The first problem is that it is very inefficient: the component (and its children) have to re-render between each `set` call in the chain. In the example above, in the worst case (`setCard` → render → `setGoldCardCount` → render → `setRound` → render → `setIsGameOver` → render) there are three unnecessary re-renders of the tree below.
+
+The second problem is that even if it weren't slow, as your code evolves, you will run into cases where the "chain" you wrote doesn't fit the new requirements. Imagine you are adding a way to step through the history of the game moves. You'd do it by updating each state variable to a value from the past. However, setting the `card` state to a value from the past would trigger the Effect chain again and change the data you're showing. Such code is often rigid and fragile.
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
Dans un tel cas, il vaut largement mieux calculer tout ce qu’on peut pendant le rendu, et ajuster l’état au sein d’un gestionnaire d’événement :
diff --git a/src/content/reference/react-dom/components/index.md b/src/content/reference/react-dom/components/index.md
index dd0a767a8..95ff7baee 100644
--- a/src/content/reference/react-dom/components/index.md
+++ b/src/content/reference/react-dom/components/index.md
@@ -34,7 +34,11 @@ React leur réserve un traitement particulier parce que leur passer la prop `val
## Composants de ressources et métadonnées {/*resource-and-metadata-components*/}
+<<<<<<< HEAD
Ces composants natifs du navigateur vous permettent de charger des ressources externes ou d'annoter le document avec des métadonnées :
+=======
+These built-in browser components let you load external resources or annotate the document with metadata:
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
* [``](/reference/react-dom/components/link)
* [``](/reference/react-dom/components/meta)
diff --git a/src/content/reference/react/cache.md b/src/content/reference/react/cache.md
index e8410f092..bd6c172b5 100644
--- a/src/content/reference/react/cache.md
+++ b/src/content/reference/react/cache.md
@@ -233,7 +233,7 @@ En mettant en cache un chargement de données qui prendrait du temps, vous pouve
```jsx [[2, 6, "await getUser(id)"], [1, 17, "getUser(id)"]]
const getUser = cache(async (id) => {
return await db.user.query(id);
-})
+});
async function Profile({id}) {
const user = await getUser(id);
@@ -336,7 +336,7 @@ Vous devriez généralement utiliser [`useMemo`](/reference/react/useMemo) pour
'use client';
function WeatherReport({record}) {
- const avgTemp = useMemo(() => calculateAvg(record)), record);
+ const avgTemp = useMemo(() => calculateAvg(record), record);
// ...
}
diff --git a/src/content/reference/react/index.md b/src/content/reference/react/index.md
index 98b79e888..56439273a 100644
--- a/src/content/reference/react/index.md
+++ b/src/content/reference/react/index.md
@@ -14,10 +14,17 @@ La documentation de référence React est découpée en plusieurs groupes de fon
Les fonctionnalités programmatiques de React :
+<<<<<<< HEAD
* [Hooks](/reference/react/hooks) - Pour utiliser diverses fonctionnalités de React au sein de vos composants.
* [Composants](/reference/react/components) - Détaille les composants fournis par React que vous pouvez utiliser dans votre JSX.
* [Fonctions](/reference/react/apis) - Fonctions de l'API utiles pour définir vos composants.
* [Directives](/reference/react/directives) - Fournit des instructions aux *bundlers* compatibles avec React Server Components.
+=======
+* [Hooks](/reference/react/hooks) - Use different React features from your components.
+* [Components](/reference/react/components) - Built-in components that you can use in your JSX.
+* [APIs](/reference/react/apis) - APIs that are useful for defining components.
+* [Directives](/reference/rsc/directives) - Provide instructions to bundlers compatible with React Server Components.
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
## React DOM {/*react-dom*/}
diff --git a/src/content/reference/react/lazy.md b/src/content/reference/react/lazy.md
index e7d134cb9..46911f39f 100644
--- a/src/content/reference/react/lazy.md
+++ b/src/content/reference/react/lazy.md
@@ -78,7 +78,7 @@ Maintenant que le code de votre composant se charge à la demande, vous aurez be
}>
Aperçu
-
+
```
Dans cet exemple, le code de `MarkdownPreview` ne sera pas chargé jusqu'à ce que vous essayiez de l'afficher. Si `MarkdownPreview` n'est pas encore chargé, `Loading` sera affiché à sa place. Essayez de cocher la case :
diff --git a/src/content/reference/react/useCallback.md b/src/content/reference/react/useCallback.md
index 17df2df6e..95f56a914 100644
--- a/src/content/reference/react/useCallback.md
+++ b/src/content/reference/react/useCallback.md
@@ -711,7 +711,7 @@ function ChatRoom({ roomId }) {
useEffect(() => {
const options = createOptions();
- const connection = createConnection();
+ const connection = createConnection(options);
connection.connect();
// ...
```
@@ -722,7 +722,7 @@ function ChatRoom({ roomId }) {
```js {6}
useEffect(() => {
const options = createOptions();
- const connection = createConnection();
+ const connection = createConnection(options);
connection.connect();
return () => connection.disconnect();
}, [createOptions]); // 🔴 Problème : cette dépendance change à chaque rendu
@@ -744,7 +744,7 @@ function ChatRoom({ roomId }) {
useEffect(() => {
const options = createOptions();
- const connection = createConnection();
+ const connection = createConnection(options);
connection.connect();
return () => connection.disconnect();
}, [createOptions]); // ✅ Ne change que si createOptions change
@@ -766,7 +766,7 @@ function ChatRoom({ roomId }) {
}
const options = createOptions();
- const connection = createConnection();
+ const connection = createConnection(options);
connection.connect();
return () => connection.disconnect();
}, [roomId]); // ✅ Ne change que si `roomId` change
diff --git a/src/content/reference/react/useLayoutEffect.md b/src/content/reference/react/useLayoutEffect.md
index 4b7f349bf..b716fd7c7 100644
--- a/src/content/reference/react/useLayoutEffect.md
+++ b/src/content/reference/react/useLayoutEffect.md
@@ -67,6 +67,8 @@ function Tooltip() {
* Le code dans `useLayoutEffect` et toutes les mises à jour d'état qui y sont demandées **empêchent le navigateur de rafraîchir l'affichage à l'écran**. Si vous l'utilisez trop, ça ralentira votre appli. Autant que possible, préférez [`useEffect`](/reference/react/useEffect).
+* If you trigger a state update inside `useLayoutEffect`, React will execute all remaining Effects immediately including `useEffect`.
+
---
## Utilisation {/*usage*/}
diff --git a/src/content/reference/react/useMemo.md b/src/content/reference/react/useMemo.md
index 18f91b195..c6c71c7aa 100644
--- a/src/content/reference/react/useMemo.md
+++ b/src/content/reference/react/useMemo.md
@@ -1059,7 +1059,88 @@ Gardez à l'esprit qu'il vous faut exécuter React en mode production, désactiv
---
+<<<<<<< HEAD
### Mémoïser une dépendance d'un autre Hook {/*memoizing-a-dependency-of-another-hook*/}
+=======
+### Preventing an Effect from firing too often {/*preventing-an-effect-from-firing-too-often*/}
+
+Sometimes, you might want to use a value inside an [Effect:](/learn/synchronizing-with-effects)
+
+```js {4-7,10}
+function ChatRoom({ roomId }) {
+ const [message, setMessage] = useState('');
+
+ const options = {
+ serverUrl: 'https://localhost:1234',
+ roomId: roomId
+ }
+
+ useEffect(() => {
+ const connection = createConnection(options);
+ connection.connect();
+ // ...
+```
+
+This creates a problem. [Every reactive value must be declared as a dependency of your Effect.](/learn/lifecycle-of-reactive-effects#react-verifies-that-you-specified-every-reactive-value-as-a-dependency) However, if you declare `options` as a dependency, it will cause your Effect to constantly reconnect to the chat room:
+
+
+```js {5}
+ useEffect(() => {
+ const connection = createConnection(options);
+ connection.connect();
+ return () => connection.disconnect();
+ }, [options]); // 🔴 Problem: This dependency changes on every render
+ // ...
+```
+
+To solve this, you can wrap the object you need to call from an Effect in `useMemo`:
+
+```js {4-9,16}
+function ChatRoom({ roomId }) {
+ const [message, setMessage] = useState('');
+
+ const options = useMemo(() => {
+ return {
+ serverUrl: 'https://localhost:1234',
+ roomId: roomId
+ };
+ }, [roomId]); // ✅ Only changes when roomId changes
+
+ useEffect(() => {
+ const options = createOptions();
+ const connection = createConnection(options);
+ connection.connect();
+ return () => connection.disconnect();
+ }, [options]); // ✅ Only changes when createOptions changes
+ // ...
+```
+
+This ensures that the `options` object is the same between re-renders if `useMemo` returns the cached object.
+
+However, since `useMemo` is performance optimization, not a semantic guarantee, React may throw away the cached value if [there is a specific reason to do that](#caveats). This will also cause the effect to re-fire, **so it's even better to remove the need for a function dependency** by moving your object *inside* the Effect:
+
+```js {5-8,13}
+function ChatRoom({ roomId }) {
+ const [message, setMessage] = useState('');
+
+ useEffect(() => {
+ const options = { // ✅ No need for useMemo or object dependencies!
+ serverUrl: 'https://localhost:1234',
+ roomId: roomId
+ }
+
+ const connection = createConnection(options);
+ connection.connect();
+ return () => connection.disconnect();
+ }, [roomId]); // ✅ Only changes when roomId changes
+ // ...
+```
+
+Now your code is simpler and doesn't need `useMemo`. [Learn more about removing Effect dependencies.](/learn/removing-effect-dependencies#move-dynamic-objects-and-functions-inside-your-effect)
+
+
+### Memoizing a dependency of another Hook {/*memoizing-a-dependency-of-another-hook*/}
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
Supposons que vous ayez un calcul qui dépende d'un objet créé directement au sein du composant :
diff --git a/src/content/reference/react/useReducer.md b/src/content/reference/react/useReducer.md
index 01a419573..31ce09f06 100644
--- a/src/content/reference/react/useReducer.md
+++ b/src/content/reference/react/useReducer.md
@@ -51,8 +51,14 @@ function MyComponent() {
#### Limitations {/*caveats*/}
+<<<<<<< HEAD
* `useReducer` est un Hook, vous ne pouvez donc l'appeler **qu'au niveau racine de votre composant** ou dans vos propres Hooks. Vous ne pouvez pas l'appeler dans des boucles ou des conditions. Si vous avez besoin de le faire, extrayez un nouveau composant et déplacez-y l'état.
* En Mode Strict, React **appellera deux fois votre réducteur et votre fonction d'initialisation** afin de [vous aider à détecter des impuretés accidentelles](#my-reducer-or-initializer-function-runs-twice). Ce comportement est limité au développement et n'affecte pas la production. Si votre réducteur et votre fonction d'initialisation sont pures (ce qui devrait être le cas), ça n'impactera pas votre logique. Le résultat de l'un des appels est ignoré.
+=======
+* `useReducer` is a Hook, so you can only call it **at the top level of your component** or your own Hooks. You can't call it inside loops or conditions. If you need that, extract a new component and move the state into it.
+* The `dispatch` function has a stable identity, so you will often see it omitted from effect dependencies, but including it will not cause the effect to fire. If the linter lets you omit a dependency without errors, it is safe to do. [Learn more about removing Effect dependencies.](/learn/removing-effect-dependencies#move-dynamic-objects-and-functions-inside-your-effect)
+* In Strict Mode, React will **call your reducer and initializer twice** in order to [help you find accidental impurities.](#my-reducer-or-initializer-function-runs-twice) This is development-only behavior and does not affect production. If your reducer and initializer are pure (as they should be), this should not affect your logic. The result from one of the calls is ignored.
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
---
diff --git a/src/content/reference/react/useState.md b/src/content/reference/react/useState.md
index d4400c61a..d8b1398c4 100644
--- a/src/content/reference/react/useState.md
+++ b/src/content/reference/react/useState.md
@@ -85,7 +85,13 @@ Les fonctions de mise à jour (celles renvoyées par `useState`) n'ont pas de va
* React [met à jour les états par lots](/learn/queueing-a-series-of-state-updates). Il met à jour l'écran **après que tous les gestionnaires d'événements ont été lancés** et qu'ils auront appelé leurs fonctions de mise à jour. Ça évite des rendus inutiles suite à un unique événement. Dans les rares cas où vous auriez besoin de forcer React à mettre à jour l'écran plus tôt, par exemple pour accéder au DOM, vous pouvez utiliser [`flushSync`](/reference/react-dom/flushSync).
+<<<<<<< HEAD
* Il est possible d'appeler la fonction de mise à jour *pendant le rendu*, mais uniquement au sein du composant en cours de rendu. React ignorera le JSX résultat pour refaire immédiatement un rendu avec le nouvel état. Cette approche est rarement nécessaire, mais vous pouvez l'utiliser pour **stocker des informations des précédents rendus**. [Voir un exemple ci-dessous](#storing-information-from-previous-renders).
+=======
+* The `set` function has a stable identity, so you will often see it omitted from effect dependencies, but including it will not cause the effect to fire. If the linter lets you omit a dependency without errors, it is safe to do. [Learn more about removing Effect dependencies.](/learn/removing-effect-dependencies#move-dynamic-objects-and-functions-inside-your-effect)
+
+* Calling the `set` function *during rendering* is only allowed from within the currently rendering component. React will discard its output and immediately attempt to render it again with the new state. This pattern is rarely needed, but you can use it to **store information from the previous renders**. [See an example below.](#storing-information-from-previous-renders)
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
* En Mode Strict, React **appellera votre fonction d'initialisation deux fois** afin de vous aider à [détecter des impuretés accidentelles](#my-initializer-or-updater-function-runs-twice). Ce comportement est spécifique au mode développement et n'affecte pas la production. Si votre fonction de mise à jour est pure (ce qui devrait être le cas), ça ne devrait pas affecter le comportement. Le résultat d'un des appels sera ignoré.
diff --git a/src/content/reference/react/useSyncExternalStore.md b/src/content/reference/react/useSyncExternalStore.md
index d249bb6a3..ff57ae75a 100644
--- a/src/content/reference/react/useSyncExternalStore.md
+++ b/src/content/reference/react/useSyncExternalStore.md
@@ -41,7 +41,11 @@ Il renvoie un instantané de cette donnée issue de la source. Vous aurez besoi
#### Paramètres {/*parameters*/}
+<<<<<<< HEAD
* `subscribe` : une fonction acceptant un unique argument `callback` qui s'abonne à la source de données. Lorsque la source évolue, elle est censée invoquer `callback`. Ça permettra au composant de refaire un rendu. La fonction `subscribe` est censée renvoyer une fonction qui procède au désabonnement associé.
+=======
+* `subscribe`: A function that takes a single `callback` argument and subscribes it to the store. When the store changes, it should invoke the provided `callback`, which will cause React to re-call `getSnapshot` and (if needed) re-render the component. The `subscribe` function should return a function that cleans up the subscription.
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
* `getSnapshot` : une fonction qui renvoie un instantané de la donnée requise par le composant au sein de la source. Tant que la source n'évolue pas, des appels répétés à `getSnapshot` sont censés renvoyer la même valeur. Si la source évolue et que la valeur renvoyée diffère soudain (en comparant à l'aide de [`Object.is`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/is)), React refait un rendu du composant.
diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md
index f043e01ee..6ea93352e 100644
--- a/src/content/reference/react/useTransition.md
+++ b/src/content/reference/react/useTransition.md
@@ -80,7 +80,13 @@ function TabContainer() {
* La fonction que vous passez à `startTransition` doit être synchrone. React exécute cette fonction immédiatement, et marque toutes les mises à jour demandées lors de son exécution comme des Transitions. Si vous essayez de faire des mises à jour d'état plus tard (par exemple avec un timer), elles ne seront pas marquées comme des Transitions.
+<<<<<<< HEAD
* Une mise à jour d'état marquée comme une Transition pourra être interrompue par d'autres mises à jour d'état. Par exemple, si vous mettez à jour un composant de graphe au sein d'une Transition, mais commencez alors une saisie dans un champ texte tandis que le graphe est en train de refaire son rendu, React redémarrera le rendu du composant graphe après avoir traité la mise à jour d'état du champ.
+=======
+* The `startTransition` function has a stable identity, so you will often see it omitted from effect dependencies, but including it will not cause the effect to fire. If the linter lets you omit a dependency without errors, it is safe to do. [Learn more about removing Effect dependencies.](/learn/removing-effect-dependencies#move-dynamic-objects-and-functions-inside-your-effect)
+
+* A state update marked as a Transition will be interrupted by other state updates. For example, if you update a chart component inside a Transition, but then start typing into an input while the chart is in the middle of a re-render, React will restart the rendering work on the chart component after handling the input update.
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
* Les mises à jour en Transition ne peuvent pas être utilisées pour contrôler des champs textuels.
diff --git a/src/content/reference/rsc/server-actions.md b/src/content/reference/rsc/server-actions.md
index 7c92273aa..bfef323eb 100644
--- a/src/content/reference/rsc/server-actions.md
+++ b/src/content/reference/rsc/server-actions.md
@@ -55,7 +55,7 @@ When React renders the `EmptyNote` Server Component, it will create a reference
export default function Button({onClick}) {
console.log(onClick);
// {$$typeof: Symbol.for("react.server.reference"), $$id: 'createNoteAction'}
- return
+ return
}
```
diff --git a/src/siteConfig.js b/src/siteConfig.js
index c083940a5..e4f1ba047 100644
--- a/src/siteConfig.js
+++ b/src/siteConfig.js
@@ -15,7 +15,7 @@ exports.siteConfig = {
twitterUrl: 'https://twitter.com/reactjs',
algolia: {
appId: '1FCF9AYYAT',
- apiKey: 'e8451218980a351815563de007648b00',
+ apiKey: '1b7ad4e1c89e645e351e59d40544eda1',
indexName: 'beta-react',
},
};
diff --git a/src/utils/finishedTranslations.ts b/src/utils/finishedTranslations.ts
index b2aceb172..6f509f0b5 100644
--- a/src/utils/finishedTranslations.ts
+++ b/src/utils/finishedTranslations.ts
@@ -11,5 +11,6 @@ export const finishedTranslations = [
'es',
'fr',
'ja',
- 'tr'
+ 'tr',
+ 'ko'
];
diff --git a/vercel.json b/vercel.json
index 35e5721b0..de805bbc8 100644
--- a/vercel.json
+++ b/vercel.json
@@ -24,6 +24,11 @@
"destination": "/learn/rendering-lists#keeping-list-items-in-order-with-key",
"permanent": false
},
+ {
+ "source": "/docs/lists-and-keys",
+ "destination": "/learn/rendering-lists#keeping-list-items-in-order-with-key",
+ "permanent": false
+ },
{
"source": "/link/invalid-hook-call",
"destination": "/warnings/invalid-hook-call-warning",
diff --git a/yarn.lock b/yarn.lock
index 646cb8e1b..9fb5e5396 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,20 +2,36 @@
# yarn lockfile v1
+<<<<<<< HEAD
"@algolia/autocomplete-core@1.2.2":
version "1.2.2"
resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.2.2.tgz"
integrity sha512-JOQaURze45qVa8OOFDh+ozj2a/ObSRsVyz6Zd0aiBeej+RSTqrr1hDVpGNbbXYLW26G5ujuc9QIdH+rBHn95nw==
+=======
+"@algolia/autocomplete-core@1.9.3":
+ version "1.9.3"
+ resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz"
+ integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
dependencies:
- "@algolia/autocomplete-shared" "1.2.2"
+ "@algolia/autocomplete-plugin-algolia-insights" "1.9.3"
+ "@algolia/autocomplete-shared" "1.9.3"
+<<<<<<< HEAD
"@algolia/autocomplete-preset-algolia@1.2.2":
version "1.2.2"
resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.2.2.tgz"
integrity sha512-AZkh+bAMaJDzMZTelFOXJTJqkp5VPGH8W3n0B+Ggce7DdozlMRsDLguKTCQAkZ0dJ1EbBPyFL5ztL/JImB137Q==
+=======
+"@algolia/autocomplete-plugin-algolia-insights@1.9.3":
+ version "1.9.3"
+ resolved "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz"
+ integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
dependencies:
- "@algolia/autocomplete-shared" "1.2.2"
+ "@algolia/autocomplete-shared" "1.9.3"
+<<<<<<< HEAD
"@algolia/autocomplete-shared@1.2.2":
version "1.2.2"
resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.2.2.tgz"
@@ -25,9 +41,16 @@
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.12.0.tgz"
integrity sha512-l+G560B6N1k0rIcOjTO1yCzFUbg2Zy2HCii9s03e13jGgqduVQmk79UUCYszjsJ5GPJpUEKcVEtAIpP7tjsXVA==
+=======
+"@algolia/autocomplete-preset-algolia@1.9.3":
+ version "1.9.3"
+ resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz"
+ integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
dependencies:
- "@algolia/cache-common" "4.12.0"
+ "@algolia/autocomplete-shared" "1.9.3"
+<<<<<<< HEAD
"@algolia/cache-common@4.12.0":
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.12.0.tgz"
@@ -37,54 +60,104 @@
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.12.0.tgz"
integrity sha512-b6ANkZF6vGAo+sYv6g25W5a0u3o6F549gEAgtTDTVA1aHcdWwe/HG/dTJ7NsnHbuR+A831tIwnNYQjRp3/V/Jw==
+=======
+"@algolia/autocomplete-shared@1.9.3":
+ version "1.9.3"
+ resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz"
+ integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==
+
+"@algolia/cache-browser-local-storage@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz"
+ integrity sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
dependencies:
- "@algolia/cache-common" "4.12.0"
+ "@algolia/cache-common" "4.24.0"
+<<<<<<< HEAD
"@algolia/client-account@4.12.0":
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.12.0.tgz"
integrity sha512-gzXN75ZydNheNXUN3epS+aLsKnB/PHFVlGUUjXL8WHs4lJP3B5FtHvaA/NCN5DsM3aamhuY5p0ff1XIA+Lbcrw==
+=======
+"@algolia/cache-common@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz"
+ integrity sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==
+
+"@algolia/cache-in-memory@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz"
+ integrity sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
dependencies:
- "@algolia/client-common" "4.12.0"
- "@algolia/client-search" "4.12.0"
- "@algolia/transporter" "4.12.0"
+ "@algolia/cache-common" "4.24.0"
+<<<<<<< HEAD
"@algolia/client-analytics@4.12.0":
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.12.0.tgz"
integrity sha512-rO2cZCt00Opk66QBZb7IBGfCq4ZE3EiuGkXssf2Monb5urujy0r8CknK2i7bzaKtPbd2vlvhmLP4CEHQqF6SLQ==
- dependencies:
- "@algolia/client-common" "4.12.0"
- "@algolia/client-search" "4.12.0"
- "@algolia/requester-common" "4.12.0"
- "@algolia/transporter" "4.12.0"
-
+=======
+"@algolia/client-account@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz"
+ integrity sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
+ dependencies:
+ "@algolia/client-common" "4.24.0"
+ "@algolia/client-search" "4.24.0"
+ "@algolia/transporter" "4.24.0"
+
+<<<<<<< HEAD
"@algolia/client-common@4.12.0":
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.12.0.tgz"
integrity sha512-fcrFN7FBmxiSyjeu3sF4OnPkC1l7/8oyQ8RMM8CHpVY8cad6/ay35MrfRfgfqdzdFA8LzcBYO7fykuJv0eOqxw==
- dependencies:
- "@algolia/requester-common" "4.12.0"
- "@algolia/transporter" "4.12.0"
-
+=======
+"@algolia/client-analytics@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz"
+ integrity sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
+ dependencies:
+ "@algolia/client-common" "4.24.0"
+ "@algolia/client-search" "4.24.0"
+ "@algolia/requester-common" "4.24.0"
+ "@algolia/transporter" "4.24.0"
+
+<<<<<<< HEAD
"@algolia/client-personalization@4.12.0":
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.12.0.tgz"
integrity sha512-wCJfSQEmX6ZOuJBJGjy+sbXiW0iy7tMNAhsVMV9RRaJE4727e5WAqwFWZssD877WQ74+/nF/VyTaB1+wejo33Q==
+=======
+"@algolia/client-common@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz"
+ integrity sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
dependencies:
- "@algolia/client-common" "4.12.0"
- "@algolia/requester-common" "4.12.0"
- "@algolia/transporter" "4.12.0"
+ "@algolia/requester-common" "4.24.0"
+ "@algolia/transporter" "4.24.0"
+<<<<<<< HEAD
"@algolia/client-search@4.12.0":
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.12.0.tgz"
integrity sha512-ik6dswcTQtOdZN+8aKntI9X2E6Qpqjtyda/+VANiHThY9GD2PBXuNuuC2HvlF26AbBYp5xaSE/EKxn1DIiIJ4Q==
- dependencies:
- "@algolia/client-common" "4.12.0"
- "@algolia/requester-common" "4.12.0"
- "@algolia/transporter" "4.12.0"
-
+=======
+"@algolia/client-personalization@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz"
+ integrity sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
+ dependencies:
+ "@algolia/client-common" "4.24.0"
+ "@algolia/requester-common" "4.24.0"
+ "@algolia/transporter" "4.24.0"
+
+<<<<<<< HEAD
"@algolia/logger-common@4.12.0":
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.12.0.tgz"
@@ -94,16 +167,37 @@
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.12.0.tgz"
integrity sha512-pHvoGv53KXRIJHLk9uxBwKirwEo12G9+uo0sJLWESThAN3v5M+ycliU1AkUXQN8+9rds2KxfULAb+vfyfBKf8A==
- dependencies:
- "@algolia/logger-common" "4.12.0"
-
+=======
+"@algolia/client-search@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz"
+ integrity sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
+ dependencies:
+ "@algolia/client-common" "4.24.0"
+ "@algolia/requester-common" "4.24.0"
+ "@algolia/transporter" "4.24.0"
+
+<<<<<<< HEAD
"@algolia/requester-browser-xhr@4.12.0":
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.12.0.tgz"
integrity sha512-rGlHNMM3jIZBwSpz33CVkeXHilzuzHuFXEEW1icP/k3KW7kwBrKFJwBy42RzAJa5BYlLsTCFTS3xkPhYwTQKLg==
+=======
+"@algolia/logger-common@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz"
+ integrity sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==
+
+"@algolia/logger-console@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz"
+ integrity sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
dependencies:
- "@algolia/requester-common" "4.12.0"
+ "@algolia/logger-common" "4.24.0"
+<<<<<<< HEAD
"@algolia/requester-common@4.12.0":
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.12.0.tgz"
@@ -113,17 +207,59 @@
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.12.0.tgz"
integrity sha512-mOTRGf/v/dXshBoZKNhMG00ZGxoUH9QdSpuMKYnuWwIgstN24uj3DQx+Ho3c+uq0TYfq7n2v71uoJWuiW32NMQ==
- dependencies:
- "@algolia/requester-common" "4.12.0"
-
+=======
+"@algolia/recommend@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz"
+ integrity sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
+ dependencies:
+ "@algolia/cache-browser-local-storage" "4.24.0"
+ "@algolia/cache-common" "4.24.0"
+ "@algolia/cache-in-memory" "4.24.0"
+ "@algolia/client-common" "4.24.0"
+ "@algolia/client-search" "4.24.0"
+ "@algolia/logger-common" "4.24.0"
+ "@algolia/logger-console" "4.24.0"
+ "@algolia/requester-browser-xhr" "4.24.0"
+ "@algolia/requester-common" "4.24.0"
+ "@algolia/requester-node-http" "4.24.0"
+ "@algolia/transporter" "4.24.0"
+
+<<<<<<< HEAD
"@algolia/transporter@4.12.0":
version "4.12.0"
resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.12.0.tgz"
integrity sha512-MOQVHZ4BcBpf3LtOY/3fqXHAcvI8MahrXDHk9QrBE/iGensQhDiZby5Dn3o2JN/zd9FMnVbdPQ8gnkiMwZiakQ==
+=======
+"@algolia/requester-browser-xhr@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz"
+ integrity sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
+ dependencies:
+ "@algolia/requester-common" "4.24.0"
+
+"@algolia/requester-common@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz"
+ integrity sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==
+
+"@algolia/requester-node-http@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz"
+ integrity sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==
+ dependencies:
+ "@algolia/requester-common" "4.24.0"
+
+"@algolia/transporter@4.24.0":
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz"
+ integrity sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==
dependencies:
- "@algolia/cache-common" "4.12.0"
- "@algolia/logger-common" "4.12.0"
- "@algolia/requester-common" "4.12.0"
+ "@algolia/cache-common" "4.24.0"
+ "@algolia/logger-common" "4.24.0"
+ "@algolia/requester-common" "4.24.0"
"@alloc/quick-lru@^5.2.0":
version "5.2.0"
@@ -138,6 +274,16 @@
"@jridgewell/gen-mapping" "^0.1.0"
"@jridgewell/trace-mapping" "^0.3.9"
+<<<<<<< HEAD
+=======
+"@babel/code-frame@7.12.11":
+ version "7.12.11"
+ resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz"
+ integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
+ dependencies:
+ "@babel/highlight" "^7.10.4"
+
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7":
version "7.16.7"
resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz"
@@ -372,11 +518,14 @@
"@babel/parser@^7.18.10":
version "7.19.0"
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz"
+<<<<<<< HEAD
integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==
"@babel/parser@^7.19.0":
version "7.19.0"
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz"
+=======
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==
"@babel/plugin-syntax-jsx@^7.18.6":
@@ -679,6 +828,7 @@
resolved "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz"
integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==
+<<<<<<< HEAD
"@docsearch/css@3.0.0-alpha.41":
version "3.0.0-alpha.41"
resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0-alpha.41.tgz"
@@ -688,11 +838,22 @@
version "3.0.0-alpha.41"
resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0-alpha.41.tgz"
integrity sha512-UL0Gdter/NUea04lGuBGH0GzQ2/2q/hBfn7Rjo71rRKbjtfkQCM92leJ9tZ+9j9sFLoyuHb9XMm/B8vCjWwTEg==
- dependencies:
- "@algolia/autocomplete-core" "1.2.2"
- "@algolia/autocomplete-preset-algolia" "1.2.2"
- "@docsearch/css" "3.0.0-alpha.41"
- algoliasearch "^4.0.0"
+=======
+"@docsearch/css@3.6.1", "@docsearch/css@^3.6.1":
+ version "3.6.1"
+ resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.6.1.tgz"
+ integrity sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==
+
+"@docsearch/react@^3.6.1":
+ version "3.6.1"
+ resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.6.1.tgz"
+ integrity sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
+ dependencies:
+ "@algolia/autocomplete-core" "1.9.3"
+ "@algolia/autocomplete-preset-algolia" "1.9.3"
+ "@docsearch/css" "3.6.1"
+ algoliasearch "^4.19.1"
"@eslint/eslintrc@^0.4.3":
version "0.4.3"
@@ -1521,25 +1682,33 @@ ajv@^8.0.1:
require-from-string "^2.0.2"
uri-js "^4.2.2"
+<<<<<<< HEAD
algoliasearch@^4.0.0:
version "4.12.0"
resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.12.0.tgz"
integrity sha512-fZOMMm+F3Bi5M/MoFIz7hiuyCitJza0Hu+r8Wzz4LIQClC6YGMRq7kT6NNU1fSSoFDSeJIwMfedbbi5G9dJoVQ==
- dependencies:
- "@algolia/cache-browser-local-storage" "4.12.0"
- "@algolia/cache-common" "4.12.0"
- "@algolia/cache-in-memory" "4.12.0"
- "@algolia/client-account" "4.12.0"
- "@algolia/client-analytics" "4.12.0"
- "@algolia/client-common" "4.12.0"
- "@algolia/client-personalization" "4.12.0"
- "@algolia/client-search" "4.12.0"
- "@algolia/logger-common" "4.12.0"
- "@algolia/logger-console" "4.12.0"
- "@algolia/requester-browser-xhr" "4.12.0"
- "@algolia/requester-common" "4.12.0"
- "@algolia/requester-node-http" "4.12.0"
- "@algolia/transporter" "4.12.0"
+=======
+algoliasearch@^4.19.1:
+ version "4.24.0"
+ resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz"
+ integrity sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
+ dependencies:
+ "@algolia/cache-browser-local-storage" "4.24.0"
+ "@algolia/cache-common" "4.24.0"
+ "@algolia/cache-in-memory" "4.24.0"
+ "@algolia/client-account" "4.24.0"
+ "@algolia/client-analytics" "4.24.0"
+ "@algolia/client-common" "4.24.0"
+ "@algolia/client-personalization" "4.24.0"
+ "@algolia/client-search" "4.24.0"
+ "@algolia/logger-common" "4.24.0"
+ "@algolia/logger-console" "4.24.0"
+ "@algolia/recommend" "4.24.0"
+ "@algolia/requester-browser-xhr" "4.24.0"
+ "@algolia/requester-common" "4.24.0"
+ "@algolia/requester-node-http" "4.24.0"
+ "@algolia/transporter" "4.24.0"
anser@^2.1.1:
version "2.1.1"
@@ -1872,10 +2041,27 @@ camelcase-css@^2.0.1:
resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz"
integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
+<<<<<<< HEAD
caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001406:
version "1.0.30001572"
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001572.tgz"
integrity sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==
+=======
+caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297:
+ version "1.0.30001301"
+ resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz"
+ integrity sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==
+
+caniuse-lite@^1.0.30001370:
+ version "1.0.30001390"
+ resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz"
+ integrity sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g==
+
+caniuse-lite@^1.0.30001406:
+ version "1.0.30001410"
+ resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001410.tgz"
+ integrity sha512-QoblBnuE+rG0lc3Ur9ltP5q47lbguipa/ncNMyyGuqPk44FxbScWAeEO+k5fSQ8WekdAK4mWqNs1rADDAiN5xQ==
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
ccount@^1.0.0:
version "1.1.0"
@@ -1899,6 +2085,7 @@ chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
chalk@^4.0.0:
version "4.1.2"
resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
+<<<<<<< HEAD
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
dependencies:
ansi-styles "^4.1.0"
@@ -1907,6 +2094,8 @@ chalk@^4.0.0:
chalk@^4.1.0:
version "4.1.2"
resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
+=======
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
dependencies:
ansi-styles "^4.1.0"
@@ -2039,6 +2228,14 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
+<<<<<<< HEAD
+=======
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
@@ -2147,6 +2344,7 @@ cross-spawn@^6.0.5:
cross-spawn@^7.0.2:
version "7.0.3"
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
+<<<<<<< HEAD
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
dependencies:
path-key "^3.1.0"
@@ -2156,6 +2354,8 @@ cross-spawn@^7.0.2:
cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
+=======
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
dependencies:
path-key "^3.1.0"
@@ -3126,6 +3326,21 @@ glob@7.1.7:
once "^1.3.0"
path-is-absolute "^1.0.0"
+<<<<<<< HEAD
+=======
+glob@^7.1.3, glob@^7.1.7:
+ version "7.2.0"
+ resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz"
+ integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
globals@^11.1.0:
version "11.12.0"
resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
@@ -3134,6 +3349,7 @@ globals@^11.1.0:
globals@^13.6.0:
version "13.12.0"
resolved "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz"
+<<<<<<< HEAD
integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==
dependencies:
type-fest "^0.20.2"
@@ -3141,6 +3357,8 @@ globals@^13.6.0:
globals@^13.9.0:
version "13.12.0"
resolved "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz"
+=======
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==
dependencies:
type-fest "^0.20.2"
@@ -3780,6 +3998,14 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
+<<<<<<< HEAD
+=======
+lilconfig@2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz"
+ integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==
+
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
lilconfig@^2.0.5, lilconfig@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz"
@@ -4141,11 +4367,14 @@ mdast-util-to-string@^1.1.0:
mdast-util-to-string@^3.0.0:
version "3.1.0"
resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz"
+<<<<<<< HEAD
integrity sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==
mdast-util-to-string@^3.1.0:
version "3.1.0"
resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz"
+=======
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
integrity sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==
mdurl@^1.0.0:
@@ -4606,6 +4835,16 @@ mime-db@~1.25.0:
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz"
integrity sha1-wY29fHOl2/b0SgJNwNFloeexw5I=
+<<<<<<< HEAD
+=======
+mime-types@2.1.13:
+ version "2.1.13"
+ resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz"
+ integrity sha1-4HqqnGxrmnyjASxpADrSWjnpKog=
+ dependencies:
+ mime-db "~1.25.0"
+
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
mime-types@~2.1.24, mime-types@~2.1.34:
version "2.1.35"
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
@@ -5481,6 +5720,7 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1:
indexes-of "^1.0.1"
uniq "^1.0.1"
+<<<<<<< HEAD
postcss@^7.0.14:
version "7.0.39"
resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz"
@@ -5524,6 +5764,20 @@ postcss@^7.0.5:
postcss@^7.0.6:
version "7.0.39"
resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz"
+=======
+postcss@8.4.14:
+ version "8.4.14"
+ resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz"
+ integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
+ dependencies:
+ nanoid "^3.3.4"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.2"
+
+postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
+ version "7.0.39"
+ resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz"
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==
dependencies:
picocolors "^0.2.1"
@@ -6032,6 +6286,14 @@ sade@^1.7.3:
dependencies:
mri "^1.1.0"
+<<<<<<< HEAD
+=======
+safe-buffer@5.2.1:
+ version "5.2.1"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
@@ -6075,6 +6337,7 @@ semver@^6.3.0:
semver@^7.2.1:
version "7.3.5"
resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz"
+<<<<<<< HEAD
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
dependencies:
lru-cache "^6.0.0"
@@ -6082,6 +6345,8 @@ semver@^7.2.1:
semver@^7.3.5:
version "7.3.5"
resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz"
+=======
+>>>>>>> fe37c42e0b51167d7f3c98593f50de997d666266
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
dependencies:
lru-cache "^6.0.0"