@bpmn-io/properties-panel 3.12.0 → 3.14.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.
Files changed (90) hide show
  1. package/dist/assets/properties-panel.css +0 -4
  2. package/dist/index.esm.js +31 -22
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.js +66 -63
  5. package/dist/index.js.map +1 -1
  6. package/package.json +28 -31
  7. package/preact/README.md +2 -2
  8. package/preact/compat/LICENSE +21 -0
  9. package/preact/compat/dist/compat.js +1 -1
  10. package/preact/compat/dist/compat.js.map +1 -1
  11. package/preact/compat/dist/compat.mjs +1 -1
  12. package/preact/compat/dist/compat.module.js +1 -1
  13. package/preact/compat/dist/compat.module.js.map +1 -1
  14. package/preact/compat/dist/compat.umd.js +1 -1
  15. package/preact/compat/dist/compat.umd.js.map +1 -1
  16. package/preact/compat/server.browser.js +7 -0
  17. package/preact/compat/server.mjs +7 -0
  18. package/preact/compat/src/index.d.ts +22 -8
  19. package/preact/compat/src/index.js +35 -3
  20. package/preact/compat/src/portals.js +26 -35
  21. package/preact/compat/src/suspense.js +9 -6
  22. package/preact/compat/src/util.js +0 -5
  23. package/preact/debug/LICENSE +21 -0
  24. package/preact/debug/dist/debug.js +1 -1
  25. package/preact/debug/dist/debug.js.map +1 -1
  26. package/preact/debug/dist/debug.mjs +1 -1
  27. package/preact/debug/dist/debug.module.js +1 -1
  28. package/preact/debug/dist/debug.module.js.map +1 -1
  29. package/preact/debug/dist/debug.umd.js +1 -1
  30. package/preact/debug/dist/debug.umd.js.map +1 -1
  31. package/preact/debug/src/debug.js +124 -42
  32. package/preact/devtools/LICENSE +21 -0
  33. package/preact/devtools/dist/devtools.js +1 -1
  34. package/preact/devtools/dist/devtools.js.map +1 -1
  35. package/preact/devtools/dist/devtools.mjs +1 -1
  36. package/preact/devtools/dist/devtools.module.js +1 -1
  37. package/preact/devtools/dist/devtools.module.js.map +1 -1
  38. package/preact/devtools/dist/devtools.umd.js +1 -1
  39. package/preact/devtools/dist/devtools.umd.js.map +1 -1
  40. package/preact/devtools/src/devtools.js +1 -1
  41. package/preact/dist/preact.js +1 -1
  42. package/preact/dist/preact.js.map +1 -1
  43. package/preact/dist/preact.min.js +1 -1
  44. package/preact/dist/preact.min.js.map +1 -1
  45. package/preact/dist/preact.min.module.js +1 -1
  46. package/preact/dist/preact.min.module.js.map +1 -1
  47. package/preact/dist/preact.min.umd.js +1 -1
  48. package/preact/dist/preact.min.umd.js.map +1 -1
  49. package/preact/dist/preact.mjs +1 -1
  50. package/preact/dist/preact.module.js +1 -1
  51. package/preact/dist/preact.module.js.map +1 -1
  52. package/preact/dist/preact.umd.js +1 -1
  53. package/preact/dist/preact.umd.js.map +1 -1
  54. package/preact/hooks/LICENSE +21 -0
  55. package/preact/jsx-runtime/LICENSE +21 -0
  56. package/preact/jsx-runtime/dist/jsxRuntime.js +1 -1
  57. package/preact/jsx-runtime/dist/jsxRuntime.js.map +1 -1
  58. package/preact/jsx-runtime/dist/jsxRuntime.mjs +1 -1
  59. package/preact/jsx-runtime/dist/jsxRuntime.module.js +1 -1
  60. package/preact/jsx-runtime/dist/jsxRuntime.module.js.map +1 -1
  61. package/preact/jsx-runtime/dist/jsxRuntime.umd.js +1 -1
  62. package/preact/jsx-runtime/dist/jsxRuntime.umd.js.map +1 -1
  63. package/preact/jsx-runtime/src/index.d.ts +10 -0
  64. package/preact/jsx-runtime/src/index.js +113 -4
  65. package/preact/jsx-runtime/src/utils.js +36 -0
  66. package/preact/package.json +4 -3
  67. package/preact/src/clone-element.js +6 -4
  68. package/preact/src/component.js +34 -28
  69. package/preact/src/constants.js +13 -1
  70. package/preact/src/create-context.js +3 -3
  71. package/preact/src/create-element.js +14 -11
  72. package/preact/src/diff/catch-error.js +11 -7
  73. package/preact/src/diff/children.js +321 -218
  74. package/preact/src/diff/index.js +188 -142
  75. package/preact/src/diff/props.js +31 -38
  76. package/preact/src/index.d.ts +38 -19
  77. package/preact/src/index.js +1 -1
  78. package/preact/src/internal.d.ts +183 -153
  79. package/preact/src/jsx.d.ts +883 -19
  80. package/preact/src/options.js +1 -1
  81. package/preact/src/render.js +11 -11
  82. package/preact/src/util.js +2 -2
  83. package/preact/test-utils/dist/testUtils.js +1 -1
  84. package/preact/test-utils/dist/testUtils.js.map +1 -1
  85. package/preact/test-utils/dist/testUtils.mjs +1 -1
  86. package/preact/test-utils/dist/testUtils.module.js +1 -1
  87. package/preact/test-utils/dist/testUtils.module.js.map +1 -1
  88. package/preact/test-utils/dist/testUtils.umd.js +1 -1
  89. package/preact/test-utils/dist/testUtils.umd.js.map +1 -1
  90. package/preact/test-utils/src/index.js +13 -5
@@ -1,4 +1,11 @@
1
+ import { renderToString } from 'preact-render-to-string';
2
+
1
3
  export {
2
4
  renderToString,
3
5
  renderToString as renderToStaticMarkup
4
6
  } from 'preact-render-to-string';
7
+
8
+ export default {
9
+ renderToString,
10
+ renderToStaticMarkup: renderToString
11
+ };
@@ -1,4 +1,11 @@
1
+ import { renderToString } from 'preact-render-to-string';
2
+
1
3
  export {
2
4
  renderToString,
3
5
  renderToString as renderToStaticMarkup
4
6
  } from 'preact-render-to-string';
7
+
8
+ export default {
9
+ renderToString,
10
+ renderToStaticMarkup: renderToString
11
+ };
@@ -19,7 +19,7 @@ declare namespace React {
19
19
  export import Reducer = _hooks.Reducer;
20
20
  export import Dispatch = _hooks.Dispatch;
21
21
  export import Ref = _hooks.Ref;
22
- export import StateUpdater = _hooks.StateUpdater;
22
+ export import SetStateAction = _hooks.StateUpdater;
23
23
  export import useCallback = _hooks.useCallback;
24
24
  export import useContext = _hooks.useContext;
25
25
  export import useDebugValue = _hooks.useDebugValue;
@@ -53,6 +53,7 @@ declare namespace React {
53
53
  export import createElement = preact.createElement;
54
54
  export import cloneElement = preact.cloneElement;
55
55
  export import ComponentProps = preact.ComponentProps;
56
+ export import ReactNode = preact.ComponentChild;
56
57
 
57
58
  // Suspense
58
59
  export import Suspense = _Suspense.Suspense;
@@ -65,9 +66,16 @@ declare namespace React {
65
66
  export function startTransition(cb: () => void): void;
66
67
 
67
68
  // HTML
68
- export import HTMLAttributes = JSXInternal.HTMLAttributes;
69
+ export interface HTMLAttributes<T extends EventTarget>
70
+ extends JSXInternal.HTMLAttributes<T> {}
71
+ export interface HTMLProps<T extends EventTarget>
72
+ extends JSXInternal.HTMLAttributes<T>,
73
+ preact.ClassAttributes<T> {}
69
74
  export import DetailedHTMLProps = JSXInternal.DetailedHTMLProps;
70
75
  export import CSSProperties = JSXInternal.CSSProperties;
76
+ export interface SVGProps<T extends EventTarget>
77
+ extends JSXInternal.SVGAttributes<T>,
78
+ preact.ClassAttributes<T> {}
71
79
 
72
80
  // Events
73
81
  export import TargetedEvent = JSXInternal.TargetedEvent;
@@ -76,23 +84,23 @@ declare namespace React {
76
84
 
77
85
  export function createPortal(
78
86
  vnode: preact.VNode,
79
- container: Element | DocumentFragment
87
+ container: preact.ContainerNode
80
88
  ): preact.VNode<any>;
81
89
 
82
90
  export function render(
83
91
  vnode: preact.VNode<any>,
84
- parent: Element,
92
+ parent: preact.ContainerNode,
85
93
  callback?: () => void
86
94
  ): Component | null;
87
95
 
88
96
  export function hydrate(
89
97
  vnode: preact.VNode<any>,
90
- parent: Element,
98
+ parent: preact.ContainerNode,
91
99
  callback?: () => void
92
100
  ): Component | null;
93
101
 
94
102
  export function unmountComponentAtNode(
95
- container: Element | Document | ShadowRoot | DocumentFragment
103
+ container: preact.ContainerNode
96
104
  ): boolean;
97
105
 
98
106
  export function createFactory(
@@ -102,11 +110,12 @@ declare namespace React {
102
110
  ...children: preact.ComponentChildren[]
103
111
  ) => preact.VNode<any>;
104
112
  export function isValidElement(element: any): boolean;
113
+ export function isFragment(element: any): boolean;
105
114
  export function findDOMNode(
106
115
  component: preact.Component | Element
107
116
  ): Element | null;
108
117
 
109
- export abstract class PureComponent<P = {}, S = {}> extends preact.Component<
118
+ export abstract class PureComponent<P = {}, S = {}, SS = any> extends preact.Component<
110
119
  P,
111
120
  S
112
121
  > {
@@ -146,7 +155,9 @@ declare namespace React {
146
155
 
147
156
  export function forwardRef<R, P = {}>(
148
157
  fn: ForwardFn<P, R>
149
- ): preact.FunctionalComponent<Omit<P, 'ref'> & { ref?: preact.Ref<R> }>;
158
+ ): preact.FunctionalComponent<PropsWithoutRef<P> & { ref?: preact.Ref<R> }>;
159
+
160
+ export type PropsWithoutRef<P> = Omit<P, 'ref'>;
150
161
 
151
162
  interface MutableRefObject<T> {
152
163
  current: T;
@@ -157,6 +168,9 @@ declare namespace React {
157
168
  | MutableRefObject<T | null>
158
169
  | null;
159
170
 
171
+ export function flushSync<R>(fn: () => R): R;
172
+ export function flushSync<A, R>(fn: (a: A) => R, a: A): R;
173
+
160
174
  export function unstable_batchedUpdates(
161
175
  callback: (arg?: any) => void,
162
176
  arg?: any
@@ -54,6 +54,15 @@ function isValidElement(element) {
54
54
  return !!element && element.$$typeof === REACT_ELEMENT_TYPE;
55
55
  }
56
56
 
57
+ /**
58
+ * Check if the passed element is a Fragment node.
59
+ * @param {*} element The element to check
60
+ * @returns {boolean}
61
+ */
62
+ function isFragment(element) {
63
+ return isValidElement(element) && element.type === Fragment;
64
+ }
65
+
57
66
  /**
58
67
  * Wrap `cloneElement` to abort if the passed element is not a valid element and apply
59
68
  * all vnode normalizations.
@@ -135,13 +144,21 @@ export function useTransition() {
135
144
  // styles/... before it attaches
136
145
  export const useInsertionEffect = useLayoutEffect;
137
146
 
147
+ // compat to react-is
148
+ export const isElement = isValidElement;
149
+
138
150
  /**
139
151
  * This is taken from https://github.com/facebook/react/blob/main/packages/use-sync-external-store/src/useSyncExternalStoreShimClient.js#L84
140
152
  * on a high level this cuts out the warnings, ... and attempts a smaller implementation
153
+ * @typedef {{ _value: any; _getSnapshot: () => any }} Store
141
154
  */
142
155
  export function useSyncExternalStore(subscribe, getSnapshot) {
143
156
  const value = getSnapshot();
144
157
 
158
+ /**
159
+ * @typedef {{ _instance: Store }} StoreRef
160
+ * @type {[StoreRef, (store: StoreRef) => void]}
161
+ */
145
162
  const [{ _instance }, forceUpdate] = useState({
146
163
  _instance: { _value: value, _getSnapshot: getSnapshot }
147
164
  });
@@ -150,18 +167,18 @@ export function useSyncExternalStore(subscribe, getSnapshot) {
150
167
  _instance._value = value;
151
168
  _instance._getSnapshot = getSnapshot;
152
169
 
153
- if (!is(_instance._value, getSnapshot())) {
170
+ if (didSnapshotChange(_instance)) {
154
171
  forceUpdate({ _instance });
155
172
  }
156
173
  }, [subscribe, value, getSnapshot]);
157
174
 
158
175
  useEffect(() => {
159
- if (!is(_instance._value, _instance._getSnapshot())) {
176
+ if (didSnapshotChange(_instance)) {
160
177
  forceUpdate({ _instance });
161
178
  }
162
179
 
163
180
  return subscribe(() => {
164
- if (!is(_instance._value, _instance._getSnapshot())) {
181
+ if (didSnapshotChange(_instance)) {
165
182
  forceUpdate({ _instance });
166
183
  }
167
184
  });
@@ -170,6 +187,18 @@ export function useSyncExternalStore(subscribe, getSnapshot) {
170
187
  return value;
171
188
  }
172
189
 
190
+ /** @type {(inst: Store) => boolean} */
191
+ function didSnapshotChange(inst) {
192
+ const latestGetSnapshot = inst._getSnapshot;
193
+ const prevValue = inst._value;
194
+ try {
195
+ const nextValue = latestGetSnapshot();
196
+ return !is(prevValue, nextValue);
197
+ } catch (error) {
198
+ return true;
199
+ }
200
+ }
201
+
173
202
  export * from '../../hooks';
174
203
  export {
175
204
  version,
@@ -185,6 +214,7 @@ export {
185
214
  createRef,
186
215
  Fragment,
187
216
  isValidElement,
217
+ isFragment,
188
218
  findDOMNode,
189
219
  Component,
190
220
  PureComponent,
@@ -231,6 +261,8 @@ export default {
231
261
  createRef,
232
262
  Fragment,
233
263
  isValidElement,
264
+ isElement,
265
+ isFragment,
234
266
  findDOMNode,
235
267
  Component,
236
268
  PureComponent,
@@ -31,43 +31,34 @@ function Portal(props) {
31
31
  _this.componentWillUnmount();
32
32
  }
33
33
 
34
- // When props.vnode is undefined/false/null we are dealing with some kind of
35
- // conditional vnode. This should not trigger a render.
36
- if (props._vnode) {
37
- if (!_this._temp) {
38
- _this._container = container;
34
+ if (!_this._temp) {
35
+ _this._container = container;
39
36
 
40
- // Create a fake DOM parent node that manages a subset of `container`'s children:
41
- _this._temp = {
42
- nodeType: 1,
43
- parentNode: container,
44
- childNodes: [],
45
- appendChild(child) {
46
- this.childNodes.push(child);
47
- _this._container.appendChild(child);
48
- },
49
- insertBefore(child, before) {
50
- this.childNodes.push(child);
51
- _this._container.appendChild(child);
52
- },
53
- removeChild(child) {
54
- this.childNodes.splice(this.childNodes.indexOf(child) >>> 1, 1);
55
- _this._container.removeChild(child);
56
- }
57
- };
58
- }
59
-
60
- // Render our wrapping element into temp.
61
- render(
62
- createElement(ContextProvider, { context: _this.context }, props._vnode),
63
- _this._temp
64
- );
65
- }
66
- // When we come from a conditional render, on a mounted
67
- // portal we should clear the DOM.
68
- else if (_this._temp) {
69
- _this.componentWillUnmount();
37
+ // Create a fake DOM parent node that manages a subset of `container`'s children:
38
+ _this._temp = {
39
+ nodeType: 1,
40
+ parentNode: container,
41
+ childNodes: [],
42
+ appendChild(child) {
43
+ this.childNodes.push(child);
44
+ _this._container.appendChild(child);
45
+ },
46
+ insertBefore(child, before) {
47
+ this.childNodes.push(child);
48
+ _this._container.appendChild(child);
49
+ },
50
+ removeChild(child) {
51
+ this.childNodes.splice(this.childNodes.indexOf(child) >>> 1, 1);
52
+ _this._container.removeChild(child);
53
+ }
54
+ };
70
55
  }
56
+
57
+ // Render our wrapping element into temp.
58
+ render(
59
+ createElement(ContextProvider, { context: _this.context }, props._vnode),
60
+ _this._temp
61
+ );
71
62
  }
72
63
 
73
64
  /**
@@ -1,4 +1,5 @@
1
1
  import { Component, createElement, options, Fragment } from '../..';
2
+ import { MODE_HYDRATE } from '../../src/constants';
2
3
  import { assign } from './util';
3
4
 
4
5
  const oldCatchError = options._catchError;
@@ -34,7 +35,7 @@ options.unmount = function (vnode) {
34
35
  // most likely it is because the component is suspended
35
36
  // we set the vnode.type as `null` so that it is not a typeof function
36
37
  // so the unmount will remove the vnode._dom
37
- if (component && vnode._hydrating === true) {
38
+ if (component && vnode._flags & MODE_HYDRATE) {
38
39
  vnode.type = null;
39
40
  }
40
41
 
@@ -70,7 +71,7 @@ function detachedClone(vnode, detachedParent, parentDom) {
70
71
  }
71
72
 
72
73
  function removeOriginal(vnode, detachedParent, originalParent) {
73
- if (vnode) {
74
+ if (vnode && originalParent) {
74
75
  vnode._original = null;
75
76
  vnode._children =
76
77
  vnode._children &&
@@ -81,7 +82,7 @@ function removeOriginal(vnode, detachedParent, originalParent) {
81
82
  if (vnode._component) {
82
83
  if (vnode._component._parentDom === detachedParent) {
83
84
  if (vnode._dom) {
84
- originalParent.insertBefore(vnode._dom, vnode._nextDom);
85
+ originalParent.appendChild(vnode._dom);
85
86
  }
86
87
  vnode._component._force = true;
87
88
  vnode._component._parentDom = originalParent;
@@ -166,8 +167,10 @@ Suspense.prototype._childDidSuspend = function (promise, suspendingVNode) {
166
167
  * to remain on screen and hydrate it when the suspense actually gets resolved.
167
168
  * While in non-hydration cases the usual fallback -> component flow would occour.
168
169
  */
169
- const wasHydrating = suspendingVNode._hydrating === true;
170
- if (!c._pendingSuspensionCount++ && !wasHydrating) {
170
+ if (
171
+ !c._pendingSuspensionCount++ &&
172
+ !(suspendingVNode._flags & MODE_HYDRATE)
173
+ ) {
171
174
  c.setState({ _suspended: (c._detachOnNextRender = c._vnode._children[0]) });
172
175
  }
173
176
  promise.then(onResolved, onResolved);
@@ -204,7 +207,7 @@ Suspense.prototype.render = function (props, state) {
204
207
  /** @type {import('./internal').VNode} */
205
208
  const fallback =
206
209
  state._suspended && createElement(Fragment, null, props.fallback);
207
- if (fallback) fallback._hydrating = null;
210
+ if (fallback) fallback._flags &= ~MODE_HYDRATE;
208
211
 
209
212
  return [
210
213
  createElement(Fragment, null, state._suspended ? null : props.children),
@@ -22,11 +22,6 @@ export function shallowDiffers(a, b) {
22
22
  return false;
23
23
  }
24
24
 
25
- export function removeNode(node) {
26
- let parentNode = node.parentNode;
27
- if (parentNode) parentNode.removeChild(node);
28
- }
29
-
30
25
  /**
31
26
  * Check if two values are the same value
32
27
  * @param {*} x
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015-present Jason Miller
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,2 +1,2 @@
1
- var n=require("../..");function e(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,o=new Array(e);t<e;t++)o[t]=n[t];return o}function t(n,t){var o="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(o)return(o=o.call(n)).next.bind(o);if(Array.isArray(n)||(o=function(n,t){if(n){if("string"==typeof n)return e(n,t);var o=Object.prototype.toString.call(n).slice(8,-1);return"Object"===o&&n.constructor&&(o=n.constructor.name),"Map"===o||"Set"===o?Array.from(n):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?e(n,t):void 0}}(n))||t&&n&&"number"==typeof n.length){o&&(n=o);var r=0;return function(){return r>=n.length?{done:!0}:{done:!1,value:n[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}require("../../devtools");var o={};function r(e){return e.type===n.Fragment?"Fragment":"function"==typeof e.type?e.type.displayName||e.type.name:"string"==typeof e.type?e.type:"#text"}var a=[],i=[];function c(){return a.length>0?a[a.length-1]:null}var s=!1;function u(e){return"function"==typeof e.type&&e.type!=n.Fragment}function l(n){for(var e=[n],t=n;null!=t.__o;)e.push(t.__o),t=t.__o;return e.reduce(function(n,e){n+=" in "+r(e);var t=e.__source;return t?n+=" (at "+t.fileName+":"+t.lineNumber+")":s||(s=!0,console.warn("Add @babel/plugin-transform-react-jsx-source to get a more detailed component stack. Note that you should not add it to production builds of your App for bundle size reasons.")),n+"\n"},"")}var f="function"==typeof WeakMap;function d(n){return n?"function"==typeof n.type?d(n.__):n:{}}var p=n.Component.prototype.setState;n.Component.prototype.setState=function(n,e){return null==this.__v&&null==this.state&&console.warn('Calling "this.setState" inside the constructor of a component is a no-op and might be a bug in your application. Instead, set "this.state = {}" directly.\n\n'+l(c())),p.call(this,n,e)};var h=n.Component.prototype.forceUpdate;function v(n){var e=n.props,t=r(n),o="";for(var a in e)if(e.hasOwnProperty(a)&&"children"!==a){var i=e[a];"function"==typeof i&&(i="function "+(i.displayName||i.name)+"() {}"),i=Object(i)!==i||i.toString?i+"":Object.prototype.toString.call(i),o+=" "+a+"="+JSON.stringify(i)}var c=e.children;return"<"+t+o+(c&&c.length?">..</"+t+">":" />")}n.Component.prototype.forceUpdate=function(n){return null==this.__v?console.warn('Calling "this.forceUpdate" inside the constructor of a component is a no-op and might be a bug in your application.\n\n'+l(c())):null==this.__P&&console.warn('Can\'t call "this.forceUpdate" on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.\n\n'+l(this.__v)),h.call(this,n)},function(){!function(){var e=n.options.__b,t=n.options.diffed,o=n.options.__,r=n.options.vnode,c=n.options.__r;n.options.diffed=function(n){u(n)&&i.pop(),a.pop(),t&&t(n)},n.options.__b=function(n){u(n)&&a.push(n),e&&e(n)},n.options.__=function(n,e){i=[],o&&o(n,e)},n.options.vnode=function(n){n.__o=i.length>0?i[i.length-1]:null,r&&r(n)},n.options.__r=function(n){u(n)&&i.push(n),c&&c(n)}}();var e=!1,c=n.options.__b,s=n.options.diffed,p=n.options.vnode,h=n.options.__r,y=n.options.__e,m=n.options.__,b=n.options.__h,w=f?{useEffect:new WeakMap,useLayoutEffect:new WeakMap,lazyPropTypes:new WeakMap}:null,g=[];n.options.__e=function(n,e,t,o){if(e&&e.__c&&"function"==typeof n.then){var a=n;n=new Error("Missing Suspense. The throwing component was: "+r(e));for(var i=e;i;i=i.__)if(i.__c&&i.__c.__c){n=a;break}if(n instanceof Error)throw n}try{(o=o||{}).componentStack=l(e),y(n,e,t,o),"function"!=typeof n.then&&setTimeout(function(){throw n})}catch(n){throw n}},n.options.__=function(n,e){if(!e)throw new Error("Undefined parent passed to render(), this is the second argument.\nCheck if the element is available in the DOM/has the correct id.");var t;switch(e.nodeType){case 1:case 11:case 9:t=!0;break;default:t=!1}if(!t){var o=r(n);throw new Error("Expected a valid HTML node as a second argument to render.\tReceived "+e+" instead: render(<"+o+" />, "+e+");")}m&&m(n,e)},n.options.__b=function(n){var t=n.type,a=d(n.__);if(e=!0,void 0===t)throw new Error("Undefined component passed to createElement()\n\nYou likely forgot to export your component or might have mixed up default and named imports"+v(n)+"\n\n"+l(n));if(null!=t&&"object"==typeof t){if(void 0!==t.__k&&void 0!==t.__e)throw new Error("Invalid type passed to createElement(): "+t+"\n\nDid you accidentally pass a JSX literal as JSX twice?\n\n let My"+r(n)+" = "+v(t)+";\n let vnode = <My"+r(n)+" />;\n\nThis usually happens when you export a JSX literal and not the component.\n\n"+l(n));throw new Error("Invalid type passed to createElement(): "+(Array.isArray(t)?"array":t))}if("thead"!==t&&"tfoot"!==t&&"tbody"!==t||"table"===a.type?"tr"===t&&"thead"!==a.type&&"tfoot"!==a.type&&"tbody"!==a.type&&"table"!==a.type?console.error("Improper nesting of table. Your <tr> should have a <thead/tbody/tfoot/table> parent."+v(n)+"\n\n"+l(n)):"td"===t&&"tr"!==a.type?console.error("Improper nesting of table. Your <td> should have a <tr> parent."+v(n)+"\n\n"+l(n)):"th"===t&&"tr"!==a.type&&console.error("Improper nesting of table. Your <th> should have a <tr>."+v(n)+"\n\n"+l(n)):console.error("Improper nesting of table. Your <thead/tbody/tfoot> should have a <table> parent."+v(n)+"\n\n"+l(n)),void 0!==n.ref&&"function"!=typeof n.ref&&"object"!=typeof n.ref&&!("$$typeof"in n))throw new Error('Component\'s "ref" property should be a function, or an object created by createRef(), but got ['+typeof n.ref+"] instead\n"+v(n)+"\n\n"+l(n));if("string"==typeof n.type)for(var i in n.props)if("o"===i[0]&&"n"===i[1]&&"function"!=typeof n.props[i]&&null!=n.props[i])throw new Error("Component's \""+i+'" property should be a function, but got ['+typeof n.props[i]+"] instead\n"+v(n)+"\n\n"+l(n));if("function"==typeof n.type&&n.type.propTypes){if("Lazy"===n.type.displayName&&w&&!w.lazyPropTypes.has(n.type)){var s="PropTypes are not supported on lazy(). Use propTypes on the wrapped component itself. ";try{var u=n.type();w.lazyPropTypes.set(n.type,!0),console.warn(s+"Component wrapped in lazy() is "+r(u))}catch(n){console.warn(s+"We will log the wrapped component's name once it is loaded.")}}var f=n.props;n.type.__f&&delete(f=function(n,e){for(var t in e)n[t]=e[t];return n}({},f)).ref,function(n,e,t,r,a){Object.keys(n).forEach(function(t){var i;try{i=n[t](e,t,r,"prop",null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(n){i=n}i&&!(i.message in o)&&(o[i.message]=!0,console.error("Failed prop type: "+i.message+(a&&"\n"+a()||"")))})}(n.type.propTypes,f,0,r(n),function(){return l(n)})}c&&c(n)},n.options.__r=function(n){h&&h(n),e=!0},n.options.__h=function(n,t,o){if(!n||!e)throw new Error("Hook can only be invoked from render methods.");b&&b(n,t,o)};var E=function(n,e){return{get:function(){var t="get"+n+e;g&&g.indexOf(t)<0&&(g.push(t),console.warn("getting vnode."+n+" is deprecated, "+e))},set:function(){var t="set"+n+e;g&&g.indexOf(t)<0&&(g.push(t),console.warn("setting vnode."+n+" is not allowed, "+e))}}},k={nodeName:E("nodeName","use vnode.type"),attributes:E("attributes","use vnode.props"),children:E("children","use vnode.props.children")},_=Object.create({},k);n.options.vnode=function(n){var e=n.props;if(null!==n.type&&null!=e&&("__source"in e||"__self"in e)){var t=n.props={};for(var o in e){var r=e[o];"__source"===o?n.__source=r:"__self"===o?n.__self=r:t[o]=r}}n.__proto__=_,p&&p(n)},n.options.diffed=function(n){if(n.__k&&n.__k.forEach(function(e){if("object"==typeof e&&e&&void 0===e.type){var t=Object.keys(e).join(",");throw new Error("Objects are not valid as a child. Encountered an object with the keys {"+t+"}.\n\n"+l(n))}}),e=!1,s&&s(n),null!=n.__k)for(var o=[],a=0;a<n.__k.length;a++){var i=n.__k[a];if(i&&null!=i.key){var c=i.key;if(-1!==o.indexOf(c)){console.error('Following component has two or more children with the same key attribute: "'+c+'". This may cause glitches and misbehavior in rendering process. Component: \n\n'+v(n)+"\n\n"+l(n));break}o.push(c)}}if(null!=n.__c&&null!=n.__c.__H){var u=n.__c.__H.__;if(u)for(var f=0;f<u.length;f+=1){var d=u[f];if(d.__H)for(var p,h=t(d.__H);!(p=h()).done;)if((m=p.value)!=m){var y=r(n);throw new Error("Invalid argument passed to hook. Hooks should not be called with NaN in the dependency array. Hook index "+f+" in component "+y+" was called with NaN.")}}}var m}}(),exports.resetPropWarnings=function(){o={}};
1
+ var n=require("../..");require("../../devtools");var e={};function t(e){return e.type===n.Fragment?"Fragment":"function"==typeof e.type?e.type.displayName||e.type.name:"string"==typeof e.type?e.type:"#text"}var o=[],r=[];function a(){return o.length>0?o[o.length-1]:null}var i=!1;function s(e){return"function"==typeof e.type&&e.type!=n.Fragment}function c(n){for(var e=[n],o=n;null!=o.__o;)e.push(o.__o),o=o.__o;return e.reduce(function(n,e){n+=" in "+t(e);var o=e.__source;return o?n+=" (at "+o.fileName+":"+o.lineNumber+")":i||(i=!0,console.warn("Add @babel/plugin-transform-react-jsx-source to get a more detailed component stack. Note that you should not add it to production builds of your App for bundle size reasons.")),n+"\n"},"")}var l="function"==typeof WeakMap;function u(n){var e=[];return n.__k?(n.__k.forEach(function(n){n&&"function"==typeof n.type?e.push.apply(e,u(n)):n&&"string"==typeof n.type&&e.push(n.type)}),e):e}function f(n){return n?"function"==typeof n.type?null===n.__?null!==n.__e&&null!==n.__e.parentNode?n.__e.parentNode.localName:"":f(n.__):n.type:""}var p=n.Component.prototype.setState;function d(n){return"table"===n||"tfoot"===n||"tbody"===n||"thead"===n||"td"===n||"tr"===n||"th"===n}n.Component.prototype.setState=function(n,e){return null==this.__v&&null==this.state&&console.warn('Calling "this.setState" inside the constructor of a component is a no-op and might be a bug in your application. Instead, set "this.state = {}" directly.\n\n'+c(a())),p.call(this,n,e)};var h=/^(address|article|aside|blockquote|details|div|dl|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|main|menu|nav|ol|p|pre|search|section|table|ul)$/,v=n.Component.prototype.forceUpdate;function y(n){var e=n.props,o=t(n),r="";for(var a in e)if(e.hasOwnProperty(a)&&"children"!==a){var i=e[a];"function"==typeof i&&(i="function "+(i.displayName||i.name)+"() {}"),i=Object(i)!==i||i.toString?i+"":Object.prototype.toString.call(i),r+=" "+a+"="+JSON.stringify(i)}var s=e.children;return"<"+o+r+(s&&s.length?">..</"+o+">":" />")}n.Component.prototype.forceUpdate=function(n){return null==this.__v?console.warn('Calling "this.forceUpdate" inside the constructor of a component is a no-op and might be a bug in your application.\n\n'+c(a())):null==this.__P&&console.warn('Can\'t call "this.forceUpdate" on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.\n\n'+c(this.__v)),v.call(this,n)},function(){!function(){var e=n.options.__b,t=n.options.diffed,a=n.options.__,i=n.options.vnode,c=n.options.__r;n.options.diffed=function(n){s(n)&&r.pop(),o.pop(),t&&t(n)},n.options.__b=function(n){s(n)&&o.push(n),e&&e(n)},n.options.__=function(n,e){r=[],a&&a(n,e)},n.options.vnode=function(n){n.__o=r.length>0?r[r.length-1]:null,i&&i(n)},n.options.__r=function(n){s(n)&&r.push(n),c&&c(n)}}();var a=!1,i=n.options.__b,p=n.options.diffed,v=n.options.vnode,m=n.options.__r,b=n.options.__e,w=n.options.__,g=n.options.__h,E=l?{useEffect:new WeakMap,useLayoutEffect:new WeakMap,lazyPropTypes:new WeakMap}:null,k=[];n.options.__e=function(n,e,o,r){if(e&&e.__c&&"function"==typeof n.then){var a=n;n=new Error("Missing Suspense. The throwing component was: "+t(e));for(var i=e;i;i=i.__)if(i.__c&&i.__c.__c){n=a;break}if(n instanceof Error)throw n}try{(r=r||{}).componentStack=c(e),b(n,e,o,r),"function"!=typeof n.then&&setTimeout(function(){throw n})}catch(n){throw n}},n.options.__=function(n,e){if(!e)throw new Error("Undefined parent passed to render(), this is the second argument.\nCheck if the element is available in the DOM/has the correct id.");var o;switch(e.nodeType){case 1:case 11:case 9:o=!0;break;default:o=!1}if(!o){var r=t(n);throw new Error("Expected a valid HTML node as a second argument to render.\tReceived "+e+" instead: render(<"+r+" />, "+e+");")}w&&w(n,e)},n.options.__b=function(n){var o=n.type;if(a=!0,void 0===o)throw new Error("Undefined component passed to createElement()\n\nYou likely forgot to export your component or might have mixed up default and named imports"+y(n)+"\n\n"+c(n));if(null!=o&&"object"==typeof o){if(void 0!==o.__k&&void 0!==o.__e)throw new Error("Invalid type passed to createElement(): "+o+"\n\nDid you accidentally pass a JSX literal as JSX twice?\n\n let My"+t(n)+" = "+y(o)+";\n let vnode = <My"+t(n)+" />;\n\nThis usually happens when you export a JSX literal and not the component.\n\n"+c(n));throw new Error("Invalid type passed to createElement(): "+(Array.isArray(o)?"array":o))}if(void 0!==n.ref&&"function"!=typeof n.ref&&"object"!=typeof n.ref&&!("$$typeof"in n))throw new Error('Component\'s "ref" property should be a function, or an object created by createRef(), but got ['+typeof n.ref+"] instead\n"+y(n)+"\n\n"+c(n));if("string"==typeof n.type)for(var r in n.props)if("o"===r[0]&&"n"===r[1]&&"function"!=typeof n.props[r]&&null!=n.props[r])throw new Error("Component's \""+r+'" property should be a function, but got ['+typeof n.props[r]+"] instead\n"+y(n)+"\n\n"+c(n));if("function"==typeof n.type&&n.type.propTypes){if("Lazy"===n.type.displayName&&E&&!E.lazyPropTypes.has(n.type)){var s="PropTypes are not supported on lazy(). Use propTypes on the wrapped component itself. ";try{var l=n.type();E.lazyPropTypes.set(n.type,!0),console.warn(s+"Component wrapped in lazy() is "+t(l))}catch(n){console.warn(s+"We will log the wrapped component's name once it is loaded.")}}var u=n.props;n.type.__f&&delete(u=function(n,e){for(var t in e)n[t]=e[t];return n}({},u)).ref,function(n,t,o,r,a){Object.keys(n).forEach(function(o){var i;try{i=n[o](t,o,r,"prop",null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(n){i=n}i&&!(i.message in e)&&(e[i.message]=!0,console.error("Failed prop type: "+i.message+(a&&"\n"+a()||"")))})}(n.type.propTypes,u,0,t(n),function(){return c(n)})}i&&i(n)},n.options.__r=function(n){m&&m(n),a=!0},n.options.__h=function(n,e,t){if(!n||!a)throw new Error("Hook can only be invoked from render methods.");g&&g(n,e,t)};var _=function(n,e){return{get:function(){var t="get"+n+e;k&&k.indexOf(t)<0&&(k.push(t),console.warn("getting vnode."+n+" is deprecated, "+e))},set:function(){var t="set"+n+e;k&&k.indexOf(t)<0&&(k.push(t),console.warn("setting vnode."+n+" is not allowed, "+e))}}},I={nodeName:_("nodeName","use vnode.type"),attributes:_("attributes","use vnode.props"),children:_("children","use vnode.props.children")},T=Object.create({},I);n.options.vnode=function(n){var e=n.props;if(null!==n.type&&null!=e&&("__source"in e||"__self"in e)){var t=n.props={};for(var o in e){var r=e[o];"__source"===o?n.__source=r:"__self"===o?n.__self=r:t[o]=r}}n.__proto__=T,v&&v(n)},n.options.diffed=function(n){var e,o=n.type,r=n.__;if(n.__k&&n.__k.forEach(function(e){if("object"==typeof e&&e&&void 0===e.type){var t=Object.keys(e).join(",");throw new Error("Objects are not valid as a child. Encountered an object with the keys {"+t+"}.\n\n"+c(n))}}),"string"==typeof o&&(d(o)||"p"===o)){var i=f(r);if(""!==i)"table"===o&&"td"!==i&&d(i)?(console.log(i,r.__e),console.error("Improper nesting of table. Your <table> should not have a table-node parent."+y(n)+"\n\n"+c(n))):"thead"!==o&&"tfoot"!==o&&"tbody"!==o||"table"===i?"tr"===o&&"thead"!==i&&"tfoot"!==i&&"tbody"!==i&&"table"!==i?console.error("Improper nesting of table. Your <tr> should have a <thead/tbody/tfoot/table> parent."+y(n)+"\n\n"+c(n)):"td"===o&&"tr"!==i?console.error("Improper nesting of table. Your <td> should have a <tr> parent."+y(n)+"\n\n"+c(n)):"th"===o&&"tr"!==i&&console.error("Improper nesting of table. Your <th> should have a <tr>."+y(n)+"\n\n"+c(n)):console.error("Improper nesting of table. Your <thead/tbody/tfoot> should have a <table> parent."+y(n)+"\n\n"+c(n));else if("p"===o){var s=u(n).filter(function(n){return h.test(n)});s.length&&console.error("Improper nesting of paragraph. Your <p> should not have "+s.join(", ")+"as child-elements."+y(n)+"\n\n"+c(n))}}if(a=!1,p&&p(n),null!=n.__k)for(var l=[],v=0;v<n.__k.length;v++){var m=n.__k[v];if(m&&null!=m.key){var b=m.key;if(-1!==l.indexOf(b)){console.error('Following component has two or more children with the same key attribute: "'+b+'". This may cause glitches and misbehavior in rendering process. Component: \n\n'+y(n)+"\n\n"+c(n));break}l.push(b)}}if(null!=n.__c&&null!=n.__c.__H){var w=n.__c.__H.__;if(w)for(var g=0;g<w.length;g+=1){var E=w[g];if(E.__H)for(var k=0;k<E.__H.length;k++)if((e=E.__H[k])!=e){var _=t(n);throw new Error("Invalid argument passed to hook. Hooks should not be called with NaN in the dependency array. Hook index "+g+" in component "+_+" was called with NaN.")}}}}}(),exports.resetPropWarnings=function(){e={}};
2
2
  //# sourceMappingURL=debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sources":["../src/check-props.js","../src/component-stack.js","../src/debug.js","../src/constants.js","../src/util.js","../src/index.js"],"sourcesContent":["const ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nlet loggedTypeFailures = {};\n\n/**\n * Reset the history of which prop type warnings have been logged.\n */\nexport function resetPropWarnings() {\n\tloggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * Adapted from https://github.com/facebook/prop-types/blob/master/checkPropTypes.js\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n */\nexport function checkPropTypes(\n\ttypeSpecs,\n\tvalues,\n\tlocation,\n\tcomponentName,\n\tgetStack\n) {\n\tObject.keys(typeSpecs).forEach(typeSpecName => {\n\t\tlet error;\n\t\ttry {\n\t\t\terror = typeSpecs[typeSpecName](\n\t\t\t\tvalues,\n\t\t\t\ttypeSpecName,\n\t\t\t\tcomponentName,\n\t\t\t\tlocation,\n\t\t\t\tnull,\n\t\t\t\tReactPropTypesSecret\n\t\t\t);\n\t\t} catch (e) {\n\t\t\terror = e;\n\t\t}\n\t\tif (error && !(error.message in loggedTypeFailures)) {\n\t\t\tloggedTypeFailures[error.message] = true;\n\t\t\tconsole.error(\n\t\t\t\t`Failed ${location} type: ${error.message}${\n\t\t\t\t\t(getStack && `\\n${getStack()}`) || ''\n\t\t\t\t}`\n\t\t\t);\n\t\t}\n\t});\n}\n","import { options, Fragment } from '../..';\n\n/**\n * Get human readable name of the component/dom node\n * @param {import('./internal').VNode} vnode\n * @param {import('./internal').VNode} vnode\n * @returns {string}\n */\nexport function getDisplayName(vnode) {\n\tif (vnode.type === Fragment) {\n\t\treturn 'Fragment';\n\t} else if (typeof vnode.type == 'function') {\n\t\treturn vnode.type.displayName || vnode.type.name;\n\t} else if (typeof vnode.type == 'string') {\n\t\treturn vnode.type;\n\t}\n\n\treturn '#text';\n}\n\n/**\n * Used to keep track of the currently rendered `vnode` and print it\n * in debug messages.\n */\nlet renderStack = [];\n\n/**\n * Keep track of the current owners. An owner describes a component\n * which was responsible to render a specific `vnode`. This exclude\n * children that are passed via `props.children`, because they belong\n * to the parent owner.\n *\n * ```jsx\n * const Foo = props => <div>{props.children}</div> // div's owner is Foo\n * const Bar = props => {\n * return (\n * <Foo><span /></Foo> // Foo's owner is Bar, span's owner is Bar\n * )\n * }\n * ```\n *\n * Note: A `vnode` may be hoisted to the root scope due to compiler\n * optimiztions. In these cases the `_owner` will be different.\n */\nlet ownerStack = [];\n\n/**\n * Get the currently rendered `vnode`\n * @returns {import('./internal').VNode | null}\n */\nexport function getCurrentVNode() {\n\treturn renderStack.length > 0 ? renderStack[renderStack.length - 1] : null;\n}\n\n/**\n * If the user doesn't have `@babel/plugin-transform-react-jsx-source`\n * somewhere in his tool chain we can't print the filename and source\n * location of a component. In that case we just omit that, but we'll\n * print a helpful message to the console, notifying the user of it.\n */\nlet hasBabelPlugin = false;\n\n/**\n * Check if a `vnode` is a possible owner.\n * @param {import('./internal').VNode} vnode\n */\nfunction isPossibleOwner(vnode) {\n\treturn typeof vnode.type == 'function' && vnode.type != Fragment;\n}\n\n/**\n * Return the component stack that was captured up to this point.\n * @param {import('./internal').VNode} vnode\n * @returns {string}\n */\nexport function getOwnerStack(vnode) {\n\tconst stack = [vnode];\n\tlet next = vnode;\n\twhile (next._owner != null) {\n\t\tstack.push(next._owner);\n\t\tnext = next._owner;\n\t}\n\n\treturn stack.reduce((acc, owner) => {\n\t\tacc += ` in ${getDisplayName(owner)}`;\n\n\t\tconst source = owner.__source;\n\t\tif (source) {\n\t\t\tacc += ` (at ${source.fileName}:${source.lineNumber})`;\n\t\t} else if (!hasBabelPlugin) {\n\t\t\thasBabelPlugin = true;\n\t\t\tconsole.warn(\n\t\t\t\t'Add @babel/plugin-transform-react-jsx-source to get a more detailed component stack. Note that you should not add it to production builds of your App for bundle size reasons.'\n\t\t\t);\n\t\t}\n\n\t\treturn (acc += '\\n');\n\t}, '');\n}\n\n/**\n * Setup code to capture the component trace while rendering. Note that\n * we cannot simply traverse `vnode._parent` upwards, because we have some\n * debug messages for `this.setState` where the `vnode` is `undefined`.\n */\nexport function setupComponentStack() {\n\tlet oldDiff = options._diff;\n\tlet oldDiffed = options.diffed;\n\tlet oldRoot = options._root;\n\tlet oldVNode = options.vnode;\n\tlet oldRender = options._render;\n\n\toptions.diffed = vnode => {\n\t\tif (isPossibleOwner(vnode)) {\n\t\t\townerStack.pop();\n\t\t}\n\t\trenderStack.pop();\n\t\tif (oldDiffed) oldDiffed(vnode);\n\t};\n\n\toptions._diff = vnode => {\n\t\tif (isPossibleOwner(vnode)) {\n\t\t\trenderStack.push(vnode);\n\t\t}\n\t\tif (oldDiff) oldDiff(vnode);\n\t};\n\n\toptions._root = (vnode, parent) => {\n\t\townerStack = [];\n\t\tif (oldRoot) oldRoot(vnode, parent);\n\t};\n\n\toptions.vnode = vnode => {\n\t\tvnode._owner =\n\t\t\townerStack.length > 0 ? ownerStack[ownerStack.length - 1] : null;\n\t\tif (oldVNode) oldVNode(vnode);\n\t};\n\n\toptions._render = vnode => {\n\t\tif (isPossibleOwner(vnode)) {\n\t\t\townerStack.push(vnode);\n\t\t}\n\n\t\tif (oldRender) oldRender(vnode);\n\t};\n}\n","import { checkPropTypes } from './check-props';\nimport { options, Component } from '../..';\nimport {\n\tELEMENT_NODE,\n\tDOCUMENT_NODE,\n\tDOCUMENT_FRAGMENT_NODE\n} from './constants';\nimport {\n\tgetOwnerStack,\n\tsetupComponentStack,\n\tgetCurrentVNode,\n\tgetDisplayName\n} from './component-stack';\nimport { assign, isNaN } from './util';\n\nconst isWeakMapSupported = typeof WeakMap == 'function';\n\nfunction getClosestDomNodeParent(parent) {\n\tif (!parent) return {};\n\tif (typeof parent.type == 'function') {\n\t\treturn getClosestDomNodeParent(parent._parent);\n\t}\n\treturn parent;\n}\n\nexport function initDebug() {\n\tsetupComponentStack();\n\n\tlet hooksAllowed = false;\n\n\t/* eslint-disable no-console */\n\tlet oldBeforeDiff = options._diff;\n\tlet oldDiffed = options.diffed;\n\tlet oldVnode = options.vnode;\n\tlet oldRender = options._render;\n\tlet oldCatchError = options._catchError;\n\tlet oldRoot = options._root;\n\tlet oldHook = options._hook;\n\tconst warnedComponents = !isWeakMapSupported\n\t\t? null\n\t\t: {\n\t\t\t\tuseEffect: new WeakMap(),\n\t\t\t\tuseLayoutEffect: new WeakMap(),\n\t\t\t\tlazyPropTypes: new WeakMap()\n\t\t };\n\tconst deprecations = [];\n\n\toptions._catchError = (error, vnode, oldVNode, errorInfo) => {\n\t\tlet component = vnode && vnode._component;\n\t\tif (component && typeof error.then == 'function') {\n\t\t\tconst promise = error;\n\t\t\terror = new Error(\n\t\t\t\t`Missing Suspense. The throwing component was: ${getDisplayName(vnode)}`\n\t\t\t);\n\n\t\t\tlet parent = vnode;\n\t\t\tfor (; parent; parent = parent._parent) {\n\t\t\t\tif (parent._component && parent._component._childDidSuspend) {\n\t\t\t\t\terror = promise;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// We haven't recovered and we know at this point that there is no\n\t\t\t// Suspense component higher up in the tree\n\t\t\tif (error instanceof Error) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\terrorInfo = errorInfo || {};\n\t\t\terrorInfo.componentStack = getOwnerStack(vnode);\n\t\t\toldCatchError(error, vnode, oldVNode, errorInfo);\n\n\t\t\t// when an error was handled by an ErrorBoundary we will nonetheless emit an error\n\t\t\t// event on the window object. This is to make up for react compatibility in dev mode\n\t\t\t// and thus make the Next.js dev overlay work.\n\t\t\tif (typeof error.then != 'function') {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthrow error;\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthrow e;\n\t\t}\n\t};\n\n\toptions._root = (vnode, parentNode) => {\n\t\tif (!parentNode) {\n\t\t\tthrow new Error(\n\t\t\t\t'Undefined parent passed to render(), this is the second argument.\\n' +\n\t\t\t\t\t'Check if the element is available in the DOM/has the correct id.'\n\t\t\t);\n\t\t}\n\n\t\tlet isValid;\n\t\tswitch (parentNode.nodeType) {\n\t\t\tcase ELEMENT_NODE:\n\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\tcase DOCUMENT_NODE:\n\t\t\t\tisValid = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tisValid = false;\n\t\t}\n\n\t\tif (!isValid) {\n\t\t\tlet componentName = getDisplayName(vnode);\n\t\t\tthrow new Error(\n\t\t\t\t`Expected a valid HTML node as a second argument to render.\tReceived ${parentNode} instead: render(<${componentName} />, ${parentNode});`\n\t\t\t);\n\t\t}\n\n\t\tif (oldRoot) oldRoot(vnode, parentNode);\n\t};\n\n\toptions._diff = vnode => {\n\t\tlet { type, _parent: parent } = vnode;\n\t\tlet parentVNode = getClosestDomNodeParent(parent);\n\n\t\thooksAllowed = true;\n\n\t\tif (type === undefined) {\n\t\t\tthrow new Error(\n\t\t\t\t'Undefined component passed to createElement()\\n\\n' +\n\t\t\t\t\t'You likely forgot to export your component or might have mixed up default and named imports' +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t} else if (type != null && typeof type == 'object') {\n\t\t\tif (type._children !== undefined && type._dom !== undefined) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Invalid type passed to createElement(): ${type}\\n\\n` +\n\t\t\t\t\t\t'Did you accidentally pass a JSX literal as JSX twice?\\n\\n' +\n\t\t\t\t\t\t` let My${getDisplayName(vnode)} = ${serializeVNode(type)};\\n` +\n\t\t\t\t\t\t` let vnode = <My${getDisplayName(vnode)} />;\\n\\n` +\n\t\t\t\t\t\t'This usually happens when you export a JSX literal and not the component.' +\n\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthrow new Error(\n\t\t\t\t'Invalid type passed to createElement(): ' +\n\t\t\t\t\t(Array.isArray(type) ? 'array' : type)\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\t(type === 'thead' || type === 'tfoot' || type === 'tbody') &&\n\t\t\tparentVNode.type !== 'table'\n\t\t) {\n\t\t\tconsole.error(\n\t\t\t\t'Improper nesting of table. Your <thead/tbody/tfoot> should have a <table> parent.' +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t} else if (\n\t\t\ttype === 'tr' &&\n\t\t\tparentVNode.type !== 'thead' &&\n\t\t\tparentVNode.type !== 'tfoot' &&\n\t\t\tparentVNode.type !== 'tbody' &&\n\t\t\tparentVNode.type !== 'table'\n\t\t) {\n\t\t\tconsole.error(\n\t\t\t\t'Improper nesting of table. Your <tr> should have a <thead/tbody/tfoot/table> parent.' +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t} else if (type === 'td' && parentVNode.type !== 'tr') {\n\t\t\tconsole.error(\n\t\t\t\t'Improper nesting of table. Your <td> should have a <tr> parent.' +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t} else if (type === 'th' && parentVNode.type !== 'tr') {\n\t\t\tconsole.error(\n\t\t\t\t'Improper nesting of table. Your <th> should have a <tr>.' +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\tvnode.ref !== undefined &&\n\t\t\ttypeof vnode.ref != 'function' &&\n\t\t\ttypeof vnode.ref != 'object' &&\n\t\t\t!('$$typeof' in vnode) // allow string refs when preact-compat is installed\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t`Component's \"ref\" property should be a function, or an object created ` +\n\t\t\t\t\t`by createRef(), but got [${typeof vnode.ref}] instead\\n` +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t}\n\n\t\tif (typeof vnode.type == 'string') {\n\t\t\tfor (const key in vnode.props) {\n\t\t\t\tif (\n\t\t\t\t\tkey[0] === 'o' &&\n\t\t\t\t\tkey[1] === 'n' &&\n\t\t\t\t\ttypeof vnode.props[key] != 'function' &&\n\t\t\t\t\tvnode.props[key] != null\n\t\t\t\t) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Component's \"${key}\" property should be a function, ` +\n\t\t\t\t\t\t\t`but got [${typeof vnode.props[key]}] instead\\n` +\n\t\t\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Check prop-types if available\n\t\tif (typeof vnode.type == 'function' && vnode.type.propTypes) {\n\t\t\tif (\n\t\t\t\tvnode.type.displayName === 'Lazy' &&\n\t\t\t\twarnedComponents &&\n\t\t\t\t!warnedComponents.lazyPropTypes.has(vnode.type)\n\t\t\t) {\n\t\t\t\tconst m =\n\t\t\t\t\t'PropTypes are not supported on lazy(). Use propTypes on the wrapped component itself. ';\n\t\t\t\ttry {\n\t\t\t\t\tconst lazyVNode = vnode.type();\n\t\t\t\t\twarnedComponents.lazyPropTypes.set(vnode.type, true);\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\tm + `Component wrapped in lazy() is ${getDisplayName(lazyVNode)}`\n\t\t\t\t\t);\n\t\t\t\t} catch (promise) {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\tm + \"We will log the wrapped component's name once it is loaded.\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet values = vnode.props;\n\t\t\tif (vnode.type._forwarded) {\n\t\t\t\tvalues = assign({}, values);\n\t\t\t\tdelete values.ref;\n\t\t\t}\n\n\t\t\tcheckPropTypes(\n\t\t\t\tvnode.type.propTypes,\n\t\t\t\tvalues,\n\t\t\t\t'prop',\n\t\t\t\tgetDisplayName(vnode),\n\t\t\t\t() => getOwnerStack(vnode)\n\t\t\t);\n\t\t}\n\n\t\tif (oldBeforeDiff) oldBeforeDiff(vnode);\n\t};\n\n\toptions._render = vnode => {\n\t\tif (oldRender) {\n\t\t\toldRender(vnode);\n\t\t}\n\t\thooksAllowed = true;\n\t};\n\n\toptions._hook = (comp, index, type) => {\n\t\tif (!comp || !hooksAllowed) {\n\t\t\tthrow new Error('Hook can only be invoked from render methods.');\n\t\t}\n\n\t\tif (oldHook) oldHook(comp, index, type);\n\t};\n\n\t// Ideally we'd want to print a warning once per component, but we\n\t// don't have access to the vnode that triggered it here. As a\n\t// compromise and to avoid flooding the console with warnings we\n\t// print each deprecation warning only once.\n\tconst warn = (property, message) => ({\n\t\tget() {\n\t\t\tconst key = 'get' + property + message;\n\t\t\tif (deprecations && deprecations.indexOf(key) < 0) {\n\t\t\t\tdeprecations.push(key);\n\t\t\t\tconsole.warn(`getting vnode.${property} is deprecated, ${message}`);\n\t\t\t}\n\t\t},\n\t\tset() {\n\t\t\tconst key = 'set' + property + message;\n\t\t\tif (deprecations && deprecations.indexOf(key) < 0) {\n\t\t\t\tdeprecations.push(key);\n\t\t\t\tconsole.warn(`setting vnode.${property} is not allowed, ${message}`);\n\t\t\t}\n\t\t}\n\t});\n\n\tconst deprecatedAttributes = {\n\t\tnodeName: warn('nodeName', 'use vnode.type'),\n\t\tattributes: warn('attributes', 'use vnode.props'),\n\t\tchildren: warn('children', 'use vnode.props.children')\n\t};\n\n\tconst deprecatedProto = Object.create({}, deprecatedAttributes);\n\n\toptions.vnode = vnode => {\n\t\tconst props = vnode.props;\n\t\tif (\n\t\t\tvnode.type !== null &&\n\t\t\tprops != null &&\n\t\t\t('__source' in props || '__self' in props)\n\t\t) {\n\t\t\tconst newProps = (vnode.props = {});\n\t\t\tfor (let i in props) {\n\t\t\t\tconst v = props[i];\n\t\t\t\tif (i === '__source') vnode.__source = v;\n\t\t\t\telse if (i === '__self') vnode.__self = v;\n\t\t\t\telse newProps[i] = v;\n\t\t\t}\n\t\t}\n\n\t\t// eslint-disable-next-line\n\t\tvnode.__proto__ = deprecatedProto;\n\t\tif (oldVnode) oldVnode(vnode);\n\t};\n\n\toptions.diffed = vnode => {\n\t\t// Check if the user passed plain objects as children. Note that we cannot\n\t\t// move this check into `options.vnode` because components can receive\n\t\t// children in any shape they want (e.g.\n\t\t// `<MyJSONFormatter>{{ foo: 123, bar: \"abc\" }}</MyJSONFormatter>`).\n\t\t// Putting this check in `options.diffed` ensures that\n\t\t// `vnode._children` is set and that we only validate the children\n\t\t// that were actually rendered.\n\t\tif (vnode._children) {\n\t\t\tvnode._children.forEach(child => {\n\t\t\t\tif (typeof child === 'object' && child && child.type === undefined) {\n\t\t\t\t\tconst keys = Object.keys(child).join(',');\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Objects are not valid as a child. Encountered an object with the keys {${keys}}.` +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\thooksAllowed = false;\n\n\t\tif (oldDiffed) oldDiffed(vnode);\n\n\t\tif (vnode._children != null) {\n\t\t\tconst keys = [];\n\t\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\t\tconst child = vnode._children[i];\n\t\t\t\tif (!child || child.key == null) continue;\n\n\t\t\t\tconst key = child.key;\n\t\t\t\tif (keys.indexOf(key) !== -1) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t'Following component has two or more children with the ' +\n\t\t\t\t\t\t\t`same key attribute: \"${key}\". This may cause glitches and misbehavior ` +\n\t\t\t\t\t\t\t'in rendering process. Component: \\n\\n' +\n\t\t\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\n\t\t\t\t\t// Break early to not spam the console\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tkeys.push(key);\n\t\t\t}\n\t\t}\n\n\t\tif (vnode._component != null && vnode._component.__hooks != null) {\n\t\t\t// Validate that none of the hooks in this component contain arguments that are NaN.\n\t\t\t// This is a common mistake that can be hard to debug, so we want to catch it early.\n\t\t\tconst hooks = vnode._component.__hooks._list;\n\t\t\tif (hooks) {\n\t\t\t\tfor (let i = 0; i < hooks.length; i += 1) {\n\t\t\t\t\tconst hook = hooks[i];\n\t\t\t\t\tif (hook._args) {\n\t\t\t\t\t\tfor (const arg of hook._args) {\n\t\t\t\t\t\t\tif (isNaN(arg)) {\n\t\t\t\t\t\t\t\tconst componentName = getDisplayName(vnode);\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t`Invalid argument passed to hook. Hooks should not be called with NaN in the dependency array. Hook index ${i} in component ${componentName} was called with NaN.`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\nconst setState = Component.prototype.setState;\nComponent.prototype.setState = function (update, callback) {\n\tif (this._vnode == null) {\n\t\t// `this._vnode` will be `null` during componentWillMount. But it\n\t\t// is perfectly valid to call `setState` during cWM. So we\n\t\t// need an additional check to verify that we are dealing with a\n\t\t// call inside constructor.\n\t\tif (this.state == null) {\n\t\t\tconsole.warn(\n\t\t\t\t`Calling \"this.setState\" inside the constructor of a component is a ` +\n\t\t\t\t\t`no-op and might be a bug in your application. Instead, set ` +\n\t\t\t\t\t`\"this.state = {}\" directly.\\n\\n${getOwnerStack(getCurrentVNode())}`\n\t\t\t);\n\t\t}\n\t}\n\n\treturn setState.call(this, update, callback);\n};\n\nconst forceUpdate = Component.prototype.forceUpdate;\nComponent.prototype.forceUpdate = function (callback) {\n\tif (this._vnode == null) {\n\t\tconsole.warn(\n\t\t\t`Calling \"this.forceUpdate\" inside the constructor of a component is a ` +\n\t\t\t\t`no-op and might be a bug in your application.\\n\\n${getOwnerStack(\n\t\t\t\t\tgetCurrentVNode()\n\t\t\t\t)}`\n\t\t);\n\t} else if (this._parentDom == null) {\n\t\tconsole.warn(\n\t\t\t`Can't call \"this.forceUpdate\" on an unmounted component. This is a no-op, ` +\n\t\t\t\t`but it indicates a memory leak in your application. To fix, cancel all ` +\n\t\t\t\t`subscriptions and asynchronous tasks in the componentWillUnmount method.` +\n\t\t\t\t`\\n\\n${getOwnerStack(this._vnode)}`\n\t\t);\n\t}\n\treturn forceUpdate.call(this, callback);\n};\n\n/**\n * Serialize a vnode tree to a string\n * @param {import('./internal').VNode} vnode\n * @returns {string}\n */\nexport function serializeVNode(vnode) {\n\tlet { props } = vnode;\n\tlet name = getDisplayName(vnode);\n\n\tlet attrs = '';\n\tfor (let prop in props) {\n\t\tif (props.hasOwnProperty(prop) && prop !== 'children') {\n\t\t\tlet value = props[prop];\n\n\t\t\t// If it is an object but doesn't have toString(), use Object.toString\n\t\t\tif (typeof value == 'function') {\n\t\t\t\tvalue = `function ${value.displayName || value.name}() {}`;\n\t\t\t}\n\n\t\t\tvalue =\n\t\t\t\tObject(value) === value && !value.toString\n\t\t\t\t\t? Object.prototype.toString.call(value)\n\t\t\t\t\t: value + '';\n\n\t\t\tattrs += ` ${prop}=${JSON.stringify(value)}`;\n\t\t}\n\t}\n\n\tlet children = props.children;\n\treturn `<${name}${attrs}${\n\t\tchildren && children.length ? '>..</' + name + '>' : ' />'\n\t}`;\n}\n","export const ELEMENT_NODE = 1;\nexport const DOCUMENT_NODE = 9;\nexport const DOCUMENT_FRAGMENT_NODE = 11;\n","/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\nexport function isNaN(value) {\n\treturn value !== value;\n}\n","import { initDebug } from './debug';\nimport '../../devtools';\n\ninitDebug();\n\nexport { resetPropWarnings } from './check-props';\n"],"names":["loggedTypeFailures","getDisplayName","vnode","type","Fragment","displayName","name","renderStack","ownerStack","getCurrentVNode","length","hasBabelPlugin","isPossibleOwner","getOwnerStack","stack","next","__o","push","reduce","acc","owner","source","__source","fileName","lineNumber","console","warn","isWeakMapSupported","WeakMap","getClosestDomNodeParent","parent","__","setState","Component","prototype","update","callback","this","__v","state","call","forceUpdate","serializeVNode","props","attrs","prop","hasOwnProperty","value","Object","toString","JSON","stringify","children","__P","oldDiff","options","__b","oldDiffed","diffed","oldRoot","oldVNode","oldRender","__r","pop","setupComponentStack","hooksAllowed","oldBeforeDiff","oldVnode","oldCatchError","__e","oldHook","__h","warnedComponents","useEffect","useLayoutEffect","lazyPropTypes","deprecations","error","errorInfo","then","promise","Error","__c","componentStack","setTimeout","e","parentNode","isValid","nodeType","componentName","parentVNode","undefined","__k","Array","isArray","ref","key","propTypes","has","m","lazyVNode","set","values","__f","obj","i","assign","checkPropTypes","typeSpecs","location","getStack","keys","forEach","typeSpecName","message","comp","index","property","get","indexOf","deprecatedAttributes","nodeName","attributes","deprecatedProto","create","newProps","v","__self","__proto__","child","join","__H","hooks","hook","_step","_iterator","done","initDebug","resetPropWarnings"],"mappings":"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"}
1
+ {"version":3,"file":"debug.js","sources":["../src/check-props.js","../src/component-stack.js","../src/debug.js","../src/constants.js","../src/util.js","../src/index.js"],"sourcesContent":["const ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nlet loggedTypeFailures = {};\n\n/**\n * Reset the history of which prop type warnings have been logged.\n */\nexport function resetPropWarnings() {\n\tloggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * Adapted from https://github.com/facebook/prop-types/blob/master/checkPropTypes.js\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n */\nexport function checkPropTypes(\n\ttypeSpecs,\n\tvalues,\n\tlocation,\n\tcomponentName,\n\tgetStack\n) {\n\tObject.keys(typeSpecs).forEach(typeSpecName => {\n\t\tlet error;\n\t\ttry {\n\t\t\terror = typeSpecs[typeSpecName](\n\t\t\t\tvalues,\n\t\t\t\ttypeSpecName,\n\t\t\t\tcomponentName,\n\t\t\t\tlocation,\n\t\t\t\tnull,\n\t\t\t\tReactPropTypesSecret\n\t\t\t);\n\t\t} catch (e) {\n\t\t\terror = e;\n\t\t}\n\t\tif (error && !(error.message in loggedTypeFailures)) {\n\t\t\tloggedTypeFailures[error.message] = true;\n\t\t\tconsole.error(\n\t\t\t\t`Failed ${location} type: ${error.message}${\n\t\t\t\t\t(getStack && `\\n${getStack()}`) || ''\n\t\t\t\t}`\n\t\t\t);\n\t\t}\n\t});\n}\n","import { options, Fragment } from '../..';\n\n/**\n * Get human readable name of the component/dom node\n * @param {import('./internal').VNode} vnode\n * @param {import('./internal').VNode} vnode\n * @returns {string}\n */\nexport function getDisplayName(vnode) {\n\tif (vnode.type === Fragment) {\n\t\treturn 'Fragment';\n\t} else if (typeof vnode.type == 'function') {\n\t\treturn vnode.type.displayName || vnode.type.name;\n\t} else if (typeof vnode.type == 'string') {\n\t\treturn vnode.type;\n\t}\n\n\treturn '#text';\n}\n\n/**\n * Used to keep track of the currently rendered `vnode` and print it\n * in debug messages.\n */\nlet renderStack = [];\n\n/**\n * Keep track of the current owners. An owner describes a component\n * which was responsible to render a specific `vnode`. This exclude\n * children that are passed via `props.children`, because they belong\n * to the parent owner.\n *\n * ```jsx\n * const Foo = props => <div>{props.children}</div> // div's owner is Foo\n * const Bar = props => {\n * return (\n * <Foo><span /></Foo> // Foo's owner is Bar, span's owner is Bar\n * )\n * }\n * ```\n *\n * Note: A `vnode` may be hoisted to the root scope due to compiler\n * optimiztions. In these cases the `_owner` will be different.\n */\nlet ownerStack = [];\n\n/**\n * Get the currently rendered `vnode`\n * @returns {import('./internal').VNode | null}\n */\nexport function getCurrentVNode() {\n\treturn renderStack.length > 0 ? renderStack[renderStack.length - 1] : null;\n}\n\n/**\n * If the user doesn't have `@babel/plugin-transform-react-jsx-source`\n * somewhere in his tool chain we can't print the filename and source\n * location of a component. In that case we just omit that, but we'll\n * print a helpful message to the console, notifying the user of it.\n */\nlet hasBabelPlugin = false;\n\n/**\n * Check if a `vnode` is a possible owner.\n * @param {import('./internal').VNode} vnode\n */\nfunction isPossibleOwner(vnode) {\n\treturn typeof vnode.type == 'function' && vnode.type != Fragment;\n}\n\n/**\n * Return the component stack that was captured up to this point.\n * @param {import('./internal').VNode} vnode\n * @returns {string}\n */\nexport function getOwnerStack(vnode) {\n\tconst stack = [vnode];\n\tlet next = vnode;\n\twhile (next._owner != null) {\n\t\tstack.push(next._owner);\n\t\tnext = next._owner;\n\t}\n\n\treturn stack.reduce((acc, owner) => {\n\t\tacc += ` in ${getDisplayName(owner)}`;\n\n\t\tconst source = owner.__source;\n\t\tif (source) {\n\t\t\tacc += ` (at ${source.fileName}:${source.lineNumber})`;\n\t\t} else if (!hasBabelPlugin) {\n\t\t\thasBabelPlugin = true;\n\t\t\tconsole.warn(\n\t\t\t\t'Add @babel/plugin-transform-react-jsx-source to get a more detailed component stack. Note that you should not add it to production builds of your App for bundle size reasons.'\n\t\t\t);\n\t\t}\n\n\t\treturn (acc += '\\n');\n\t}, '');\n}\n\n/**\n * Setup code to capture the component trace while rendering. Note that\n * we cannot simply traverse `vnode._parent` upwards, because we have some\n * debug messages for `this.setState` where the `vnode` is `undefined`.\n */\nexport function setupComponentStack() {\n\tlet oldDiff = options._diff;\n\tlet oldDiffed = options.diffed;\n\tlet oldRoot = options._root;\n\tlet oldVNode = options.vnode;\n\tlet oldRender = options._render;\n\n\toptions.diffed = vnode => {\n\t\tif (isPossibleOwner(vnode)) {\n\t\t\townerStack.pop();\n\t\t}\n\t\trenderStack.pop();\n\t\tif (oldDiffed) oldDiffed(vnode);\n\t};\n\n\toptions._diff = vnode => {\n\t\tif (isPossibleOwner(vnode)) {\n\t\t\trenderStack.push(vnode);\n\t\t}\n\t\tif (oldDiff) oldDiff(vnode);\n\t};\n\n\toptions._root = (vnode, parent) => {\n\t\townerStack = [];\n\t\tif (oldRoot) oldRoot(vnode, parent);\n\t};\n\n\toptions.vnode = vnode => {\n\t\tvnode._owner =\n\t\t\townerStack.length > 0 ? ownerStack[ownerStack.length - 1] : null;\n\t\tif (oldVNode) oldVNode(vnode);\n\t};\n\n\toptions._render = vnode => {\n\t\tif (isPossibleOwner(vnode)) {\n\t\t\townerStack.push(vnode);\n\t\t}\n\n\t\tif (oldRender) oldRender(vnode);\n\t};\n}\n","import { checkPropTypes } from './check-props';\nimport { options, Component } from '../..';\nimport {\n\tELEMENT_NODE,\n\tDOCUMENT_NODE,\n\tDOCUMENT_FRAGMENT_NODE\n} from './constants';\nimport {\n\tgetOwnerStack,\n\tsetupComponentStack,\n\tgetCurrentVNode,\n\tgetDisplayName\n} from './component-stack';\nimport { assign, isNaN } from './util';\n\nconst isWeakMapSupported = typeof WeakMap == 'function';\n\n/**\n * @param {import('./internal').VNode} vnode\n * @returns {Array<string>}\n */\nfunction getDomChildren(vnode) {\n\tlet domChildren = [];\n\n\tif (!vnode._children) return domChildren;\n\n\tvnode._children.forEach(child => {\n\t\tif (child && typeof child.type === 'function') {\n\t\t\tdomChildren.push.apply(domChildren, getDomChildren(child));\n\t\t} else if (child && typeof child.type === 'string') {\n\t\t\tdomChildren.push(child.type);\n\t\t}\n\t});\n\n\treturn domChildren;\n}\n\n/**\n * @param {import('./internal').VNode} parent\n * @returns {string}\n */\nfunction getClosestDomNodeParentName(parent) {\n\tif (!parent) return '';\n\tif (typeof parent.type == 'function') {\n\t\tif (parent._parent === null) {\n\t\t\tif (parent._dom !== null && parent._dom.parentNode !== null) {\n\t\t\t\treturn parent._dom.parentNode.localName;\n\t\t\t}\n\t\t\treturn '';\n\t\t}\n\t\treturn getClosestDomNodeParentName(parent._parent);\n\t}\n\treturn /** @type {string} */ (parent.type);\n}\n\nexport function initDebug() {\n\tsetupComponentStack();\n\n\tlet hooksAllowed = false;\n\n\t/* eslint-disable no-console */\n\tlet oldBeforeDiff = options._diff;\n\tlet oldDiffed = options.diffed;\n\tlet oldVnode = options.vnode;\n\tlet oldRender = options._render;\n\tlet oldCatchError = options._catchError;\n\tlet oldRoot = options._root;\n\tlet oldHook = options._hook;\n\tconst warnedComponents = !isWeakMapSupported\n\t\t? null\n\t\t: {\n\t\t\t\tuseEffect: new WeakMap(),\n\t\t\t\tuseLayoutEffect: new WeakMap(),\n\t\t\t\tlazyPropTypes: new WeakMap()\n\t\t };\n\tconst deprecations = [];\n\n\toptions._catchError = (error, vnode, oldVNode, errorInfo) => {\n\t\tlet component = vnode && vnode._component;\n\t\tif (component && typeof error.then == 'function') {\n\t\t\tconst promise = error;\n\t\t\terror = new Error(\n\t\t\t\t`Missing Suspense. The throwing component was: ${getDisplayName(vnode)}`\n\t\t\t);\n\n\t\t\tlet parent = vnode;\n\t\t\tfor (; parent; parent = parent._parent) {\n\t\t\t\tif (parent._component && parent._component._childDidSuspend) {\n\t\t\t\t\terror = promise;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// We haven't recovered and we know at this point that there is no\n\t\t\t// Suspense component higher up in the tree\n\t\t\tif (error instanceof Error) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\terrorInfo = errorInfo || {};\n\t\t\terrorInfo.componentStack = getOwnerStack(vnode);\n\t\t\toldCatchError(error, vnode, oldVNode, errorInfo);\n\n\t\t\t// when an error was handled by an ErrorBoundary we will nonetheless emit an error\n\t\t\t// event on the window object. This is to make up for react compatibility in dev mode\n\t\t\t// and thus make the Next.js dev overlay work.\n\t\t\tif (typeof error.then != 'function') {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthrow error;\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthrow e;\n\t\t}\n\t};\n\n\toptions._root = (vnode, parentNode) => {\n\t\tif (!parentNode) {\n\t\t\tthrow new Error(\n\t\t\t\t'Undefined parent passed to render(), this is the second argument.\\n' +\n\t\t\t\t\t'Check if the element is available in the DOM/has the correct id.'\n\t\t\t);\n\t\t}\n\n\t\tlet isValid;\n\t\tswitch (parentNode.nodeType) {\n\t\t\tcase ELEMENT_NODE:\n\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\tcase DOCUMENT_NODE:\n\t\t\t\tisValid = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tisValid = false;\n\t\t}\n\n\t\tif (!isValid) {\n\t\t\tlet componentName = getDisplayName(vnode);\n\t\t\tthrow new Error(\n\t\t\t\t`Expected a valid HTML node as a second argument to render.\tReceived ${parentNode} instead: render(<${componentName} />, ${parentNode});`\n\t\t\t);\n\t\t}\n\n\t\tif (oldRoot) oldRoot(vnode, parentNode);\n\t};\n\n\toptions._diff = vnode => {\n\t\tlet { type } = vnode;\n\n\t\thooksAllowed = true;\n\n\t\tif (type === undefined) {\n\t\t\tthrow new Error(\n\t\t\t\t'Undefined component passed to createElement()\\n\\n' +\n\t\t\t\t\t'You likely forgot to export your component or might have mixed up default and named imports' +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t} else if (type != null && typeof type == 'object') {\n\t\t\tif (type._children !== undefined && type._dom !== undefined) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Invalid type passed to createElement(): ${type}\\n\\n` +\n\t\t\t\t\t\t'Did you accidentally pass a JSX literal as JSX twice?\\n\\n' +\n\t\t\t\t\t\t` let My${getDisplayName(vnode)} = ${serializeVNode(type)};\\n` +\n\t\t\t\t\t\t` let vnode = <My${getDisplayName(vnode)} />;\\n\\n` +\n\t\t\t\t\t\t'This usually happens when you export a JSX literal and not the component.' +\n\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthrow new Error(\n\t\t\t\t'Invalid type passed to createElement(): ' +\n\t\t\t\t\t(Array.isArray(type) ? 'array' : type)\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\tvnode.ref !== undefined &&\n\t\t\ttypeof vnode.ref != 'function' &&\n\t\t\ttypeof vnode.ref != 'object' &&\n\t\t\t!('$$typeof' in vnode) // allow string refs when preact-compat is installed\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t`Component's \"ref\" property should be a function, or an object created ` +\n\t\t\t\t\t`by createRef(), but got [${typeof vnode.ref}] instead\\n` +\n\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t);\n\t\t}\n\n\t\tif (typeof vnode.type == 'string') {\n\t\t\tfor (const key in vnode.props) {\n\t\t\t\tif (\n\t\t\t\t\tkey[0] === 'o' &&\n\t\t\t\t\tkey[1] === 'n' &&\n\t\t\t\t\ttypeof vnode.props[key] != 'function' &&\n\t\t\t\t\tvnode.props[key] != null\n\t\t\t\t) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Component's \"${key}\" property should be a function, ` +\n\t\t\t\t\t\t\t`but got [${typeof vnode.props[key]}] instead\\n` +\n\t\t\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Check prop-types if available\n\t\tif (typeof vnode.type == 'function' && vnode.type.propTypes) {\n\t\t\tif (\n\t\t\t\tvnode.type.displayName === 'Lazy' &&\n\t\t\t\twarnedComponents &&\n\t\t\t\t!warnedComponents.lazyPropTypes.has(vnode.type)\n\t\t\t) {\n\t\t\t\tconst m =\n\t\t\t\t\t'PropTypes are not supported on lazy(). Use propTypes on the wrapped component itself. ';\n\t\t\t\ttry {\n\t\t\t\t\tconst lazyVNode = vnode.type();\n\t\t\t\t\twarnedComponents.lazyPropTypes.set(vnode.type, true);\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\tm + `Component wrapped in lazy() is ${getDisplayName(lazyVNode)}`\n\t\t\t\t\t);\n\t\t\t\t} catch (promise) {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\tm + \"We will log the wrapped component's name once it is loaded.\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet values = vnode.props;\n\t\t\tif (vnode.type._forwarded) {\n\t\t\t\tvalues = assign({}, values);\n\t\t\t\tdelete values.ref;\n\t\t\t}\n\n\t\t\tcheckPropTypes(\n\t\t\t\tvnode.type.propTypes,\n\t\t\t\tvalues,\n\t\t\t\t'prop',\n\t\t\t\tgetDisplayName(vnode),\n\t\t\t\t() => getOwnerStack(vnode)\n\t\t\t);\n\t\t}\n\n\t\tif (oldBeforeDiff) oldBeforeDiff(vnode);\n\t};\n\n\toptions._render = vnode => {\n\t\tif (oldRender) {\n\t\t\toldRender(vnode);\n\t\t}\n\t\thooksAllowed = true;\n\t};\n\n\toptions._hook = (comp, index, type) => {\n\t\tif (!comp || !hooksAllowed) {\n\t\t\tthrow new Error('Hook can only be invoked from render methods.');\n\t\t}\n\n\t\tif (oldHook) oldHook(comp, index, type);\n\t};\n\n\t// Ideally we'd want to print a warning once per component, but we\n\t// don't have access to the vnode that triggered it here. As a\n\t// compromise and to avoid flooding the console with warnings we\n\t// print each deprecation warning only once.\n\tconst warn = (property, message) => ({\n\t\tget() {\n\t\t\tconst key = 'get' + property + message;\n\t\t\tif (deprecations && deprecations.indexOf(key) < 0) {\n\t\t\t\tdeprecations.push(key);\n\t\t\t\tconsole.warn(`getting vnode.${property} is deprecated, ${message}`);\n\t\t\t}\n\t\t},\n\t\tset() {\n\t\t\tconst key = 'set' + property + message;\n\t\t\tif (deprecations && deprecations.indexOf(key) < 0) {\n\t\t\t\tdeprecations.push(key);\n\t\t\t\tconsole.warn(`setting vnode.${property} is not allowed, ${message}`);\n\t\t\t}\n\t\t}\n\t});\n\n\tconst deprecatedAttributes = {\n\t\tnodeName: warn('nodeName', 'use vnode.type'),\n\t\tattributes: warn('attributes', 'use vnode.props'),\n\t\tchildren: warn('children', 'use vnode.props.children')\n\t};\n\n\tconst deprecatedProto = Object.create({}, deprecatedAttributes);\n\n\toptions.vnode = vnode => {\n\t\tconst props = vnode.props;\n\t\tif (\n\t\t\tvnode.type !== null &&\n\t\t\tprops != null &&\n\t\t\t('__source' in props || '__self' in props)\n\t\t) {\n\t\t\tconst newProps = (vnode.props = {});\n\t\t\tfor (let i in props) {\n\t\t\t\tconst v = props[i];\n\t\t\t\tif (i === '__source') vnode.__source = v;\n\t\t\t\telse if (i === '__self') vnode.__self = v;\n\t\t\t\telse newProps[i] = v;\n\t\t\t}\n\t\t}\n\n\t\t// eslint-disable-next-line\n\t\tvnode.__proto__ = deprecatedProto;\n\t\tif (oldVnode) oldVnode(vnode);\n\t};\n\n\toptions.diffed = vnode => {\n\t\tconst { type, _parent: parent } = vnode;\n\t\t// Check if the user passed plain objects as children. Note that we cannot\n\t\t// move this check into `options.vnode` because components can receive\n\t\t// children in any shape they want (e.g.\n\t\t// `<MyJSONFormatter>{{ foo: 123, bar: \"abc\" }}</MyJSONFormatter>`).\n\t\t// Putting this check in `options.diffed` ensures that\n\t\t// `vnode._children` is set and that we only validate the children\n\t\t// that were actually rendered.\n\t\tif (vnode._children) {\n\t\t\tvnode._children.forEach(child => {\n\t\t\t\tif (typeof child === 'object' && child && child.type === undefined) {\n\t\t\t\t\tconst keys = Object.keys(child).join(',');\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Objects are not valid as a child. Encountered an object with the keys {${keys}}.` +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (typeof type === 'string' && (isTableElement(type) || type === 'p')) {\n\t\t\t// Avoid false positives when Preact only partially rendered the\n\t\t\t// HTML tree. Whilst we attempt to include the outer DOM in our\n\t\t\t// validation, this wouldn't work on the server for\n\t\t\t// `preact-render-to-string`. There we'd otherwise flood the terminal\n\t\t\t// with false positives, which we'd like to avoid.\n\t\t\tlet domParentName = getClosestDomNodeParentName(parent);\n\t\t\tif (domParentName !== '') {\n\t\t\t\tif (\n\t\t\t\t\ttype === 'table' &&\n\t\t\t\t\t// Tables can be nested inside each other if it's inside a cell.\n\t\t\t\t\t// See https://developer.mozilla.org/en-US/docs/Learn/HTML/Tables/Advanced#nesting_tables\n\t\t\t\t\tdomParentName !== 'td' &&\n\t\t\t\t\tisTableElement(domParentName)\n\t\t\t\t) {\n\t\t\t\t\tconsole.log(domParentName, parent._dom);\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t'Improper nesting of table. Your <table> should not have a table-node parent.' +\n\t\t\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\t\t\t\t} else if (\n\t\t\t\t\t(type === 'thead' || type === 'tfoot' || type === 'tbody') &&\n\t\t\t\t\tdomParentName !== 'table'\n\t\t\t\t) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t'Improper nesting of table. Your <thead/tbody/tfoot> should have a <table> parent.' +\n\t\t\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\t\t\t\t} else if (\n\t\t\t\t\ttype === 'tr' &&\n\t\t\t\t\tdomParentName !== 'thead' &&\n\t\t\t\t\tdomParentName !== 'tfoot' &&\n\t\t\t\t\tdomParentName !== 'tbody' &&\n\t\t\t\t\tdomParentName !== 'table'\n\t\t\t\t) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t'Improper nesting of table. Your <tr> should have a <thead/tbody/tfoot/table> parent.' +\n\t\t\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\t\t\t\t} else if (type === 'td' && domParentName !== 'tr') {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t'Improper nesting of table. Your <td> should have a <tr> parent.' +\n\t\t\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\t\t\t\t} else if (type === 'th' && domParentName !== 'tr') {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t'Improper nesting of table. Your <th> should have a <tr>.' +\n\t\t\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if (type === 'p') {\n\t\t\t\tlet illegalDomChildrenTypes = getDomChildren(vnode).filter(childType =>\n\t\t\t\t\tILLEGAL_PARAGRAPH_CHILD_ELEMENTS.test(childType)\n\t\t\t\t);\n\t\t\t\tif (illegalDomChildrenTypes.length) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t'Improper nesting of paragraph. Your <p> should not have ' +\n\t\t\t\t\t\t\tillegalDomChildrenTypes.join(', ') +\n\t\t\t\t\t\t\t'as child-elements.' +\n\t\t\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\thooksAllowed = false;\n\n\t\tif (oldDiffed) oldDiffed(vnode);\n\n\t\tif (vnode._children != null) {\n\t\t\tconst keys = [];\n\t\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\t\tconst child = vnode._children[i];\n\t\t\t\tif (!child || child.key == null) continue;\n\n\t\t\t\tconst key = child.key;\n\t\t\t\tif (keys.indexOf(key) !== -1) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t'Following component has two or more children with the ' +\n\t\t\t\t\t\t\t`same key attribute: \"${key}\". This may cause glitches and misbehavior ` +\n\t\t\t\t\t\t\t'in rendering process. Component: \\n\\n' +\n\t\t\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\n\t\t\t\t\t);\n\n\t\t\t\t\t// Break early to not spam the console\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tkeys.push(key);\n\t\t\t}\n\t\t}\n\n\t\tif (vnode._component != null && vnode._component.__hooks != null) {\n\t\t\t// Validate that none of the hooks in this component contain arguments that are NaN.\n\t\t\t// This is a common mistake that can be hard to debug, so we want to catch it early.\n\t\t\tconst hooks = vnode._component.__hooks._list;\n\t\t\tif (hooks) {\n\t\t\t\tfor (let i = 0; i < hooks.length; i += 1) {\n\t\t\t\t\tconst hook = hooks[i];\n\t\t\t\t\tif (hook._args) {\n\t\t\t\t\t\tfor (let j = 0; j < hook._args.length; j++) {\n\t\t\t\t\t\t\tconst arg = hook._args[j];\n\t\t\t\t\t\t\tif (isNaN(arg)) {\n\t\t\t\t\t\t\t\tconst componentName = getDisplayName(vnode);\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t`Invalid argument passed to hook. Hooks should not be called with NaN in the dependency array. Hook index ${i} in component ${componentName} was called with NaN.`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\nconst setState = Component.prototype.setState;\nComponent.prototype.setState = function (update, callback) {\n\tif (this._vnode == null) {\n\t\t// `this._vnode` will be `null` during componentWillMount. But it\n\t\t// is perfectly valid to call `setState` during cWM. So we\n\t\t// need an additional check to verify that we are dealing with a\n\t\t// call inside constructor.\n\t\tif (this.state == null) {\n\t\t\tconsole.warn(\n\t\t\t\t`Calling \"this.setState\" inside the constructor of a component is a ` +\n\t\t\t\t\t`no-op and might be a bug in your application. Instead, set ` +\n\t\t\t\t\t`\"this.state = {}\" directly.\\n\\n${getOwnerStack(getCurrentVNode())}`\n\t\t\t);\n\t\t}\n\t}\n\n\treturn setState.call(this, update, callback);\n};\n\nfunction isTableElement(type) {\n\treturn (\n\t\ttype === 'table' ||\n\t\ttype === 'tfoot' ||\n\t\ttype === 'tbody' ||\n\t\ttype === 'thead' ||\n\t\ttype === 'td' ||\n\t\ttype === 'tr' ||\n\t\ttype === 'th'\n\t);\n}\n\nconst ILLEGAL_PARAGRAPH_CHILD_ELEMENTS =\n\t/^(address|article|aside|blockquote|details|div|dl|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|main|menu|nav|ol|p|pre|search|section|table|ul)$/;\n\nconst forceUpdate = Component.prototype.forceUpdate;\nComponent.prototype.forceUpdate = function (callback) {\n\tif (this._vnode == null) {\n\t\tconsole.warn(\n\t\t\t`Calling \"this.forceUpdate\" inside the constructor of a component is a ` +\n\t\t\t\t`no-op and might be a bug in your application.\\n\\n${getOwnerStack(\n\t\t\t\t\tgetCurrentVNode()\n\t\t\t\t)}`\n\t\t);\n\t} else if (this._parentDom == null) {\n\t\tconsole.warn(\n\t\t\t`Can't call \"this.forceUpdate\" on an unmounted component. This is a no-op, ` +\n\t\t\t\t`but it indicates a memory leak in your application. To fix, cancel all ` +\n\t\t\t\t`subscriptions and asynchronous tasks in the componentWillUnmount method.` +\n\t\t\t\t`\\n\\n${getOwnerStack(this._vnode)}`\n\t\t);\n\t}\n\treturn forceUpdate.call(this, callback);\n};\n\n/**\n * Serialize a vnode tree to a string\n * @param {import('./internal').VNode} vnode\n * @returns {string}\n */\nexport function serializeVNode(vnode) {\n\tlet { props } = vnode;\n\tlet name = getDisplayName(vnode);\n\n\tlet attrs = '';\n\tfor (let prop in props) {\n\t\tif (props.hasOwnProperty(prop) && prop !== 'children') {\n\t\t\tlet value = props[prop];\n\n\t\t\t// If it is an object but doesn't have toString(), use Object.toString\n\t\t\tif (typeof value == 'function') {\n\t\t\t\tvalue = `function ${value.displayName || value.name}() {}`;\n\t\t\t}\n\n\t\t\tvalue =\n\t\t\t\tObject(value) === value && !value.toString\n\t\t\t\t\t? Object.prototype.toString.call(value)\n\t\t\t\t\t: value + '';\n\n\t\t\tattrs += ` ${prop}=${JSON.stringify(value)}`;\n\t\t}\n\t}\n\n\tlet children = props.children;\n\treturn `<${name}${attrs}${\n\t\tchildren && children.length ? '>..</' + name + '>' : ' />'\n\t}`;\n}\n","export const ELEMENT_NODE = 1;\nexport const DOCUMENT_NODE = 9;\nexport const DOCUMENT_FRAGMENT_NODE = 11;\n","/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\nexport function isNaN(value) {\n\treturn value !== value;\n}\n","import { initDebug } from './debug';\nimport '../../devtools';\n\ninitDebug();\n\nexport { resetPropWarnings } from './check-props';\n"],"names":["loggedTypeFailures","getDisplayName","vnode","type","Fragment","displayName","name","renderStack","ownerStack","getCurrentVNode","length","hasBabelPlugin","isPossibleOwner","getOwnerStack","stack","next","__o","push","reduce","acc","owner","source","__source","fileName","lineNumber","console","warn","isWeakMapSupported","WeakMap","getDomChildren","domChildren","__k","forEach","child","apply","getClosestDomNodeParentName","parent","__","__e","parentNode","localName","setState","Component","prototype","isTableElement","update","callback","this","__v","state","call","ILLEGAL_PARAGRAPH_CHILD_ELEMENTS","forceUpdate","serializeVNode","props","attrs","prop","hasOwnProperty","value","Object","toString","JSON","stringify","children","oldDiff","options","__b","oldDiffed","diffed","oldRoot","oldVNode","oldRender","__r","pop","setupComponentStack","hooksAllowed","oldBeforeDiff","oldVnode","oldCatchError","oldHook","__h","warnedComponents","useEffect","useLayoutEffect","lazyPropTypes","deprecations","error","errorInfo","__c","then","promise","Error","componentStack","setTimeout","e","isValid","nodeType","componentName","undefined","Array","isArray","ref","key","propTypes","has","m","lazyVNode","set","values","obj","i","assign","checkPropTypes","typeSpecs","location","getStack","keys","typeSpecName","message","comp","index","property","get","indexOf","deprecatedAttributes","nodeName","attributes","deprecatedProto","create","newProps","v","__self","__proto__","join","domParentName","log","illegalDomChildrenTypes","filter","childType","test","__H","hooks","hook","j","initDebug","resetPropWarnings"],"mappings":"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"}