tinybase 2.2.6 → 3.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -231,10 +231,11 @@ export type UndoOrRedoInformation = [boolean, Callback, Id | undefined, string];
231
231
  * };
232
232
  *
233
233
  * const app = document.createElement('div');
234
- * ReactDOM.render(<App />, app); // !act
234
+ * const root = ReactDOMClient.createRoot(app);
235
+ * root.render(<App />); // !act
235
236
  * // -> 'Store created'
236
237
  *
237
- * ReactDOM.render(<App />, app); // !act
238
+ * root.render(<App />); // !act
238
239
  * // No second Store creation
239
240
  *
240
241
  * console.log(app.innerHTML);
@@ -256,13 +257,14 @@ export type UndoOrRedoInformation = [boolean, Callback, Id | undefined, string];
256
257
  * };
257
258
  *
258
259
  * const app = document.createElement('div');
259
- * ReactDOM.render(<App fidoSpecies="dog" />, app); // !act
260
+ * const root = ReactDOMClient.createRoot(app);
261
+ * root.render(<App fidoSpecies="dog" />); // !act
260
262
  * // -> 'Store created for fido as dog'
261
263
  *
262
264
  * console.log(app.innerHTML);
263
265
  * // -> '<span>dog</span>'
264
266
  *
265
- * ReactDOM.render(<App fidoSpecies="cat" />, app); // !act
267
+ * root.render(<App fidoSpecies="cat" />); // !act
266
268
  * // -> 'Store created for fido as cat'
267
269
  *
268
270
  * console.log(app.innerHTML);
@@ -285,8 +287,8 @@ export function useCreateStore(
285
287
  * component.
286
288
  *
287
289
  * The useStore hook lets you either get a reference to the default Store (when
288
- * called without a parameter), or one of the Store objects that are named by
289
- * Id (when called with an Id parameter).
290
+ * called without a parameter), or one of the Store objects that are named by Id
291
+ * (when called with an Id parameter).
290
292
  *
291
293
  * @param id An optional Id for accessing a Store that was named with an Id in
292
294
  * the Provider.
@@ -307,7 +309,7 @@ export function useCreateStore(
307
309
  *
308
310
  * const store = createStore();
309
311
  * const app = document.createElement('div');
310
- * ReactDOM.render(<App store={store} />, app); // !act
312
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
311
313
  * console.log(app.innerHTML);
312
314
  * // -> '<span>0</span>'
313
315
  * ```
@@ -328,7 +330,7 @@ export function useCreateStore(
328
330
  *
329
331
  * const store = createStore();
330
332
  * const app = document.createElement('div');
331
- * ReactDOM.render(<App store={store} />, app); // !act
333
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
332
334
  * console.log(app.innerHTML);
333
335
  * // -> '<span>0</span>'
334
336
  * ```
@@ -365,7 +367,8 @@ export function useStore(id?: Id): Store | undefined;
365
367
  * const App = () => <span>{JSON.stringify(useTables(store))}</span>;
366
368
  *
367
369
  * const app = document.createElement('div');
368
- * ReactDOM.render(<App />, app); // !act
370
+ * const root = ReactDOMClient.createRoot(app);
371
+ * root.render(<App />); // !act
369
372
  * console.log(app.innerHTML);
370
373
  * // -> '<span>{"pets":{"fido":{"color":"brown"}}}</span>'
371
374
  *
@@ -387,7 +390,7 @@ export function useStore(id?: Id): Store | undefined;
387
390
  *
388
391
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
389
392
  * const app = document.createElement('div');
390
- * ReactDOM.render(<App store={store} />, app); // !act
393
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
391
394
  * console.log(app.innerHTML);
392
395
  * // -> '<span>{"pets":{"fido":{"color":"brown"}}}</span>'
393
396
  * ```
@@ -405,7 +408,7 @@ export function useStore(id?: Id): Store | undefined;
405
408
  *
406
409
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
407
410
  * const app = document.createElement('div');
408
- * ReactDOM.render(<App store={store} />, app); // !act
411
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
409
412
  * console.log(app.innerHTML);
410
413
  * // -> '<span>{"pets":{"fido":{"color":"brown"}}}</span>'
411
414
  * ```
@@ -440,7 +443,7 @@ export function useTables(storeOrStoreId?: StoreOrStoreId): Tables;
440
443
  * const App = () => <span>{JSON.stringify(useTableIds(store))}</span>;
441
444
  *
442
445
  * const app = document.createElement('div');
443
- * ReactDOM.render(<App />, app); // !act
446
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
444
447
  * console.log(app.innerHTML);
445
448
  * // -> '<span>["pets"]</span>'
446
449
  *
@@ -462,7 +465,7 @@ export function useTables(storeOrStoreId?: StoreOrStoreId): Tables;
462
465
  *
463
466
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
464
467
  * const app = document.createElement('div');
465
- * ReactDOM.render(<App store={store} />, app); // !act
468
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
466
469
  * console.log(app.innerHTML);
467
470
  * // -> '<span>["pets"]</span>'
468
471
  * ```
@@ -480,7 +483,7 @@ export function useTables(storeOrStoreId?: StoreOrStoreId): Tables;
480
483
  *
481
484
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
482
485
  * const app = document.createElement('div');
483
- * ReactDOM.render(<App store={store} />, app); // !act
486
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
484
487
  * console.log(app.innerHTML);
485
488
  * // -> '<span>["pets"]</span>'
486
489
  * ```
@@ -518,7 +521,7 @@ export function useTableIds(storeOrStoreId?: StoreOrStoreId): Ids;
518
521
  * const App = () => <span>{JSON.stringify(useTable('pets', store))}</span>;
519
522
  *
520
523
  * const app = document.createElement('div');
521
- * ReactDOM.render(<App />, app); // !act
524
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
522
525
  * console.log(app.innerHTML);
523
526
  * // -> '<span>{"fido":{"color":"brown"}}</span>'
524
527
  *
@@ -540,7 +543,7 @@ export function useTableIds(storeOrStoreId?: StoreOrStoreId): Ids;
540
543
  *
541
544
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
542
545
  * const app = document.createElement('div');
543
- * ReactDOM.render(<App store={store} />, app); // !act
546
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
544
547
  * console.log(app.innerHTML);
545
548
  * // -> '<span>{"fido":{"color":"brown"}}</span>'
546
549
  * ```
@@ -560,7 +563,7 @@ export function useTableIds(storeOrStoreId?: StoreOrStoreId): Ids;
560
563
  *
561
564
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
562
565
  * const app = document.createElement('div');
563
- * ReactDOM.render(<App store={store} />, app); // !act
566
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
564
567
  * console.log(app.innerHTML);
565
568
  * // -> '<span>{"fido":{"color":"brown"}}</span>'
566
569
  * ```
@@ -598,7 +601,7 @@ export function useTable(tableId: Id, storeOrStoreId?: StoreOrStoreId): Table;
598
601
  * const App = () => <span>{JSON.stringify(useRowIds('pets', store))}</span>;
599
602
  *
600
603
  * const app = document.createElement('div');
601
- * ReactDOM.render(<App />, app); // !act
604
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
602
605
  * console.log(app.innerHTML);
603
606
  * // -> '<span>["fido"]</span>'
604
607
  *
@@ -620,7 +623,7 @@ export function useTable(tableId: Id, storeOrStoreId?: StoreOrStoreId): Table;
620
623
  *
621
624
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
622
625
  * const app = document.createElement('div');
623
- * ReactDOM.render(<App store={store} />, app); // !act
626
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
624
627
  * console.log(app.innerHTML);
625
628
  * // -> '<span>["fido"]</span>'
626
629
  * ```
@@ -640,7 +643,7 @@ export function useTable(tableId: Id, storeOrStoreId?: StoreOrStoreId): Table;
640
643
  *
641
644
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
642
645
  * const app = document.createElement('div');
643
- * ReactDOM.render(<App store={store} />, app); // !act
646
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
644
647
  * console.log(app.innerHTML);
645
648
  * // -> '<span>["fido"]</span>'
646
649
  * ```
@@ -694,7 +697,7 @@ export function useRowIds(tableId: Id, storeOrStoreId?: StoreOrStoreId): Ids;
694
697
  * );
695
698
  *
696
699
  * const app = document.createElement('div');
697
- * ReactDOM.render(<App />, app); // !act
700
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
698
701
  * console.log(app.innerHTML);
699
702
  * // -> '<span>["felix","fido"]</span>'
700
703
  *
@@ -721,7 +724,7 @@ export function useRowIds(tableId: Id, storeOrStoreId?: StoreOrStoreId): Ids;
721
724
  * },
722
725
  * });
723
726
  * const app = document.createElement('div');
724
- * ReactDOM.render(<App store={store} />, app); // !act
727
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
725
728
  * console.log(app.innerHTML);
726
729
  * // -> '<span>["felix","fido"]</span>'
727
730
  * ```
@@ -750,7 +753,7 @@ export function useRowIds(tableId: Id, storeOrStoreId?: StoreOrStoreId): Ids;
750
753
  * },
751
754
  * });
752
755
  * const app = document.createElement('div');
753
- * ReactDOM.render(<App store={store} />, app); // !act
756
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
754
757
  * console.log(app.innerHTML);
755
758
  * // -> '<span>["felix","fido"]</span>'
756
759
  * ```
@@ -799,7 +802,7 @@ export function useSortedRowIds(
799
802
  * );
800
803
  *
801
804
  * const app = document.createElement('div');
802
- * ReactDOM.render(<App />, app); // !act
805
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
803
806
  * console.log(app.innerHTML);
804
807
  * // -> '<span>{"color":"brown"}</span>'
805
808
  *
@@ -821,7 +824,7 @@ export function useSortedRowIds(
821
824
  *
822
825
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
823
826
  * const app = document.createElement('div');
824
- * ReactDOM.render(<App store={store} />, app); // !act
827
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
825
828
  * console.log(app.innerHTML);
826
829
  * // -> '<span>{"color":"brown"}</span>'
827
830
  * ```
@@ -841,7 +844,7 @@ export function useSortedRowIds(
841
844
  *
842
845
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
843
846
  * const app = document.createElement('div');
844
- * ReactDOM.render(<App store={store} />, app); // !act
847
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
845
848
  * console.log(app.innerHTML);
846
849
  * // -> '<span>{"color":"brown"}</span>'
847
850
  * ```
@@ -886,7 +889,7 @@ export function useRow(
886
889
  * );
887
890
  *
888
891
  * const app = document.createElement('div');
889
- * ReactDOM.render(<App />, app); // !act
892
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
890
893
  * console.log(app.innerHTML);
891
894
  * // -> '<span>["color"]</span>'
892
895
  *
@@ -910,7 +913,7 @@ export function useRow(
910
913
  *
911
914
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
912
915
  * const app = document.createElement('div');
913
- * ReactDOM.render(<App store={store} />, app); // !act
916
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
914
917
  * console.log(app.innerHTML);
915
918
  * // -> '<span>["color"]</span>'
916
919
  * ```
@@ -930,7 +933,7 @@ export function useRow(
930
933
  *
931
934
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
932
935
  * const app = document.createElement('div');
933
- * ReactDOM.render(<App store={store} />, app); // !act
936
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
934
937
  * console.log(app.innerHTML);
935
938
  * // -> '<span>["color"]</span>'
936
939
  * ```
@@ -974,7 +977,7 @@ export function useCellIds(
974
977
  * const App = () => <span>{useCell('pets', 'fido', 'color', store)}</span>;
975
978
  *
976
979
  * const app = document.createElement('div');
977
- * ReactDOM.render(<App />, app); // !act
980
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
978
981
  * console.log(app.innerHTML);
979
982
  * // -> '<span>brown</span>'
980
983
  *
@@ -996,7 +999,7 @@ export function useCellIds(
996
999
  *
997
1000
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
998
1001
  * const app = document.createElement('div');
999
- * ReactDOM.render(<App store={store} />, app); // !act
1002
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
1000
1003
  * console.log(app.innerHTML);
1001
1004
  * // -> '<span>brown</span>'
1002
1005
  * ```
@@ -1016,7 +1019,7 @@ export function useCellIds(
1016
1019
  *
1017
1020
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
1018
1021
  * const app = document.createElement('div');
1019
- * ReactDOM.render(<App store={store} />, app); // !act
1022
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
1020
1023
  * console.log(app.innerHTML);
1021
1024
  * // -> '<span>brown</span>'
1022
1025
  * ```
@@ -1090,7 +1093,7 @@ export function useCell(
1090
1093
  * };
1091
1094
  *
1092
1095
  * const app = document.createElement('div');
1093
- * ReactDOM.render(<App />, app); // !act
1096
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
1094
1097
  * const span = app.querySelector('span');
1095
1098
  * console.log(span.innerHTML);
1096
1099
  * // -> '{"pets":{"nemo":{"species":"fish"}}}'
@@ -1175,7 +1178,7 @@ export function useSetTablesCallback<Parameter>(
1175
1178
  * };
1176
1179
  *
1177
1180
  * const app = document.createElement('div');
1178
- * ReactDOM.render(<App />, app); // !act
1181
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
1179
1182
  * const span = app.querySelector('span');
1180
1183
  * console.log(span.innerHTML);
1181
1184
  * // -> '{"nemo":{"species":"fish"}}'
@@ -1263,7 +1266,7 @@ export function useSetTableCallback<Parameter>(
1263
1266
  * };
1264
1267
  *
1265
1268
  * const app = document.createElement('div');
1266
- * ReactDOM.render(<App />, app); // !act
1269
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
1267
1270
  * const span = app.querySelector('span');
1268
1271
  * console.log(span.innerHTML);
1269
1272
  * // -> '{"species":"fish"}'
@@ -1350,7 +1353,7 @@ export function useSetRowCallback<Parameter>(
1350
1353
  * };
1351
1354
  *
1352
1355
  * const app = document.createElement('div');
1353
- * ReactDOM.render(<App />, app); // !act
1356
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
1354
1357
  * const span = app.querySelector('span');
1355
1358
  * console.log(span.innerHTML);
1356
1359
  * // -> '{"nemo":{"species":"fish"}}'
@@ -1440,7 +1443,7 @@ export function useAddRowCallback<Parameter>(
1440
1443
  * };
1441
1444
  *
1442
1445
  * const app = document.createElement('div');
1443
- * ReactDOM.render(<App />, app); // !act
1446
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
1444
1447
  * const span = app.querySelector('span');
1445
1448
  * console.log(span.innerHTML);
1446
1449
  * // -> '{"species":"fish"}'
@@ -1531,7 +1534,7 @@ export function useSetPartialRowCallback<Parameter>(
1531
1534
  * };
1532
1535
  *
1533
1536
  * const app = document.createElement('div');
1534
- * ReactDOM.render(<App />, app); // !act
1537
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
1535
1538
  * const span = app.querySelector('span');
1536
1539
  * console.log(span.innerHTML);
1537
1540
  * // -> '{"species":"fish"}'
@@ -1568,7 +1571,7 @@ export function useSetPartialRowCallback<Parameter>(
1568
1571
  * };
1569
1572
  *
1570
1573
  * const app = document.createElement('div');
1571
- * ReactDOM.render(<App />, app); // !act
1574
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
1572
1575
  * const span = app.querySelector('span');
1573
1576
  * console.log(span.innerHTML);
1574
1577
  * // -> '{"visits":1}'
@@ -1636,7 +1639,7 @@ export function useSetCellCallback<Parameter>(
1636
1639
  * };
1637
1640
  *
1638
1641
  * const app = document.createElement('div');
1639
- * ReactDOM.render(<App />, app); // !act
1642
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
1640
1643
  * const span = app.querySelector('span');
1641
1644
  * console.log(span.innerHTML);
1642
1645
  * // -> '{"pets":{"nemo":{"species":"fish"}}}'
@@ -1700,7 +1703,7 @@ export function useDelTablesCallback(
1700
1703
  * };
1701
1704
  *
1702
1705
  * const app = document.createElement('div');
1703
- * ReactDOM.render(<App />, app); // !act
1706
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
1704
1707
  * const span = app.querySelector('span');
1705
1708
  * console.log(span.innerHTML);
1706
1709
  * // -> '{"pets":{"nemo":{"species":"fish"}}}'
@@ -1766,7 +1769,7 @@ export function useDelTableCallback(
1766
1769
  * };
1767
1770
  *
1768
1771
  * const app = document.createElement('div');
1769
- * ReactDOM.render(<App />, app); // !act
1772
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
1770
1773
  * const span = app.querySelector('span');
1771
1774
  * console.log(span.innerHTML);
1772
1775
  * // -> '{"pets":{"nemo":{"species":"fish"}}}'
@@ -1842,7 +1845,7 @@ export function useDelRowCallback(
1842
1845
  * };
1843
1846
  *
1844
1847
  * const app = document.createElement('div');
1845
- * ReactDOM.render(<App />, app); // !act
1848
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
1846
1849
  * const span = app.querySelector('span');
1847
1850
  * console.log(span.innerHTML);
1848
1851
  * // -> '{"pets":{"nemo":{"species":"fish"}}}'
@@ -1907,14 +1910,15 @@ export function useDelCellCallback(
1907
1910
  *
1908
1911
  * const store = createStore().setTables({pets: {fido: {color: 'brown'}}});
1909
1912
  * const app = document.createElement('div');
1910
- * ReactDOM.render(<App store={store} />, app); // !act
1913
+ * const root = ReactDOMClient.createRoot(app);
1914
+ * root.render(<App store={store} />); // !act
1911
1915
  * console.log(store.getListenerStats().tables);
1912
1916
  * // -> 1
1913
1917
  *
1914
1918
  * store.setCell('pets', 'fido', 'color', 'walnut'); // !act
1915
1919
  * // -> 'Tables changed'
1916
1920
  *
1917
- * ReactDOM.unmountComponentAtNode(app); // !act
1921
+ * root.unmount(); // !act
1918
1922
  * console.log(store.getListenerStats().tables);
1919
1923
  * // -> 0
1920
1924
  * ```
@@ -1969,14 +1973,15 @@ export function useTablesListener(
1969
1973
  *
1970
1974
  * const store = createStore().setTables({pets: {fido: {color: 'brown'}}});
1971
1975
  * const app = document.createElement('div');
1972
- * ReactDOM.render(<App store={store} />, app); // !act
1976
+ * const root = ReactDOMClient.createRoot(app);
1977
+ * root.render(<App store={store} />); // !act
1973
1978
  * console.log(store.getListenerStats().tableIds);
1974
1979
  * // -> 1
1975
1980
  *
1976
1981
  * store.setTable('species', {dog: {price: 5}}); // !act
1977
1982
  * // -> 'Table Ids changed'
1978
1983
  *
1979
- * ReactDOM.unmountComponentAtNode(app); // !act
1984
+ * root.unmount(); // !act
1980
1985
  * console.log(store.getListenerStats().tableIds);
1981
1986
  * // -> 0
1982
1987
  * ```
@@ -2034,14 +2039,15 @@ export function useTableIdsListener(
2034
2039
  *
2035
2040
  * const store = createStore().setTables({pets: {fido: {color: 'brown'}}});
2036
2041
  * const app = document.createElement('div');
2037
- * ReactDOM.render(<App store={store} />, app); // !act
2042
+ * const root = ReactDOMClient.createRoot(app);
2043
+ * root.render(<App store={store} />); // !act
2038
2044
  * console.log(store.getListenerStats().table);
2039
2045
  * // -> 1
2040
2046
  *
2041
2047
  * store.setCell('pets', 'fido', 'color', 'walnut'); // !act
2042
2048
  * // -> 'Table changed'
2043
2049
  *
2044
- * ReactDOM.unmountComponentAtNode(app); // !act
2050
+ * root.unmount(); // !act
2045
2051
  * console.log(store.getListenerStats().table);
2046
2052
  * // -> 0
2047
2053
  * ```
@@ -2100,14 +2106,15 @@ export function useTableListener(
2100
2106
  *
2101
2107
  * const store = createStore().setTables({pets: {fido: {color: 'brown'}}});
2102
2108
  * const app = document.createElement('div');
2103
- * ReactDOM.render(<App store={store} />, app); // !act
2109
+ * const root = ReactDOMClient.createRoot(app);
2110
+ * root.render(<App store={store} />); // !act
2104
2111
  * console.log(store.getListenerStats().rowIds);
2105
2112
  * // -> 1
2106
2113
  *
2107
2114
  * store.setRow('pets', 'felix', {color: 'black'}); // !act
2108
2115
  * // -> 'Row Ids changed'
2109
2116
  *
2110
- * ReactDOM.unmountComponentAtNode(app); // !act
2117
+ * root.unmount(); // !act
2111
2118
  * console.log(store.getListenerStats().rowIds);
2112
2119
  * // -> 0
2113
2120
  * ```
@@ -2177,14 +2184,15 @@ export function useRowIdsListener(
2177
2184
  * },
2178
2185
  * });
2179
2186
  * const app = document.createElement('div');
2180
- * ReactDOM.render(<App store={store} />, app); // !act
2187
+ * const root = ReactDOMClient.createRoot(app);
2188
+ * root.render(<App store={store} />); // !act
2181
2189
  * console.log(store.getListenerStats().sortedRowIds);
2182
2190
  * // -> 1
2183
2191
  *
2184
2192
  * store.setRow('pets', 'cujo', {species: 'wolf'}); // !act
2185
2193
  * // -> 'Sorted Row Ids changed'
2186
2194
  *
2187
- * ReactDOM.unmountComponentAtNode(app); // !act
2195
+ * root.unmount(); // !act
2188
2196
  * console.log(store.getListenerStats().sortedRowIds);
2189
2197
  * // -> 0
2190
2198
  * ```
@@ -2255,14 +2263,15 @@ export function useSortedRowIdsListener(
2255
2263
  *
2256
2264
  * const store = createStore().setTables({pets: {fido: {color: 'brown'}}});
2257
2265
  * const app = document.createElement('div');
2258
- * ReactDOM.render(<App store={store} />, app); // !act
2266
+ * const root = ReactDOMClient.createRoot(app);
2267
+ * root.render(<App store={store} />); // !act
2259
2268
  * console.log(store.getListenerStats().row);
2260
2269
  * // -> 1
2261
2270
  *
2262
2271
  * store.setCell('pets', 'fido', 'color', 'walnut'); // !act
2263
2272
  * // -> 'Row changed'
2264
2273
  *
2265
- * ReactDOM.unmountComponentAtNode(app); // !act
2274
+ * root.unmount(); // !act
2266
2275
  * console.log(store.getListenerStats().row);
2267
2276
  * // -> 0
2268
2277
  * ```
@@ -2332,14 +2341,15 @@ export function useRowListener(
2332
2341
  *
2333
2342
  * const store = createStore().setTables({pets: {fido: {color: 'brown'}}});
2334
2343
  * const app = document.createElement('div');
2335
- * ReactDOM.render(<App store={store} />, app); // !act
2344
+ * const root = ReactDOMClient.createRoot(app);
2345
+ * root.render(<App store={store} />); // !act
2336
2346
  * console.log(store.getListenerStats().cellIds);
2337
2347
  * // -> 1
2338
2348
  *
2339
2349
  * store.setCell('pets', 'fido', 'species', 'dog'); // !act
2340
2350
  * // -> 'Cell Ids changed'
2341
2351
  *
2342
- * ReactDOM.unmountComponentAtNode(app); // !act
2352
+ * root.unmount(); // !act
2343
2353
  * console.log(store.getListenerStats().cellIds);
2344
2354
  * // -> 0
2345
2355
  * ```
@@ -2409,14 +2419,15 @@ export function useCellIdsListener(
2409
2419
  *
2410
2420
  * const store = createStore().setTables({pets: {fido: {color: 'brown'}}});
2411
2421
  * const app = document.createElement('div');
2412
- * ReactDOM.render(<App store={store} />, app); // !act
2422
+ * const root = ReactDOMClient.createRoot(app);
2423
+ * root.render(<App store={store} />); // !act
2413
2424
  * console.log(store.getListenerStats().cell);
2414
2425
  * // -> 1
2415
2426
  *
2416
2427
  * store.setCell('pets', 'fido', 'color', 'walnut'); // !act
2417
2428
  * // -> 'Cell changed'
2418
2429
  *
2419
- * ReactDOM.unmountComponentAtNode(app); // !act
2430
+ * root.unmount(); // !act
2420
2431
  * console.log(store.getListenerStats().cell);
2421
2432
  * // -> 0
2422
2433
  * ```
@@ -2484,10 +2495,11 @@ export function useCellListener(
2484
2495
  * };
2485
2496
  *
2486
2497
  * const app = document.createElement('div');
2487
- * ReactDOM.render(<App />, app); // !act
2498
+ * const root = ReactDOMClient.createRoot(app);
2499
+ * root.render(<App />); // !act
2488
2500
  * // -> 'Metrics created'
2489
2501
  *
2490
- * ReactDOM.render(<App />, app); // !act
2502
+ * root.render(<App />); // !act
2491
2503
  * // No second Metrics creation
2492
2504
  *
2493
2505
  * console.log(app.innerHTML);
@@ -2521,13 +2533,14 @@ export function useCellListener(
2521
2533
  * };
2522
2534
  *
2523
2535
  * const app = document.createElement('div');
2524
- * ReactDOM.render(<App tableToCount="pets" />, app); // !act
2536
+ * const root = ReactDOMClient.createRoot(app);
2537
+ * root.render(<App tableToCount="pets" />); // !act
2525
2538
  * // -> 'Count created for pets table'
2526
2539
  *
2527
2540
  * console.log(app.innerHTML);
2528
2541
  * // -> '<span>1</span>'
2529
2542
  *
2530
- * ReactDOM.render(<App tableToCount="species" />, app); // !act
2543
+ * root.render(<App tableToCount="species" />); // !act
2531
2544
  * // -> 'Count created for species table'
2532
2545
  *
2533
2546
  * console.log(app.innerHTML);
@@ -2574,7 +2587,7 @@ export function useCreateMetrics(
2574
2587
  *
2575
2588
  * const metrics = createMetrics(createStore());
2576
2589
  * const app = document.createElement('div');
2577
- * ReactDOM.render(<App metrics={metrics} />, app); // !act
2590
+ * ReactDOMClient.createRoot(app).render(<App metrics={metrics} />); // !act
2578
2591
  * console.log(app.innerHTML);
2579
2592
  * // -> '<span>0</span>'
2580
2593
  * ```
@@ -2596,7 +2609,7 @@ export function useCreateMetrics(
2596
2609
  *
2597
2610
  * const metrics = createMetrics(createStore());
2598
2611
  * const app = document.createElement('div');
2599
- * ReactDOM.render(<App metrics={metrics} />, app); // !act
2612
+ * ReactDOMClient.createRoot(app).render(<App metrics={metrics} />); // !act
2600
2613
  * console.log(app.innerHTML);
2601
2614
  * // -> '<span>0</span>'
2602
2615
  * ```
@@ -2640,7 +2653,7 @@ export function useMetrics(id?: Id): Metrics | undefined;
2640
2653
  * const App = () => <span>{useMetric('highestPrice', metrics)}</span>;
2641
2654
  *
2642
2655
  * const app = document.createElement('div');
2643
- * ReactDOM.render(<App />, app); // !act
2656
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
2644
2657
  * console.log(app.innerHTML);
2645
2658
  * // -> '<span>5</span>'
2646
2659
  *
@@ -2669,7 +2682,7 @@ export function useMetrics(id?: Id): Metrics | undefined;
2669
2682
  * ).setMetricDefinition('highestPrice', 'species', 'max', 'price');
2670
2683
  *
2671
2684
  * const app = document.createElement('div');
2672
- * ReactDOM.render(<App metrics={metrics} />, app); // !act
2685
+ * ReactDOMClient.createRoot(app).render(<App metrics={metrics} />); // !act
2673
2686
  * console.log(app.innerHTML);
2674
2687
  * // -> '<span>5</span>'
2675
2688
  * ```
@@ -2694,7 +2707,7 @@ export function useMetrics(id?: Id): Metrics | undefined;
2694
2707
  * ).setMetricDefinition('highestPrice', 'species', 'max', 'price');
2695
2708
  *
2696
2709
  * const app = document.createElement('div');
2697
- * ReactDOM.render(<App metrics={metrics} />, app); // !act
2710
+ * ReactDOMClient.createRoot(app).render(<App metrics={metrics} />); // !act
2698
2711
  * console.log(app.innerHTML);
2699
2712
  * // -> '<span>5</span>'
2700
2713
  * ```
@@ -2756,14 +2769,15 @@ export function useMetric(
2756
2769
  * metrics.setMetricDefinition('highestPrice', 'species', 'max', 'price');
2757
2770
  *
2758
2771
  * const app = document.createElement('div');
2759
- * ReactDOM.render(<App metrics={metrics} />, app); // !act
2772
+ * const root = ReactDOMClient.createRoot(app);
2773
+ * root.render(<App metrics={metrics} />); // !act
2760
2774
  * console.log(metrics.getListenerStats().metric);
2761
2775
  * // -> 1
2762
2776
  *
2763
2777
  * store.setCell('species', 'horse', 'price', 20); // !act
2764
2778
  * // -> 'Metric changed'
2765
2779
  *
2766
- * ReactDOM.unmountComponentAtNode(app); // !act
2780
+ * root.unmount(); // !act
2767
2781
  * console.log(metrics.getListenerStats().metric);
2768
2782
  * // -> 0
2769
2783
  * ```
@@ -2833,10 +2847,11 @@ export function useMetricListener(
2833
2847
  * };
2834
2848
  *
2835
2849
  * const app = document.createElement('div');
2836
- * ReactDOM.render(<App />, app); // !act
2850
+ * const root = ReactDOMClient.createRoot(app);
2851
+ * root.render(<App />); // !act
2837
2852
  * // -> 'Indexes created'
2838
2853
  *
2839
- * ReactDOM.render(<App />, app); // !act
2854
+ * root.render(<App />); // !act
2840
2855
  * // No second Indexes creation
2841
2856
  *
2842
2857
  * console.log(app.innerHTML);
@@ -2873,13 +2888,14 @@ export function useMetricListener(
2873
2888
  * };
2874
2889
  *
2875
2890
  * const app = document.createElement('div');
2876
- * ReactDOM.render(<App cellToIndex="species" />, app); // !act
2891
+ * const root = ReactDOMClient.createRoot(app);
2892
+ * root.render(<App cellToIndex="species" />); // !act
2877
2893
  * // -> 'Index created for species cell'
2878
2894
  *
2879
2895
  * console.log(app.innerHTML);
2880
2896
  * // -> '<span>["dog","cat"]</span>'
2881
2897
  *
2882
- * ReactDOM.render(<App cellToIndex="color" />, app); // !act
2898
+ * root.render(<App cellToIndex="color" />); // !act
2883
2899
  * // -> 'Index created for color cell'
2884
2900
  *
2885
2901
  * console.log(app.innerHTML);
@@ -2926,7 +2942,7 @@ export function useCreateIndexes(
2926
2942
  *
2927
2943
  * const indexes = createIndexes(createStore());
2928
2944
  * const app = document.createElement('div');
2929
- * ReactDOM.render(<App indexes={indexes} />, app); // !act
2945
+ * ReactDOMClient.createRoot(app).render(<App indexes={indexes} />); // !act
2930
2946
  * console.log(app.innerHTML);
2931
2947
  * // -> '<span>0</span>'
2932
2948
  * ```
@@ -2948,7 +2964,7 @@ export function useCreateIndexes(
2948
2964
  *
2949
2965
  * const indexes = createIndexes(createStore());
2950
2966
  * const app = document.createElement('div');
2951
- * ReactDOM.render(<App indexes={indexes} />, app); // !act
2967
+ * ReactDOMClient.createRoot(app).render(<App indexes={indexes} />); // !act
2952
2968
  * console.log(app.innerHTML);
2953
2969
  * // -> '<span>0</span>'
2954
2970
  * ```
@@ -2994,7 +3010,7 @@ export function useIndexes(id?: Id): Indexes | undefined;
2994
3010
  * );
2995
3011
  *
2996
3012
  * const app = document.createElement('div');
2997
- * ReactDOM.render(<App />, app); // !act
3013
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
2998
3014
  * console.log(app.innerHTML);
2999
3015
  * // -> '<span>["dog","cat"]</span>'
3000
3016
  *
@@ -3023,7 +3039,7 @@ export function useIndexes(id?: Id): Indexes | undefined;
3023
3039
  * ).setIndexDefinition('bySpecies', 'pets', 'species');
3024
3040
  *
3025
3041
  * const app = document.createElement('div');
3026
- * ReactDOM.render(<App indexes={indexes} />, app); // !act
3042
+ * ReactDOMClient.createRoot(app).render(<App indexes={indexes} />); // !act
3027
3043
  * console.log(app.innerHTML);
3028
3044
  * // -> '<span>["dog","cat"]</span>'
3029
3045
  * ```
@@ -3050,7 +3066,7 @@ export function useIndexes(id?: Id): Indexes | undefined;
3050
3066
  * ).setIndexDefinition('bySpecies', 'pets', 'species');
3051
3067
  *
3052
3068
  * const app = document.createElement('div');
3053
- * ReactDOM.render(<App indexes={indexes} />, app); // !act
3069
+ * ReactDOMClient.createRoot(app).render(<App indexes={indexes} />); // !act
3054
3070
  * console.log(app.innerHTML);
3055
3071
  * // -> '<span>["dog","cat"]</span>'
3056
3072
  * ```
@@ -3103,7 +3119,7 @@ export function useSliceIds(
3103
3119
  * );
3104
3120
  *
3105
3121
  * const app = document.createElement('div');
3106
- * ReactDOM.render(<App />, app); // !act
3122
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
3107
3123
  * console.log(app.innerHTML);
3108
3124
  * // -> '<span>["fido","cujo"]</span>'
3109
3125
  *
@@ -3134,7 +3150,7 @@ export function useSliceIds(
3134
3150
  * ).setIndexDefinition('bySpecies', 'pets', 'species');
3135
3151
  *
3136
3152
  * const app = document.createElement('div');
3137
- * ReactDOM.render(<App indexes={indexes} />, app); // !act
3153
+ * ReactDOMClient.createRoot(app).render(<App indexes={indexes} />); // !act
3138
3154
  * console.log(app.innerHTML);
3139
3155
  * // -> '<span>["fido","cujo"]</span>'
3140
3156
  * ```
@@ -3163,7 +3179,7 @@ export function useSliceIds(
3163
3179
  * ).setIndexDefinition('bySpecies', 'pets', 'species');
3164
3180
  *
3165
3181
  * const app = document.createElement('div');
3166
- * ReactDOM.render(<App indexes={indexes} />, app); // !act
3182
+ * ReactDOMClient.createRoot(app).render(<App indexes={indexes} />); // !act
3167
3183
  * console.log(app.innerHTML);
3168
3184
  * // -> '<span>["fido","cujo"]</span>'
3169
3185
  * ```
@@ -3227,14 +3243,15 @@ export function useSliceRowIds(
3227
3243
  * indexes.setIndexDefinition('bySpecies', 'pets', 'species');
3228
3244
  *
3229
3245
  * const app = document.createElement('div');
3230
- * ReactDOM.render(<App indexes={indexes} />, app); // !act
3246
+ * const root = ReactDOMClient.createRoot(app);
3247
+ * root.render(<App indexes={indexes} />); // !act
3231
3248
  * console.log(indexes.getListenerStats().sliceIds);
3232
3249
  * // -> 1
3233
3250
  *
3234
3251
  * store.setRow('pets', 'lowly', {species: 'worm'}); // !act
3235
3252
  * // -> 'Slice Ids changed'
3236
3253
  *
3237
- * ReactDOM.unmountComponentAtNode(app); // !act
3254
+ * root.unmount(); // !act
3238
3255
  * console.log(indexes.getListenerStats().sliceIds);
3239
3256
  * // -> 0
3240
3257
  * ```
@@ -3307,14 +3324,15 @@ export function useSliceIdsListener(
3307
3324
  * indexes.setIndexDefinition('bySpecies', 'pets', 'species');
3308
3325
  *
3309
3326
  * const app = document.createElement('div');
3310
- * ReactDOM.render(<App indexes={indexes} />, app); // !act
3327
+ * const root = ReactDOMClient.createRoot(app);
3328
+ * root.render(<App indexes={indexes} />); // !act
3311
3329
  * console.log(indexes.getListenerStats().sliceRowIds);
3312
3330
  * // -> 1
3313
3331
  *
3314
3332
  * store.setRow('pets', 'toto', {species: 'dog'}); // !act
3315
3333
  * // -> 'Slice Row Ids changed'
3316
3334
  *
3317
- * ReactDOM.unmountComponentAtNode(app); // !act
3335
+ * root.unmount(); // !act
3318
3336
  * console.log(indexes.getListenerStats().sliceRowIds);
3319
3337
  * // -> 0
3320
3338
  * ```
@@ -3388,10 +3406,11 @@ export function useSliceRowIdsListener(
3388
3406
  * };
3389
3407
  *
3390
3408
  * const app = document.createElement('div');
3391
- * ReactDOM.render(<App />, app); // !act
3409
+ * const root = ReactDOMClient.createRoot(app);
3410
+ * root.render(<App />); // !act
3392
3411
  * // -> 'Relationships created'
3393
3412
  *
3394
- * ReactDOM.render(<App />, app); // !act
3413
+ * root.render(<App />); // !act
3395
3414
  * // No second Relationships creation
3396
3415
  *
3397
3416
  * console.log(app.innerHTML);
@@ -3433,13 +3452,14 @@ export function useSliceRowIdsListener(
3433
3452
  * };
3434
3453
  *
3435
3454
  * const app = document.createElement('div');
3436
- * ReactDOM.render(<App remoteTableAndCellToLink="species" />, app); // !act
3455
+ * const root = ReactDOMClient.createRoot(app);
3456
+ * root.render(<App remoteTableAndCellToLink="species" />); // !act
3437
3457
  * // -> 'Relationship created to species'
3438
3458
  *
3439
3459
  * console.log(app.innerHTML);
3440
3460
  * // -> '<span>dog</span>'
3441
3461
  *
3442
- * ReactDOM.render(<App remoteTableAndCellToLink="color" />, app); // !act
3462
+ * root.render(<App remoteTableAndCellToLink="color" />); // !act
3443
3463
  * // -> 'Relationship created to color'
3444
3464
  *
3445
3465
  * console.log(app.innerHTML);
@@ -3490,7 +3510,8 @@ export function useCreateRelationships(
3490
3510
  *
3491
3511
  * const relationships = createRelationships(createStore());
3492
3512
  * const app = document.createElement('div');
3493
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
3513
+ * const root = ReactDOMClient.createRoot(app);
3514
+ * root.render(<App relationships={relationships} />); // !act
3494
3515
  * console.log(app.innerHTML);
3495
3516
  * // -> '<span>0</span>'
3496
3517
  * ```
@@ -3514,7 +3535,8 @@ export function useCreateRelationships(
3514
3535
  *
3515
3536
  * const relationships = createRelationships(createStore());
3516
3537
  * const app = document.createElement('div');
3517
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
3538
+ * const root = ReactDOMClient.createRoot(app);
3539
+ * root.render(<App relationships={relationships} />); // !act
3518
3540
  * console.log(app.innerHTML);
3519
3541
  * // -> '<span>0</span>'
3520
3542
  * ```
@@ -3565,7 +3587,7 @@ export function useRelationships(id?: Id): Relationships | undefined;
3565
3587
  * );
3566
3588
  *
3567
3589
  * const app = document.createElement('div');
3568
- * ReactDOM.render(<App />, app); // !act
3590
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
3569
3591
  * console.log(app.innerHTML);
3570
3592
  * // -> '<span>dog</span>'
3571
3593
  *
@@ -3592,7 +3614,8 @@ export function useRelationships(id?: Id): Relationships | undefined;
3592
3614
  * ).setRelationshipDefinition('petSpecies', 'pets', 'species', 'species');
3593
3615
  *
3594
3616
  * const app = document.createElement('div');
3595
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
3617
+ * const root = ReactDOMClient.createRoot(app);
3618
+ * root.render(<App relationships={relationships} />); // !act
3596
3619
  * console.log(app.innerHTML);
3597
3620
  * // -> '<span>dog</span>'
3598
3621
  * ```
@@ -3617,7 +3640,8 @@ export function useRelationships(id?: Id): Relationships | undefined;
3617
3640
  * ).setRelationshipDefinition('petSpecies', 'pets', 'species', 'species');
3618
3641
  *
3619
3642
  * const app = document.createElement('div');
3620
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
3643
+ * const root = ReactDOMClient.createRoot(app);
3644
+ * root.render(<App relationships={relationships} />); // !act
3621
3645
  * console.log(app.innerHTML);
3622
3646
  * // -> '<span>dog</span>'
3623
3647
  * ```
@@ -3674,7 +3698,7 @@ export function useRemoteRowId(
3674
3698
  * );
3675
3699
  *
3676
3700
  * const app = document.createElement('div');
3677
- * ReactDOM.render(<App />, app); // !act
3701
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
3678
3702
  * console.log(app.innerHTML);
3679
3703
  * // -> '<span>["fido","cujo"]</span>'
3680
3704
  *
@@ -3703,7 +3727,8 @@ export function useRemoteRowId(
3703
3727
  * ).setRelationshipDefinition('petSpecies', 'pets', 'species', 'species');
3704
3728
  *
3705
3729
  * const app = document.createElement('div');
3706
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
3730
+ * const root = ReactDOMClient.createRoot(app);
3731
+ * root.render(<App relationships={relationships} />); // !act
3707
3732
  * console.log(app.innerHTML);
3708
3733
  * // -> '<span>["fido","cujo"]</span>'
3709
3734
  * ```
@@ -3732,7 +3757,8 @@ export function useRemoteRowId(
3732
3757
  * ).setRelationshipDefinition('petSpecies', 'pets', 'species', 'species');
3733
3758
  *
3734
3759
  * const app = document.createElement('div');
3735
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
3760
+ * const root = ReactDOMClient.createRoot(app);
3761
+ * root.render(<App relationships={relationships} />); // !act
3736
3762
  * console.log(app.innerHTML);
3737
3763
  * // -> '<span>["fido","cujo"]</span>'
3738
3764
  * ```
@@ -3791,7 +3817,7 @@ export function useLocalRowIds(
3791
3817
  * );
3792
3818
  *
3793
3819
  * const app = document.createElement('div');
3794
- * ReactDOM.render(<App />, app); // !act
3820
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
3795
3821
  * console.log(app.innerHTML);
3796
3822
  * // -> '<span>["fido","felix","cujo"]</span>'
3797
3823
  *
@@ -3823,7 +3849,8 @@ export function useLocalRowIds(
3823
3849
  * ).setRelationshipDefinition('petSequence', 'pets', 'pets', 'next');
3824
3850
  *
3825
3851
  * const app = document.createElement('div');
3826
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
3852
+ * const root = ReactDOMClient.createRoot(app);
3853
+ * root.render(<App relationships={relationships} />); // !act
3827
3854
  * console.log(app.innerHTML);
3828
3855
  * // -> '<span>["fido","felix","cujo"]</span>'
3829
3856
  * ```
@@ -3854,7 +3881,8 @@ export function useLocalRowIds(
3854
3881
  * ).setRelationshipDefinition('petSequence', 'pets', 'pets', 'next');
3855
3882
  *
3856
3883
  * const app = document.createElement('div');
3857
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
3884
+ * const root = ReactDOMClient.createRoot(app);
3885
+ * root.render(<App relationships={relationships} />); // !act
3858
3886
  * console.log(app.innerHTML);
3859
3887
  * // -> '<span>["fido","felix","cujo"]</span>'
3860
3888
  * ```
@@ -3933,14 +3961,15 @@ export function useLinkedRowIds(
3933
3961
  * );
3934
3962
  *
3935
3963
  * const app = document.createElement('div');
3936
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
3964
+ * const root = ReactDOMClient.createRoot(app);
3965
+ * root.render(<App relationships={relationships} />); // !act
3937
3966
  * console.log(relationships.getListenerStats().remoteRowId);
3938
3967
  * // -> 1
3939
3968
  *
3940
3969
  * store.setCell('pets', 'cujo', 'species', 'wolf'); // !act
3941
3970
  * // -> 'Remote Row Id changed'
3942
3971
  *
3943
- * ReactDOM.unmountComponentAtNode(app); // !act
3972
+ * root.unmount(); // !act
3944
3973
  * console.log(relationships.getListenerStats().remoteRowId);
3945
3974
  * // -> 0
3946
3975
  * ```
@@ -4021,14 +4050,15 @@ export function useRemoteRowIdListener(
4021
4050
  * );
4022
4051
  *
4023
4052
  * const app = document.createElement('div');
4024
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
4053
+ * const root = ReactDOMClient.createRoot(app);
4054
+ * root.render(<App relationships={relationships} />); // !act
4025
4055
  * console.log(relationships.getListenerStats().localRowIds);
4026
4056
  * // -> 1
4027
4057
  *
4028
4058
  * store.setRow('pets', 'toto', {species: 'dog'}); // !act
4029
4059
  * // -> 'Local Row Ids changed'
4030
4060
  *
4031
- * ReactDOM.unmountComponentAtNode(app); // !act
4061
+ * root.unmount(); // !act
4032
4062
  * console.log(relationships.getListenerStats().localRowIds);
4033
4063
  * // -> 0
4034
4064
  * ```
@@ -4105,7 +4135,8 @@ export function useLocalRowIdsListener(
4105
4135
  * );
4106
4136
  *
4107
4137
  * const app = document.createElement('div');
4108
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
4138
+ * const root = ReactDOMClient.createRoot(app);
4139
+ * root.render(<App relationships={relationships} />); // !act
4109
4140
  * console.log(relationships.getListenerStats().linkedRowIds);
4110
4141
  * // -> 1
4111
4142
  *
@@ -4113,7 +4144,7 @@ export function useLocalRowIdsListener(
4113
4144
  * store.setCell('pets', 'cujo', 'next', 'toto'); // !act
4114
4145
  * // -> 'Linked Row Ids changed'
4115
4146
  *
4116
- * ReactDOM.unmountComponentAtNode(app); // !act
4147
+ * root.unmount(); // !act
4117
4148
  * console.log(relationships.getListenerStats().linkedRowIds);
4118
4149
  * // -> 0
4119
4150
  * ```
@@ -4188,10 +4219,11 @@ export function useLinkedRowIdsListener(
4188
4219
  * };
4189
4220
  *
4190
4221
  * const app = document.createElement('div');
4191
- * ReactDOM.render(<App />, app); // !act
4222
+ * const root = ReactDOMClient.createRoot(app);
4223
+ * root.render(<App />); // !act
4192
4224
  * // -> 'Queries created'
4193
4225
  *
4194
- * ReactDOM.render(<App />, app); // !act
4226
+ * root.render(<App />); // !act
4195
4227
  * // No second Queries creation
4196
4228
  *
4197
4229
  * console.log(app.innerHTML);
@@ -4229,10 +4261,11 @@ export function useLinkedRowIdsListener(
4229
4261
  * };
4230
4262
  *
4231
4263
  * const app = document.createElement('div');
4232
- * ReactDOM.render(<App />, app); // !act
4264
+ * const root = ReactDOMClient.createRoot(app);
4265
+ * root.render(<App />); // !act
4233
4266
  * // -> 'Queries created'
4234
4267
  *
4235
- * ReactDOM.render(<App />, app); // !act
4268
+ * root.render(<App />); // !act
4236
4269
  * // No second Queries creation
4237
4270
  *
4238
4271
  * console.log(app.innerHTML);
@@ -4280,7 +4313,7 @@ export function useCreateQueries(
4280
4313
  *
4281
4314
  * const queries = createQueries(createStore());
4282
4315
  * const app = document.createElement('div');
4283
- * ReactDOM.render(<App queries={queries} />, app); // !act
4316
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
4284
4317
  * console.log(app.innerHTML);
4285
4318
  * // -> '<span>0</span>'
4286
4319
  * ```
@@ -4302,7 +4335,7 @@ export function useCreateQueries(
4302
4335
  *
4303
4336
  * const queries = createQueries(createStore());
4304
4337
  * const app = document.createElement('div');
4305
- * ReactDOM.render(<App queries={queries} />, app); // !act
4338
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
4306
4339
  * console.log(app.innerHTML);
4307
4340
  * // -> '<span>0</span>'
4308
4341
  * ```
@@ -4356,7 +4389,7 @@ export function useQueries(id?: Id): Queries | undefined;
4356
4389
  * );
4357
4390
  *
4358
4391
  * const app = document.createElement('div');
4359
- * ReactDOM.render(<App />, app); // !act
4392
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
4360
4393
  * console.log(app.innerHTML);
4361
4394
  * // -> '<span>{"fido":{"color":"brown"},"cujo":{"color":"black"}}</span>'
4362
4395
  *
@@ -4389,7 +4422,7 @@ export function useQueries(id?: Id): Queries | undefined;
4389
4422
  * where('species', 'dog');
4390
4423
  * });
4391
4424
  * const app = document.createElement('div');
4392
- * ReactDOM.render(<App queries={queries} />, app); // !act
4425
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
4393
4426
  * console.log(app.innerHTML);
4394
4427
  * // -> '<span>{"fido":{"color":"brown"},"cujo":{"color":"black"}}</span>'
4395
4428
  * ```
@@ -4419,7 +4452,7 @@ export function useQueries(id?: Id): Queries | undefined;
4419
4452
  * where('species', 'dog');
4420
4453
  * });
4421
4454
  * const app = document.createElement('div');
4422
- * ReactDOM.render(<App queries={queries} />, app); // !act
4455
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
4423
4456
  * console.log(app.innerHTML);
4424
4457
  * // -> '<span>{"fido":{"color":"brown"},"cujo":{"color":"black"}}</span>'
4425
4458
  * ```
@@ -4450,8 +4483,8 @@ export function useResultTable(
4450
4483
  * @param queryId The Id of the query.
4451
4484
  * @param queriesOrQueriesId The Queries object to be accessed: omit for the
4452
4485
  * default context Queries object, provide an Id for a named context Queries
4453
- * object, or provide an explicit reference.
4454
- * See the addResultRowIdsListener method for more details.
4486
+ * object, or provide an explicit reference. See the addResultRowIdsListener
4487
+ * method for more details.
4455
4488
  * @returns An array of the Ids of every Row in the result of the query.
4456
4489
  * @example
4457
4490
  * This example creates a Queries object outside the application, which is used
@@ -4477,7 +4510,7 @@ export function useResultTable(
4477
4510
  * );
4478
4511
  *
4479
4512
  * const app = document.createElement('div');
4480
- * ReactDOM.render(<App />, app); // !act
4513
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
4481
4514
  * console.log(app.innerHTML);
4482
4515
  * // -> '<span>["fido","cujo"]</span>'
4483
4516
  *
@@ -4510,7 +4543,7 @@ export function useResultTable(
4510
4543
  * where('species', 'dog');
4511
4544
  * });
4512
4545
  * const app = document.createElement('div');
4513
- * ReactDOM.render(<App queries={queries} />, app); // !act
4546
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
4514
4547
  * console.log(app.innerHTML);
4515
4548
  * // -> '<span>["fido","cujo"]</span>'
4516
4549
  * ```
@@ -4540,7 +4573,7 @@ export function useResultTable(
4540
4573
  * where('species', 'dog');
4541
4574
  * });
4542
4575
  * const app = document.createElement('div');
4543
- * ReactDOM.render(<App queries={queries} />, app); // !act
4576
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
4544
4577
  * console.log(app.innerHTML);
4545
4578
  * // -> '<span>["fido","cujo"]</span>'
4546
4579
  * ```
@@ -4613,7 +4646,7 @@ export function useResultRowIds(
4613
4646
  * );
4614
4647
  *
4615
4648
  * const app = document.createElement('div');
4616
- * ReactDOM.render(<App />, app); // !act
4649
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
4617
4650
  * console.log(app.innerHTML);
4618
4651
  * // -> '<span>["cujo","fido"]</span>'
4619
4652
  *
@@ -4648,7 +4681,7 @@ export function useResultRowIds(
4648
4681
  * where('species', 'dog');
4649
4682
  * });
4650
4683
  * const app = document.createElement('div');
4651
- * ReactDOM.render(<App queries={queries} />, app); // !act
4684
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
4652
4685
  * console.log(app.innerHTML);
4653
4686
  * // -> '<span>["cujo","fido"]</span>'
4654
4687
  * ```
@@ -4689,7 +4722,7 @@ export function useResultRowIds(
4689
4722
  * where('species', 'dog');
4690
4723
  * });
4691
4724
  * const app = document.createElement('div');
4692
- * ReactDOM.render(<App queries={queries} />, app); // !act
4725
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
4693
4726
  * console.log(app.innerHTML);
4694
4727
  * // -> '<span>["cujo","fido"]</span>'
4695
4728
  * ```
@@ -4752,7 +4785,7 @@ export function useResultSortedRowIds(
4752
4785
  * );
4753
4786
  *
4754
4787
  * const app = document.createElement('div');
4755
- * ReactDOM.render(<App />, app); // !act
4788
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
4756
4789
  * console.log(app.innerHTML);
4757
4790
  * // -> '<span>{"color":"brown"}</span>'
4758
4791
  *
@@ -4785,7 +4818,7 @@ export function useResultSortedRowIds(
4785
4818
  * where('species', 'dog');
4786
4819
  * });
4787
4820
  * const app = document.createElement('div');
4788
- * ReactDOM.render(<App queries={queries} />, app); // !act
4821
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
4789
4822
  * console.log(app.innerHTML);
4790
4823
  * // -> '<span>{"color":"brown"}</span>'
4791
4824
  * ```
@@ -4817,7 +4850,7 @@ export function useResultSortedRowIds(
4817
4850
  * where('species', 'dog');
4818
4851
  * });
4819
4852
  * const app = document.createElement('div');
4820
- * ReactDOM.render(<App queries={queries} />, app); // !act
4853
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
4821
4854
  * console.log(app.innerHTML);
4822
4855
  * // -> '<span>{"color":"brown"}</span>'
4823
4856
  * ```
@@ -4881,7 +4914,7 @@ export function useResultRow(
4881
4914
  * );
4882
4915
  *
4883
4916
  * const app = document.createElement('div');
4884
- * ReactDOM.render(<App />, app); // !act
4917
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
4885
4918
  * console.log(app.innerHTML);
4886
4919
  * // -> '<span>["species","color"]</span>'
4887
4920
  *
@@ -4915,7 +4948,7 @@ export function useResultRow(
4915
4948
  * where('species', 'dog');
4916
4949
  * });
4917
4950
  * const app = document.createElement('div');
4918
- * ReactDOM.render(<App queries={queries} />, app); // !act
4951
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
4919
4952
  * console.log(app.innerHTML);
4920
4953
  * // -> '<span>["species","color"]</span>'
4921
4954
  * ```
@@ -4948,7 +4981,7 @@ export function useResultRow(
4948
4981
  * where('species', 'dog');
4949
4982
  * });
4950
4983
  * const app = document.createElement('div');
4951
- * ReactDOM.render(<App queries={queries} />, app); // !act
4984
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
4952
4985
  * console.log(app.innerHTML);
4953
4986
  * // -> '<span>["species","color"]</span>'
4954
4987
  * ```
@@ -5010,7 +5043,7 @@ export function useResultCellIds(
5010
5043
  * );
5011
5044
  *
5012
5045
  * const app = document.createElement('div');
5013
- * ReactDOM.render(<App />, app); // !act
5046
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
5014
5047
  * console.log(app.innerHTML);
5015
5048
  * // -> '<span>brown</span>'
5016
5049
  *
@@ -5044,7 +5077,7 @@ export function useResultCellIds(
5044
5077
  * where('species', 'dog');
5045
5078
  * });
5046
5079
  * const app = document.createElement('div');
5047
- * ReactDOM.render(<App queries={queries} />, app); // !act
5080
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
5048
5081
  * console.log(app.innerHTML);
5049
5082
  * // -> '<span>brown</span>'
5050
5083
  * ```
@@ -5075,7 +5108,7 @@ export function useResultCellIds(
5075
5108
  * where('species', 'dog');
5076
5109
  * });
5077
5110
  * const app = document.createElement('div');
5078
- * ReactDOM.render(<App queries={queries} />, app); // !act
5111
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
5079
5112
  * console.log(app.innerHTML);
5080
5113
  * // -> '<span>brown</span>'
5081
5114
  * ```
@@ -5145,14 +5178,15 @@ export function useResultCell(
5145
5178
  * ({select}) => select('color'),
5146
5179
  * );
5147
5180
  * const app = document.createElement('div');
5148
- * ReactDOM.render(<App queries={queries} />, app); // !act
5181
+ * const root = ReactDOMClient.createRoot(app);
5182
+ * root.render(<App queries={queries} />); // !act
5149
5183
  * console.log(queries.getListenerStats().table);
5150
5184
  * // -> 1
5151
5185
  *
5152
5186
  * store.setCell('pets', 'fido', 'color', 'walnut'); // !act
5153
5187
  * // -> 'Result table changed'
5154
5188
  *
5155
- * ReactDOM.unmountComponentAtNode(app); // !act
5189
+ * root.unmount(); // !act
5156
5190
  * console.log(queries.getListenerStats().table);
5157
5191
  * // -> 0
5158
5192
  * ```
@@ -5222,14 +5256,15 @@ export function useResultTableListener(
5222
5256
  * ({select}) => select('color'),
5223
5257
  * );
5224
5258
  * const app = document.createElement('div');
5225
- * ReactDOM.render(<App queries={queries} />, app); // !act
5259
+ * const root = ReactDOMClient.createRoot(app);
5260
+ * root.render(<App queries={queries} />); // !act
5226
5261
  * console.log(queries.getListenerStats().rowIds);
5227
5262
  * // -> 1
5228
5263
  *
5229
5264
  * store.setRow('pets', 'rex', {species: 'dog', color: 'tan'}); // !act
5230
5265
  * // -> 'Result Row Ids changed'
5231
5266
  *
5232
- * ReactDOM.unmountComponentAtNode(app); // !act
5267
+ * root.unmount(); // !act
5233
5268
  * console.log(queries.getListenerStats().rowIds);
5234
5269
  * // -> 0
5235
5270
  * ```
@@ -5306,14 +5341,15 @@ export function useResultRowIdsListener(
5306
5341
  * ({select}) => select('color'),
5307
5342
  * );
5308
5343
  * const app = document.createElement('div');
5309
- * ReactDOM.render(<App queries={queries} />, app); // !act
5344
+ * const root = ReactDOMClient.createRoot(app);
5345
+ * root.render(<App queries={queries} />); // !act
5310
5346
  * console.log(queries.getListenerStats().sortedRowIds);
5311
5347
  * // -> 1
5312
5348
  *
5313
5349
  * store.setRow('pets', 'cujo', {color: 'tan'}); // !act
5314
5350
  * // -> 'Sorted result Row Ids changed'
5315
5351
  *
5316
- * ReactDOM.unmountComponentAtNode(app); // !act
5352
+ * root.unmount(); // !act
5317
5353
  * console.log(queries.getListenerStats().sortedRowIds);
5318
5354
  * // -> 0
5319
5355
  * ```
@@ -5393,14 +5429,15 @@ export function useResultSortedRowIdsListener(
5393
5429
  * ({select}) => select('color'),
5394
5430
  * );
5395
5431
  * const app = document.createElement('div');
5396
- * ReactDOM.render(<App queries={queries} />, app); // !act
5432
+ * const root = ReactDOMClient.createRoot(app);
5433
+ * root.render(<App queries={queries} />); // !act
5397
5434
  * console.log(queries.getListenerStats().row);
5398
5435
  * // -> 1
5399
5436
  *
5400
5437
  * store.setCell('pets', 'fido', 'color', 'walnut'); // !act
5401
5438
  * // -> 'Result row changed'
5402
5439
  *
5403
- * ReactDOM.unmountComponentAtNode(app); // !act
5440
+ * root.unmount(); // !act
5404
5441
  * console.log(queries.getListenerStats().row);
5405
5442
  * // -> 0
5406
5443
  * ```
@@ -5477,14 +5514,15 @@ export function useResultRowListener(
5477
5514
  * },
5478
5515
  * );
5479
5516
  * const app = document.createElement('div');
5480
- * ReactDOM.render(<App queries={queries} />, app); // !act
5517
+ * const root = ReactDOMClient.createRoot(app);
5518
+ * root.render(<App queries={queries} />); // !act
5481
5519
  * console.log(queries.getListenerStats().cellIds);
5482
5520
  * // -> 1
5483
5521
  *
5484
5522
  * store.setCell('pets', 'fido', 'legs', 4); // !act
5485
5523
  * // -> 'Result cell Ids changed'
5486
5524
  *
5487
- * ReactDOM.unmountComponentAtNode(app); // !act
5525
+ * root.unmount(); // !act
5488
5526
  * console.log(queries.getListenerStats().cellIds);
5489
5527
  * // -> 0
5490
5528
  * ```
@@ -5563,14 +5601,15 @@ export function useResultCellIdsListener(
5563
5601
  * ({select}) => select('color'),
5564
5602
  * );
5565
5603
  * const app = document.createElement('div');
5566
- * ReactDOM.render(<App queries={queries} />, app); // !act
5604
+ * const root = ReactDOMClient.createRoot(app);
5605
+ * root.render(<App queries={queries} />); // !act
5567
5606
  * console.log(queries.getListenerStats().cell);
5568
5607
  * // -> 1
5569
5608
  *
5570
5609
  * store.setCell('pets', 'fido', 'color', 'walnut'); // !act
5571
5610
  * // -> 'Result cell changed'
5572
5611
  *
5573
- * ReactDOM.unmountComponentAtNode(app); // !act
5612
+ * root.unmount(); // !act
5574
5613
  * console.log(queries.getListenerStats().cell);
5575
5614
  * // -> 0
5576
5615
  * ```
@@ -5634,10 +5673,11 @@ export function useResultCellListener(
5634
5673
  * };
5635
5674
  *
5636
5675
  * const app = document.createElement('div');
5637
- * ReactDOM.render(<App />, app); // !act
5676
+ * const root = ReactDOMClient.createRoot(app);
5677
+ * root.render(<App />); // !act
5638
5678
  * // -> 'Checkpoints created'
5639
5679
  *
5640
- * ReactDOM.render(<App />, app); // !act
5680
+ * root.render(<App />); // !act
5641
5681
  * // No second Checkpoints creation
5642
5682
  *
5643
5683
  * console.log(app.innerHTML);
@@ -5665,13 +5705,14 @@ export function useResultCellListener(
5665
5705
  * };
5666
5706
  *
5667
5707
  * const app = document.createElement('div');
5668
- * ReactDOM.render(<App size={20} />, app); // !act
5708
+ * const root = ReactDOMClient.createRoot(app);
5709
+ * root.render(<App size={20} />); // !act
5669
5710
  * // -> 'Checkpoints created, size 20'
5670
5711
  *
5671
5712
  * console.log(app.innerHTML);
5672
5713
  * // -> '<span>[[],"0",[]]</span>'
5673
5714
  *
5674
- * ReactDOM.render(<App size={50} />, app); // !act
5715
+ * root.render(<App size={50} />); // !act
5675
5716
  * // -> 'Checkpoints created, size 50'
5676
5717
  *
5677
5718
  * console.log(app.innerHTML);
@@ -5720,7 +5761,8 @@ export function useCreateCheckpoints(
5720
5761
  *
5721
5762
  * const checkpoints = createCheckpoints(createStore());
5722
5763
  * const app = document.createElement('div');
5723
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
5764
+ * const root = ReactDOMClient.createRoot(app);
5765
+ * root.render(<App checkpoints={checkpoints} />); // !act
5724
5766
  * console.log(app.innerHTML);
5725
5767
  * // -> '<span>0</span>'
5726
5768
  * ```
@@ -5744,7 +5786,8 @@ export function useCreateCheckpoints(
5744
5786
  *
5745
5787
  * const checkpoints = createCheckpoints(createStore());
5746
5788
  * const app = document.createElement('div');
5747
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
5789
+ * const root = ReactDOMClient.createRoot(app);
5790
+ * root.render(<App checkpoints={checkpoints} />); // !act
5748
5791
  * console.log(app.innerHTML);
5749
5792
  * // -> '<span>0</span>'
5750
5793
  * ```
@@ -5787,7 +5830,7 @@ export function useCheckpoints(id?: Id): Checkpoints | undefined;
5787
5830
  * );
5788
5831
  *
5789
5832
  * const app = document.createElement('div');
5790
- * ReactDOM.render(<App />, app); // !act
5833
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
5791
5834
  * console.log(app.innerHTML);
5792
5835
  * // -> '<span>[[],"0",[]]</span>'
5793
5836
  *
@@ -5817,7 +5860,8 @@ export function useCheckpoints(id?: Id): Checkpoints | undefined;
5817
5860
  * );
5818
5861
  *
5819
5862
  * const app = document.createElement('div');
5820
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
5863
+ * const root = ReactDOMClient.createRoot(app);
5864
+ * root.render(<App checkpoints={checkpoints} />); // !act
5821
5865
  * console.log(app.innerHTML);
5822
5866
  * // -> '<span>[[],"0",[]]</span>'
5823
5867
  * ```
@@ -5841,7 +5885,8 @@ export function useCheckpoints(id?: Id): Checkpoints | undefined;
5841
5885
  * );
5842
5886
  *
5843
5887
  * const app = document.createElement('div');
5844
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
5888
+ * const root = ReactDOMClient.createRoot(app);
5889
+ * root.render(<App checkpoints={checkpoints} />); // !act
5845
5890
  * console.log(app.innerHTML);
5846
5891
  * // -> '<span>[[],"0",[]]</span>'
5847
5892
  * ```
@@ -5883,7 +5928,7 @@ export function useCheckpointIds(
5883
5928
  * const App = () => <span>{useCheckpoint('1', checkpoints)}</span>;
5884
5929
  *
5885
5930
  * const app = document.createElement('div');
5886
- * ReactDOM.render(<App />, app); // !act
5931
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
5887
5932
  * console.log(app.innerHTML);
5888
5933
  * // -> '<span></span>'
5889
5934
  *
@@ -5910,7 +5955,8 @@ export function useCheckpointIds(
5910
5955
  * ).setCheckpoint('0', 'initial');
5911
5956
  *
5912
5957
  * const app = document.createElement('div');
5913
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
5958
+ * const root = ReactDOMClient.createRoot(app);
5959
+ * root.render(<App checkpoints={checkpoints} />); // !act
5914
5960
  * console.log(app.innerHTML);
5915
5961
  * // -> '<span>initial</span>'
5916
5962
  * ```
@@ -5932,7 +5978,8 @@ export function useCheckpointIds(
5932
5978
  * ).setCheckpoint('0', 'initial');
5933
5979
  *
5934
5980
  * const app = document.createElement('div');
5935
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
5981
+ * const root = ReactDOMClient.createRoot(app);
5982
+ * root.render(<App checkpoints={checkpoints} />); // !act
5936
5983
  * console.log(app.innerHTML);
5937
5984
  * // -> '<span>initial</span>'
5938
5985
  * ```
@@ -6007,7 +6054,7 @@ export function useCheckpoint(
6007
6054
  * };
6008
6055
  *
6009
6056
  * const app = document.createElement('div');
6010
- * ReactDOM.render(<App />, app); // !act
6057
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
6011
6058
  * const span = app.querySelector('span');
6012
6059
  *
6013
6060
  * store.setCell('pets', 'nemo', 'color', 'orange');
@@ -6055,7 +6102,7 @@ export function useSetCheckpointCallback<Parameter>(
6055
6102
  * );
6056
6103
  *
6057
6104
  * const app = document.createElement('div');
6058
- * ReactDOM.render(<App />, app); // !act
6105
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
6059
6106
  * const span = app.querySelector('span');
6060
6107
  *
6061
6108
  * store.setCell('pets', 'nemo', 'color', 'orange');
@@ -6103,7 +6150,7 @@ export function useGoBackwardCallback(
6103
6150
  * );
6104
6151
  *
6105
6152
  * const app = document.createElement('div');
6106
- * ReactDOM.render(<App />, app); // !act
6153
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
6107
6154
  * const span = app.querySelector('span');
6108
6155
  *
6109
6156
  * store.setCell('pets', 'nemo', 'color', 'orange');
@@ -6183,7 +6230,7 @@ export function useGoForwardCallback(
6183
6230
  * };
6184
6231
  *
6185
6232
  * const app = document.createElement('div');
6186
- * ReactDOM.render(<App />, app); // !act
6233
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
6187
6234
  * const span = app.querySelector('span');
6188
6235
  *
6189
6236
  * store.setCell('pets', 'nemo', 'color', 'orange');
@@ -6237,7 +6284,7 @@ export function useGoToCallback<Parameter>(
6237
6284
  * };
6238
6285
  *
6239
6286
  * const app = document.createElement('div');
6240
- * ReactDOM.render(<App />, app); // !act
6287
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
6241
6288
  * console.log(app.innerHTML);
6242
6289
  * // -> '<span>Nothing to undo</span>'
6243
6290
  *
@@ -6283,7 +6330,7 @@ export function useUndoInformation(
6283
6330
  * };
6284
6331
  *
6285
6332
  * const app = document.createElement('div');
6286
- * ReactDOM.render(<App />, app); // !act
6333
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
6287
6334
  * console.log(app.innerHTML);
6288
6335
  * // -> '<span>Nothing to redo</span>'
6289
6336
  *
@@ -6342,7 +6389,8 @@ export function useRedoInformation(
6342
6389
  * const checkpoints = createCheckpoints(store);
6343
6390
  *
6344
6391
  * const app = document.createElement('div');
6345
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
6392
+ * const root = ReactDOMClient.createRoot(app);
6393
+ * root.render(<App checkpoints={checkpoints} />); // !act
6346
6394
  * console.log(checkpoints.getListenerStats().checkpointIds);
6347
6395
  * // -> 1
6348
6396
  *
@@ -6351,7 +6399,7 @@ export function useRedoInformation(
6351
6399
  * checkpoints.addCheckpoint(); // !act
6352
6400
  * // -> 'Checkpoint Ids changed'
6353
6401
  *
6354
- * ReactDOM.unmountComponentAtNode(app); // !act
6402
+ * root.unmount(); // !act
6355
6403
  * console.log(checkpoints.getListenerStats().checkpointIds);
6356
6404
  * // -> 0
6357
6405
  * ```
@@ -6414,14 +6462,15 @@ export function useCheckpointIdsListener(
6414
6462
  * const checkpoints = createCheckpoints(store);
6415
6463
  *
6416
6464
  * const app = document.createElement('div');
6417
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
6465
+ * const root = ReactDOMClient.createRoot(app);
6466
+ * root.render(<App checkpoints={checkpoints} />); // !act
6418
6467
  * console.log(checkpoints.getListenerStats().checkpoint);
6419
6468
  * // -> 1
6420
6469
  *
6421
6470
  * checkpoints.setCheckpoint('0', 'initial'); // !act
6422
6471
  * // -> 'Checkpoint label changed'
6423
6472
  *
6424
- * ReactDOM.unmountComponentAtNode(app); // !act
6473
+ * root.unmount(); // !act
6425
6474
  * console.log(checkpoints.getListenerStats().checkpoint);
6426
6475
  * // -> 0
6427
6476
  * ```
@@ -6502,17 +6551,18 @@ export function useCheckpointListener(
6502
6551
  * sessionStorage.setItem('pets', '{"pets":{"fido":{"species":"dog"}}}');
6503
6552
  *
6504
6553
  * const app = document.createElement('div');
6505
- * ReactDOM.render(<App />, app); // !act
6554
+ * const root = ReactDOMClient.createRoot(app);
6555
+ * root.render(<App />); // !act
6506
6556
  * // -> 'Persister created'
6507
6557
  *
6508
6558
  * // ... // !act
6509
- * ReactDOM.render(<App />, app); // !act
6559
+ * root.render(<App />); // !act
6510
6560
  * // No second Persister creation
6511
6561
  *
6512
6562
  * console.log(app.innerHTML);
6513
6563
  * // -> '<span>{\"pets\":{\"fido\":{\"species\":\"dog\"}}}</span>'
6514
6564
  *
6515
- * ReactDOM.unmountComponentAtNode(app); // !act
6565
+ * root.unmount(); // !act
6516
6566
  * ```
6517
6567
  * @example
6518
6568
  * This example creates a Persister at the top level of a React application. The
@@ -6542,21 +6592,22 @@ export function useCheckpointListener(
6542
6592
  * sessionStorage.setItem('cujoStore', '{"pets":{"cujo":{"species":"dog"}}}');
6543
6593
  *
6544
6594
  * const app = document.createElement('div');
6545
- * ReactDOM.render(<App sessionKey="fidoStore" />, app); // !act
6595
+ * const root = ReactDOMClient.createRoot(app);
6596
+ * root.render(<App sessionKey="fidoStore" />); // !act
6546
6597
  * // -> 'Persister created for session key fidoStore'
6547
6598
  *
6548
6599
  * // ... // !act
6549
6600
  * console.log(app.innerHTML);
6550
6601
  * // -> '<span>{\"pets\":{\"fido\":{\"species\":\"dog\"}}}</span>'
6551
6602
  *
6552
- * ReactDOM.render(<App sessionKey="cujoStore" />, app); // !act
6603
+ * root.render(<App sessionKey="cujoStore" />); // !act
6553
6604
  * // -> 'Persister created for session key cujoStore'
6554
6605
  *
6555
6606
  * // ... // !act
6556
6607
  * console.log(app.innerHTML);
6557
6608
  * // -> '<span>{\"pets\":{\"cujo\":{\"species\":\"dog\"}}}</span>'
6558
6609
  *
6559
- * ReactDOM.unmountComponentAtNode(app); // !act
6610
+ * root.unmount(); // !act
6560
6611
  * ```
6561
6612
  * @category Persister hooks
6562
6613
  */
@@ -6876,8 +6927,8 @@ export type SliceProps = {
6876
6927
 
6877
6928
  /**
6878
6929
  * RemoteRowProps props are used for components that refer to a single
6879
- * Relationship in a Relationships object, and where you want to render a
6880
- * remote Row based on a local Row, such as in the RemoteRowView component.
6930
+ * Relationship in a Relationships object, and where you want to render a remote
6931
+ * Row based on a local Row, such as in the RemoteRowView component.
6881
6932
  *
6882
6933
  * @category Props
6883
6934
  */
@@ -6958,9 +7009,8 @@ export type LocalRowsProps = {
6958
7009
 
6959
7010
  /**
6960
7011
  * LinkedRowsProps props are used for components that refer to a single
6961
- * Relationship in a Relationships object, and where you want to render a
6962
- * linked list of Rows starting from a first Row, such as the LinkedRowsView
6963
- * component.
7012
+ * Relationship in a Relationships object, and where you want to render a linked
7013
+ * list of Rows starting from a first Row, such as the LinkedRowsView component.
6964
7014
  *
6965
7015
  * @category Props
6966
7016
  */
@@ -7424,7 +7474,8 @@ export type ComponentReturnType = ReactElement<any, any> | null;
7424
7474
  * metrics.setMetricDefinition('highestPrice', 'species', 'max', 'price');
7425
7475
  *
7426
7476
  * const app = document.createElement('div');
7427
- * ReactDOM.render(<App store={store} metrics={metrics} />, app); // !act
7477
+ * const root = ReactDOMClient.createRoot(app);
7478
+ * root.render(<App store={store} metrics={metrics} />); // !act
7428
7479
  * console.log(app.innerHTML);
7429
7480
  * // -> '<span>5,4,5</span>'
7430
7481
  * ```
@@ -7467,7 +7518,8 @@ export type ComponentReturnType = ReactElement<any, any> | null;
7467
7518
  * metrics.setMetricDefinition('highestPrice', 'species', 'max', 'price');
7468
7519
  *
7469
7520
  * const app = document.createElement('div');
7470
- * ReactDOM.render(<App petStore={petStore} metrics={metrics} />, app); // !act
7521
+ * const root = ReactDOMClient.createRoot(app);
7522
+ * root.render(<App petStore={petStore} metrics={metrics} />); // !act
7471
7523
  * console.log(app.innerHTML);
7472
7524
  * // -> '<span>5,5,2</span>'
7473
7525
  * ```
@@ -7510,7 +7562,7 @@ export function Provider(
7510
7562
  * );
7511
7563
  *
7512
7564
  * const app = document.createElement('div');
7513
- * ReactDOM.render(<App />, app); // !act
7565
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
7514
7566
  * console.log(app.innerHTML);
7515
7567
  * // -> '<span>brown</span>'
7516
7568
  *
@@ -7537,7 +7589,7 @@ export function Provider(
7537
7589
  *
7538
7590
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
7539
7591
  * const app = document.createElement('div');
7540
- * ReactDOM.render(<App store={store} />, app); // !act
7592
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
7541
7593
  * console.log(app.innerHTML);
7542
7594
  * // -> '<span>color:{brown}</span>'
7543
7595
  * ```
@@ -7560,7 +7612,7 @@ export function Provider(
7560
7612
  *
7561
7613
  * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
7562
7614
  * const app = document.createElement('div');
7563
- * ReactDOM.render(<App store={store} />, app); // !act
7615
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
7564
7616
  * console.log(app.innerHTML);
7565
7617
  * // -> '<span></span>'
7566
7618
  * ```
@@ -7606,7 +7658,7 @@ export function CellView(props: CellProps): ComponentReturnType;
7606
7658
  * );
7607
7659
  *
7608
7660
  * const app = document.createElement('div');
7609
- * ReactDOM.render(<App />, app); // !act
7661
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
7610
7662
  * console.log(app.innerHTML);
7611
7663
  * // -> '<div>dog</div>'
7612
7664
  *
@@ -7636,7 +7688,7 @@ export function CellView(props: CellProps): ComponentReturnType;
7636
7688
  * color: 'walnut',
7637
7689
  * });
7638
7690
  * const app = document.createElement('div');
7639
- * ReactDOM.render(<App store={store} />, app); // !act
7691
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
7640
7692
  * console.log(app.innerHTML);
7641
7693
  * // -> '<div>fido:{species:{dog}color:{walnut}}</div>'
7642
7694
  * ```
@@ -7674,7 +7726,7 @@ export function CellView(props: CellProps): ComponentReturnType;
7674
7726
  * color: 'walnut',
7675
7727
  * });
7676
7728
  * const app = document.createElement('div');
7677
- * ReactDOM.render(<App store={store} />, app); // !act
7729
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
7678
7730
  * console.log(app.innerHTML);
7679
7731
  * // -> '<div><span><b>species</b>: dog</span><span>color: walnut</span></div>'
7680
7732
  * ```
@@ -7731,7 +7783,7 @@ export function RowView(props: RowProps): ComponentReturnType;
7731
7783
  * );
7732
7784
  *
7733
7785
  * const app = document.createElement('div');
7734
- * ReactDOM.render(<App />, app); // !act
7786
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
7735
7787
  * console.log(app.innerHTML);
7736
7788
  * // -> '<div>cat/dog</div>'
7737
7789
  *
@@ -7763,7 +7815,7 @@ export function RowView(props: RowProps): ComponentReturnType;
7763
7815
  * },
7764
7816
  * });
7765
7817
  * const app = document.createElement('div');
7766
- * ReactDOM.render(<App store={store} />, app); // !act
7818
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
7767
7819
  * console.log(app.innerHTML);
7768
7820
  * // -> '<div>pets:{felix:{species:{cat}}fido:{species:{dog}}}</div>'
7769
7821
  * ```
@@ -7803,7 +7855,7 @@ export function RowView(props: RowProps): ComponentReturnType;
7803
7855
  * },
7804
7856
  * });
7805
7857
  * const app = document.createElement('div');
7806
- * ReactDOM.render(<App store={store} />, app); // !act
7858
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
7807
7859
  * console.log(app.innerHTML);
7808
7860
  * // -> '<div><span>felix: cat</span><span><b>fido</b>: dog</span></div>'
7809
7861
  * ```
@@ -7849,7 +7901,7 @@ export function SortedTableView(props: SortedTableProps): ComponentReturnType;
7849
7901
  * );
7850
7902
  *
7851
7903
  * const app = document.createElement('div');
7852
- * ReactDOM.render(<App />, app); // !act
7904
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
7853
7905
  * console.log(app.innerHTML);
7854
7906
  * // -> '<div>dog</div>'
7855
7907
  *
@@ -7879,7 +7931,7 @@ export function SortedTableView(props: SortedTableProps): ComponentReturnType;
7879
7931
  * felix: {species: 'cat'},
7880
7932
  * });
7881
7933
  * const app = document.createElement('div');
7882
- * ReactDOM.render(<App store={store} />, app); // !act
7934
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
7883
7935
  * console.log(app.innerHTML);
7884
7936
  * // -> '<div>pets:{fido:{species:{dog}}felix:{species:{cat}}}</div>'
7885
7937
  * ```
@@ -7916,7 +7968,7 @@ export function SortedTableView(props: SortedTableProps): ComponentReturnType;
7916
7968
  * felix: {species: 'cat'},
7917
7969
  * });
7918
7970
  * const app = document.createElement('div');
7919
- * ReactDOM.render(<App store={store} />, app); // !act
7971
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
7920
7972
  * console.log(app.innerHTML);
7921
7973
  * // -> '<div><span><b>fido</b>: dog</span><span>felix: cat</span></div>'
7922
7974
  * ```
@@ -7957,7 +8009,7 @@ export function TableView(props: TableProps): ComponentReturnType;
7957
8009
  * );
7958
8010
  *
7959
8011
  * const app = document.createElement('div');
7960
- * ReactDOM.render(<App />, app); // !act
8012
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
7961
8013
  * console.log(app.innerHTML);
7962
8014
  * // -> '<div>dog</div>'
7963
8015
  *
@@ -7987,7 +8039,7 @@ export function TableView(props: TableProps): ComponentReturnType;
7987
8039
  * species: {dog: {price: 5}},
7988
8040
  * });
7989
8041
  * const app = document.createElement('div');
7990
- * ReactDOM.render(<App store={store} />, app); // !act
8042
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
7991
8043
  * console.log(app.innerHTML);
7992
8044
  * // -> '<div>pets:{fido:{species:{dog}}}species:{dog:{price:{5}}}</div>'
7993
8045
  * ```
@@ -8023,7 +8075,7 @@ export function TableView(props: TableProps): ComponentReturnType;
8023
8075
  * species: {dog: {price: 5}},
8024
8076
  * });
8025
8077
  * const app = document.createElement('div');
8026
- * ReactDOM.render(<App store={store} />, app); // !act
8078
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
8027
8079
  * console.log(app.innerHTML);
8028
8080
  * // -> '<div><span><b>pets</b>: dog</span><span>species: 5</span></div>'
8029
8081
  * ```
@@ -8064,7 +8116,7 @@ export function TablesView(props: TablesProps): ComponentReturnType;
8064
8116
  * );
8065
8117
  *
8066
8118
  * const app = document.createElement('div');
8067
- * ReactDOM.render(<App />, app); // !act
8119
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
8068
8120
  * console.log(app.innerHTML);
8069
8121
  * // -> '<div>5</div>'
8070
8122
  *
@@ -8098,7 +8150,7 @@ export function TablesView(props: TablesProps): ComponentReturnType;
8098
8150
  * metrics.setMetricDefinition('highestPrice', 'species', 'max', 'price');
8099
8151
  *
8100
8152
  * const app = document.createElement('div');
8101
- * ReactDOM.render(<App metrics={metrics} />, app); // !act
8153
+ * ReactDOMClient.createRoot(app).render(<App metrics={metrics} />); // !act
8102
8154
  * console.log(app.innerHTML);
8103
8155
  * // -> '<div>highestPrice:{5}</div>'
8104
8156
  * ```
@@ -8128,7 +8180,7 @@ export function TablesView(props: TablesProps): ComponentReturnType;
8128
8180
  * metrics.setMetricDefinition('highestPrice', 'species', 'max', 'price');
8129
8181
  *
8130
8182
  * const app = document.createElement('div');
8131
- * ReactDOM.render(<App metrics={metrics} />, app); // !act
8183
+ * ReactDOMClient.createRoot(app).render(<App metrics={metrics} />); // !act
8132
8184
  * console.log(app.innerHTML);
8133
8185
  * // -> '<div></div>'
8134
8186
  * ```
@@ -8179,7 +8231,7 @@ export function MetricView(props: MetricProps): ComponentReturnType;
8179
8231
  * );
8180
8232
  *
8181
8233
  * const app = document.createElement('div');
8182
- * ReactDOM.render(<App />, app); // !act
8234
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
8183
8235
  * console.log(app.innerHTML);
8184
8236
  * // -> '<div>dog</div>'
8185
8237
  *
@@ -8212,7 +8264,7 @@ export function MetricView(props: MetricProps): ComponentReturnType;
8212
8264
  * indexes.setIndexDefinition('bySpecies', 'pets', 'species');
8213
8265
  *
8214
8266
  * const app = document.createElement('div');
8215
- * ReactDOM.render(<App indexes={indexes} />, app); // !act
8267
+ * ReactDOMClient.createRoot(app).render(<App indexes={indexes} />); // !act
8216
8268
  * console.log(app.innerHTML);
8217
8269
  * // -> '<div>dog:{fido:{species:{dog}}cujo:{species:{dog}}}</div>'
8218
8270
  * ```
@@ -8254,7 +8306,7 @@ export function MetricView(props: MetricProps): ComponentReturnType;
8254
8306
  * indexes.setIndexDefinition('bySpecies', 'pets', 'species');
8255
8307
  *
8256
8308
  * const app = document.createElement('div');
8257
- * ReactDOM.render(<App indexes={indexes} />, app); // !act
8309
+ * ReactDOMClient.createRoot(app).render(<App indexes={indexes} />); // !act
8258
8310
  * console.log(app.innerHTML);
8259
8311
  * // -> '<div><span><b>fido</b>: dog/brown</span><span>cujo: dog</span></div>'
8260
8312
  * ```
@@ -8301,7 +8353,7 @@ export function SliceView(props: SliceProps): ComponentReturnType;
8301
8353
  * );
8302
8354
  *
8303
8355
  * const app = document.createElement('div');
8304
- * ReactDOM.render(<App />, app); // !act
8356
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
8305
8357
  * console.log(app.innerHTML);
8306
8358
  * // -> '<div>dog/cat</div>'
8307
8359
  *
@@ -8334,7 +8386,7 @@ export function SliceView(props: SliceProps): ComponentReturnType;
8334
8386
  * indexes.setIndexDefinition('bySpecies', 'pets', 'species');
8335
8387
  *
8336
8388
  * const app = document.createElement('div');
8337
- * ReactDOM.render(<App indexes={indexes} />, app); // !act
8389
+ * ReactDOMClient.createRoot(app).render(<App indexes={indexes} />); // !act
8338
8390
  * console.log(app.innerHTML);
8339
8391
  * // -> '<div>bySpecies:{dog:{fido:{species:{dog}}cujo:{species:{dog}}}}</div>'
8340
8392
  * ```
@@ -8375,7 +8427,7 @@ export function SliceView(props: SliceProps): ComponentReturnType;
8375
8427
  * indexes.setIndexDefinition('bySpecies', 'pets', 'species');
8376
8428
  *
8377
8429
  * const app = document.createElement('div');
8378
- * ReactDOM.render(<App indexes={indexes} />, app); // !act
8430
+ * ReactDOMClient.createRoot(app).render(<App indexes={indexes} />); // !act
8379
8431
  * console.log(app.innerHTML);
8380
8432
  * // -> '<div><span><b>dog</b>: dog/dog</span><span>cat: cat</span></div>'
8381
8433
  * ```
@@ -8431,7 +8483,7 @@ export function IndexView(props: IndexProps): ComponentReturnType;
8431
8483
  * );
8432
8484
  *
8433
8485
  * const app = document.createElement('div');
8434
- * ReactDOM.render(<App />, app); // !act
8486
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
8435
8487
  * console.log(app.innerHTML);
8436
8488
  * // -> '<div>5</div>'
8437
8489
  *
@@ -8467,7 +8519,8 @@ export function IndexView(props: IndexProps): ComponentReturnType;
8467
8519
  * ).setRelationshipDefinition('petSpecies', 'pets', 'species', 'species');
8468
8520
  *
8469
8521
  * const app = document.createElement('div');
8470
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
8522
+ * const root = ReactDOMClient.createRoot(app);
8523
+ * root.render(<App relationships={relationships} />); // !act
8471
8524
  * console.log(app.innerHTML);
8472
8525
  * // -> '<div>cujo:{dog:{price:{5}}}</div>'
8473
8526
  * ```
@@ -8507,7 +8560,8 @@ export function IndexView(props: IndexProps): ComponentReturnType;
8507
8560
  * ).setRelationshipDefinition('petSpecies', 'pets', 'species', 'species');
8508
8561
  *
8509
8562
  * const app = document.createElement('div');
8510
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
8563
+ * const root = ReactDOMClient.createRoot(app);
8564
+ * root.render(<App relationships={relationships} />); // !act
8511
8565
  * console.log(app.innerHTML);
8512
8566
  * // -> '<div><span><b>dog</b>: 5</span></div>'
8513
8567
  * ```
@@ -8564,7 +8618,7 @@ export function RemoteRowView(props: RemoteRowProps): ComponentReturnType;
8564
8618
  * );
8565
8619
  *
8566
8620
  * const app = document.createElement('div');
8567
- * ReactDOM.render(<App />, app); // !act
8621
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
8568
8622
  * console.log(app.innerHTML);
8569
8623
  * // -> '<div>dog/dog</div>'
8570
8624
  *
@@ -8600,7 +8654,8 @@ export function RemoteRowView(props: RemoteRowProps): ComponentReturnType;
8600
8654
  * ).setRelationshipDefinition('petSpecies', 'pets', 'species', 'species');
8601
8655
  *
8602
8656
  * const app = document.createElement('div');
8603
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
8657
+ * const root = ReactDOMClient.createRoot(app);
8658
+ * root.render(<App relationships={relationships} />); // !act
8604
8659
  * console.log(app.innerHTML);
8605
8660
  * // -> '<div>dog:{fido:{species:{dog}}cujo:{species:{dog}}}</div>'
8606
8661
  * ```
@@ -8640,7 +8695,8 @@ export function RemoteRowView(props: RemoteRowProps): ComponentReturnType;
8640
8695
  * ).setRelationshipDefinition('petSpecies', 'pets', 'species', 'species');
8641
8696
  *
8642
8697
  * const app = document.createElement('div');
8643
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
8698
+ * const root = ReactDOMClient.createRoot(app);
8699
+ * root.render(<App relationships={relationships} />); // !act
8644
8700
  * console.log(app.innerHTML);
8645
8701
  * // -> '<div><span><b>fido</b>: dog</span><span>cujo: dog</span></div>'
8646
8702
  * ```
@@ -8699,7 +8755,7 @@ export function LocalRowsView(props: LocalRowsProps): ComponentReturnType;
8699
8755
  * );
8700
8756
  *
8701
8757
  * const app = document.createElement('div');
8702
- * ReactDOM.render(<App />, app); // !act
8758
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
8703
8759
  * console.log(app.innerHTML);
8704
8760
  * // -> '<div>felix/cujo/dog</div>'
8705
8761
  *
@@ -8737,7 +8793,8 @@ export function LocalRowsView(props: LocalRowsProps): ComponentReturnType;
8737
8793
  * ).setRelationshipDefinition('petSequence', 'pets', 'pets', 'next');
8738
8794
  *
8739
8795
  * const app = document.createElement('div');
8740
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
8796
+ * const root = ReactDOMClient.createRoot(app);
8797
+ * root.render(<App relationships={relationships} />); // !act
8741
8798
  * console.log(app.innerHTML);
8742
8799
  * // -> '<div>fido:{fido:{next:{felix}}felix:{species:{cat}}}</div>'
8743
8800
  * ```
@@ -8778,7 +8835,8 @@ export function LocalRowsView(props: LocalRowsProps): ComponentReturnType;
8778
8835
  * ).setRelationshipDefinition('petSequence', 'pets', 'pets', 'next');
8779
8836
  *
8780
8837
  * const app = document.createElement('div');
8781
- * ReactDOM.render(<App relationships={relationships} />, app); // !act
8838
+ * const root = ReactDOMClient.createRoot(app);
8839
+ * root.render(<App relationships={relationships} />); // !act
8782
8840
  * console.log(app.innerHTML);
8783
8841
  * // -> '<div><span><b>fido</b>: felix</span><span>felix: cat</span></div>'
8784
8842
  * ```
@@ -8833,7 +8891,7 @@ export function LinkedRowsView(props: LinkedRowsProps): ComponentReturnType;
8833
8891
  * );
8834
8892
  *
8835
8893
  * const app = document.createElement('div');
8836
- * ReactDOM.render(<App />, app); // !act
8894
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
8837
8895
  * console.log(app.innerHTML);
8838
8896
  * // -> '<span>brown</span>'
8839
8897
  *
@@ -8871,7 +8929,7 @@ export function LinkedRowsView(props: LinkedRowsProps): ComponentReturnType;
8871
8929
  * }),
8872
8930
  * ).setQueryDefinition('petColors', 'pets', ({select}) => select('color'));
8873
8931
  * const app = document.createElement('div');
8874
- * ReactDOM.render(<App queries={queries} />, app); // !act
8932
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
8875
8933
  * console.log(app.innerHTML);
8876
8934
  * // -> '<span>color:{brown}</span>'
8877
8935
  * ```
@@ -8900,7 +8958,7 @@ export function LinkedRowsView(props: LinkedRowsProps): ComponentReturnType;
8900
8958
  * }),
8901
8959
  * ).setQueryDefinition('petColors', 'pets', ({select}) => select('color'));
8902
8960
  * const app = document.createElement('div');
8903
- * ReactDOM.render(<App queries={queries} />, app); // !act
8961
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
8904
8962
  * console.log(app.innerHTML);
8905
8963
  * // -> '<span></span>'
8906
8964
  * ```
@@ -8965,7 +9023,7 @@ export function ResultCellView(props: ResultCellProps): ComponentReturnType;
8965
9023
  * );
8966
9024
  *
8967
9025
  * const app = document.createElement('div');
8968
- * ReactDOM.render(<App />, app); // !act
9026
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
8969
9027
  * console.log(app.innerHTML);
8970
9028
  * // -> '<div>dog/brown</div>'
8971
9029
  *
@@ -9001,7 +9059,7 @@ export function ResultCellView(props: ResultCellProps): ComponentReturnType;
9001
9059
  * select('color');
9002
9060
  * });
9003
9061
  * const app = document.createElement('div');
9004
- * ReactDOM.render(<App queries={queries} />, app); // !act
9062
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
9005
9063
  * console.log(app.innerHTML);
9006
9064
  * // -> '<div>fido:{species:{dog}color:{brown}}</div>'
9007
9065
  * ```
@@ -9047,7 +9105,7 @@ export function ResultCellView(props: ResultCellProps): ComponentReturnType;
9047
9105
  * select('color');
9048
9106
  * });
9049
9107
  * const app = document.createElement('div');
9050
- * ReactDOM.render(<App queries={queries} />, app); // !act
9108
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
9051
9109
  * console.log(app.innerHTML);
9052
9110
  * // -> '<div><span><b>species</b>: dog</span><span>color: brown</span></div>'
9053
9111
  * ```
@@ -9109,7 +9167,7 @@ export function ResultRowView(props: ResultRowProps): ComponentReturnType;
9109
9167
  * );
9110
9168
  *
9111
9169
  * const app = document.createElement('div');
9112
- * ReactDOM.render(<App />, app); // !act
9170
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
9113
9171
  * console.log(app.innerHTML);
9114
9172
  * // -> '<div>black/brown</div>'
9115
9173
  *
@@ -9145,7 +9203,7 @@ export function ResultRowView(props: ResultRowProps): ComponentReturnType;
9145
9203
  * }),
9146
9204
  * ).setQueryDefinition('petColors', 'pets', ({select}) => select('color'));
9147
9205
  * const app = document.createElement('div');
9148
- * ReactDOM.render(<App queries={queries} />, app); // !act
9206
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
9149
9207
  * console.log(app.innerHTML);
9150
9208
  * // -> '<div>petColors:{felix:{color:{black}}fido:{color:{brown}}}</div>'
9151
9209
  * ```
@@ -9185,7 +9243,7 @@ export function ResultRowView(props: ResultRowProps): ComponentReturnType;
9185
9243
  * }),
9186
9244
  * ).setQueryDefinition('petColors', 'pets', ({select}) => select('color'));
9187
9245
  * const app = document.createElement('div');
9188
- * ReactDOM.render(<App queries={queries} />, app); // !act
9246
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
9189
9247
  * console.log(app.innerHTML);
9190
9248
  * // -> '<div><span>felix: black</span><span><b>fido</b>: brown</span></div>'
9191
9249
  * ```
@@ -9239,7 +9297,7 @@ export function ResultSortedTableView(
9239
9297
  * );
9240
9298
  *
9241
9299
  * const app = document.createElement('div');
9242
- * ReactDOM.render(<App />, app); // !act
9300
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
9243
9301
  * console.log(app.innerHTML);
9244
9302
  * // -> '<div>brown/black</div>'
9245
9303
  *
@@ -9271,7 +9329,7 @@ export function ResultSortedTableView(
9271
9329
  * }),
9272
9330
  * ).setQueryDefinition('petColors', 'pets', ({select}) => select('color'));
9273
9331
  * const app = document.createElement('div');
9274
- * ReactDOM.render(<App queries={queries} />, app); // !act
9332
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
9275
9333
  * console.log(app.innerHTML);
9276
9334
  * // -> '<div>petColors:{fido:{color:{brown}}felix:{color:{black}}}</div>'
9277
9335
  * ```
@@ -9310,7 +9368,7 @@ export function ResultSortedTableView(
9310
9368
  * }),
9311
9369
  * ).setQueryDefinition('petColors', 'pets', ({select}) => select('color'));
9312
9370
  * const app = document.createElement('div');
9313
- * ReactDOM.render(<App queries={queries} />, app); // !act
9371
+ * ReactDOMClient.createRoot(app).render(<App queries={queries} />); // !act
9314
9372
  * console.log(app.innerHTML);
9315
9373
  * // -> '<div><span><b>fido</b>: brown</span><span>felix: black</span></div>'
9316
9374
  * ```
@@ -9353,7 +9411,7 @@ export function ResultTableView(props: ResultTableProps): ComponentReturnType;
9353
9411
  * );
9354
9412
  *
9355
9413
  * const app = document.createElement('div');
9356
- * ReactDOM.render(<App />, app); // !act
9414
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
9357
9415
  * console.log(app.innerHTML);
9358
9416
  * // -> '<div>1:{}</div>'
9359
9417
  *
@@ -9406,7 +9464,7 @@ export function CheckpointView(props: CheckpointProps): ComponentReturnType;
9406
9464
  * );
9407
9465
  *
9408
9466
  * const app = document.createElement('div');
9409
- * ReactDOM.render(<App />, app); // !act
9467
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
9410
9468
  * console.log(app.innerHTML);
9411
9469
  * // -> '<div></div>'
9412
9470
  *
@@ -9448,7 +9506,8 @@ export function CheckpointView(props: CheckpointProps): ComponentReturnType;
9448
9506
  * checkpoints.addCheckpoint('sale'); // !act
9449
9507
  *
9450
9508
  * const app = document.createElement('div');
9451
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
9509
+ * const root = ReactDOMClient.createRoot(app);
9510
+ * root.render(<App checkpoints={checkpoints} />); // !act
9452
9511
  * console.log(app.innerHTML);
9453
9512
  * // -> '<div>0:{initial}1:{identified}</div>'
9454
9513
  * ```
@@ -9495,7 +9554,8 @@ export function CheckpointView(props: CheckpointProps): ComponentReturnType;
9495
9554
  * checkpoints.addCheckpoint('sale'); // !act
9496
9555
  *
9497
9556
  * const app = document.createElement('div');
9498
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
9557
+ * const root = ReactDOMClient.createRoot(app);
9558
+ * root.render(<App checkpoints={checkpoints} />); // !act
9499
9559
  * console.log(app.innerHTML);
9500
9560
  * // -> '<div><span><b>0</b>: initial</span><span>1: identified</span></div>'
9501
9561
  * ```
@@ -9540,7 +9600,7 @@ export function BackwardCheckpointsView(
9540
9600
  * );
9541
9601
  *
9542
9602
  * const app = document.createElement('div');
9543
- * ReactDOM.render(<App />, app); // !act
9603
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
9544
9604
  * console.log(app.innerHTML);
9545
9605
  * // -> '<div></div>'
9546
9606
  *
@@ -9581,7 +9641,8 @@ export function BackwardCheckpointsView(
9581
9641
  * checkpoints.addCheckpoint('identified'); // !act
9582
9642
  *
9583
9643
  * const app = document.createElement('div');
9584
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
9644
+ * const root = ReactDOMClient.createRoot(app);
9645
+ * root.render(<App checkpoints={checkpoints} />); // !act
9585
9646
  * console.log(app.innerHTML);
9586
9647
  * // -> '<div>1:{identified}</div>'
9587
9648
  * ```
@@ -9625,7 +9686,8 @@ export function BackwardCheckpointsView(
9625
9686
  * checkpoints.addCheckpoint('identified'); // !act
9626
9687
  *
9627
9688
  * const app = document.createElement('div');
9628
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
9689
+ * const root = ReactDOMClient.createRoot(app);
9690
+ * root.render(<App checkpoints={checkpoints} />); // !act
9629
9691
  * console.log(app.innerHTML);
9630
9692
  * // -> '<div><span><b>1</b>: identified</span></div>'
9631
9693
  *
@@ -9676,7 +9738,7 @@ export function CurrentCheckpointView(
9676
9738
  * );
9677
9739
  *
9678
9740
  * const app = document.createElement('div');
9679
- * ReactDOM.render(<App />, app); // !act
9741
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
9680
9742
  * console.log(app.innerHTML);
9681
9743
  * // -> '<div></div>'
9682
9744
  *
@@ -9719,7 +9781,8 @@ export function CurrentCheckpointView(
9719
9781
  * checkpoints.goTo('0'); // !act
9720
9782
  *
9721
9783
  * const app = document.createElement('div');
9722
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
9784
+ * const root = ReactDOMClient.createRoot(app);
9785
+ * root.render(<App checkpoints={checkpoints} />); // !act
9723
9786
  * console.log(app.innerHTML);
9724
9787
  * // -> '<div>1:{identified}2:{sale}</div>'
9725
9788
  * ```
@@ -9766,7 +9829,8 @@ export function CurrentCheckpointView(
9766
9829
  * checkpoints.goTo('0'); // !act
9767
9830
  *
9768
9831
  * const app = document.createElement('div');
9769
- * ReactDOM.render(<App checkpoints={checkpoints} />, app); // !act
9832
+ * const root = ReactDOMClient.createRoot(app);
9833
+ * root.render(<App checkpoints={checkpoints} />); // !act
9770
9834
  * console.log(app.innerHTML);
9771
9835
  * // -> '<div><span><b>1</b>: identified</span><span>2: sale</span></div>'
9772
9836
  * ```