isomorfeus-preact 10.6.2 → 10.6.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/lib/preact/version.rb +1 -1
  3. data/node_modules/.package-lock.json +3 -3
  4. data/node_modules/preact/LICENSE +21 -21
  5. data/node_modules/preact/README.md +187 -187
  6. data/node_modules/preact/compat/dist/compat.js +1 -1
  7. data/node_modules/preact/compat/dist/compat.js.map +1 -1
  8. data/node_modules/preact/compat/dist/compat.mjs +1 -1
  9. data/node_modules/preact/compat/dist/compat.module.js +1 -1
  10. data/node_modules/preact/compat/dist/compat.module.js.map +1 -1
  11. data/node_modules/preact/compat/dist/compat.umd.js +1 -1
  12. data/node_modules/preact/compat/dist/compat.umd.js.map +1 -1
  13. data/node_modules/preact/compat/jsx-dev-runtime.js +1 -1
  14. data/node_modules/preact/compat/jsx-dev-runtime.mjs +1 -1
  15. data/node_modules/preact/compat/jsx-runtime.js +1 -1
  16. data/node_modules/preact/compat/jsx-runtime.mjs +1 -1
  17. data/node_modules/preact/compat/package.json +19 -19
  18. data/node_modules/preact/compat/scheduler.js +15 -15
  19. data/node_modules/preact/compat/scheduler.mjs +23 -23
  20. data/node_modules/preact/compat/server.js +15 -15
  21. data/node_modules/preact/compat/server.mjs +4 -4
  22. data/node_modules/preact/compat/src/Children.js +21 -21
  23. data/node_modules/preact/compat/src/PureComponent.js +15 -15
  24. data/node_modules/preact/compat/src/forwardRef.js +51 -51
  25. data/node_modules/preact/compat/src/index.d.ts +141 -141
  26. data/node_modules/preact/compat/src/index.js +187 -187
  27. data/node_modules/preact/compat/src/internal.d.ts +47 -47
  28. data/node_modules/preact/compat/src/memo.js +34 -34
  29. data/node_modules/preact/compat/src/portals.js +80 -80
  30. data/node_modules/preact/compat/src/render.js +230 -226
  31. data/node_modules/preact/compat/src/suspense-list.d.ts +14 -14
  32. data/node_modules/preact/compat/src/suspense-list.js +126 -126
  33. data/node_modules/preact/compat/src/suspense.d.ts +15 -15
  34. data/node_modules/preact/compat/src/suspense.js +270 -270
  35. data/node_modules/preact/compat/src/util.js +28 -28
  36. data/node_modules/preact/compat/test-utils.js +1 -1
  37. data/node_modules/preact/debug/dist/debug.js.map +1 -1
  38. data/node_modules/preact/debug/dist/debug.module.js.map +1 -1
  39. data/node_modules/preact/debug/dist/debug.umd.js.map +1 -1
  40. data/node_modules/preact/debug/package.json +18 -18
  41. data/node_modules/preact/debug/src/check-props.js +54 -54
  42. data/node_modules/preact/debug/src/component-stack.js +146 -146
  43. data/node_modules/preact/debug/src/constants.js +3 -3
  44. data/node_modules/preact/debug/src/debug.js +442 -442
  45. data/node_modules/preact/debug/src/index.js +6 -6
  46. data/node_modules/preact/debug/src/internal.d.ts +82 -82
  47. data/node_modules/preact/debug/src/util.js +11 -11
  48. data/node_modules/preact/devtools/dist/devtools.js +1 -1
  49. data/node_modules/preact/devtools/dist/devtools.js.map +1 -1
  50. data/node_modules/preact/devtools/dist/devtools.mjs +1 -1
  51. data/node_modules/preact/devtools/dist/devtools.module.js +1 -1
  52. data/node_modules/preact/devtools/dist/devtools.module.js.map +1 -1
  53. data/node_modules/preact/devtools/dist/devtools.umd.js +1 -1
  54. data/node_modules/preact/devtools/dist/devtools.umd.js.map +1 -1
  55. data/node_modules/preact/devtools/package.json +16 -16
  56. data/node_modules/preact/devtools/src/devtools.js +10 -10
  57. data/node_modules/preact/devtools/src/index.d.ts +8 -8
  58. data/node_modules/preact/devtools/src/index.js +15 -15
  59. data/node_modules/preact/dist/preact.js.map +1 -1
  60. data/node_modules/preact/dist/preact.min.js.map +1 -1
  61. data/node_modules/preact/dist/preact.module.js.map +1 -1
  62. data/node_modules/preact/dist/preact.umd.js.map +1 -1
  63. data/node_modules/preact/hooks/dist/hooks.js +1 -1
  64. data/node_modules/preact/hooks/dist/hooks.js.map +1 -1
  65. data/node_modules/preact/hooks/dist/hooks.mjs +1 -1
  66. data/node_modules/preact/hooks/dist/hooks.module.js +1 -1
  67. data/node_modules/preact/hooks/dist/hooks.module.js.map +1 -1
  68. data/node_modules/preact/hooks/dist/hooks.umd.js +1 -1
  69. data/node_modules/preact/hooks/dist/hooks.umd.js.map +1 -1
  70. data/node_modules/preact/hooks/package.json +26 -26
  71. data/node_modules/preact/hooks/src/index.d.ts +139 -139
  72. data/node_modules/preact/hooks/src/index.js +388 -387
  73. data/node_modules/preact/hooks/src/internal.d.ts +75 -75
  74. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map +1 -1
  75. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map +1 -1
  76. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js.map +1 -1
  77. data/node_modules/preact/jsx-runtime/package.json +19 -19
  78. data/node_modules/preact/jsx-runtime/src/index.d.ts +50 -50
  79. data/node_modules/preact/jsx-runtime/src/index.js +77 -77
  80. data/node_modules/preact/package.json +287 -287
  81. data/node_modules/preact/src/cjs.js +3 -3
  82. data/node_modules/preact/src/clone-element.js +34 -34
  83. data/node_modules/preact/src/component.js +225 -225
  84. data/node_modules/preact/src/constants.js +3 -3
  85. data/node_modules/preact/src/create-context.js +68 -68
  86. data/node_modules/preact/src/create-element.js +98 -98
  87. data/node_modules/preact/src/diff/catch-error.js +38 -38
  88. data/node_modules/preact/src/diff/children.js +335 -335
  89. data/node_modules/preact/src/diff/index.js +516 -516
  90. data/node_modules/preact/src/diff/props.js +158 -158
  91. data/node_modules/preact/src/index.d.ts +310 -310
  92. data/node_modules/preact/src/index.js +13 -13
  93. data/node_modules/preact/src/internal.d.ts +146 -146
  94. data/node_modules/preact/src/jsx.d.ts +1005 -1005
  95. data/node_modules/preact/src/options.js +16 -16
  96. data/node_modules/preact/src/render.js +75 -75
  97. data/node_modules/preact/src/util.js +27 -27
  98. data/node_modules/preact/test-utils/dist/testUtils.js.map +1 -1
  99. data/node_modules/preact/test-utils/dist/testUtils.module.js.map +1 -1
  100. data/node_modules/preact/test-utils/dist/testUtils.umd.js.map +1 -1
  101. data/node_modules/preact/test-utils/package.json +19 -19
  102. data/node_modules/preact/test-utils/src/index.d.ts +3 -3
  103. data/node_modules/preact/test-utils/src/index.js +117 -117
  104. data/package.json +1 -1
  105. metadata +17 -37
  106. data/node_modules/preact/compat/dist/compat.mjs.map +0 -1
  107. data/node_modules/preact/compat/dist/compat.modern.js +0 -2
  108. data/node_modules/preact/compat/dist/compat.modern.js.map +0 -1
  109. data/node_modules/preact/debug/dist/debug.mjs.map +0 -1
  110. data/node_modules/preact/debug/dist/debug.modern.js +0 -2
  111. data/node_modules/preact/debug/dist/debug.modern.js.map +0 -1
  112. data/node_modules/preact/devtools/dist/devtools.mjs.map +0 -1
  113. data/node_modules/preact/devtools/dist/devtools.modern.js +0 -2
  114. data/node_modules/preact/devtools/dist/devtools.modern.js.map +0 -1
  115. data/node_modules/preact/dist/index.d.ts +0 -1295
  116. data/node_modules/preact/dist/preact.mjs.map +0 -1
  117. data/node_modules/preact/hooks/dist/hooks.mjs.map +0 -1
  118. data/node_modules/preact/hooks/dist/hooks.modern.js +0 -2
  119. data/node_modules/preact/hooks/dist/hooks.modern.js.map +0 -1
  120. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs.map +0 -1
  121. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.modern.js +0 -2
  122. data/node_modules/preact/jsx-runtime/dist/jsxRuntime.modern.js.map +0 -1
  123. data/node_modules/preact/test-utils/dist/testUtils.mjs.map +0 -1
  124. data/node_modules/preact/test-utils/dist/testUtils.modern.js +0 -2
  125. data/node_modules/preact/test-utils/dist/testUtils.modern.js.map +0 -1
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-preact
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.6.2
4
+ version: 10.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-29 00:00:00.000000000 Z
11
+ date: 2022-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 3.13.9
33
+ version: 3.13.11
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 3.13.9
40
+ version: 3.13.11
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: opal
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.3.2
47
+ version: 1.4.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.3.2
54
+ version: 1.4.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: opal-activesupport
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -72,56 +72,56 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.2.4
75
+ version: 0.3.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.2.4
82
+ version: 0.3.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: isomorfeus-asset-manager
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.14.0
89
+ version: 0.14.4
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.14.0
96
+ version: 0.14.4
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: isomorfeus-redux
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 4.1.10
103
+ version: 4.1.11
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 4.1.10
110
+ version: 4.1.11
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: isomorfeus-speednode
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 0.4.7
117
+ version: 0.4.8
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 0.4.7
124
+ version: 0.4.8
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: dalli
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 0.5.5
173
+ version: 0.6.0
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 0.5.5
180
+ version: 0.6.0
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rake
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -314,9 +314,6 @@ files:
314
314
  - node_modules/preact/compat/dist/compat.js
315
315
  - node_modules/preact/compat/dist/compat.js.map
316
316
  - node_modules/preact/compat/dist/compat.mjs
317
- - node_modules/preact/compat/dist/compat.mjs.map
318
- - node_modules/preact/compat/dist/compat.modern.js
319
- - node_modules/preact/compat/dist/compat.modern.js.map
320
317
  - node_modules/preact/compat/dist/compat.module.js
321
318
  - node_modules/preact/compat/dist/compat.module.js.map
322
319
  - node_modules/preact/compat/dist/compat.umd.js
@@ -348,9 +345,6 @@ files:
348
345
  - node_modules/preact/debug/dist/debug.js
349
346
  - node_modules/preact/debug/dist/debug.js.map
350
347
  - node_modules/preact/debug/dist/debug.mjs
351
- - node_modules/preact/debug/dist/debug.mjs.map
352
- - node_modules/preact/debug/dist/debug.modern.js
353
- - node_modules/preact/debug/dist/debug.modern.js.map
354
348
  - node_modules/preact/debug/dist/debug.module.js
355
349
  - node_modules/preact/debug/dist/debug.module.js.map
356
350
  - node_modules/preact/debug/dist/debug.umd.js
@@ -366,9 +360,6 @@ files:
366
360
  - node_modules/preact/devtools/dist/devtools.js
367
361
  - node_modules/preact/devtools/dist/devtools.js.map
368
362
  - node_modules/preact/devtools/dist/devtools.mjs
369
- - node_modules/preact/devtools/dist/devtools.mjs.map
370
- - node_modules/preact/devtools/dist/devtools.modern.js
371
- - node_modules/preact/devtools/dist/devtools.modern.js.map
372
363
  - node_modules/preact/devtools/dist/devtools.module.js
373
364
  - node_modules/preact/devtools/dist/devtools.module.js.map
374
365
  - node_modules/preact/devtools/dist/devtools.umd.js
@@ -377,13 +368,11 @@ files:
377
368
  - node_modules/preact/devtools/src/devtools.js
378
369
  - node_modules/preact/devtools/src/index.d.ts
379
370
  - node_modules/preact/devtools/src/index.js
380
- - node_modules/preact/dist/index.d.ts
381
371
  - node_modules/preact/dist/preact.js
382
372
  - node_modules/preact/dist/preact.js.map
383
373
  - node_modules/preact/dist/preact.min.js
384
374
  - node_modules/preact/dist/preact.min.js.map
385
375
  - node_modules/preact/dist/preact.mjs
386
- - node_modules/preact/dist/preact.mjs.map
387
376
  - node_modules/preact/dist/preact.module.js
388
377
  - node_modules/preact/dist/preact.module.js.map
389
378
  - node_modules/preact/dist/preact.umd.js
@@ -391,9 +380,6 @@ files:
391
380
  - node_modules/preact/hooks/dist/hooks.js
392
381
  - node_modules/preact/hooks/dist/hooks.js.map
393
382
  - node_modules/preact/hooks/dist/hooks.mjs
394
- - node_modules/preact/hooks/dist/hooks.mjs.map
395
- - node_modules/preact/hooks/dist/hooks.modern.js
396
- - node_modules/preact/hooks/dist/hooks.modern.js.map
397
383
  - node_modules/preact/hooks/dist/hooks.module.js
398
384
  - node_modules/preact/hooks/dist/hooks.module.js.map
399
385
  - node_modules/preact/hooks/dist/hooks.umd.js
@@ -405,9 +391,6 @@ files:
405
391
  - node_modules/preact/jsx-runtime/dist/jsxRuntime.js
406
392
  - node_modules/preact/jsx-runtime/dist/jsxRuntime.js.map
407
393
  - node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs
408
- - node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs.map
409
- - node_modules/preact/jsx-runtime/dist/jsxRuntime.modern.js
410
- - node_modules/preact/jsx-runtime/dist/jsxRuntime.modern.js.map
411
394
  - node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
412
395
  - node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js.map
413
396
  - node_modules/preact/jsx-runtime/dist/jsxRuntime.umd.js
@@ -436,9 +419,6 @@ files:
436
419
  - node_modules/preact/test-utils/dist/testUtils.js
437
420
  - node_modules/preact/test-utils/dist/testUtils.js.map
438
421
  - node_modules/preact/test-utils/dist/testUtils.mjs
439
- - node_modules/preact/test-utils/dist/testUtils.mjs.map
440
- - node_modules/preact/test-utils/dist/testUtils.modern.js
441
- - node_modules/preact/test-utils/dist/testUtils.modern.js.map
442
422
  - node_modules/preact/test-utils/dist/testUtils.module.js
443
423
  - node_modules/preact/test-utils/dist/testUtils.module.js.map
444
424
  - node_modules/preact/test-utils/dist/testUtils.umd.js
@@ -491,7 +471,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
491
471
  - !ruby/object:Gem::Version
492
472
  version: '0'
493
473
  requirements: []
494
- rubygems_version: 3.2.22
474
+ rubygems_version: 3.3.3
495
475
  signing_key:
496
476
  specification_version: 4
497
477
  summary: Preact for the Isomorfeus Framework Project.
@@ -1 +0,0 @@
1
- {"version":3,"file":"compat.mjs","sources":["../src/util.js","../src/PureComponent.js","../src/memo.js","../src/forwardRef.js","../src/Children.js","../../src/tree.js","../../src/constants.js","../src/portals.js","../src/suspense.js","../src/suspense-list.js","../src/render.js","../src/scheduler.js","../src/index.js"],"sourcesContent":["export const IS_NON_DIMENSIONAL = /^(-|f[lo].*[^se]$|g.{5,}[^ps]$|z|o[pr]|(W.{5})?[lL]i.*(t|mp)$|an|(bo|s).{4}Im|sca|m.{6}[ds]|ta|c.*[st]$|wido|ini)/;\n\n/**\n * Check if two objects have a different shape\n * @param {object} a\n * @param {object} b\n * @returns {boolean}\n */\nexport function shallowDiffers(a, b) {\n\tfor (let i in a) if (i !== '__source' && !(i in b)) return true;\n\tfor (let i in b) if (i !== '__source' && a[i] !== b[i]) return true;\n\treturn false;\n}\n","import { Component } from 'preact';\nimport { shallowDiffers } from './util';\n\n/**\n * Component class with a predefined `shouldComponentUpdate` implementation\n */\nexport function PureComponent(p) {\n\tthis.props = p;\n}\nPureComponent.prototype = new Component();\n// Some third-party libraries check if this property is present\nPureComponent.prototype.isPureReactComponent = true;\nPureComponent.prototype.shouldComponentUpdate = function(props, state) {\n\treturn shallowDiffers(this.props, props) || shallowDiffers(this.state, state);\n};\n","import { createElement } from 'preact';\nimport { shallowDiffers } from './util';\n\n/**\n * Memoize a component, so that it only updates when the props actually have\n * changed. This was previously known as `React.pure`.\n * @param {import('./internal').FunctionComponent} c functional component\n * @param {(prev: object, next: object) => boolean} [comparer] Custom equality function\n * @returns {import('./internal').FunctionComponent}\n */\nexport function memo(c, comparer) {\n\tfunction shouldUpdate(nextProps) {\n\t\tlet ref = this.props.ref;\n\t\tlet updateRef = ref == nextProps.ref;\n\t\tif (!updateRef && ref) {\n\t\t\tref.call ? ref(null) : (ref.current = null);\n\t\t}\n\n\t\tif (!comparer) {\n\t\t\treturn shallowDiffers(this.props, nextProps);\n\t\t}\n\n\t\treturn !comparer(this.props, nextProps) || !updateRef;\n\t}\n\n\tfunction Memoed(props) {\n\t\tthis.shouldComponentUpdate = shouldUpdate;\n\t\treturn createElement(c, props);\n\t}\n\tMemoed.displayName = 'Memo(' + (c.displayName || c.name) + ')';\n\tMemoed.prototype.isReactComponent = true;\n\tMemoed._forwarded = true;\n\treturn Memoed;\n}\n","import { options } from 'preact';\n\nlet oldDiffHook = options._diff;\noptions._diff = (internal, vnode) => {\n\tif (internal.type && internal.type._forwarded && vnode.ref) {\n\t\tvnode.props.ref = vnode.ref;\n\t\tvnode.ref = null;\n\t\tinternal.ref = null;\n\t}\n\tif (oldDiffHook) oldDiffHook(internal, vnode);\n};\n\nexport const REACT_FORWARD_SYMBOL =\n\t(typeof Symbol != 'undefined' &&\n\t\tSymbol.for &&\n\t\tSymbol.for('react.forward_ref')) ||\n\t0xf47;\n\n/**\n * Pass ref down to a child. This is mainly used in libraries with HOCs that\n * wrap components. Using `forwardRef` there is an easy way to get a reference\n * of the wrapped component instead of one of the wrapper itself.\n * @param {import('./index').ForwardFn} fn\n * @returns {import('./internal').FunctionComponent}\n */\nexport function forwardRef(fn) {\n\t// We always have ref in props.ref, except for\n\t// mobx-react. It will call this function directly\n\t// and always pass ref as the second argument.\n\tfunction Forwarded(props, ref) {\n\t\tlet clone = Object.assign({}, props);\n\t\tdelete clone.ref;\n\t\tref = props.ref || ref;\n\t\treturn fn(\n\t\t\tclone,\n\t\t\t!ref || (typeof ref === 'object' && !('current' in ref)) ? null : ref\n\t\t);\n\t}\n\n\t// mobx-react checks for this being present\n\tForwarded.$$typeof = REACT_FORWARD_SYMBOL;\n\t// mobx-react heavily relies on implementation details.\n\t// It expects an object here with a `render` property,\n\t// and prototype.render will fail. Without this\n\t// mobx-react throws.\n\tForwarded.render = Forwarded;\n\n\tForwarded.prototype.isReactComponent = Forwarded._forwarded = true;\n\tForwarded.displayName = 'ForwardRef(' + (fn.displayName || fn.name) + ')';\n\treturn Forwarded;\n}\n","import { toChildArray } from 'preact';\n\nconst mapFn = (children, fn) => {\n\tif (children == null) return null;\n\treturn toChildArray(toChildArray(children).map(fn));\n};\n\n// This API is completely unnecessary for Preact, so it's basically passthrough.\nexport const Children = {\n\tmap: mapFn,\n\tforEach: mapFn,\n\tcount(children) {\n\t\treturn children ? toChildArray(children).length : 0;\n\t},\n\tonly(children) {\n\t\tconst normalized = toChildArray(children);\n\t\tif (normalized.length !== 1) throw 'Children.only';\n\t\treturn normalized[0];\n\t},\n\ttoArray: toChildArray\n};\n","import options from './options';\nimport {\n\tTYPE_FUNCTION,\n\tTYPE_ELEMENT,\n\tTYPE_TEXT,\n\tTYPE_CLASS,\n\tTYPE_ROOT,\n\tINHERITED_MODES,\n\tTYPE_COMPONENT,\n\tTYPE_DOM,\n\tMODE_SVG,\n\tUNDEFINED\n} from './constants';\n\n/**\n * Create an internal tree node\n * @param {import('./internal').VNode | string} vnode\n * @param {import('./internal').Internal} [parentInternal]\n * @returns {import('./internal').Internal}\n */\nexport function createInternal(vnode, parentInternal) {\n\tlet type = null,\n\t\tprops,\n\t\tkey,\n\t\tref;\n\n\t/** @type {number} */\n\tlet flags = parentInternal ? parentInternal._flags & INHERITED_MODES : 0;\n\n\t// Text VNodes/Internals use NaN as an ID so that two are never equal.\n\tlet vnodeId = NaN;\n\n\tif (typeof vnode === 'string') {\n\t\t// type = null;\n\t\tflags |= TYPE_TEXT;\n\t\tprops = vnode;\n\t} else if (vnode.constructor !== UNDEFINED) {\n\t\tflags |= TYPE_TEXT;\n\t\tprops = '';\n\t} else {\n\t\ttype = vnode.type;\n\t\tprops = vnode.props || {};\n\t\tkey = vnode.key;\n\t\tref = vnode.ref;\n\t\tvnodeId = vnode._vnodeId;\n\n\t\t// @TODO re-enable this when we stop removing key+ref from VNode props\n\t\t// if (props) {\n\t\t// \tif ((key = props.key) != null) {\n\t\t// \t\tprops.key = UNDEFINED;\n\t\t// \t}\n\t\t// \tif (typeof type !== 'function' && (ref = props.ref) != null) {\n\t\t// \t\tprops.ref = UNDEFINED;\n\t\t// \t}\n\t\t// } else {\n\t\t// \tprops = {};\n\t\t// }\n\n\t\t// flags = typeof type === 'function' ? COMPONENT_NODE : ELEMENT_NODE;\n\t\tflags |=\n\t\t\ttypeof type === 'function'\n\t\t\t\t? type.prototype && 'render' in type.prototype\n\t\t\t\t\t? TYPE_CLASS\n\t\t\t\t\t: props._parentDom\n\t\t\t\t\t? TYPE_ROOT\n\t\t\t\t\t: TYPE_FUNCTION\n\t\t\t\t: TYPE_ELEMENT;\n\n\t\tif (flags & TYPE_ELEMENT && type === 'svg') {\n\t\t\tflags |= MODE_SVG;\n\t\t} else if (\n\t\t\tparentInternal &&\n\t\t\tparentInternal._flags & MODE_SVG &&\n\t\t\tparentInternal.type === 'foreignObject'\n\t\t) {\n\t\t\tflags &= ~MODE_SVG;\n\t\t}\n\t}\n\n\t/** @type {import('./internal').Internal} */\n\tconst internal = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: parentInternal,\n\t\t_vnodeId: vnodeId,\n\t\t_dom: null,\n\t\t_component: null,\n\t\t_flags: flags,\n\t\t_depth: parentInternal ? parentInternal._depth + 1 : 0\n\t};\n\n\tif (options._internal) options._internal(internal, vnode);\n\n\treturn internal;\n}\n\nconst shouldSearchComponent = internal =>\n\tinternal._flags & TYPE_COMPONENT &&\n\t(!(internal._flags & TYPE_ROOT) ||\n\t\tinternal.props._parentDom == getParentDom(internal._parent));\n\n/**\n * @param {import('./internal').Internal} internal\n * @param {number | null} [childIndex]\n * @returns {import('./internal').PreactNode}\n */\nexport function getDomSibling(internal, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn getDomSibling(\n\t\t\tinternal._parent,\n\t\t\tinternal._parent._children.indexOf(internal) + 1\n\t\t);\n\t}\n\n\tlet childDom = getChildDom(internal, childIndex);\n\tif (childDom) {\n\t\treturn childDom;\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children. We\n\t// must resume from this vnode's sibling (in it's parent _children array).\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search). Note, the top of the tree has _parent == null so avoiding that\n\t// here.\n\treturn internal._parent && shouldSearchComponent(internal)\n\t\t? getDomSibling(internal)\n\t\t: null;\n}\n\n/**\n * @param {import('./internal').Internal} internal\n * @param {number} [i]\n * @returns {import('./internal').PreactElement}\n */\nexport function getChildDom(internal, i) {\n\tif (internal._children == null) {\n\t\treturn null;\n\t}\n\n\tfor (i = i || 0; i < internal._children.length; i++) {\n\t\tlet child = internal._children[i];\n\t\tif (child != null) {\n\t\t\tif (child._flags & TYPE_DOM) {\n\t\t\t\treturn child._dom;\n\t\t\t}\n\n\t\t\tif (shouldSearchComponent(child)) {\n\t\t\t\tlet childDom = getChildDom(child);\n\t\t\t\tif (childDom) {\n\t\t\t\t\treturn childDom;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n}\n\n/**\n * @param {import('./internal').Internal} internal\n * @returns {import('./internal').PreactElement}\n */\nexport function getParentDom(internal) {\n\tlet parentDom =\n\t\tinternal._flags & TYPE_ROOT ? internal.props._parentDom : null;\n\n\tlet parent = internal._parent;\n\twhile (parentDom == null && parent) {\n\t\tif (parent._flags & TYPE_ROOT) {\n\t\t\tparentDom = parent.props._parentDom;\n\t\t} else if (parent._flags & TYPE_ELEMENT) {\n\t\t\tparentDom = parent._dom;\n\t\t}\n\n\t\tparent = parent._parent;\n\t}\n\n\treturn parentDom;\n}\n","// Internal._flags bitfield constants\nexport const TYPE_TEXT = 1 << 0;\nexport const TYPE_ELEMENT = 1 << 1;\nexport const TYPE_CLASS = 1 << 2;\nexport const TYPE_FUNCTION = 1 << 3;\n/** Signals this internal has a _parentDom prop that should change the parent\n * DOM node of it's children */\nexport const TYPE_ROOT = 1 << 4;\n\n/** Any type of internal representing DOM */\nexport const TYPE_DOM = TYPE_TEXT | TYPE_ELEMENT;\n/** Any type of component */\nexport const TYPE_COMPONENT = TYPE_CLASS | TYPE_FUNCTION | TYPE_ROOT;\n\n// Modes of rendering\n/** Normal hydration that attaches to a DOM tree but does not diff it. */\nexport const MODE_HYDRATE = 1 << 5;\n/** Top level render unspecified behaviour (old replaceNode parameter to render) */\nexport const MODE_MUTATIVE_HYDRATE = 1 << 6;\n/** Signifies this VNode suspended on the previous render */\nexport const MODE_SUSPENDED = 1 << 7;\n/** Signifies this VNode errored on the previous render */\nexport const MODE_ERRORED = 1 << 8;\n/** Signifies an error has been thrown and this component will be attempting to\n * handle & rerender the error on next render. In other words, on the next\n * render of this component, unset this mode and set the MODE_RERENDERING_ERROR.\n * This flag is distinct from MODE_RERENDERING_ERROR so that a component can\n * catch multiple errors thrown by its children in one render pass (see test\n * \"should handle double child throws\").\n */\nexport const MODE_PENDING_ERROR = 1 << 9;\n/** Signifies this Internal is attempting to \"handle\" an error and is\n * rerendering. This mode tracks that a component's last rerender was trying to\n * handle an error. As such, if another error is thrown while a component has\n * this flag set, it should not handle the newly thrown error since it failed to\n * successfully rerender the original error. This prevents error handling\n * infinite render loops */\nexport const MODE_RERENDERING_ERROR = 1 << 10;\n/** Signals this internal has been unmounted */\nexport const MODE_UNMOUNTING = 1 << 11;\n/** This Internal is rendered in an SVG tree */\nexport const MODE_SVG = 1 << 12;\n\n/** Signifies that bailout checks will be bypassed */\nexport const FORCE_UPDATE = 1 << 13;\n/** Signifies that a node needs to be updated */\nexport const DIRTY_BIT = 1 << 14;\n\n/** Reset all mode flags */\nexport const RESET_MODE = ~(\n\tMODE_HYDRATE |\n\tMODE_MUTATIVE_HYDRATE |\n\tMODE_SUSPENDED |\n\tMODE_ERRORED |\n\tMODE_RERENDERING_ERROR |\n\tFORCE_UPDATE\n);\n\n/** Modes a child internal inherits from their parent */\nexport const INHERITED_MODES = MODE_HYDRATE | MODE_MUTATIVE_HYDRATE | MODE_SVG;\n\nexport const EMPTY_ARR = [];\nexport const UNDEFINED = undefined;\n","import { createElement } from 'preact';\n\n/**\n * Portal component\n * @this {import('./internal').Component}\n * @param {object | null | undefined} props\n *\n * TODO: use createRoot() instead of fake root\n */\nfunction Portal(props) {\n\treturn props.children;\n}\n\n/**\n * Create a `Portal` to continue rendering the vnode tree at a different DOM node\n * @param {import('./internal').VNode} vnode The vnode to render\n * @param {import('./internal').PreactElement} container The DOM node to continue rendering in to.\n */\nexport function createPortal(vnode, container) {\n\t// Note: We can't use Fragment here because a component that returned a Portal\n\t// (e.g. `const App = () => createPortal(...)`) wouldn't work. Our diff\n\t// collapses Fragments without keys that are returned directly from components\n\t// into just an array and sets that as the children array of the component.\n\t//\n\t// We also can't use keyed Fragments here cuz it might lead to weird edge\n\t// cases when toggling between two sibling portals if we use a shared keyed or\n\t// lead to unnecessary re-mounts if trying to generate a new key on each call.\n\t//\n\t// So the simplest solution seems to be just to use an unique type for Portal\n\t// to skip the Fragment collapsing logic when diffing components\n\treturn createElement(Portal, { _parentDom: container }, vnode);\n}\n","import { Component, createElement, options, Fragment } from 'preact';\nimport { TYPE_ELEMENT, MODE_HYDRATE } from '../../src/constants';\nimport { getParentDom } from '../../src/tree';\nimport { createPortal } from './portals';\n\nconst oldCatchError = options._catchError;\n/** @type {(error: any, internal: import('./internal').Internal) => void} */\noptions._catchError = function(error, internal) {\n\tif (error.then) {\n\t\t/** @type {import('./internal').Component} */\n\t\tlet component;\n\t\tlet handler = internal;\n\n\t\tfor (; (handler = handler._parent); ) {\n\t\t\tif ((component = handler._component) && component._childDidSuspend) {\n\t\t\t\t// Don't call oldCatchError if we found a Suspense\n\t\t\t\treturn component._childDidSuspend(error, internal);\n\t\t\t}\n\t\t}\n\t}\n\toldCatchError(error, internal);\n};\n\nconst oldUnmount = options.unmount;\n/** @type {(internal: import('./internal').Internal) => void} */\noptions.unmount = function(internal) {\n\t/** @type {import('./internal').Component} */\n\tconst component = internal._component;\n\tif (component && component._onResolve) {\n\t\tcomponent._onResolve();\n\t}\n\n\t// If a component suspended while it was hydrating and is now being unmounted,\n\t// update it's _flags so it appears to be of TYPE_ELEMENT, causing `unmount`\n\t// to remove the DOM nodes that were awaiting hydration (which are stored on\n\t// this internal's _dom property).\n\tconst wasHydrating = (internal._flags & MODE_HYDRATE) === MODE_HYDRATE;\n\tif (component && wasHydrating) {\n\t\tinternal._flags |= TYPE_ELEMENT;\n\t}\n\n\tif (oldUnmount) oldUnmount(internal);\n};\n\n// having custom inheritance instead of a class here saves a lot of bytes\nexport function Suspense() {\n\t// we do not call super here to golf some bytes...\n\tthis._pendingSuspensionCount = 0;\n\t/** @type {Array<import('./internal').Internal>} */\n\tthis._suspenders = null;\n\t/** @type {import('./internal').PreactElement} */\n\tthis._parentDom = null;\n\t/** @type {number} */\n\tthis._portalVNodeId = 0;\n}\n\n// Things we do here to save some bytes but are not proper JS inheritance:\n// - call `new Component()` as the prototype\n// - do not set `Suspense.prototype.constructor` to `Suspense`\nSuspense.prototype = new Component();\n\n/**\n * @this {import('./internal').SuspenseComponent}\n * @param {Promise} promise The thrown promise\n * @param {import('./internal').Internal} suspendingInternal The suspending component\n */\nSuspense.prototype._childDidSuspend = function(promise, suspendingInternal) {\n\tconst suspendingComponent = suspendingInternal._component;\n\tif (suspendingComponent._onResolve != null) {\n\t\t// This component has already been handled by a Suspense component. Do\n\t\t// nothing\n\t\treturn;\n\t}\n\n\t/** @type {import('./internal').SuspenseComponent} */\n\tconst c = this;\n\n\tif (c._suspenders == null) {\n\t\tc._suspenders = [];\n\t}\n\tc._suspenders.push(suspendingComponent);\n\n\tconst resolve = suspended(c._internal);\n\n\tlet resolved = false;\n\tconst onResolved = () => {\n\t\tif (resolved) return;\n\n\t\tresolved = true;\n\t\tsuspendingComponent._onResolve = null;\n\n\t\tif (resolve) {\n\t\t\tresolve(onSuspensionComplete);\n\t\t} else {\n\t\t\tonSuspensionComplete();\n\t\t}\n\t};\n\n\tsuspendingComponent._onResolve = onResolved;\n\n\tconst onSuspensionComplete = () => {\n\t\tif (!--c._pendingSuspensionCount) {\n\t\t\tthis._parentDom = null;\n\t\t\tc.setState({ _suspended: false });\n\n\t\t\tlet suspended;\n\t\t\twhile ((suspended = c._suspenders.pop())) {\n\t\t\t\tsuspended.forceUpdate();\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * We do not set `suspended: true` during hydration because we want the actual markup\n\t * to remain on screen and hydrate it when the suspense actually gets resolved.\n\t * While in non-hydration cases the usual fallback -> component flow would occur.\n\t */\n\tconst wasHydrating =\n\t\t(suspendingInternal._flags & MODE_HYDRATE) === MODE_HYDRATE;\n\n\tif (!c._pendingSuspensionCount++ && !wasHydrating) {\n\t\tthis._parentDom = document.createElement('div');\n\t\tc.setState({ _suspended: true });\n\t}\n\n\tpromise.then(onResolved, onResolved);\n};\n\nSuspense.prototype.componentWillUnmount = function() {\n\tthis._suspenders = [];\n\tthis._parentDom = null;\n};\n\n/**\n * @this {import('./internal').SuspenseComponent}\n * @param {import('./internal').SuspenseComponent[\"props\"]} props\n * @param {import('./internal').SuspenseState} state\n */\nSuspense.prototype.render = function(props, state) {\n\tif (this._parentDom == null) {\n\t\tthis._parentDom = getParentDom(this._internal);\n\t}\n\n\t// Wrap fallback tree in a VNode that prevents itself from being marked as aborting mid-hydration:\n\tconst fallback =\n\t\tstate._suspended && createElement(Fragment, null, props.fallback);\n\n\tconst portal = createPortal(props.children, this._parentDom);\n\tif (state._suspended) {\n\t\t// If we are suspended, don't rerender all of the portal's children. Instead\n\t\t// just reorder the Portal's children\n\t\tportal._vnodeId = this._portalVNodeId;\n\t} else {\n\t\tthis._portalVNodeId = portal._vnodeId;\n\t}\n\n\treturn [portal, fallback];\n};\n\n/**\n * Checks and calls the parent component's _suspended method, passing in the\n * suspended Internal. This is a way for a parent (e.g. SuspenseList) to get\n * notified that one of its children/descendants suspended.\n *\n * The parent MAY return a callback. The callback will get called when the\n * suspension resolves, notifying the parent of the fact. Moreover, the callback\n * gets function `unsuspend` as a parameter. The resolved child descendant will\n * not actually get unsuspended until `unsuspend` gets called. This is a way for\n * the parent to delay unsuspending.\n *\n * If the parent does not return a callback then the resolved Internal gets\n * unsuspended immediately when it resolves.\n *\n * @param {import('./internal').Internal} internal\n * @returns {((unsuspend: () => void) => void)?}\n */\nexport function suspended(internal) {\n\tlet component = internal._parent._component;\n\treturn component && component._suspended && component._suspended(internal);\n}\n\nexport function lazy(loader) {\n\tlet prom;\n\tlet component;\n\tlet error;\n\n\tfunction Lazy(props) {\n\t\tif (!prom) {\n\t\t\tprom = loader();\n\t\t\tprom.then(\n\t\t\t\texports => {\n\t\t\t\t\tcomponent = exports.default || exports;\n\t\t\t\t},\n\t\t\t\te => {\n\t\t\t\t\terror = e;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tif (error) {\n\t\t\tthrow error;\n\t\t}\n\n\t\tif (!component) {\n\t\t\tthrow prom;\n\t\t}\n\n\t\treturn createElement(component, props);\n\t}\n\n\tLazy.displayName = 'Lazy';\n\tLazy._forwarded = true;\n\treturn Lazy;\n}\n","import { Component, toChildArray } from 'preact';\nimport { suspended } from './suspense.js';\n\n// Indexes to linked list nodes (nodes are stored as arrays to save bytes).\nconst SUSPENDED_COUNT = 0;\nconst RESOLVED_COUNT = 1;\nconst NEXT_NODE = 2;\n\n// Having custom inheritance instead of a class here saves a lot of bytes.\nexport function SuspenseList() {\n\tthis._next = null;\n\tthis._map = null;\n}\n\n// Mark one of child's earlier suspensions as resolved.\n// Some pending callbacks may become callable due to this\n// (e.g. the last suspended descendant gets resolved when\n// revealOrder === 'together'). Process those callbacks as well.\nconst resolve = (list, child, node) => {\n\tif (++node[RESOLVED_COUNT] === node[SUSPENDED_COUNT]) {\n\t\t// The number a child (or any of its descendants) has been suspended\n\t\t// matches the number of times it's been resolved. Therefore we\n\t\t// mark the child as completely resolved by deleting it from ._map.\n\t\t// This is used to figure out when *all* children have been completely\n\t\t// resolved when revealOrder is 'together'.\n\t\tlist._map.delete(child);\n\t}\n\n\t// If revealOrder is falsy then we can do an early exit, as the\n\t// callbacks won't get queued in the node anyway.\n\t// If revealOrder is 'together' then also do an early exit\n\t// if all suspended descendants have not yet been resolved.\n\tif (\n\t\t!list.props.revealOrder ||\n\t\t(list.props.revealOrder[0] === 't' && list._map.size)\n\t) {\n\t\treturn;\n\t}\n\n\t// Walk the currently suspended children in order, calling their\n\t// stored callbacks on the way. Stop if we encounter a child that\n\t// has not been completely resolved yet.\n\tnode = list._next;\n\twhile (node) {\n\t\twhile (node.length > 3) {\n\t\t\tnode.pop()();\n\t\t}\n\t\tif (node[RESOLVED_COUNT] < node[SUSPENDED_COUNT]) {\n\t\t\tbreak;\n\t\t}\n\t\tlist._next = node = node[NEXT_NODE];\n\t}\n};\n\n// Things we do here to save some bytes but are not proper JS inheritance:\n// - call `new Component()` as the prototype\n// - do not set `Suspense.prototype.constructor` to `Suspense`\nSuspenseList.prototype = new Component();\n\nSuspenseList.prototype._suspended = function(child) {\n\tconst list = this;\n\tconst delegated = suspended(list._internal);\n\n\tlet node = list._map.get(child);\n\tnode[SUSPENDED_COUNT]++;\n\n\treturn unsuspend => {\n\t\tconst wrappedUnsuspend = () => {\n\t\t\tif (!list.props.revealOrder) {\n\t\t\t\t// Special case the undefined (falsy) revealOrder, as there\n\t\t\t\t// is no need to coordinate a specific order or unsuspends.\n\t\t\t\tunsuspend();\n\t\t\t} else {\n\t\t\t\tnode.push(unsuspend);\n\t\t\t\tresolve(list, child, node);\n\t\t\t}\n\t\t};\n\t\tif (delegated) {\n\t\t\tdelegated(wrappedUnsuspend);\n\t\t} else {\n\t\t\twrappedUnsuspend();\n\t\t}\n\t};\n};\n\nSuspenseList.prototype.render = function(props) {\n\tthis._next = null;\n\tthis._map = new Map();\n\n\tconst children = toChildArray(props.children);\n\tif (props.revealOrder && props.revealOrder[0] === 'b') {\n\t\t// If order === 'backwards' (or, well, anything starting with a 'b')\n\t\t// then flip the child list around so that the last child will be\n\t\t// the first in the linked list.\n\t\tchildren.reverse();\n\t}\n\t// Build the linked list. Iterate through the children in reverse order\n\t// so that `_next` points to the first linked list node to be resolved.\n\tfor (let i = children.length; i--; ) {\n\t\t// Create a new linked list node as an array of form:\n\t\t// \t[suspended_count, resolved_count, next_node]\n\t\t// where suspended_count and resolved_count are numeric counters for\n\t\t// keeping track how many times a node has been suspended and resolved.\n\t\t//\n\t\t// Note that suspended_count starts from 1 instead of 0, so we can block\n\t\t// processing callbacks until componentDidMount has been called. In a sense\n\t\t// node is suspended at least until componentDidMount gets called!\n\t\t//\n\t\t// Pending callbacks are added to the end of the node:\n\t\t// \t[suspended_count, resolved_count, next_node, callback_0, callback_1, ...]\n\t\tthis._map.set(children[i], (this._next = [1, 0, this._next]));\n\t}\n\treturn props.children;\n};\n\nSuspenseList.prototype.componentDidUpdate = SuspenseList.prototype.componentDidMount = function() {\n\t// Iterate through all children after mounting for two reasons:\n\t// 1. As each node[SUSPENDED_COUNT] starts from 1, this iteration increases\n\t// each node[RELEASED_COUNT] by 1, therefore balancing the counters.\n\t// The nodes can now be completely consumed from the linked list.\n\t// 2. Handle nodes that might have gotten resolved between render and\n\t// componentDidMount.\n\tthis._map.forEach((node, child) => {\n\t\tresolve(this, child, node);\n\t});\n};\n","import {\n\trender as preactRender,\n\thydrate as preactHydrate,\n\toptions,\n\ttoChildArray,\n\tComponent\n} from 'preact';\nimport { IS_NON_DIMENSIONAL } from './util';\n\nexport const REACT_ELEMENT_TYPE =\n\t(typeof Symbol != 'undefined' && Symbol.for && Symbol.for('react.element')) ||\n\t0xeac7;\n\nconst CAMEL_PROPS = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/;\n\n// Input types for which onchange should not be converted to oninput.\n// type=\"file|checkbox|radio\", plus \"range\" in IE11.\n// (IE11 doesn't support Symbol, which we use here to turn `rad` into `ra` which matches \"range\")\nconst onChangeInputType = type =>\n\t(typeof Symbol != 'undefined' && typeof Symbol() == 'symbol'\n\t\t? /fil|che|rad/i\n\t\t: /fil|che|ra/i\n\t).test(type);\n\n// Some libraries like `react-virtualized` explicitly check for this.\nComponent.prototype.isReactComponent = {};\n\n// `UNSAFE_*` lifecycle hooks\n// Preact only ever invokes the unprefixed methods.\n// Here we provide a base \"fallback\" implementation that calls any defined UNSAFE_ prefixed method.\n// - If a component defines its own `componentDidMount()` (including via defineProperty), use that.\n// - If a component defines `UNSAFE_componentDidMount()`, `componentDidMount` is the alias getter/setter.\n// - If anything assigns to an `UNSAFE_*` property, the assignment is forwarded to the unprefixed property.\n// See https://github.com/preactjs/preact/issues/1941\n[\n\t'componentWillMount',\n\t'componentWillReceiveProps',\n\t'componentWillUpdate'\n].forEach(key => {\n\tObject.defineProperty(Component.prototype, key, {\n\t\tconfigurable: true,\n\t\tget() {\n\t\t\treturn this['UNSAFE_' + key];\n\t\t},\n\t\tset(v) {\n\t\t\tObject.defineProperty(this, key, {\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true,\n\t\t\t\tvalue: v\n\t\t\t});\n\t\t}\n\t});\n});\n\n/**\n * Proxy render() since React returns a Component reference.\n * @param {import('./internal').VNode} vnode VNode tree to render\n * @param {import('./internal').PreactElement} parent DOM node to render vnode tree into\n * @param {() => void} [callback] Optional callback that will be called after rendering\n * @returns {import('./internal').Component | null} The root component reference or null\n */\nexport function render(vnode, parent, callback) {\n\t// React destroys any existing DOM nodes, see #1727\n\t// ...but only on the first render, see #1828\n\tif (parent._children == null) {\n\t\tparent.textContent = '';\n\t}\n\n\tpreactRender(vnode, parent);\n\tif (typeof callback == 'function') callback();\n\n\tconst internal = parent._children._children[0];\n\treturn internal ? internal._component : null;\n}\n\nexport function hydrate(vnode, parent, callback) {\n\tpreactHydrate(vnode, parent);\n\tif (typeof callback == 'function') callback();\n\n\treturn vnode ? vnode._component : null;\n}\n\nlet oldEventHook = options.event;\noptions.event = e => {\n\tif (oldEventHook) e = oldEventHook(e);\n\te.persist = empty;\n\te.isPropagationStopped = isPropagationStopped;\n\te.isDefaultPrevented = isDefaultPrevented;\n\treturn (e.nativeEvent = e);\n};\n\nfunction empty() {}\n\nfunction isPropagationStopped() {\n\treturn this.cancelBubble;\n}\n\nfunction isDefaultPrevented() {\n\treturn this.defaultPrevented;\n}\n\nlet classNameDescriptor = {\n\tconfigurable: true,\n\tget() {\n\t\treturn this.class;\n\t}\n};\n\nlet oldVNodeHook = options.vnode;\noptions.vnode = vnode => {\n\tlet i;\n\tlet type = vnode.type;\n\tlet props = vnode.props;\n\t/** @type {any} */\n\tlet normalizedProps = props;\n\n\t// only normalize props on Element nodes\n\tif (typeof type === 'string') {\n\t\tnormalizedProps = {};\n\n\t\tlet style = props.style;\n\t\tif (typeof style === 'object') {\n\t\t\tfor (i in style) {\n\t\t\t\tif (typeof style[i] === 'number' && !IS_NON_DIMENSIONAL.test(i)) {\n\t\t\t\t\tstyle[i] += 'px';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in props) {\n\t\t\tlet value = props[i];\n\n\t\t\tif (i === 'value' && 'defaultValue' in props && value == null) {\n\t\t\t\t// Skip applying value if it is null/undefined and we already set\n\t\t\t\t// a default value\n\t\t\t\tcontinue;\n\t\t\t} else if (\n\t\t\t\ti === 'defaultValue' &&\n\t\t\t\t'value' in props &&\n\t\t\t\tprops.value == null\n\t\t\t) {\n\t\t\t\t// `defaultValue` is treated as a fallback `value` when a value prop is present but null/undefined.\n\t\t\t\t// `defaultValue` for Elements with no value prop is the same as the DOM defaultValue property.\n\t\t\t\ti = 'value';\n\t\t\t} else if (i === 'download' && value === true) {\n\t\t\t\t// Calling `setAttribute` with a truthy value will lead to it being\n\t\t\t\t// passed as a stringified value, e.g. `download=\"true\"`. React\n\t\t\t\t// converts it to an empty string instead, otherwise the attribute\n\t\t\t\t// value will be used as the file name and the file will be called\n\t\t\t\t// \"true\" upon downloading it.\n\t\t\t\tvalue = '';\n\t\t\t} else if (/ondoubleclick/i.test(i)) {\n\t\t\t\ti = 'ondblclick';\n\t\t\t} else if (\n\t\t\t\t/^onchange(textarea|input)/i.test(i + type) &&\n\t\t\t\t!onChangeInputType(props.type)\n\t\t\t) {\n\t\t\t\ti = 'oninput';\n\t\t\t} else if (/^on(Ani|Tra|Tou|BeforeInp)/.test(i)) {\n\t\t\t\ti = i.toLowerCase();\n\t\t\t} else if (CAMEL_PROPS.test(i)) {\n\t\t\t\ti = i.replace(/[A-Z0-9]/, '-$&').toLowerCase();\n\t\t\t} else if (value === null) {\n\t\t\t\tvalue = undefined;\n\t\t\t}\n\n\t\t\tnormalizedProps[i] = value;\n\t\t}\n\n\t\t// Add support for array select values: <select multiple value={[]} />\n\t\tif (\n\t\t\ttype == 'select' &&\n\t\t\tnormalizedProps.multiple &&\n\t\t\tArray.isArray(normalizedProps.value)\n\t\t) {\n\t\t\t// forEach() always returns undefined, which we abuse here to unset the value prop.\n\t\t\tnormalizedProps.value = toChildArray(props.children).forEach(child => {\n\t\t\t\tchild.props.selected =\n\t\t\t\t\tnormalizedProps.value.indexOf(child.props.value) != -1;\n\t\t\t});\n\t\t}\n\n\t\t// Adding support for defaultValue in select tag\n\t\tif (type == 'select' && normalizedProps.defaultValue != null) {\n\t\t\tnormalizedProps.value = toChildArray(props.children).forEach(child => {\n\t\t\t\tif (normalizedProps.multiple) {\n\t\t\t\t\tchild.props.selected =\n\t\t\t\t\t\tnormalizedProps.defaultValue.indexOf(child.props.value) != -1;\n\t\t\t\t} else {\n\t\t\t\t\tchild.props.selected =\n\t\t\t\t\t\tnormalizedProps.defaultValue == child.props.value;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tvnode.props = normalizedProps;\n\t}\n\n\tif (type && props.class != props.className) {\n\t\tclassNameDescriptor.enumerable = 'className' in props;\n\t\tif (props.className != null) normalizedProps.class = props.className;\n\t\tObject.defineProperty(normalizedProps, 'className', classNameDescriptor);\n\t}\n\n\tif (typeof type === 'function' && props.ref) {\n\t\tvnode.ref = props.ref;\n\t\tdelete props.ref;\n\t}\n\n\tvnode.$$typeof = REACT_ELEMENT_TYPE;\n\n\tif (oldVNodeHook) oldVNodeHook(vnode);\n};\n\n// Only needed for react-relay\nlet currentComponent;\nconst oldBeforeRender = options._render;\noptions._render = function(internal) {\n\tif (oldBeforeRender) {\n\t\toldBeforeRender(internal);\n\t}\n\tcurrentComponent = internal._component;\n};\n\n// This is a very very private internal function for React it\n// is used to sort-of do runtime dependency injection. So far\n// only `react-relay` makes use of it. It uses it to read the\n// context value.\nexport const __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = {\n\tReactCurrentDispatcher: {\n\t\tcurrent: {\n\t\t\treadContext(context) {\n\t\t\t\treturn currentComponent._globalContext[context._id].props.value;\n\t\t\t}\n\t\t}\n\t}\n};\n","// This file includes experimental React APIs exported from the \"scheduler\"\n// npm package. Despite being explicitely marked as unstable some libraries\n// already make use of them. This file is not a full replacement for the\n// scheduler package, but includes the necessary shims to make those libraries\n// work with Preact.\n\nexport const unstable_ImmediatePriority = 1;\nexport const unstable_UserBlockingPriority = 2;\nexport const unstable_NormalPriority = 3;\nexport const unstable_LowPriority = 4;\nexport const unstable_IdlePriority = 5;\n\n/**\n * @param {number} priority\n * @param {() => void} callback\n */\nexport function unstable_runWithPriority(priority, callback) {\n\treturn callback();\n}\n\nexport const unstable_now =\n\ttypeof performance === 'object' && typeof performance.now === 'function'\n\t\t? performance.now.bind(performance)\n\t\t: () => Date.now();\n","import {\n\tcreateElement,\n\trender as preactRender,\n\tcloneElement as preactCloneElement,\n\tcreateRef,\n\tComponent,\n\tcreateContext,\n\tFragment,\n\tcreateRoot\n} from 'preact';\nimport {\n\tuseState,\n\tuseReducer,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseRef,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseCallback,\n\tuseContext,\n\tuseDebugValue\n} from 'preact/hooks';\nimport { PureComponent } from './PureComponent';\nimport { memo } from './memo';\nimport { forwardRef } from './forwardRef';\nimport { Children } from './Children';\nimport { Suspense, lazy } from './suspense';\nimport { SuspenseList } from './suspense-list';\nimport { createPortal } from './portals';\nimport {\n\thydrate,\n\trender,\n\tREACT_ELEMENT_TYPE,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n} from './render';\nimport { getChildDom } from '../../src/tree';\nexport * from './scheduler';\n\nconst version = '16.8.0'; // trick libraries to think we are react\n\n/**\n * Legacy version of createElement.\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component constructor\n */\nfunction createFactory(type) {\n\treturn createElement.bind(null, type);\n}\n\n/**\n * Check if the passed element is a valid (p)react node.\n * @param {*} element The element to check\n * @returns {boolean}\n */\nfunction isValidElement(element) {\n\treturn !!element && element.$$typeof === REACT_ELEMENT_TYPE;\n}\n\n/**\n * Wrap `cloneElement` to abort if the passed element is not a valid element and apply\n * all vnode normalizations.\n * @param {import('./internal').VNode} element The vnode to clone\n * @param {object} props Props to add when cloning\n * @param {Array<import('./internal').ComponentChildren>} rest Optional component children\n */\nfunction cloneElement(element) {\n\tif (!isValidElement(element)) return element;\n\treturn preactCloneElement.apply(null, arguments);\n}\n\n/**\n * Remove a component tree from the DOM, including state and event handlers.\n * @param {import('./internal').PreactElement} container\n * @returns {boolean}\n */\nfunction unmountComponentAtNode(container) {\n\tif (container._children) {\n\t\tpreactRender(null, container);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n/**\n * Get the matching DOM node for a component\n * @param {import('./internal').Component} component\n * @returns {import('./internal').PreactElement | null}\n */\nfunction findDOMNode(component) {\n\tif (component == null) {\n\t\treturn null;\n\t} else if (component.nodeType == 1) {\n\t\treturn component;\n\t}\n\n\treturn getChildDom(component._internal);\n}\n\n/**\n * Deprecated way to control batched rendering inside the reconciler, but we\n * already schedule in batches inside our rendering code\n * @template Arg\n * @param {(arg: Arg) => void} callback function that triggers the updated\n * @param {Arg} [arg] Optional argument that can be passed to the callback\n */\n// eslint-disable-next-line camelcase\nconst unstable_batchedUpdates = (callback, arg) => callback(arg);\n\n/**\n * Strict Mode is not implemented in Preact, so we provide a stand-in for it\n * that just renders its children without imposing any restrictions.\n */\nconst StrictMode = Fragment;\n\nexport * from 'preact/hooks';\nexport {\n\tversion,\n\tChildren,\n\trender,\n\thydrate,\n\tunmountComponentAtNode,\n\tcreatePortal,\n\tcreateElement,\n\tcreateContext,\n\tcreateFactory,\n\tcloneElement,\n\tcreateRef,\n\tFragment,\n\tisValidElement,\n\tfindDOMNode,\n\tComponent,\n\tPureComponent,\n\tmemo,\n\tforwardRef,\n\t// eslint-disable-next-line camelcase\n\tunstable_batchedUpdates,\n\tStrictMode,\n\tSuspense,\n\tSuspenseList,\n\tlazy,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,\n\tcreateRoot\n};\n\n// React copies the named exports to the default one.\nexport default {\n\tuseState,\n\tuseReducer,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseRef,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseCallback,\n\tuseContext,\n\tuseDebugValue,\n\tversion,\n\tChildren,\n\trender,\n\thydrate,\n\tunmountComponentAtNode,\n\tcreatePortal,\n\tcreateElement,\n\tcreateContext,\n\tcreateFactory,\n\tcloneElement,\n\tcreateRef,\n\tFragment,\n\tisValidElement,\n\tfindDOMNode,\n\tComponent,\n\tPureComponent,\n\tmemo,\n\tforwardRef,\n\tunstable_batchedUpdates,\n\tStrictMode,\n\tSuspense,\n\tSuspenseList,\n\tlazy,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,\n\tcreateRoot\n};\n"],"names":["IS_NON_DIMENSIONAL","shallowDiffers","a","b","i","PureComponent","p","this","props","memo","c","comparer","shouldUpdate","nextProps","ref","updateRef","call","current","Memoed","shouldComponentUpdate","createElement","displayName","name","prototype","isReactComponent","Component","isPureReactComponent","state","oldDiffHook","options","internal","vnode","type","REACT_FORWARD_SYMBOL","Symbol","for","forwardRef","fn","Forwarded","clone","Object","assign","$$typeof","render","mapFn","children","toChildArray","map","Children","forEach","count","length","only","normalized","toArray","shouldSearchComponent","TYPE_CLASS","getParentDom","getChildDom","child","TYPE_TEXT","childDom","parentDom","parent","Portal","createPortal","container","__P","oldCatchError","error","then","component","handler","oldUnmount","unmount","Suspense","_suspenders","_portalVNodeId","suspended","lazy","loader","prom","Lazy","exports","default","e","SuspenseList","_next","_map","promise","suspendingInternal","suspendingComponent","push","resolve","resolved","onResolved","onSuspensionComplete","setState","__e","pop","forceUpdate","wasHydrating","document","componentWillUnmount","fallback","Fragment","portal","list","node","delete","revealOrder","size","delegated","get","unsuspend","wrappedUnsuspend","Map","reverse","set","componentDidUpdate","componentDidMount","REACT_ELEMENT_TYPE","CAMEL_PROPS","onChangeInputType","test","callback","textContent","preactRender","hydrate","preactHydrate","key","defineProperty","configurable","v","writable","value","oldEventHook","event","empty","isPropagationStopped","cancelBubble","isDefaultPrevented","defaultPrevented","persist","nativeEvent","currentComponent","classNameDescriptor","class","oldVNodeHook","normalizedProps","style","toLowerCase","replace","undefined","multiple","Array","isArray","selected","indexOf","defaultValue","className","enumerable","oldBeforeRender","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","readContext","context","unstable_ImmediatePriority","unstable_UserBlockingPriority","unstable_NormalPriority","unstable_LowPriority","unstable_IdlePriority","unstable_runWithPriority","priority","unstable_now","performance","now","bind","Date","version","createFactory","isValidElement","element","cloneElement","preactCloneElement","apply","arguments","unmountComponentAtNode","findDOMNode","nodeType","unstable_batchedUpdates","arg","StrictMode","useState","useReducer","useEffect","useLayoutEffect","useRef","useImperativeHandle","useMemo","useCallback","useContext","useDebugValue","createContext","createRef","createRoot"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{Component as t,createElement as n,options as e,toChildArray as o,Fragment as r,render as l,hydrate as u,createContext as i,createRef as c,cloneElement as f}from"preact";export{Component,Fragment,createContext,createElement,createRef}from"preact";import{useState as s,useReducer as a,useEffect as h,useLayoutEffect as p,useRef as m,useImperativeHandle as d,useMemo as y,useCallback as b,useContext as _,useDebugValue as S}from"preact/hooks";export*from"preact/hooks";function E(t,n){for(let e in t)if("__source"!==e&&!(e in n))return!0;for(let e in n)if("__source"!==e&&t[e]!==n[e])return!0;return!1}function g(t){this.props=t}function v(t,e){function o(t){let n=this.props.ref,o=n==t.ref;return!o&&n&&(n.call?n(null):n.current=null),e?!e(this.props,t)||!o:E(this.props,t)}function r(e){return this.shouldComponentUpdate=o,n(t,e)}return r.displayName="Memo("+(t.displayName||t.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(g.prototype=new t).isPureReactComponent=!0,g.prototype.shouldComponentUpdate=function(t,n){return E(this.props,t)||E(this.state,n)};let w=e.__b;e.__b=(t,n)=>{t.type&&t.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null,t.ref=null),w&&w(t,n)};const C="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function R(t){function n(n,e){let o=Object.assign({},n);return delete o.ref,t(o,!(e=n.ref||e)||"object"==typeof e&&!("current"in e)?null:e)}return n.$$typeof=C,n.render=n,n.prototype.isReactComponent=n.__f=!0,n.displayName="ForwardRef("+(t.displayName||t.name)+")",n}const x=(t,n)=>null==t?null:o(o(t).map(n)),k={map:x,forEach:x,count:t=>t?o(t).length:0,only(t){const n=o(t);if(1!==n.length)throw"Children.only";return n[0]},toArray:o},O=t=>28&t.__f&&(!(16&t.__f)||t.props.__P==N(t.__));function A(t,n){if(null==t.__k)return null;for(n=n||0;n<t.__k.length;n++){let e=t.__k[n];if(null!=e){if(3&e.__f)return e.__e;if(O(e)){let t=A(e);if(t)return t}}}return null}function N(t){let n=16&t.__f?t.props.__P:null,e=t.__;for(;null==n&&e;)16&e.__f?n=e.props.__P:2&e.__f&&(n=e.__e),e=e.__;return n}function L(t){return t.children}function U(t,e){return n(L,{__P:e},t)}const j=e.__e;e.__e=function(t,n){if(t.then){let e,o=n;for(;o=o.__;)if((e=o.__c)&&e.__c)return e.__c(t,n)}j(t,n)};const D=e.unmount;function F(){this.__u=0,this.t=null,this.__P=null,this.o=0}function M(t){let n=t.__.__c;return n&&n.__e&&n.__e(t)}function I(t){let e,o,r;function l(l){if(e||(e=t(),e.then(t=>{o=t.default||t},t=>{r=t})),r)throw r;if(!o)throw e;return n(o,l)}return l.displayName="Lazy",l.__f=!0,l}function P(){this.l=null,this.u=null}e.unmount=function(t){const n=t.__c;n&&n.__R&&n.__R(),n&&32==(32&t.__f)&&(t.__f|=2),D&&D(t)},(F.prototype=new t).__c=function(t,n){const e=n.__c;if(null!=e.__R)return;const o=this;null==o.t&&(o.t=[]),o.t.push(e);const r=M(o.__i);let l=!1;const u=()=>{l||(l=!0,e.__R=null,r?r(i):i())};e.__R=u;const i=()=>{if(!--o.__u){let t;for(this.__P=null,o.setState({__e:!1});t=o.t.pop();)t.forceUpdate()}},c=32==(32&n.__f);o.__u++||c||(this.__P=document.createElement("div"),o.setState({__e:!0})),t.then(u,u)},F.prototype.componentWillUnmount=function(){this.t=[],this.__P=null},F.prototype.render=function(t,e){null==this.__P&&(this.__P=N(this.__i));const o=e.__e&&n(r,null,t.fallback),l=U(t.children,this.__P);return e.__e?l.__v=this.o:this.o=l.__v,[l,o]};const T=(t,n,e)=>{if(++e[1]===e[0]&&t.u.delete(n),t.props.revealOrder&&("t"!==t.props.revealOrder[0]||!t.u.size))for(e=t.l;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;t.l=e=e[2]}};(P.prototype=new t).__e=function(t){const n=this,e=M(n.__i);let o=n.u.get(t);return o[0]++,r=>{const l=()=>{n.props.revealOrder?(o.push(r),T(n,t,o)):r()};e?e(l):l()}},P.prototype.render=function(t){this.l=null,this.u=new Map;const n=o(t.children);t.revealOrder&&"b"===t.revealOrder[0]&&n.reverse();for(let t=n.length;t--;)this.u.set(n[t],this.l=[1,0,this.l]);return t.children},P.prototype.componentDidUpdate=P.prototype.componentDidMount=function(){this.u.forEach((t,n)=>{T(this,n,t)})};const W="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,V=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,z=t=>("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(t);function B(t,n,e){null==n.__k&&(n.textContent=""),l(t,n),"function"==typeof e&&e();const o=n.__k.__k[0];return o?o.__c:null}function H(t,n,e){return u(t,n),"function"==typeof e&&e(),t?t.__c:null}t.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(n=>{Object.defineProperty(t.prototype,n,{configurable:!0,get(){return this["UNSAFE_"+n]},set(t){Object.defineProperty(this,n,{configurable:!0,writable:!0,value:t})}})});let Z=e.event;function Y(){}function $(){return this.cancelBubble}function q(){return this.defaultPrevented}e.event=t=>(Z&&(t=Z(t)),t.persist=Y,t.isPropagationStopped=$,t.isDefaultPrevented=q,t.nativeEvent=t);let G,J={configurable:!0,get(){return this.class}},K=e.vnode;e.vnode=t=>{let n=t.type,e=t.props,r=e;if("string"==typeof n){r={};for(let t in e){let o=e[t];"value"===t&&"defaultValue"in e&&null==o||("defaultValue"===t&&"value"in e&&null==e.value?t="value":"download"===t&&!0===o?o="":/ondoubleclick/i.test(t)?t="ondblclick":/^onchange(textarea|input)/i.test(t+n)&&!z(e.type)?t="oninput":/^on(Ani|Tra|Tou|BeforeInp)/.test(t)?t=t.toLowerCase():V.test(t)?t=t.replace(/[A-Z0-9]/,"-$&").toLowerCase():null===o&&(o=void 0),r[t]=o)}"select"==n&&r.multiple&&Array.isArray(r.value)&&(r.value=o(e.children).forEach(t=>{t.props.selected=-1!=r.value.indexOf(t.props.value)})),"select"==n&&null!=r.defaultValue&&(r.value=o(e.children).forEach(t=>{t.props.selected=r.multiple?-1!=r.defaultValue.indexOf(t.props.value):r.defaultValue==t.props.value})),t.props=r}n&&e.class!=e.className&&(J.enumerable="className"in e,null!=e.className&&(r.class=e.className),Object.defineProperty(r,"className",J)),t.$$typeof=W,K&&K(t)};const Q=e.__r;e.__r=function(t){Q&&Q(t),G=t.__c};const X={ReactCurrentDispatcher:{current:{readContext:t=>G.__n[t.__c].props.value}}},tt=1,nt=2,et=3,ot=4,rt=5;function lt(t,n){return n()}const ut="object"==typeof performance&&"function"==typeof performance.now?performance.now.bind(performance):()=>Date.now(),it="16.8.0";function ct(t){return n.bind(null,t)}function ft(t){return!!t&&t.$$typeof===W}function st(t){return ft(t)?f.apply(null,arguments):t}function at(t){return!!t.__k&&(l(null,t),!0)}function ht(t){return null==t?null:1==t.nodeType?t:A(t.__i)}const pt=(t,n)=>t(n),mt=r;var dt={useState:s,useReducer:a,useEffect:h,useLayoutEffect:p,useRef:m,useImperativeHandle:d,useMemo:y,useCallback:b,useContext:_,useDebugValue:S,version:"16.8.0",Children:k,render:B,hydrate:H,unmountComponentAtNode:at,createPortal:U,createElement:n,createContext:i,createFactory:ct,cloneElement:st,createRef:c,Fragment:r,isValidElement:ft,findDOMNode:ht,Component:t,PureComponent:g,memo:v,forwardRef:R,unstable_batchedUpdates:pt,StrictMode:mt,Suspense:F,SuspenseList:P,lazy:I,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:X};export default dt;export{k as Children,g as PureComponent,mt as StrictMode,F as Suspense,P as SuspenseList,X as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,st as cloneElement,ct as createFactory,U as createPortal,ht as findDOMNode,R as forwardRef,H as hydrate,ft as isValidElement,I as lazy,v as memo,B as render,at as unmountComponentAtNode,rt as unstable_IdlePriority,tt as unstable_ImmediatePriority,ot as unstable_LowPriority,et as unstable_NormalPriority,nt as unstable_UserBlockingPriority,pt as unstable_batchedUpdates,ut as unstable_now,lt as unstable_runWithPriority,it as version};
2
- //# sourceMappingURL=compat.modern.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compat.modern.js","sources":["../src/util.js","../src/PureComponent.js","../src/memo.js","../src/forwardRef.js","../src/Children.js","../../src/tree.js","../../src/constants.js","../src/portals.js","../src/suspense.js","../src/suspense-list.js","../src/render.js","../src/scheduler.js","../src/index.js"],"sourcesContent":["/**\n * Check if two objects have a different shape\n * @param {object} a\n * @param {object} b\n * @returns {boolean}\n */\nexport function shallowDiffers(a, b) {\n\tfor (let i in a) if (i !== '__source' && !(i in b)) return true;\n\tfor (let i in b) if (i !== '__source' && a[i] !== b[i]) return true;\n\treturn false;\n}\n\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n","import { Component } from 'preact';\nimport { shallowDiffers } from './util';\n\n/**\n * Component class with a predefined `shouldComponentUpdate` implementation\n */\nexport function PureComponent(p) {\n\tthis.props = p;\n}\nPureComponent.prototype = new Component();\n// Some third-party libraries check if this property is present\nPureComponent.prototype.isPureReactComponent = true;\nPureComponent.prototype.shouldComponentUpdate = function(props, state) {\n\treturn shallowDiffers(this.props, props) || shallowDiffers(this.state, state);\n};\n","import { createElement } from 'preact';\nimport { shallowDiffers } from './util';\n\n/**\n * Memoize a component, so that it only updates when the props actually have\n * changed. This was previously known as `React.pure`.\n * @param {import('./internal').FunctionComponent} c functional component\n * @param {(prev: object, next: object) => boolean} [comparer] Custom equality function\n * @returns {import('./internal').FunctionComponent}\n */\nexport function memo(c, comparer) {\n\tfunction shouldUpdate(nextProps) {\n\t\tlet ref = this.props.ref;\n\t\tlet updateRef = ref == nextProps.ref;\n\t\tif (!updateRef && ref) {\n\t\t\tref.call ? ref(null) : (ref.current = null);\n\t\t}\n\n\t\tif (!comparer) {\n\t\t\treturn shallowDiffers(this.props, nextProps);\n\t\t}\n\n\t\treturn !comparer(this.props, nextProps) || !updateRef;\n\t}\n\n\tfunction Memoed(props) {\n\t\tthis.shouldComponentUpdate = shouldUpdate;\n\t\treturn createElement(c, props);\n\t}\n\tMemoed.displayName = 'Memo(' + (c.displayName || c.name) + ')';\n\tMemoed.prototype.isReactComponent = true;\n\tMemoed._forwarded = true;\n\treturn Memoed;\n}\n","import { options } from 'preact';\n\nlet oldDiffHook = options._diff;\noptions._diff = (internal, vnode) => {\n\tif (internal.type && internal.type._forwarded && vnode.ref) {\n\t\tvnode.props.ref = vnode.ref;\n\t\tvnode.ref = null;\n\t\tinternal.ref = null;\n\t}\n\tif (oldDiffHook) oldDiffHook(internal, vnode);\n};\n\nexport const REACT_FORWARD_SYMBOL =\n\t(typeof Symbol != 'undefined' &&\n\t\tSymbol.for &&\n\t\tSymbol.for('react.forward_ref')) ||\n\t0xf47;\n\n/**\n * Pass ref down to a child. This is mainly used in libraries with HOCs that\n * wrap components. Using `forwardRef` there is an easy way to get a reference\n * of the wrapped component instead of one of the wrapper itself.\n * @param {import('./index').ForwardFn} fn\n * @returns {import('./internal').FunctionComponent}\n */\nexport function forwardRef(fn) {\n\t// We always have ref in props.ref, except for\n\t// mobx-react. It will call this function directly\n\t// and always pass ref as the second argument.\n\tfunction Forwarded(props, ref) {\n\t\tlet clone = Object.assign({}, props);\n\t\tdelete clone.ref;\n\t\tref = props.ref || ref;\n\t\treturn fn(\n\t\t\tclone,\n\t\t\t!ref || (typeof ref === 'object' && !('current' in ref)) ? null : ref\n\t\t);\n\t}\n\n\t// mobx-react checks for this being present\n\tForwarded.$$typeof = REACT_FORWARD_SYMBOL;\n\t// mobx-react heavily relies on implementation details.\n\t// It expects an object here with a `render` property,\n\t// and prototype.render will fail. Without this\n\t// mobx-react throws.\n\tForwarded.render = Forwarded;\n\n\tForwarded.prototype.isReactComponent = Forwarded._forwarded = true;\n\tForwarded.displayName = 'ForwardRef(' + (fn.displayName || fn.name) + ')';\n\treturn Forwarded;\n}\n","import { toChildArray } from 'preact';\n\nconst mapFn = (children, fn) => {\n\tif (children == null) return null;\n\treturn toChildArray(toChildArray(children).map(fn));\n};\n\n// This API is completely unnecessary for Preact, so it's basically passthrough.\nexport const Children = {\n\tmap: mapFn,\n\tforEach: mapFn,\n\tcount(children) {\n\t\treturn children ? toChildArray(children).length : 0;\n\t},\n\tonly(children) {\n\t\tconst normalized = toChildArray(children);\n\t\tif (normalized.length !== 1) throw 'Children.only';\n\t\treturn normalized[0];\n\t},\n\ttoArray: toChildArray\n};\n","import options from './options';\nimport {\n\tTYPE_FUNCTION,\n\tTYPE_ELEMENT,\n\tTYPE_TEXT,\n\tTYPE_CLASS,\n\tTYPE_ROOT,\n\tINHERITED_MODES,\n\tTYPE_COMPONENT,\n\tTYPE_DOM,\n\tMODE_SVG\n} from './constants';\n\n/**\n * Create an internal tree node\n * @param {import('./internal').VNode | string} vnode\n * @param {import('./internal').Internal} [parentInternal]\n * @returns {import('./internal').Internal}\n */\nexport function createInternal(vnode, parentInternal) {\n\tlet type = null,\n\t\tprops,\n\t\tkey,\n\t\tref;\n\n\t/** @type {number} */\n\tlet flags = parentInternal ? parentInternal._flags & INHERITED_MODES : 0;\n\n\t// Text VNodes/Internals use NaN as an ID so that two are never equal.\n\tlet vnodeId = NaN;\n\n\tif (typeof vnode === 'string') {\n\t\t// type = null;\n\t\tflags |= TYPE_TEXT;\n\t\tprops = vnode;\n\t} else if (vnode.constructor !== undefined) {\n\t\tflags |= TYPE_TEXT;\n\t\tprops = '';\n\t} else {\n\t\ttype = vnode.type;\n\t\tprops = vnode.props || {};\n\t\tkey = vnode.key;\n\t\tref = vnode.ref;\n\t\tvnodeId = vnode._vnodeId;\n\n\t\t// @TODO re-enable this when we stop removing key+ref from VNode props\n\t\t// if (props) {\n\t\t// \tif ((key = props.key) != null) {\n\t\t// \t\tprops.key = undefined;\n\t\t// \t}\n\t\t// \tif (typeof type !== 'function' && (ref = props.ref) != null) {\n\t\t// \t\tprops.ref = undefined;\n\t\t// \t}\n\t\t// } else {\n\t\t// \tprops = {};\n\t\t// }\n\n\t\t// flags = typeof type === 'function' ? COMPONENT_NODE : ELEMENT_NODE;\n\t\tflags |=\n\t\t\ttypeof type === 'function'\n\t\t\t\t? type.prototype && 'render' in type.prototype\n\t\t\t\t\t? TYPE_CLASS\n\t\t\t\t\t: props._parentDom\n\t\t\t\t\t? TYPE_ROOT\n\t\t\t\t\t: TYPE_FUNCTION\n\t\t\t\t: TYPE_ELEMENT;\n\n\t\tif (flags & TYPE_ELEMENT && type === 'svg') {\n\t\t\tflags |= MODE_SVG;\n\t\t} else if (\n\t\t\tparentInternal &&\n\t\t\tparentInternal._flags & MODE_SVG &&\n\t\t\tparentInternal.type === 'foreignObject'\n\t\t) {\n\t\t\tflags &= ~MODE_SVG;\n\t\t}\n\t}\n\n\t/** @type {import('./internal').Internal} */\n\tconst internal = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: parentInternal,\n\t\t_vnodeId: vnodeId,\n\t\t_dom: null,\n\t\t_component: null,\n\t\t_flags: flags,\n\t\t_depth: parentInternal ? parentInternal._depth + 1 : 0\n\t};\n\n\tif (options._internal) options._internal(internal, vnode);\n\n\treturn internal;\n}\n\nconst shouldSearchComponent = internal =>\n\tinternal._flags & TYPE_COMPONENT &&\n\t(!(internal._flags & TYPE_ROOT) ||\n\t\tinternal.props._parentDom == getParentDom(internal._parent));\n\n/**\n * @param {import('./internal').Internal} internal\n * @param {number | null} [childIndex]\n * @returns {import('./internal').PreactNode}\n */\nexport function getDomSibling(internal, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn getDomSibling(\n\t\t\tinternal._parent,\n\t\t\tinternal._parent._children.indexOf(internal) + 1\n\t\t);\n\t}\n\n\tlet childDom = getChildDom(internal, childIndex);\n\tif (childDom) {\n\t\treturn childDom;\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children. We\n\t// must resume from this vnode's sibling (in it's parent _children array).\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search). Note, the top of the tree has _parent == null so avoiding that\n\t// here.\n\treturn internal._parent && shouldSearchComponent(internal)\n\t\t? getDomSibling(internal)\n\t\t: null;\n}\n\n/**\n * @param {import('./internal').Internal} internal\n * @param {number} [i]\n * @returns {import('./internal').PreactElement}\n */\nexport function getChildDom(internal, i) {\n\tif (internal._children == null) {\n\t\treturn null;\n\t}\n\n\tfor (i = i || 0; i < internal._children.length; i++) {\n\t\tlet child = internal._children[i];\n\t\tif (child != null) {\n\t\t\tif (child._flags & TYPE_DOM) {\n\t\t\t\treturn child._dom;\n\t\t\t}\n\n\t\t\tif (shouldSearchComponent(child)) {\n\t\t\t\tlet childDom = getChildDom(child);\n\t\t\t\tif (childDom) {\n\t\t\t\t\treturn childDom;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n}\n\n/**\n * @param {import('./internal').Internal} internal\n * @returns {import('./internal').PreactElement}\n */\nexport function getParentDom(internal) {\n\tlet parentDom =\n\t\tinternal._flags & TYPE_ROOT ? internal.props._parentDom : null;\n\n\tlet parent = internal._parent;\n\twhile (parentDom == null && parent) {\n\t\tif (parent._flags & TYPE_ROOT) {\n\t\t\tparentDom = parent.props._parentDom;\n\t\t} else if (parent._flags & TYPE_ELEMENT) {\n\t\t\tparentDom = parent._dom;\n\t\t}\n\n\t\tparent = parent._parent;\n\t}\n\n\treturn parentDom;\n}\n","// Internal._flags bitfield constants\nexport const TYPE_TEXT = 1 << 0;\nexport const TYPE_ELEMENT = 1 << 1;\nexport const TYPE_CLASS = 1 << 2;\nexport const TYPE_FUNCTION = 1 << 3;\n/** Signals this internal has a _parentDom prop that should change the parent\n * DOM node of it's children */\nexport const TYPE_ROOT = 1 << 4;\n\n/** Any type of internal representing DOM */\nexport const TYPE_DOM = TYPE_TEXT | TYPE_ELEMENT;\n/** Any type of component */\nexport const TYPE_COMPONENT = TYPE_CLASS | TYPE_FUNCTION | TYPE_ROOT;\n\n// Modes of rendering\n/** Normal hydration that attaches to a DOM tree but does not diff it. */\nexport const MODE_HYDRATE = 1 << 5;\n/** Top level render unspecified behaviour (old replaceNode parameter to render) */\nexport const MODE_MUTATIVE_HYDRATE = 1 << 6;\n/** Signifies this VNode suspended on the previous render */\nexport const MODE_SUSPENDED = 1 << 7;\n/** Signifies this VNode errored on the previous render */\nexport const MODE_ERRORED = 1 << 8;\n/** Signifies an error has been thrown and this component will be attempting to\n * handle & rerender the error on next render. In other words, on the next\n * render of this component, unset this mode and set the MODE_RERENDERING_ERROR.\n * This flag is distinct from MODE_RERENDERING_ERROR so that a component can\n * catch multiple errors thrown by its children in one render pass (see test\n * \"should handle double child throws\").\n */\nexport const MODE_PENDING_ERROR = 1 << 9;\n/** Signifies this Internal is attempting to \"handle\" an error and is\n * rerendering. This mode tracks that a component's last rerender was trying to\n * handle an error. As such, if another error is thrown while a component has\n * this flag set, it should not handle the newly thrown error since it failed to\n * successfully rerender the original error. This prevents error handling\n * infinite render loops */\nexport const MODE_RERENDERING_ERROR = 1 << 10;\n/** Signals this internal has been unmounted */\nexport const MODE_UNMOUNTING = 1 << 11;\n/** This Internal is rendered in an SVG tree */\nexport const MODE_SVG = 1 << 12;\n\n/** Signifies that bailout checks will be bypassed */\nexport const FORCE_UPDATE = 1 << 13;\n/** Signifies that a node needs to be updated */\nexport const DIRTY_BIT = 1 << 14;\n\n/** Reset all mode flags */\nexport const RESET_MODE = ~(\n\tMODE_HYDRATE |\n\tMODE_MUTATIVE_HYDRATE |\n\tMODE_SUSPENDED |\n\tMODE_ERRORED |\n\tMODE_RERENDERING_ERROR |\n\tFORCE_UPDATE\n);\n\n/** Modes a child internal inherits from their parent */\nexport const INHERITED_MODES = MODE_HYDRATE | MODE_MUTATIVE_HYDRATE | MODE_SVG;\n\nexport const EMPTY_ARR = [];\n\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;\n","import { createElement } from 'preact';\n\n/**\n * Portal component\n * @this {import('./internal').Component}\n * @param {object | null | undefined} props\n *\n * TODO: use createRoot() instead of fake root\n */\nfunction Portal(props) {\n\treturn props.children;\n}\n\n/**\n * Create a `Portal` to continue rendering the vnode tree at a different DOM node\n * @param {import('./internal').VNode} vnode The vnode to render\n * @param {import('./internal').PreactElement} container The DOM node to continue rendering in to.\n */\nexport function createPortal(vnode, container) {\n\t// Note: We can't use Fragment here because a component that returned a Portal\n\t// (e.g. `const App = () => createPortal(...)`) wouldn't work. Our diff\n\t// collapses Fragments without keys that are returned directly from components\n\t// into just an array and sets that as the children array of the component.\n\t//\n\t// We also can't use keyed Fragments here cuz it might lead to weird edge\n\t// cases when toggling between two sibling portals if we use a shared keyed or\n\t// lead to unnecessary re-mounts if trying to generate a new key on each call.\n\t//\n\t// So the simplest solution seems to be just to use an unique type for Portal\n\t// to skip the Fragment collapsing logic when diffing components\n\treturn createElement(Portal, { _parentDom: container }, vnode);\n}\n","import { Component, createElement, options, Fragment } from 'preact';\nimport { TYPE_ELEMENT, MODE_HYDRATE } from '../../src/constants';\nimport { getParentDom } from '../../src/tree';\nimport { createPortal } from './portals';\n\nconst oldCatchError = options._catchError;\n/** @type {(error: any, internal: import('./internal').Internal) => void} */\noptions._catchError = function(error, internal) {\n\tif (error.then) {\n\t\t/** @type {import('./internal').Component} */\n\t\tlet component;\n\t\tlet handler = internal;\n\n\t\tfor (; (handler = handler._parent); ) {\n\t\t\tif ((component = handler._component) && component._childDidSuspend) {\n\t\t\t\t// Don't call oldCatchError if we found a Suspense\n\t\t\t\treturn component._childDidSuspend(error, internal);\n\t\t\t}\n\t\t}\n\t}\n\toldCatchError(error, internal);\n};\n\nconst oldUnmount = options.unmount;\n/** @type {(internal: import('./internal').Internal) => void} */\noptions.unmount = function(internal) {\n\t/** @type {import('./internal').Component} */\n\tconst component = internal._component;\n\tif (component && component._onResolve) {\n\t\tcomponent._onResolve();\n\t}\n\n\t// If a component suspended while it was hydrating and is now being unmounted,\n\t// update it's _flags so it appears to be of TYPE_ELEMENT, causing `unmount`\n\t// to remove the DOM nodes that were awaiting hydration (which are stored on\n\t// this internal's _dom property).\n\tconst wasHydrating = (internal._flags & MODE_HYDRATE) === MODE_HYDRATE;\n\tif (component && wasHydrating) {\n\t\tinternal._flags |= TYPE_ELEMENT;\n\t}\n\n\tif (oldUnmount) oldUnmount(internal);\n};\n\n// having custom inheritance instead of a class here saves a lot of bytes\nexport function Suspense() {\n\t// we do not call super here to golf some bytes...\n\tthis._pendingSuspensionCount = 0;\n\t/** @type {Array<import('./internal').Internal>} */\n\tthis._suspenders = null;\n\t/** @type {import('./internal').PreactElement} */\n\tthis._parentDom = null;\n\t/** @type {number} */\n\tthis._portalVNodeId = 0;\n}\n\n// Things we do here to save some bytes but are not proper JS inheritance:\n// - call `new Component()` as the prototype\n// - do not set `Suspense.prototype.constructor` to `Suspense`\nSuspense.prototype = new Component();\n\n/**\n * @this {import('./internal').SuspenseComponent}\n * @param {Promise} promise The thrown promise\n * @param {import('./internal').Internal} suspendingInternal The suspending component\n */\nSuspense.prototype._childDidSuspend = function(promise, suspendingInternal) {\n\tconst suspendingComponent = suspendingInternal._component;\n\tif (suspendingComponent._onResolve != null) {\n\t\t// This component has already been handled by a Suspense component. Do\n\t\t// nothing\n\t\treturn;\n\t}\n\n\t/** @type {import('./internal').SuspenseComponent} */\n\tconst c = this;\n\n\tif (c._suspenders == null) {\n\t\tc._suspenders = [];\n\t}\n\tc._suspenders.push(suspendingComponent);\n\n\tconst resolve = suspended(c._internal);\n\n\tlet resolved = false;\n\tconst onResolved = () => {\n\t\tif (resolved) return;\n\n\t\tresolved = true;\n\t\tsuspendingComponent._onResolve = null;\n\n\t\tif (resolve) {\n\t\t\tresolve(onSuspensionComplete);\n\t\t} else {\n\t\t\tonSuspensionComplete();\n\t\t}\n\t};\n\n\tsuspendingComponent._onResolve = onResolved;\n\n\tconst onSuspensionComplete = () => {\n\t\tif (!--c._pendingSuspensionCount) {\n\t\t\tthis._parentDom = null;\n\t\t\tc.setState({ _suspended: false });\n\n\t\t\tlet suspended;\n\t\t\twhile ((suspended = c._suspenders.pop())) {\n\t\t\t\tsuspended.forceUpdate();\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * We do not set `suspended: true` during hydration because we want the actual markup\n\t * to remain on screen and hydrate it when the suspense actually gets resolved.\n\t * While in non-hydration cases the usual fallback -> component flow would occur.\n\t */\n\tconst wasHydrating =\n\t\t(suspendingInternal._flags & MODE_HYDRATE) === MODE_HYDRATE;\n\n\tif (!c._pendingSuspensionCount++ && !wasHydrating) {\n\t\tthis._parentDom = document.createElement('div');\n\t\tc.setState({ _suspended: true });\n\t}\n\n\tpromise.then(onResolved, onResolved);\n};\n\nSuspense.prototype.componentWillUnmount = function() {\n\tthis._suspenders = [];\n\tthis._parentDom = null;\n};\n\n/**\n * @this {import('./internal').SuspenseComponent}\n * @param {import('./internal').SuspenseComponent[\"props\"]} props\n * @param {import('./internal').SuspenseState} state\n */\nSuspense.prototype.render = function(props, state) {\n\tif (this._parentDom == null) {\n\t\tthis._parentDom = getParentDom(this._internal);\n\t}\n\n\t// Wrap fallback tree in a VNode that prevents itself from being marked as aborting mid-hydration:\n\tconst fallback =\n\t\tstate._suspended && createElement(Fragment, null, props.fallback);\n\n\tconst portal = createPortal(props.children, this._parentDom);\n\tif (state._suspended) {\n\t\t// If we are suspended, don't rerender all of the portal's children. Instead\n\t\t// just reorder the Portal's children\n\t\tportal._vnodeId = this._portalVNodeId;\n\t} else {\n\t\tthis._portalVNodeId = portal._vnodeId;\n\t}\n\n\treturn [portal, fallback];\n};\n\n/**\n * Checks and calls the parent component's _suspended method, passing in the\n * suspended Internal. This is a way for a parent (e.g. SuspenseList) to get\n * notified that one of its children/descendants suspended.\n *\n * The parent MAY return a callback. The callback will get called when the\n * suspension resolves, notifying the parent of the fact. Moreover, the callback\n * gets function `unsuspend` as a parameter. The resolved child descendant will\n * not actually get unsuspended until `unsuspend` gets called. This is a way for\n * the parent to delay unsuspending.\n *\n * If the parent does not return a callback then the resolved Internal gets\n * unsuspended immediately when it resolves.\n *\n * @param {import('./internal').Internal} internal\n * @returns {((unsuspend: () => void) => void)?}\n */\nexport function suspended(internal) {\n\tlet component = internal._parent._component;\n\treturn component && component._suspended && component._suspended(internal);\n}\n\nexport function lazy(loader) {\n\tlet prom;\n\tlet component;\n\tlet error;\n\n\tfunction Lazy(props) {\n\t\tif (!prom) {\n\t\t\tprom = loader();\n\t\t\tprom.then(\n\t\t\t\texports => {\n\t\t\t\t\tcomponent = exports.default || exports;\n\t\t\t\t},\n\t\t\t\te => {\n\t\t\t\t\terror = e;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tif (error) {\n\t\t\tthrow error;\n\t\t}\n\n\t\tif (!component) {\n\t\t\tthrow prom;\n\t\t}\n\n\t\treturn createElement(component, props);\n\t}\n\n\tLazy.displayName = 'Lazy';\n\tLazy._forwarded = true;\n\treturn Lazy;\n}\n","import { Component, toChildArray } from 'preact';\nimport { suspended } from './suspense.js';\n\n// Indexes to linked list nodes (nodes are stored as arrays to save bytes).\nconst SUSPENDED_COUNT = 0;\nconst RESOLVED_COUNT = 1;\nconst NEXT_NODE = 2;\n\n// Having custom inheritance instead of a class here saves a lot of bytes.\nexport function SuspenseList() {\n\tthis._next = null;\n\tthis._map = null;\n}\n\n// Mark one of child's earlier suspensions as resolved.\n// Some pending callbacks may become callable due to this\n// (e.g. the last suspended descendant gets resolved when\n// revealOrder === 'together'). Process those callbacks as well.\nconst resolve = (list, child, node) => {\n\tif (++node[RESOLVED_COUNT] === node[SUSPENDED_COUNT]) {\n\t\t// The number a child (or any of its descendants) has been suspended\n\t\t// matches the number of times it's been resolved. Therefore we\n\t\t// mark the child as completely resolved by deleting it from ._map.\n\t\t// This is used to figure out when *all* children have been completely\n\t\t// resolved when revealOrder is 'together'.\n\t\tlist._map.delete(child);\n\t}\n\n\t// If revealOrder is falsy then we can do an early exit, as the\n\t// callbacks won't get queued in the node anyway.\n\t// If revealOrder is 'together' then also do an early exit\n\t// if all suspended descendants have not yet been resolved.\n\tif (\n\t\t!list.props.revealOrder ||\n\t\t(list.props.revealOrder[0] === 't' && list._map.size)\n\t) {\n\t\treturn;\n\t}\n\n\t// Walk the currently suspended children in order, calling their\n\t// stored callbacks on the way. Stop if we encounter a child that\n\t// has not been completely resolved yet.\n\tnode = list._next;\n\twhile (node) {\n\t\twhile (node.length > 3) {\n\t\t\tnode.pop()();\n\t\t}\n\t\tif (node[RESOLVED_COUNT] < node[SUSPENDED_COUNT]) {\n\t\t\tbreak;\n\t\t}\n\t\tlist._next = node = node[NEXT_NODE];\n\t}\n};\n\n// Things we do here to save some bytes but are not proper JS inheritance:\n// - call `new Component()` as the prototype\n// - do not set `Suspense.prototype.constructor` to `Suspense`\nSuspenseList.prototype = new Component();\n\nSuspenseList.prototype._suspended = function(child) {\n\tconst list = this;\n\tconst delegated = suspended(list._internal);\n\n\tlet node = list._map.get(child);\n\tnode[SUSPENDED_COUNT]++;\n\n\treturn unsuspend => {\n\t\tconst wrappedUnsuspend = () => {\n\t\t\tif (!list.props.revealOrder) {\n\t\t\t\t// Special case the undefined (falsy) revealOrder, as there\n\t\t\t\t// is no need to coordinate a specific order or unsuspends.\n\t\t\t\tunsuspend();\n\t\t\t} else {\n\t\t\t\tnode.push(unsuspend);\n\t\t\t\tresolve(list, child, node);\n\t\t\t}\n\t\t};\n\t\tif (delegated) {\n\t\t\tdelegated(wrappedUnsuspend);\n\t\t} else {\n\t\t\twrappedUnsuspend();\n\t\t}\n\t};\n};\n\nSuspenseList.prototype.render = function(props) {\n\tthis._next = null;\n\tthis._map = new Map();\n\n\tconst children = toChildArray(props.children);\n\tif (props.revealOrder && props.revealOrder[0] === 'b') {\n\t\t// If order === 'backwards' (or, well, anything starting with a 'b')\n\t\t// then flip the child list around so that the last child will be\n\t\t// the first in the linked list.\n\t\tchildren.reverse();\n\t}\n\t// Build the linked list. Iterate through the children in reverse order\n\t// so that `_next` points to the first linked list node to be resolved.\n\tfor (let i = children.length; i--; ) {\n\t\t// Create a new linked list node as an array of form:\n\t\t// \t[suspended_count, resolved_count, next_node]\n\t\t// where suspended_count and resolved_count are numeric counters for\n\t\t// keeping track how many times a node has been suspended and resolved.\n\t\t//\n\t\t// Note that suspended_count starts from 1 instead of 0, so we can block\n\t\t// processing callbacks until componentDidMount has been called. In a sense\n\t\t// node is suspended at least until componentDidMount gets called!\n\t\t//\n\t\t// Pending callbacks are added to the end of the node:\n\t\t// \t[suspended_count, resolved_count, next_node, callback_0, callback_1, ...]\n\t\tthis._map.set(children[i], (this._next = [1, 0, this._next]));\n\t}\n\treturn props.children;\n};\n\nSuspenseList.prototype.componentDidUpdate = SuspenseList.prototype.componentDidMount = function() {\n\t// Iterate through all children after mounting for two reasons:\n\t// 1. As each node[SUSPENDED_COUNT] starts from 1, this iteration increases\n\t// each node[RELEASED_COUNT] by 1, therefore balancing the counters.\n\t// The nodes can now be completely consumed from the linked list.\n\t// 2. Handle nodes that might have gotten resolved between render and\n\t// componentDidMount.\n\tthis._map.forEach((node, child) => {\n\t\tresolve(this, child, node);\n\t});\n};\n","import {\n\trender as preactRender,\n\thydrate as preactHydrate,\n\toptions,\n\ttoChildArray,\n\tComponent\n} from 'preact';\n\nexport const REACT_ELEMENT_TYPE =\n\t(typeof Symbol != 'undefined' && Symbol.for && Symbol.for('react.element')) ||\n\t0xeac7;\n\nconst CAMEL_PROPS = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/;\n\n// Input types for which onchange should not be converted to oninput.\n// type=\"file|checkbox|radio\", plus \"range\" in IE11.\n// (IE11 doesn't support Symbol, which we use here to turn `rad` into `ra` which matches \"range\")\nconst onChangeInputType = type =>\n\t(typeof Symbol != 'undefined' && typeof Symbol() == 'symbol'\n\t\t? /fil|che|rad/i\n\t\t: /fil|che|ra/i\n\t).test(type);\n\n// Some libraries like `react-virtualized` explicitly check for this.\nComponent.prototype.isReactComponent = {};\n\n// `UNSAFE_*` lifecycle hooks\n// Preact only ever invokes the unprefixed methods.\n// Here we provide a base \"fallback\" implementation that calls any defined UNSAFE_ prefixed method.\n// - If a component defines its own `componentDidMount()` (including via defineProperty), use that.\n// - If a component defines `UNSAFE_componentDidMount()`, `componentDidMount` is the alias getter/setter.\n// - If anything assigns to an `UNSAFE_*` property, the assignment is forwarded to the unprefixed property.\n// See https://github.com/preactjs/preact/issues/1941\n[\n\t'componentWillMount',\n\t'componentWillReceiveProps',\n\t'componentWillUpdate'\n].forEach(key => {\n\tObject.defineProperty(Component.prototype, key, {\n\t\tconfigurable: true,\n\t\tget() {\n\t\t\treturn this['UNSAFE_' + key];\n\t\t},\n\t\tset(v) {\n\t\t\tObject.defineProperty(this, key, {\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true,\n\t\t\t\tvalue: v\n\t\t\t});\n\t\t}\n\t});\n});\n\n/**\n * Proxy render() since React returns a Component reference.\n * @param {import('./internal').VNode} vnode VNode tree to render\n * @param {import('./internal').PreactElement} parent DOM node to render vnode tree into\n * @param {() => void} [callback] Optional callback that will be called after rendering\n * @returns {import('./internal').Component | null} The root component reference or null\n */\nexport function render(vnode, parent, callback) {\n\t// React destroys any existing DOM nodes, see #1727\n\t// ...but only on the first render, see #1828\n\tif (parent._children == null) {\n\t\tparent.textContent = '';\n\t}\n\n\tpreactRender(vnode, parent);\n\tif (typeof callback == 'function') callback();\n\n\tconst internal = parent._children._children[0];\n\treturn internal ? internal._component : null;\n}\n\nexport function hydrate(vnode, parent, callback) {\n\tpreactHydrate(vnode, parent);\n\tif (typeof callback == 'function') callback();\n\n\treturn vnode ? vnode._component : null;\n}\n\nlet oldEventHook = options.event;\noptions.event = e => {\n\tif (oldEventHook) e = oldEventHook(e);\n\te.persist = empty;\n\te.isPropagationStopped = isPropagationStopped;\n\te.isDefaultPrevented = isDefaultPrevented;\n\treturn (e.nativeEvent = e);\n};\n\nfunction empty() {}\n\nfunction isPropagationStopped() {\n\treturn this.cancelBubble;\n}\n\nfunction isDefaultPrevented() {\n\treturn this.defaultPrevented;\n}\n\nlet classNameDescriptor = {\n\tconfigurable: true,\n\tget() {\n\t\treturn this.class;\n\t}\n};\n\nlet oldVNodeHook = options.vnode;\noptions.vnode = vnode => {\n\tlet type = vnode.type;\n\tlet props = vnode.props;\n\t/** @type {any} */\n\tlet normalizedProps = props;\n\n\t// only normalize props on Element nodes\n\tif (typeof type === 'string') {\n\t\tnormalizedProps = {};\n\n\t\tfor (let i in props) {\n\t\t\tlet value = props[i];\n\n\t\t\tif (i === 'value' && 'defaultValue' in props && value == null) {\n\t\t\t\t// Skip applying value if it is null/undefined and we already set\n\t\t\t\t// a default value\n\t\t\t\tcontinue;\n\t\t\t} else if (\n\t\t\t\ti === 'defaultValue' &&\n\t\t\t\t'value' in props &&\n\t\t\t\tprops.value == null\n\t\t\t) {\n\t\t\t\t// `defaultValue` is treated as a fallback `value` when a value prop is present but null/undefined.\n\t\t\t\t// `defaultValue` for Elements with no value prop is the same as the DOM defaultValue property.\n\t\t\t\ti = 'value';\n\t\t\t} else if (i === 'download' && value === true) {\n\t\t\t\t// Calling `setAttribute` with a truthy value will lead to it being\n\t\t\t\t// passed as a stringified value, e.g. `download=\"true\"`. React\n\t\t\t\t// converts it to an empty string instead, otherwise the attribute\n\t\t\t\t// value will be used as the file name and the file will be called\n\t\t\t\t// \"true\" upon downloading it.\n\t\t\t\tvalue = '';\n\t\t\t} else if (/ondoubleclick/i.test(i)) {\n\t\t\t\ti = 'ondblclick';\n\t\t\t} else if (\n\t\t\t\t/^onchange(textarea|input)/i.test(i + type) &&\n\t\t\t\t!onChangeInputType(props.type)\n\t\t\t) {\n\t\t\t\ti = 'oninput';\n\t\t\t} else if (/^on(Ani|Tra|Tou|BeforeInp)/.test(i)) {\n\t\t\t\ti = i.toLowerCase();\n\t\t\t} else if (CAMEL_PROPS.test(i)) {\n\t\t\t\ti = i.replace(/[A-Z0-9]/, '-$&').toLowerCase();\n\t\t\t} else if (value === null) {\n\t\t\t\tvalue = undefined;\n\t\t\t}\n\n\t\t\tnormalizedProps[i] = value;\n\t\t}\n\n\t\t// Add support for array select values: <select multiple value={[]} />\n\t\tif (\n\t\t\ttype == 'select' &&\n\t\t\tnormalizedProps.multiple &&\n\t\t\tArray.isArray(normalizedProps.value)\n\t\t) {\n\t\t\t// forEach() always returns undefined, which we abuse here to unset the value prop.\n\t\t\tnormalizedProps.value = toChildArray(props.children).forEach(child => {\n\t\t\t\tchild.props.selected =\n\t\t\t\t\tnormalizedProps.value.indexOf(child.props.value) != -1;\n\t\t\t});\n\t\t}\n\n\t\t// Adding support for defaultValue in select tag\n\t\tif (type == 'select' && normalizedProps.defaultValue != null) {\n\t\t\tnormalizedProps.value = toChildArray(props.children).forEach(child => {\n\t\t\t\tif (normalizedProps.multiple) {\n\t\t\t\t\tchild.props.selected =\n\t\t\t\t\t\tnormalizedProps.defaultValue.indexOf(child.props.value) != -1;\n\t\t\t\t} else {\n\t\t\t\t\tchild.props.selected =\n\t\t\t\t\t\tnormalizedProps.defaultValue == child.props.value;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tvnode.props = normalizedProps;\n\t}\n\n\tif (type && props.class != props.className) {\n\t\tclassNameDescriptor.enumerable = 'className' in props;\n\t\tif (props.className != null) normalizedProps.class = props.className;\n\t\tObject.defineProperty(normalizedProps, 'className', classNameDescriptor);\n\t}\n\n\tvnode.$$typeof = REACT_ELEMENT_TYPE;\n\n\tif (oldVNodeHook) oldVNodeHook(vnode);\n};\n\n// Only needed for react-relay\nlet currentComponent;\nconst oldBeforeRender = options._render;\noptions._render = function(internal) {\n\tif (oldBeforeRender) {\n\t\toldBeforeRender(internal);\n\t}\n\tcurrentComponent = internal._component;\n};\n\n// This is a very very private internal function for React it\n// is used to sort-of do runtime dependency injection. So far\n// only `react-relay` makes use of it. It uses it to read the\n// context value.\nexport const __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = {\n\tReactCurrentDispatcher: {\n\t\tcurrent: {\n\t\t\treadContext(context) {\n\t\t\t\treturn currentComponent._globalContext[context._id].props.value;\n\t\t\t}\n\t\t}\n\t}\n};\n","// This file includes experimental React APIs exported from the \"scheduler\"\n// npm package. Despite being explicitely marked as unstable some libraries\n// already make use of them. This file is not a full replacement for the\n// scheduler package, but includes the necessary shims to make those libraries\n// work with Preact.\n\nexport const unstable_ImmediatePriority = 1;\nexport const unstable_UserBlockingPriority = 2;\nexport const unstable_NormalPriority = 3;\nexport const unstable_LowPriority = 4;\nexport const unstable_IdlePriority = 5;\n\n/**\n * @param {number} priority\n * @param {() => void} callback\n */\nexport function unstable_runWithPriority(priority, callback) {\n\treturn callback();\n}\n\nexport const unstable_now =\n\ttypeof performance === 'object' && typeof performance.now === 'function'\n\t\t? performance.now.bind(performance)\n\t\t: () => Date.now();\n","import {\n\tcreateElement,\n\trender as preactRender,\n\tcloneElement as preactCloneElement,\n\tcreateRef,\n\tComponent,\n\tcreateContext,\n\tFragment\n} from 'preact';\nimport {\n\tuseState,\n\tuseReducer,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseRef,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseCallback,\n\tuseContext,\n\tuseDebugValue\n} from 'preact/hooks';\nimport { PureComponent } from './PureComponent';\nimport { memo } from './memo';\nimport { forwardRef } from './forwardRef';\nimport { Children } from './Children';\nimport { Suspense, lazy } from './suspense';\nimport { SuspenseList } from './suspense-list';\nimport { createPortal } from './portals';\nimport {\n\thydrate,\n\trender,\n\tREACT_ELEMENT_TYPE,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n} from './render';\nimport { getChildDom } from '../../src/tree';\nexport * from './scheduler';\n\nconst version = '16.8.0'; // trick libraries to think we are react\n\n/**\n * Legacy version of createElement.\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component constructor\n */\nfunction createFactory(type) {\n\treturn createElement.bind(null, type);\n}\n\n/**\n * Check if the passed element is a valid (p)react node.\n * @param {*} element The element to check\n * @returns {boolean}\n */\nfunction isValidElement(element) {\n\treturn !!element && element.$$typeof === REACT_ELEMENT_TYPE;\n}\n\n/**\n * Wrap `cloneElement` to abort if the passed element is not a valid element and apply\n * all vnode normalizations.\n * @param {import('./internal').VNode} element The vnode to clone\n * @param {object} props Props to add when cloning\n * @param {Array<import('./internal').ComponentChildren>} rest Optional component children\n */\nfunction cloneElement(element) {\n\tif (!isValidElement(element)) return element;\n\treturn preactCloneElement.apply(null, arguments);\n}\n\n/**\n * Remove a component tree from the DOM, including state and event handlers.\n * @param {import('./internal').PreactElement} container\n * @returns {boolean}\n */\nfunction unmountComponentAtNode(container) {\n\tif (container._children) {\n\t\tpreactRender(null, container);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n/**\n * Get the matching DOM node for a component\n * @param {import('./internal').Component} component\n * @returns {import('./internal').PreactElement | null}\n */\nfunction findDOMNode(component) {\n\tif (component == null) {\n\t\treturn null;\n\t} else if (component.nodeType == 1) {\n\t\treturn component;\n\t}\n\n\treturn getChildDom(component._internal);\n}\n\n/**\n * Deprecated way to control batched rendering inside the reconciler, but we\n * already schedule in batches inside our rendering code\n * @template Arg\n * @param {(arg: Arg) => void} callback function that triggers the updated\n * @param {Arg} [arg] Optional argument that can be passed to the callback\n */\n// eslint-disable-next-line camelcase\nconst unstable_batchedUpdates = (callback, arg) => callback(arg);\n\n/**\n * Strict Mode is not implemented in Preact, so we provide a stand-in for it\n * that just renders its children without imposing any restrictions.\n */\nconst StrictMode = Fragment;\n\nexport * from 'preact/hooks';\nexport {\n\tversion,\n\tChildren,\n\trender,\n\thydrate,\n\tunmountComponentAtNode,\n\tcreatePortal,\n\tcreateElement,\n\tcreateContext,\n\tcreateFactory,\n\tcloneElement,\n\tcreateRef,\n\tFragment,\n\tisValidElement,\n\tfindDOMNode,\n\tComponent,\n\tPureComponent,\n\tmemo,\n\tforwardRef,\n\t// eslint-disable-next-line camelcase\n\tunstable_batchedUpdates,\n\tStrictMode,\n\tSuspense,\n\tSuspenseList,\n\tlazy,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n};\n\n// React copies the named exports to the default one.\nexport default {\n\tuseState,\n\tuseReducer,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseRef,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseCallback,\n\tuseContext,\n\tuseDebugValue,\n\tversion,\n\tChildren,\n\trender,\n\thydrate,\n\tunmountComponentAtNode,\n\tcreatePortal,\n\tcreateElement,\n\tcreateContext,\n\tcreateFactory,\n\tcloneElement,\n\tcreateRef,\n\tFragment,\n\tisValidElement,\n\tfindDOMNode,\n\tComponent,\n\tPureComponent,\n\tmemo,\n\tforwardRef,\n\tunstable_batchedUpdates,\n\tStrictMode,\n\tSuspense,\n\tSuspenseList,\n\tlazy,\n\t__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n};\n"],"names":["shallowDiffers","a","b","i","PureComponent","p","this","props","memo","c","comparer","shouldUpdate","nextProps","ref","updateRef","call","current","Memoed","shouldComponentUpdate","createElement","displayName","name","prototype","isReactComponent","Component","isPureReactComponent","state","oldDiffHook","options","internal","vnode","type","REACT_FORWARD_SYMBOL","Symbol","for","forwardRef","fn","Forwarded","clone","Object","assign","$$typeof","render","mapFn","children","toChildArray","map","Children","forEach","count","length","only","normalized","toArray","shouldSearchComponent","TYPE_CLASS","getParentDom","getChildDom","child","TYPE_TEXT","childDom","parentDom","parent","Portal","createPortal","container","__P","oldCatchError","error","then","component","handler","oldUnmount","unmount","Suspense","_suspenders","_portalVNodeId","suspended","lazy","loader","prom","Lazy","exports","default","e","SuspenseList","_next","_map","promise","suspendingInternal","suspendingComponent","push","resolve","resolved","onResolved","onSuspensionComplete","setState","__e","pop","forceUpdate","wasHydrating","document","componentWillUnmount","fallback","Fragment","portal","list","node","delete","revealOrder","size","delegated","get","unsuspend","wrappedUnsuspend","Map","reverse","set","componentDidUpdate","componentDidMount","REACT_ELEMENT_TYPE","CAMEL_PROPS","onChangeInputType","test","callback","textContent","preactRender","hydrate","preactHydrate","key","defineProperty","configurable","v","writable","value","oldEventHook","event","empty","isPropagationStopped","cancelBubble","isDefaultPrevented","defaultPrevented","persist","nativeEvent","currentComponent","classNameDescriptor","class","oldVNodeHook","normalizedProps","toLowerCase","replace","undefined","multiple","Array","isArray","selected","indexOf","defaultValue","className","enumerable","oldBeforeRender","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","readContext","context","unstable_ImmediatePriority","unstable_UserBlockingPriority","unstable_NormalPriority","unstable_LowPriority","unstable_IdlePriority","unstable_runWithPriority","priority","unstable_now","performance","now","bind","Date","version","createFactory","isValidElement","element","cloneElement","preactCloneElement","apply","arguments","unmountComponentAtNode","findDOMNode","nodeType","unstable_batchedUpdates","arg","StrictMode","useState","useReducer","useEffect","useLayoutEffect","useRef","useImperativeHandle","useMemo","useCallback","useContext","useDebugValue","createContext","createRef"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.mjs","sources":["../src/check-props.js","../src/component-stack.js","../src/debug.js","../src/constants.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}${(getStack &&\n\t\t\t\t\t`\\n${getStack()}`) ||\n\t\t\t\t\t''}`\n\t\t\t);\n\t\t}\n\t});\n}\n","import { options, Fragment } from 'preact';\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 instance\n * @returns {import('./internal').Internal | null}\n */\nexport function getCurrentInternal() {\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').Internal} internal\n */\nfunction isPossibleOwner(internal) {\n\treturn typeof internal.type == 'function' && internal.type != Fragment;\n}\n\n/**\n * Return the component stack that was captured up to this point.\n * @param {import('./internal').Internal} internal\n * @returns {string}\n */\nexport function getOwnerStack(internal) {\n\tconst stack = [internal];\n\tlet next = internal;\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.props && owner.props.__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 oldInternal = options._internal;\n\tlet oldRender = options._render;\n\n\toptions.diffed = internal => {\n\t\tif (isPossibleOwner(internal)) {\n\t\t\townerStack.pop();\n\t\t}\n\t\trenderStack.pop();\n\t\tif (oldDiffed) oldDiffed(internal);\n\t};\n\n\toptions._diff = (internal, vnode) => {\n\t\tif (isPossibleOwner(internal)) {\n\t\t\trenderStack.push(internal);\n\t\t}\n\t\tif (oldDiff) oldDiff(internal, 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._internal = (internal, vnode) => {\n\t\tif (internal.type !== null) {\n\t\t\tinternal._owner = vnode._owner;\n\t\t}\n\t\tif (oldInternal) oldInternal(internal, 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 'preact';\nimport {\n\tELEMENT_NODE,\n\tDOCUMENT_NODE,\n\tDOCUMENT_FRAGMENT_NODE\n} from './constants';\nimport {\n\tgetOwnerStack,\n\tsetupComponentStack,\n\tgetCurrentInternal,\n\tgetDisplayName\n} from './component-stack';\nimport { MODE_UNMOUNTING } from 'preact/src/constants';\nimport { IS_NON_DIMENSIONAL } from 'preact/compat/src/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 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) => {\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\toldCatchError(error, vnode, oldVNode);\n\n\t\t\t// when an error was handled by an ErrorBoundary we will nontheless 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 = (internal, vnode) => {\n\t\tif (vnode === null || typeof vnode !== 'object') return;\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\tif (vnode.constructor !== undefined) {\n\t\t\tconst keys = Object.keys(vnode).join(',');\n\t\t\tthrow new Error(\n\t\t\t\t`Objects are not valid as a child. Encountered an object with the keys {${keys}}.` +\n\t\t\t\t\t`\\n\\n${getOwnerStack(internal)}`\n\t\t\t);\n\t\t}\n\n\t\tlet { type, _parent: parent } = internal;\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(internal)}`\n\t\t\t);\n\t\t} else if (type != null && typeof type == 'object') {\n\t\t\tif (type.constructor === 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(internal)} = ${serializeVNode(type)};\\n` +\n\t\t\t\t\t\t` let vnode = <My${getDisplayName(internal)} />;\\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(internal)}`\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\tlet parentVNode = getClosestDomNodeParent(parent);\n\n\t\thooksAllowed = true;\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(internal) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(internal)}`\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(internal) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(internal)}`\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(internal) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(internal)}`\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(internal) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(internal)}`\n\t\t\t);\n\t\t}\n\t\tlet isCompatNode = '$$typeof' in vnode;\n\t\tif (\n\t\t\tinternal.ref !== undefined &&\n\t\t\ttypeof internal.ref != 'function' &&\n\t\t\ttypeof internal.ref != 'object' &&\n\t\t\t!isCompatNode // 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 internal.ref}] instead\\n` +\n\t\t\t\t\tserializeVNode(internal) +\n\t\t\t\t\t`\\n\\n${getOwnerStack(internal)}`\n\t\t\t);\n\t\t}\n\n\t\tif (typeof internal.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(internal)}`\n\t\t\t\t\t);\n\t\t\t\t} else if (\n\t\t\t\t\t!isCompatNode &&\n\t\t\t\t\tkey === 'style' &&\n\t\t\t\t\tvnode.props[key] !== null &&\n\t\t\t\t\ttypeof vnode.props[key] === 'object'\n\t\t\t\t) {\n\t\t\t\t\tconst style = vnode.props[key];\n\t\t\t\t\tfor (let i in style) {\n\t\t\t\t\t\tif (typeof style[i] === 'number' && !IS_NON_DIMENSIONAL.test(i)) {\n\t\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t\t`Numeric CSS property value is missing a \"px\" unit: ${i}: ${style[i]}\"\\n` +\n\t\t\t\t\t\t\t\t\tserializeVNode(vnode) +\n\t\t\t\t\t\t\t\t\t`\\n\\n${getOwnerStack(vnode)}`\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\n\t\t// Check prop-types if available\n\t\tif (typeof internal.type == 'function' && internal.type.propTypes) {\n\t\t\tif (\n\t\t\t\tinternal.type.displayName === 'Lazy' &&\n\t\t\t\twarnedComponents &&\n\t\t\t\t!warnedComponents.lazyPropTypes.has(internal.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 = internal.type();\n\t\t\t\t\twarnedComponents.lazyPropTypes.set(internal.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\t// If vnode is not present we're mounting\n\t\t\tlet values = vnode ? vnode.props : internal.props;\n\t\t\tif (internal.type._forwarded) {\n\t\t\t\tvalues = Object.assign({}, values);\n\t\t\t\tdelete values.ref;\n\t\t\t}\n\n\t\t\tcheckPropTypes(\n\t\t\t\tinternal.type.propTypes,\n\t\t\t\tvalues,\n\t\t\t\t'prop',\n\t\t\t\tgetDisplayName(internal),\n\t\t\t\t() => getOwnerStack(internal)\n\t\t\t);\n\t\t}\n\n\t\tif (oldBeforeDiff) oldBeforeDiff(internal, vnode);\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\t// Property descriptor: preserve a property's value but make it non-enumerable:\n\tconst debugProps = {\n\t\t__source: { enumerable: false },\n\t\t__self: { enumerable: false }\n\t};\n\n\t// If it's acceptable to inject debug properties onto the\n\t// prototype, __proto__ is faster than defineProperties():\n\t// https://esbench.com/bench/6021ebd7d9c27600a7bfdba3\n\tconst deprecatedProto = Object.create({}, deprecatedAttributes);\n\n\toptions.vnode = vnode => {\n\t\tconst props = vnode.props;\n\t\tif (props != null && ('__source' in props || '__self' in props)) {\n\t\t\tObject.defineProperties(props, debugProps);\n\t\t\tvnode.__source = props.__source;\n\t\t\tvnode.__self = props.__self;\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\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\t};\n}\n\nconst setState = Component.prototype.setState;\n\n/** @this {import('../../src/internal').Component} */\nComponent.prototype.setState = function(update, callback) {\n\tif (this._internal == null) {\n\t\t// `this._internal` 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(\n\t\t\t\t\t\tgetCurrentInternal()\n\t\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t} else if (this._internal._flags & MODE_UNMOUNTING) {\n\t\tconsole.warn(\n\t\t\t`Can't call \"this.setState\" 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._internal)}`\n\t\t);\n\t}\n\n\treturn setState.call(this, update, callback);\n};\n\nconst forceUpdate = Component.prototype.forceUpdate;\n\n/** @this {import('../../src/internal').Component} */\nComponent.prototype.forceUpdate = function(callback) {\n\tif (this._internal == 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\tgetCurrentInternal()\n\t\t\t\t)}`\n\t\t);\n\t} else if (this._internal._flags & MODE_UNMOUNTING) {\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._internal)}`\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","import { initDebug } from './debug';\nimport 'preact/devtools';\n\ninitDebug();\n\nexport { resetPropWarnings } from './check-props';\n"],"names":["loggedTypeFailures","resetPropWarnings","getDisplayName","vnode","type","Fragment","displayName","name","renderStack","ownerStack","getCurrentInternal","length","hasBabelPlugin","isPossibleOwner","internal","getOwnerStack","stack","next","push","reduce","acc","owner","source","props","__source","fileName","lineNumber","console","warn","isWeakMapSupported","WeakMap","getClosestDomNodeParent","parent","setState","Component","prototype","update","callback","this","state","MODE_UNMOUNTING","call","forceUpdate","serializeVNode","attrs","prop","hasOwnProperty","value","Object","toString","JSON","stringify","children","oldDiff","options","oldDiffed","diffed","oldRoot","oldVNode","oldInternal","oldRender","pop","setupComponentStack","hooksAllowed","oldBeforeDiff","oldVnode","oldCatchError","oldHook","warnedComponents","useEffect","useLayoutEffect","lazyPropTypes","deprecations","error","then","promise","Error","setTimeout","e","parentNode","isValid","nodeType","componentName","undefined","constructor","keys","join","__","Array","isArray","parentVNode","isCompatNode","ref","key","style","i","IS_NON_DIMENSIONAL","test","propTypes","has","m","lazyVNode","set","values","assign","typeSpecs","location","getStack","forEach","typeSpecName","message","checkPropTypes","comp","index","property","get","indexOf","deprecatedAttributes","nodeName","attributes","debugProps","enumerable","__self","deprecatedProto","create","defineProperties","__proto__","child","initDebug"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{Fragment as e,options as t,Component as n}from"preact";import{MODE_UNMOUNTING as o}from"preact/src/constants";import"preact/devtools";let r={};function i(){r={}}function a(t){return t.type===e?"Fragment":"function"==typeof t.type?t.type.displayName||t.type.name:"string"==typeof t.type?t.type:"#text"}let s=[],c=[];function l(){return s.length>0?s[s.length-1]:null}let p=!1;function u(t){return"function"==typeof t.type&&t.type!=e}function d(e){const t=[e];let n=e;for(;null!=n.__o;)t.push(n.__o),n=n.__o;return t.reduce((e,t)=>{e+=` in ${a(t)}`;const n=t.props&&t.props.__source;return n?e+=` (at ${n.fileName}:${n.lineNumber})`:p||(p=!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.")),e+"\n"},"")}const f="function"==typeof WeakMap;function h(e){return e?"function"==typeof e.type?h(e.__):e:{}}const y=n.prototype.setState;n.prototype.setState=function(e,t){return null==this.__i?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${d(l())}`):this.__i.__f&o&&console.warn(`Can't call "this.setState" 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${d(this.__i)}`),y.call(this,e,t)};const m=n.prototype.forceUpdate;function b(e){let{props:t}=e,n=a(e),o="";for(let e in t)if(t.hasOwnProperty(e)&&"children"!==e){let n=t[e];"function"==typeof n&&(n=`function ${n.displayName||n.name}() {}`),n=Object(n)!==n||n.toString?n+"":Object.prototype.toString.call(n),o+=` ${e}=${JSON.stringify(n)}`}let r=t.children;return`<${n}${o}${r&&r.length?">..</"+n+">":" />"}`}n.prototype.forceUpdate=function(e){return null==this.__i?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${d(l())}`):this.__i.__f&o&&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${d(this.__i)}`),m.call(this,e)},function(){!function(){let e=t.__b,n=t.diffed,o=t.__,r=t.vnode,i=t.__i,a=t.__r;t.diffed=e=>{u(e)&&c.pop(),s.pop(),n&&n(e)},t.__b=(t,n)=>{u(t)&&s.push(t),e&&e(t,n)},t.__=(e,t)=>{c=[],o&&o(e,t)},t.vnode=e=>{e.__o=c.length>0?c[c.length-1]:null,r&&r(e)},t.__i=(e,t)=>{null!==e.type&&(e.__o=t.__o),i&&i(e,t)},t.__r=e=>{u(e)&&c.push(e),a&&a(e)}}();let e=!1,n=t.__b,o=t.diffed,i=t.vnode,l=t.__e,p=t.__,y=t.__h;const m=f?{useEffect:new WeakMap,useLayoutEffect:new WeakMap,lazyPropTypes:new WeakMap}:null,$=[];t.__e=(e,t,n)=>{if(t&&t.__c&&"function"==typeof e.then){const n=e;e=new Error(`Missing Suspense. The throwing component was: ${a(t)}`);let o=t;for(;o;o=o.__)if(o.__c&&o.__c.__c){e=n;break}if(e instanceof Error)throw e}try{l(e,t,n),"function"!=typeof e.then&&setTimeout(()=>{throw e})}catch(e){throw e}},t.__=(e,t)=>{if(!t)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.");let n;switch(t.nodeType){case 1:case 11:case 9:n=!0;break;default:n=!1}if(!n){let n=a(e);throw new Error(`Expected a valid HTML node as a second argument to render.\tReceived ${t} instead: render(<${n} />, ${t});`)}p&&p(e,t)},t.__b=(t,o)=>{if(null===o||"object"!=typeof o)return;if(void 0!==o.constructor){const e=Object.keys(o).join(",");throw new Error(`Objects are not valid as a child. Encountered an object with the keys {${e}}.\n\n${d(t)}`)}let{type:i,__:s}=t;if(void 0===i)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"+b(o)+`\n\n${d(t)}`);if(null!=i&&"object"==typeof i){if(void 0===i.constructor)throw new Error(`Invalid type passed to createElement(): ${i}\n\nDid you accidentally pass a JSX literal as JSX twice?\n\n let My${a(t)} = ${b(i)};\n let vnode = <My${a(t)} />;\n\nThis usually happens when you export a JSX literal and not the component.\n\n${d(t)}`);throw new Error("Invalid type passed to createElement(): "+(Array.isArray(i)?"array":i))}let c=h(s);if(e=!0,"thead"!==i&&"tfoot"!==i&&"tbody"!==i||"table"===c.type?"tr"===i&&"thead"!==c.type&&"tfoot"!==c.type&&"tbody"!==c.type&&"table"!==c.type?console.error("Improper nesting of table. Your <tr> should have a <thead/tbody/tfoot/table> parent."+b(t)+`\n\n${d(t)}`):"td"===i&&"tr"!==c.type?console.error("Improper nesting of table. Your <td> should have a <tr> parent."+b(t)+`\n\n${d(t)}`):"th"===i&&"tr"!==c.type&&console.error("Improper nesting of table. Your <th> should have a <tr>."+b(t)+`\n\n${d(t)}`):console.error("Improper nesting of table. Your <thead/tbody/tfoot> should have a <table> parent."+b(t)+`\n\n${d(t)}`),void 0!==t.ref&&"function"!=typeof t.ref&&"object"!=typeof t.ref&&!("$$typeof"in o))throw new Error(`Component's "ref" property should be a function, or an object created by createRef(), but got [${typeof t.ref}] instead\n`+b(t)+`\n\n${d(t)}`);if("string"==typeof t.type)for(const e in o.props)if("o"===e[0]&&"n"===e[1]&&"function"!=typeof o.props[e]&&null!=o.props[e])throw new Error(`Component's "${e}" property should be a function, but got [${typeof o.props[e]}] instead\n`+b(o)+`\n\n${d(t)}`);if("function"==typeof t.type&&t.type.propTypes){if("Lazy"===t.type.displayName&&m&&!m.lazyPropTypes.has(t.type)){const e="PropTypes are not supported on lazy(). Use propTypes on the wrapped component itself. ";try{const n=t.type();m.lazyPropTypes.set(t.type,!0),console.warn(e+`Component wrapped in lazy() is ${a(n)}`)}catch(t){console.warn(e+"We will log the wrapped component's name once it is loaded.")}}let e=o?o.props:t.props;t.type.__f&&(e=Object.assign({},e),delete e.ref),function(e,t,n,o,i){Object.keys(e).forEach(n=>{let a;try{a=e[n](t,n,o,"prop",null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(e){a=e}a&&!(a.message in r)&&(r[a.message]=!0,console.error(`Failed prop type: ${a.message}${i&&`\n${i()}`||""}`))})}(t.type.propTypes,e,0,a(t),()=>d(t))}n&&n(t,o)},t.__h=(t,n,o)=>{if(!t||!e)throw new Error("Hook can only be invoked from render methods.");y&&y(t,n,o)};const w=(e,t)=>({get(){const n="get"+e+t;$&&$.indexOf(n)<0&&($.push(n),console.warn(`getting vnode.${e} is deprecated, ${t}`))},set(){const n="set"+e+t;$&&$.indexOf(n)<0&&($.push(n),console.warn(`setting vnode.${e} is not allowed, ${t}`))}}),g={nodeName:w("nodeName","use vnode.type"),attributes:w("attributes","use vnode.props"),children:w("children","use vnode.props.children")},v={__source:{enumerable:!1},__self:{enumerable:!1}},E=Object.create({},g);t.vnode=e=>{const t=e.props;null!=t&&("__source"in t||"__self"in t)&&(Object.defineProperties(t,v),e.__source=t.__source,e.__self=t.__self),e.__proto__=E,i&&i(e)},t.diffed=t=>{if(e=!1,o&&o(t),null!=t.__k){const e=[];for(let n=0;n<t.__k.length;n++){const o=t.__k[n];if(!o||null==o.key)continue;const r=o.key;if(-1!==e.indexOf(r)){console.error(`Following component has two or more children with the same key attribute: "${r}". This may cause glitches and misbehavior in rendering process. Component: \n\n`+b(t)+`\n\n${d(t)}`);break}e.push(r)}}}}();export{i as resetPropWarnings};
2
- //# sourceMappingURL=debug.modern.js.map