@tanstack/react-router 0.0.1-beta.26 → 0.0.1-beta.27

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.
@@ -4014,7 +4014,7 @@ var drawChart = (function (exports) {
4014
4014
  </script>
4015
4015
  <script>
4016
4016
  /*<!--*/
4017
- const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.production.js","children":[{"uid":"ed65-59","name":"\u0000rollupPluginBabelHelpers.js"},{"name":"packages","children":[{"name":"router-core/build/esm/index.js","uid":"ed65-61"},{"name":"react-router/src/index.tsx","uid":"ed65-63"}]}]}],"isRoot":true},"nodeParts":{"ed65-59":{"renderedLength":798,"gzipLength":366,"brotliLength":0,"mainUid":"ed65-58"},"ed65-61":{"renderedLength":75287,"gzipLength":15783,"brotliLength":0,"mainUid":"ed65-60"},"ed65-63":{"renderedLength":13128,"gzipLength":3268,"brotliLength":0,"mainUid":"ed65-62"}},"nodeMetas":{"ed65-58":{"id":"\u0000rollupPluginBabelHelpers.js","moduleParts":{"index.production.js":"ed65-59"},"imported":[],"importedBy":[{"uid":"ed65-62"}]},"ed65-60":{"id":"/packages/router-core/build/esm/index.js","moduleParts":{"index.production.js":"ed65-61"},"imported":[],"importedBy":[{"uid":"ed65-62"}]},"ed65-62":{"id":"/packages/react-router/src/index.tsx","moduleParts":{"index.production.js":"ed65-63"},"imported":[{"uid":"ed65-58"},{"uid":"ed65-64"},{"uid":"ed65-65"},{"uid":"ed65-60"}],"importedBy":[],"isEntry":true},"ed65-64":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"ed65-62"}],"isExternal":true},"ed65-65":{"id":"use-sync-external-store/shim","moduleParts":{},"imported":[],"importedBy":[{"uid":"ed65-62"}],"isExternal":true}},"env":{"rollup":"2.77.2"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
4017
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.production.js","children":[{"uid":"287d-59","name":"\u0000rollupPluginBabelHelpers.js"},{"name":"packages","children":[{"name":"router-core/build/esm/index.js","uid":"287d-61"},{"name":"react-router/src/index.tsx","uid":"287d-63"}]}]}],"isRoot":true},"nodeParts":{"287d-59":{"renderedLength":798,"gzipLength":366,"brotliLength":0,"mainUid":"287d-58"},"287d-61":{"renderedLength":75287,"gzipLength":15783,"brotliLength":0,"mainUid":"287d-60"},"287d-63":{"renderedLength":14273,"gzipLength":3542,"brotliLength":0,"mainUid":"287d-62"}},"nodeMetas":{"287d-58":{"id":"\u0000rollupPluginBabelHelpers.js","moduleParts":{"index.production.js":"287d-59"},"imported":[],"importedBy":[{"uid":"287d-62"}]},"287d-60":{"id":"/packages/router-core/build/esm/index.js","moduleParts":{"index.production.js":"287d-61"},"imported":[],"importedBy":[{"uid":"287d-62"}]},"287d-62":{"id":"/packages/react-router/src/index.tsx","moduleParts":{"index.production.js":"287d-63"},"imported":[{"uid":"287d-58"},{"uid":"287d-64"},{"uid":"287d-65"},{"uid":"287d-60"}],"importedBy":[],"isEntry":true},"287d-64":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"287d-62"}],"isExternal":true},"287d-65":{"id":"use-sync-external-store/shim","moduleParts":{},"imported":[],"importedBy":[{"uid":"287d-62"}],"isExternal":true}},"env":{"rollup":"2.77.2"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
4018
4018
 
4019
4019
  const run = () => {
4020
4020
  const width = window.innerWidth;
@@ -7,7 +7,7 @@
7
7
  "name": "index.production.js",
8
8
  "children": [
9
9
  {
10
- "uid": "ed65-67",
10
+ "uid": "287d-67",
11
11
  "name": "\u0000rollupPluginBabelHelpers.js"
12
12
  },
13
13
  {
@@ -15,11 +15,11 @@
15
15
  "children": [
16
16
  {
17
17
  "name": "router-core/build/esm/index.js",
18
- "uid": "ed65-69"
18
+ "uid": "287d-69"
19
19
  },
20
20
  {
21
21
  "name": "react-router/src/index.tsx",
22
- "uid": "ed65-71"
22
+ "uid": "287d-71"
23
23
  }
24
24
  ]
25
25
  }
@@ -29,90 +29,90 @@
29
29
  "isRoot": true
30
30
  },
31
31
  "nodeParts": {
32
- "ed65-67": {
32
+ "287d-67": {
33
33
  "renderedLength": 798,
34
34
  "gzipLength": 366,
35
35
  "brotliLength": 0,
36
- "mainUid": "ed65-66"
36
+ "mainUid": "287d-66"
37
37
  },
38
- "ed65-69": {
38
+ "287d-69": {
39
39
  "renderedLength": 75287,
40
40
  "gzipLength": 15783,
41
41
  "brotliLength": 0,
42
- "mainUid": "ed65-68"
42
+ "mainUid": "287d-68"
43
43
  },
44
- "ed65-71": {
45
- "renderedLength": 13128,
46
- "gzipLength": 3268,
44
+ "287d-71": {
45
+ "renderedLength": 14273,
46
+ "gzipLength": 3542,
47
47
  "brotliLength": 0,
48
- "mainUid": "ed65-70"
48
+ "mainUid": "287d-70"
49
49
  }
50
50
  },
51
51
  "nodeMetas": {
52
- "ed65-66": {
52
+ "287d-66": {
53
53
  "id": "\u0000rollupPluginBabelHelpers.js",
54
54
  "moduleParts": {
55
- "index.production.js": "ed65-67"
55
+ "index.production.js": "287d-67"
56
56
  },
57
57
  "imported": [],
58
58
  "importedBy": [
59
59
  {
60
- "uid": "ed65-70"
60
+ "uid": "287d-70"
61
61
  }
62
62
  ]
63
63
  },
64
- "ed65-68": {
64
+ "287d-68": {
65
65
  "id": "/packages/router-core/build/esm/index.js",
66
66
  "moduleParts": {
67
- "index.production.js": "ed65-69"
67
+ "index.production.js": "287d-69"
68
68
  },
69
69
  "imported": [],
70
70
  "importedBy": [
71
71
  {
72
- "uid": "ed65-70"
72
+ "uid": "287d-70"
73
73
  }
74
74
  ]
75
75
  },
76
- "ed65-70": {
76
+ "287d-70": {
77
77
  "id": "/packages/react-router/src/index.tsx",
78
78
  "moduleParts": {
79
- "index.production.js": "ed65-71"
79
+ "index.production.js": "287d-71"
80
80
  },
81
81
  "imported": [
82
82
  {
83
- "uid": "ed65-66"
83
+ "uid": "287d-66"
84
84
  },
85
85
  {
86
- "uid": "ed65-72"
86
+ "uid": "287d-72"
87
87
  },
88
88
  {
89
- "uid": "ed65-73"
89
+ "uid": "287d-73"
90
90
  },
91
91
  {
92
- "uid": "ed65-68"
92
+ "uid": "287d-68"
93
93
  }
94
94
  ],
95
95
  "importedBy": [],
96
96
  "isEntry": true
97
97
  },
98
- "ed65-72": {
98
+ "287d-72": {
99
99
  "id": "react",
100
100
  "moduleParts": {},
101
101
  "imported": [],
102
102
  "importedBy": [
103
103
  {
104
- "uid": "ed65-70"
104
+ "uid": "287d-70"
105
105
  }
106
106
  ],
107
107
  "isExternal": true
108
108
  },
109
- "ed65-73": {
109
+ "287d-73": {
110
110
  "id": "use-sync-external-store/shim",
111
111
  "moduleParts": {},
112
112
  "imported": [],
113
113
  "importedBy": [
114
114
  {
115
- "uid": "ed65-70"
115
+ "uid": "287d-70"
116
116
  }
117
117
  ],
118
118
  "isExternal": true
@@ -2830,7 +2830,8 @@
2830
2830
  }, /*#__PURE__*/React__namespace.createElement(React__namespace.Suspense, {
2831
2831
  fallback: /*#__PURE__*/React__namespace.createElement(PendingComponent, null)
2832
2832
  }, /*#__PURE__*/React__namespace.createElement(CatchBoundary, {
2833
- errorComponent: errorComponent
2833
+ errorComponent: errorComponent,
2834
+ key: match.routeId
2834
2835
  }, (() => {
2835
2836
  if (match.status === 'error') {
2836
2837
  throw match.error;
@@ -2850,7 +2851,8 @@
2850
2851
  constructor() {
2851
2852
  super(...arguments);
2852
2853
  this.state = {
2853
- error: false
2854
+ error: false,
2855
+ info: undefined
2854
2856
  };
2855
2857
  }
2856
2858
 
@@ -2863,17 +2865,49 @@
2863
2865
  }
2864
2866
 
2865
2867
  render() {
2866
- var _this$props$errorComp;
2868
+ return /*#__PURE__*/React__namespace.createElement(CatchBoundaryInner, _extends$2({}, this.props, {
2869
+ errorState: this.state,
2870
+ reset: () => this.setState({})
2871
+ }));
2872
+ }
2873
+
2874
+ } // This is the messiest thing ever... I'm either seriously tired (likely) or
2875
+ // there has to be a better way to reset error boundaries when the
2876
+ // router's location key changes.
2877
+
2867
2878
 
2868
- const errorComponent = (_this$props$errorComp = this.props.errorComponent) != null ? _this$props$errorComp : DefaultErrorBoundary;
2879
+ function CatchBoundaryInner(props) {
2880
+ var _props$errorComponent;
2869
2881
 
2870
- if (this.state.error) {
2871
- return /*#__PURE__*/React__namespace.createElement(errorComponent, this.state);
2882
+ const [activeErrorState, setActiveErrorState] = React__namespace.useState(props.errorState);
2883
+ const router = useRouter();
2884
+ const errorComponent = (_props$errorComponent = props.errorComponent) != null ? _props$errorComponent : DefaultErrorBoundary;
2885
+ React__namespace.useEffect(() => {
2886
+ if (activeErrorState) {
2887
+ let prevKey = router.state.location.key;
2888
+ return router.subscribe(() => {
2889
+ if (router.state.location.key !== prevKey) {
2890
+ prevKey = router.state.location.key;
2891
+ setActiveErrorState({});
2892
+ }
2893
+ });
2894
+ }
2895
+
2896
+ return;
2897
+ }, [activeErrorState]);
2898
+ React__namespace.useEffect(() => {
2899
+ if (props.errorState.error) {
2900
+ setActiveErrorState(props.errorState);
2872
2901
  }
2873
2902
 
2874
- return this.props.children;
2903
+ props.reset();
2904
+ }, [props.errorState.error]);
2905
+
2906
+ if (activeErrorState.error) {
2907
+ return /*#__PURE__*/React__namespace.createElement(errorComponent, activeErrorState);
2875
2908
  }
2876
2909
 
2910
+ return props.children;
2877
2911
  }
2878
2912
 
2879
2913
  function DefaultErrorBoundary(_ref6) {