openplanr 3.0.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cli/commands/init-deterministic.d.ts.map +1 -1
  3. package/dist/cli/commands/init-deterministic.js +49 -6
  4. package/dist/cli/commands/init-deterministic.js.map +1 -1
  5. package/dist/dashboard/.vite/manifest.json +2 -2
  6. package/dist/dashboard/assets/{index-Bk8DyO_2.css → index-BU5fzjyz.css} +1 -1
  7. package/dist/dashboard/assets/index-G7ygVDGg.js +572 -0
  8. package/dist/dashboard/assets/index-G7ygVDGg.js.map +1 -0
  9. package/dist/dashboard/dashboard-manifest.json +14 -14
  10. package/dist/dashboard/index.html +2 -2
  11. package/dist/models/types.d.ts +0 -46
  12. package/dist/models/types.d.ts.map +1 -1
  13. package/dist/services/capability-map-service.d.ts +4 -0
  14. package/dist/services/capability-map-service.d.ts.map +1 -1
  15. package/dist/services/capability-map-service.js +7 -1
  16. package/dist/services/capability-map-service.js.map +1 -1
  17. package/dist/services/claude-plugin-service.d.ts +6 -1
  18. package/dist/services/claude-plugin-service.d.ts.map +1 -1
  19. package/dist/services/claude-plugin-service.js +54 -15
  20. package/dist/services/claude-plugin-service.js.map +1 -1
  21. package/dist/services/config-service.d.ts +24 -1
  22. package/dist/services/config-service.d.ts.map +1 -1
  23. package/dist/services/config-service.js +69 -2
  24. package/dist/services/config-service.js.map +1 -1
  25. package/dist/services/git-service.d.ts +5 -0
  26. package/dist/services/git-service.d.ts.map +1 -1
  27. package/dist/services/git-service.js +27 -0
  28. package/dist/services/git-service.js.map +1 -1
  29. package/dist/services/linear-pull-service.d.ts.map +1 -1
  30. package/dist/services/linear-pull-service.js +1 -2
  31. package/dist/services/linear-pull-service.js.map +1 -1
  32. package/dist/services/pipeline-package-service.d.ts +2 -0
  33. package/dist/services/pipeline-package-service.d.ts.map +1 -1
  34. package/dist/services/pipeline-package-service.js +2 -1
  35. package/dist/services/pipeline-package-service.js.map +1 -1
  36. package/dist/services/runtime-change-summary.d.ts.map +1 -1
  37. package/dist/services/runtime-change-summary.js +4 -0
  38. package/dist/services/runtime-change-summary.js.map +1 -1
  39. package/dist/services/runtime-manager-service.d.ts.map +1 -1
  40. package/dist/services/runtime-manager-service.js +14 -3
  41. package/dist/services/runtime-manager-service.js.map +1 -1
  42. package/dist/services/spec-service.d.ts.map +1 -1
  43. package/dist/services/spec-service.js +11 -22
  44. package/dist/services/spec-service.js.map +1 -1
  45. package/dist/services/upgrade-service.d.ts.map +1 -1
  46. package/dist/services/upgrade-service.js +3 -1
  47. package/dist/services/upgrade-service.js.map +1 -1
  48. package/dist/templates/rules/shared/capability-map.md.hbs +2 -2
  49. package/lib/host-packages/adapter-registry.json +5 -5
  50. package/lib/host-packages/capability-map.json +89 -29
  51. package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
  52. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
  53. package/lib/host-packages/claude/openplanr/.openplanr-content.json +69 -37
  54. package/lib/host-packages/claude/openplanr/CONNECTORS.md +62 -0
  55. package/lib/host-packages/claude/openplanr/README.md +1 -1
  56. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +1 -1
  57. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-protocol-contracts-31a760fc.mjs +259 -36
  58. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +54 -54
  59. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
  60. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +259 -36
  61. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +4 -4
  62. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  63. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +43 -24
  64. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/03-react-dom-client-fiber-foundations.js +279 -58
  65. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/04-react-dom-client-reconciliation-hooks.js +50 -42
  66. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/05-react-dom-client-render-phases.js +282 -146
  67. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/06-react-dom-client-commit-effects.js +949 -316
  68. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/07-react-dom-client-work-loop-scheduling.js +143 -87
  69. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/08-react-dom-client-dom-events-properties-hydration.js +930 -183
  70. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +17 -15
  71. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-interface-primitives.js +375 -191
  72. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-interface-primitives.js +140 -105
  73. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +23 -23
  74. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +4 -4
  75. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +259 -36
  76. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +4 -4
  77. package/lib/host-packages/claude/openplanr/skills/connect/SKILL.md +60 -0
  78. package/lib/host-packages/claude/openplanr/skills/connect/references/connectors.md +62 -0
  79. package/lib/host-packages/claude/openplanr/skills/openplanr/SKILL.md +4 -0
  80. package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +4 -1
  81. package/lib/host-packages/claude/openplanr/skills/plan/scripts/planning-ids.mjs +49 -3
  82. package/lib/host-packages/claude/openplanr/skills/share/SKILL.md +87 -0
  83. package/lib/host-packages/claude/openplanr/skills/share/references/connectors.md +62 -0
  84. package/lib/host-packages/claude/openplanr/skills/ship/SKILL.md +6 -3
  85. package/lib/host-packages/claude/openplanr/skills/ship/scripts/discover-verification.mjs +2 -1
  86. package/lib/host-packages/claude/openplanr/skills/sprint/SKILL.md +15 -6
  87. package/lib/host-packages/claude/openplanr/skills/sprint/references/connectors.md +62 -0
  88. package/lib/host-packages/claude/openplanr/skills/sprint/references/tracker-connections.md +9 -13
  89. package/lib/host-packages/claude/openplanr/skills/status/SKILL.md +14 -3
  90. package/lib/host-packages/claude/openplanr/skills/status/references/connectors.md +62 -0
  91. package/lib/host-packages/claude/openplanr/skills/status/references/tracker-connections.md +9 -13
  92. package/lib/host-packages/claude/openplanr/skills/sync/SKILL.md +25 -10
  93. package/lib/host-packages/claude/openplanr/skills/sync/references/connectors.md +62 -0
  94. package/lib/host-packages/claude/openplanr/skills/sync/references/tracker-connections.md +9 -13
  95. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +68 -36
  96. package/lib/host-packages/cursor/openplanr/CONNECTORS.md +62 -0
  97. package/lib/host-packages/cursor/openplanr/manifest.json +4 -2
  98. package/lib/host-packages/cursor/openplanr/rules/planr-connect/references/connectors.md +62 -0
  99. package/lib/host-packages/cursor/openplanr/rules/planr-connect.mdc +58 -0
  100. package/lib/host-packages/cursor/openplanr/rules/planr-openplanr.mdc +4 -0
  101. package/lib/host-packages/cursor/openplanr/rules/planr-plan/scripts/planning-ids.mjs +49 -3
  102. package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +4 -1
  103. package/lib/host-packages/cursor/openplanr/rules/planr-share/references/connectors.md +62 -0
  104. package/lib/host-packages/cursor/openplanr/rules/planr-share.mdc +85 -0
  105. package/lib/host-packages/cursor/openplanr/rules/planr-ship/scripts/discover-verification.mjs +2 -1
  106. package/lib/host-packages/cursor/openplanr/rules/planr-ship.mdc +6 -3
  107. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/connectors.md +62 -0
  108. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/tracker-connections.md +9 -13
  109. package/lib/host-packages/cursor/openplanr/rules/planr-sprint.mdc +15 -6
  110. package/lib/host-packages/cursor/openplanr/rules/planr-status/references/connectors.md +62 -0
  111. package/lib/host-packages/cursor/openplanr/rules/planr-status/references/tracker-connections.md +9 -13
  112. package/lib/host-packages/cursor/openplanr/rules/planr-status.mdc +14 -3
  113. package/lib/host-packages/cursor/openplanr/rules/planr-sync/references/connectors.md +62 -0
  114. package/lib/host-packages/cursor/openplanr/rules/planr-sync/references/tracker-connections.md +9 -13
  115. package/lib/host-packages/cursor/openplanr/rules/planr-sync.mdc +25 -10
  116. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +1 -1
  117. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-protocol-contracts-31a760fc.mjs +259 -36
  118. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +54 -54
  119. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
  120. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +259 -36
  121. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +4 -4
  122. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  123. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +43 -24
  124. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/03-react-dom-client-fiber-foundations.js +279 -58
  125. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/04-react-dom-client-reconciliation-hooks.js +50 -42
  126. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/05-react-dom-client-render-phases.js +282 -146
  127. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/06-react-dom-client-commit-effects.js +949 -316
  128. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/07-react-dom-client-work-loop-scheduling.js +143 -87
  129. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/08-react-dom-client-dom-events-properties-hydration.js +930 -183
  130. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +17 -15
  131. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-interface-primitives.js +375 -191
  132. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-interface-primitives.js +140 -105
  133. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +23 -23
  134. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +4 -4
  135. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +259 -36
  136. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +4 -4
  137. package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
  138. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
  139. package/lib/host-packages/openai/openplanr/.openplanr-content.json +87 -39
  140. package/lib/host-packages/openai/openplanr/CONNECTORS.md +62 -0
  141. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +1 -1
  142. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-protocol-contracts-31a760fc.mjs +259 -36
  143. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +54 -54
  144. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
  145. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +259 -36
  146. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +4 -4
  147. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  148. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +43 -24
  149. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/03-react-dom-client-fiber-foundations.js +279 -58
  150. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/04-react-dom-client-reconciliation-hooks.js +50 -42
  151. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/05-react-dom-client-render-phases.js +282 -146
  152. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/06-react-dom-client-commit-effects.js +949 -316
  153. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/07-react-dom-client-work-loop-scheduling.js +143 -87
  154. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/08-react-dom-client-dom-events-properties-hydration.js +930 -183
  155. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +17 -15
  156. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-interface-primitives.js +375 -191
  157. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-interface-primitives.js +140 -105
  158. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +23 -23
  159. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +4 -4
  160. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +259 -36
  161. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +4 -4
  162. package/lib/host-packages/openai/openplanr/skills/connect/SKILL.md +59 -0
  163. package/lib/host-packages/openai/openplanr/skills/connect/agents/openai.yaml +6 -0
  164. package/lib/host-packages/openai/openplanr/skills/connect/openplanr.skill.json +37 -0
  165. package/lib/host-packages/openai/openplanr/skills/connect/references/connectors.md +62 -0
  166. package/lib/host-packages/openai/openplanr/skills/openplanr/SKILL.md +4 -0
  167. package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +4 -1
  168. package/lib/host-packages/openai/openplanr/skills/plan/scripts/planning-ids.mjs +49 -3
  169. package/lib/host-packages/openai/openplanr/skills/share/SKILL.md +86 -0
  170. package/lib/host-packages/openai/openplanr/skills/share/agents/openai.yaml +6 -0
  171. package/lib/host-packages/openai/openplanr/skills/share/openplanr.skill.json +37 -0
  172. package/lib/host-packages/openai/openplanr/skills/share/references/connectors.md +62 -0
  173. package/lib/host-packages/openai/openplanr/skills/ship/SKILL.md +6 -3
  174. package/lib/host-packages/openai/openplanr/skills/ship/scripts/discover-verification.mjs +2 -1
  175. package/lib/host-packages/openai/openplanr/skills/sprint/SKILL.md +15 -6
  176. package/lib/host-packages/openai/openplanr/skills/sprint/openplanr.skill.json +11 -0
  177. package/lib/host-packages/openai/openplanr/skills/sprint/references/connectors.md +62 -0
  178. package/lib/host-packages/openai/openplanr/skills/sprint/references/tracker-connections.md +9 -13
  179. package/lib/host-packages/openai/openplanr/skills/status/SKILL.md +14 -3
  180. package/lib/host-packages/openai/openplanr/skills/status/openplanr.skill.json +11 -0
  181. package/lib/host-packages/openai/openplanr/skills/status/references/connectors.md +62 -0
  182. package/lib/host-packages/openai/openplanr/skills/status/references/tracker-connections.md +9 -13
  183. package/lib/host-packages/openai/openplanr/skills/sync/SKILL.md +25 -10
  184. package/lib/host-packages/openai/openplanr/skills/sync/openplanr.skill.json +11 -0
  185. package/lib/host-packages/openai/openplanr/skills/sync/references/connectors.md +62 -0
  186. package/lib/host-packages/openai/openplanr/skills/sync/references/tracker-connections.md +9 -13
  187. package/lib/json-schema.mjs +313 -36
  188. package/lib/schemas/v1.0.0/spec.schema.json +120 -0
  189. package/lib/schemas/v1.0.0/story.schema.json +95 -0
  190. package/lib/schemas/v1.0.0/task.schema.json +171 -0
  191. package/lib/schemas/v1.7.0/spec.schema.json +117 -0
  192. package/lib/schemas/v1.7.0/story.schema.json +107 -0
  193. package/lib/schemas/v1.7.0/task.schema.json +217 -0
  194. package/package.json +31 -31
  195. package/dist/dashboard/assets/index-n08LJ6bK.js +0 -557
  196. package/dist/dashboard/assets/index-n08LJ6bK.js.map +0 -1
  197. package/dist/services/audit-log-service.d.ts +0 -47
  198. package/dist/services/audit-log-service.d.ts.map +0 -1
  199. package/dist/services/audit-log-service.js +0 -211
  200. package/dist/services/audit-log-service.js.map +0 -1
  201. package/dist/services/delta-apply-service.d.ts +0 -16
  202. package/dist/services/delta-apply-service.d.ts.map +0 -1
  203. package/dist/services/delta-apply-service.js +0 -74
  204. package/dist/services/delta-apply-service.js.map +0 -1
  205. package/dist/services/evidence-verifier.d.ts +0 -71
  206. package/dist/services/evidence-verifier.d.ts.map +0 -1
  207. package/dist/services/evidence-verifier.js +0 -174
  208. package/dist/services/evidence-verifier.js.map +0 -1
  209. package/dist/services/revise-apply-service.d.ts +0 -55
  210. package/dist/services/revise-apply-service.d.ts.map +0 -1
  211. package/dist/services/revise-apply-service.js +0 -265
  212. package/dist/services/revise-apply-service.js.map +0 -1
  213. package/dist/services/revise-cache-service.d.ts +0 -46
  214. package/dist/services/revise-cache-service.d.ts.map +0 -1
  215. package/dist/services/revise-cache-service.js +0 -89
  216. package/dist/services/revise-cache-service.js.map +0 -1
  217. package/dist/services/revise-plan-service.d.ts +0 -38
  218. package/dist/services/revise-plan-service.d.ts.map +0 -1
  219. package/dist/services/revise-plan-service.js +0 -153
  220. package/dist/services/revise-plan-service.js.map +0 -1
  221. /package/lib/host-packages/claude/openplanr/runtime/design/scripts/{design-runtime-support-336900df0d39.mjs → design-runtime-support-e34c388a8e59.mjs} +0 -0
  222. /package/lib/host-packages/cursor/openplanr/runtime/design/scripts/{design-runtime-support-336900df0d39.mjs → design-runtime-support-e34c388a8e59.mjs} +0 -0
  223. /package/lib/host-packages/openai/openplanr/runtime/design/scripts/{design-runtime-support-336900df0d39.mjs → design-runtime-support-e34c388a8e59.mjs} +0 -0
@@ -84,6 +84,24 @@
84
84
  var instanceToUse = current.stateNode;
85
85
  break;
86
86
  case 30:
87
+ var instance = current.stateNode, name = getViewTransitionName(current.memoizedProps, instance);
88
+ if (null === instance.ref || instance.ref.name !== name)
89
+ instance.ref = createViewTransitionInstance(name);
90
+ instanceToUse = instance.ref;
91
+ break;
92
+ case 7:
93
+ if (null === current.stateNode) {
94
+ var fragmentInstance = new FragmentInstance(current);
95
+ traverseVisibleInstancesAndTextInstances(
96
+ current.child,
97
+ false,
98
+ addFragmentHandleToFiber,
99
+ fragmentInstance,
100
+ void 0,
101
+ void 0
102
+ );
103
+ current.stateNode = fragmentInstance;
104
+ }
87
105
  instanceToUse = current.stateNode;
88
106
  break;
89
107
  default:
@@ -109,11 +127,39 @@
109
127
  else if ("function" === typeof ref)
110
128
  try {
111
129
  ref(null);
112
- } catch (error$140) {
113
- captureCommitPhaseError(current, nearestMountedAncestor, error$140);
130
+ } catch (error$148) {
131
+ captureCommitPhaseError(current, nearestMountedAncestor, error$148);
114
132
  }
115
133
  else ref.current = null;
116
134
  }
135
+ function commitNewChildToFragmentInstances(fiber, parentFragmentInstances) {
136
+ if ((5 === fiber.tag || 27 === fiber.tag || 6 === fiber.tag) && null === fiber.alternate && null !== parentFragmentInstances)
137
+ for (var i = 0; i < parentFragmentInstances.length; i++)
138
+ commitNewChildToFragmentInstance(
139
+ fiber.stateNode,
140
+ parentFragmentInstances[i]
141
+ );
142
+ }
143
+ function commitFragmentInstanceInsertionEffects(fiber) {
144
+ for (var parent = fiber.return; null !== parent; ) {
145
+ isFragmentInstanceParent(parent) && commitNewChildToFragmentInstance(fiber.stateNode, parent.stateNode);
146
+ if (isFragmentInstanceHostBoundary(parent)) break;
147
+ parent = parent.return;
148
+ }
149
+ }
150
+ function commitFragmentInstanceDeletionEffects(fiber) {
151
+ for (var parent = fiber.return; null !== parent; ) {
152
+ isFragmentInstanceParent(parent) && deleteChildFromFragmentInstance(fiber.stateNode, parent.stateNode);
153
+ if (isFragmentInstanceHostBoundary(parent)) break;
154
+ parent = parent.return;
155
+ }
156
+ }
157
+ function isFragmentInstanceHostBoundary(fiber) {
158
+ return 5 === fiber.tag || 3 === fiber.tag || 27 === fiber.tag;
159
+ }
160
+ function isFragmentInstanceParent(fiber) {
161
+ return fiber && 7 === fiber.tag && null !== fiber.stateNode;
162
+ }
117
163
  function commitHostMount(finishedWork) {
118
164
  var type = finishedWork.type, props = finishedWork.memoizedProps, instance = finishedWork.stateNode;
119
165
  try {
@@ -159,21 +205,41 @@
159
205
  if (!(fiber.flags & 2)) return fiber.stateNode;
160
206
  }
161
207
  }
162
- function insertOrAppendPlacementNodeIntoContainer(node, before, parent) {
208
+ function insertOrAppendPlacementNodeIntoContainer(node, before, parent, parentFragmentInstances) {
163
209
  var tag = node.tag;
164
210
  if (5 === tag || 6 === tag)
165
- node = node.stateNode, before ? (9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent).insertBefore(node, before) : (before = 9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent, before.appendChild(node), parent = parent._reactRootContainer, null !== parent && void 0 !== parent || null !== before.onclick || (before.onclick = noop$1));
166
- else if (4 !== tag && (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode, before = null), node = node.child, null !== node))
167
- for (insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling; null !== node; )
168
- insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling;
211
+ tag = node.stateNode, before ? (9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent).insertBefore(tag, before) : (before = 9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent, before.appendChild(tag), parent = parent._reactRootContainer, null !== parent && void 0 !== parent || null !== before.onclick || (before.onclick = noop$1)), commitNewChildToFragmentInstances(node, parentFragmentInstances), viewTransitionMutationContext = true;
212
+ else if (4 !== tag && (27 === tag && (commitNewChildToFragmentInstances(node, parentFragmentInstances), parentFragmentInstances = null, isSingletonScope(node.type) && (parent = node.stateNode, before = null)), node = node.child, null !== node))
213
+ for (insertOrAppendPlacementNodeIntoContainer(
214
+ node,
215
+ before,
216
+ parent,
217
+ parentFragmentInstances
218
+ ), node = node.sibling; null !== node; )
219
+ insertOrAppendPlacementNodeIntoContainer(
220
+ node,
221
+ before,
222
+ parent,
223
+ parentFragmentInstances
224
+ ), node = node.sibling;
169
225
  }
170
- function insertOrAppendPlacementNode(node, before, parent) {
226
+ function insertOrAppendPlacementNode(node, before, parent, parentFragmentInstances) {
171
227
  var tag = node.tag;
172
228
  if (5 === tag || 6 === tag)
173
- node = node.stateNode, before ? parent.insertBefore(node, before) : parent.appendChild(node);
174
- else if (4 !== tag && (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode), node = node.child, null !== node))
175
- for (insertOrAppendPlacementNode(node, before, parent), node = node.sibling; null !== node; )
176
- insertOrAppendPlacementNode(node, before, parent), node = node.sibling;
229
+ tag = node.stateNode, before ? parent.insertBefore(tag, before) : parent.appendChild(tag), commitNewChildToFragmentInstances(node, parentFragmentInstances), viewTransitionMutationContext = true;
230
+ else if (4 !== tag && (27 === tag && (commitNewChildToFragmentInstances(node, parentFragmentInstances), parentFragmentInstances = null, isSingletonScope(node.type) && (parent = node.stateNode)), node = node.child, null !== node))
231
+ for (insertOrAppendPlacementNode(
232
+ node,
233
+ before,
234
+ parent,
235
+ parentFragmentInstances
236
+ ), node = node.sibling; null !== node; )
237
+ insertOrAppendPlacementNode(
238
+ node,
239
+ before,
240
+ parent,
241
+ parentFragmentInstances
242
+ ), node = node.sibling;
177
243
  }
178
244
  function commitHostSingletonAcquisition(finishedWork) {
179
245
  var singleton = finishedWork.stateNode, props = finishedWork.memoizedProps;
@@ -187,12 +253,276 @@
187
253
  captureCommitPhaseError(finishedWork, finishedWork.return, error);
188
254
  }
189
255
  }
256
+ var shouldStartViewTransition = false;
257
+ var appearingViewTransitions = null;
258
+ function trackEnterViewTransitions(placement) {
259
+ if (30 === placement.tag || 0 !== (placement.subtreeFlags & 33554432))
260
+ shouldStartViewTransition = true;
261
+ }
262
+ var viewTransitionCancelableChildren = null;
263
+ function pushViewTransitionCancelableScope() {
264
+ var prevChildren = viewTransitionCancelableChildren;
265
+ viewTransitionCancelableChildren = null;
266
+ return prevChildren;
267
+ }
268
+ var viewTransitionHostInstanceIdx = 0;
269
+ function applyViewTransitionToHostInstances(fiber, name, className, collectMeasurements, stopAtNestedViewTransitions) {
270
+ viewTransitionHostInstanceIdx = 0;
271
+ return applyViewTransitionToHostInstancesRecursive(
272
+ fiber.child,
273
+ name,
274
+ className,
275
+ collectMeasurements,
276
+ stopAtNestedViewTransitions
277
+ );
278
+ }
279
+ function applyViewTransitionToHostInstancesRecursive(child, name, className, collectMeasurements, stopAtNestedViewTransitions) {
280
+ for (var inViewport = false; null !== child; ) {
281
+ if (5 === child.tag) {
282
+ var instance = child.stateNode;
283
+ if (null !== collectMeasurements) {
284
+ var measurement = measureInstance(instance);
285
+ collectMeasurements.push(measurement);
286
+ measurement.view && (inViewport = true);
287
+ } else
288
+ inViewport || measureInstance(instance).view && (inViewport = true);
289
+ shouldStartViewTransition = true;
290
+ applyViewTransitionName(
291
+ instance,
292
+ 0 === viewTransitionHostInstanceIdx ? name : name + "_" + viewTransitionHostInstanceIdx,
293
+ className
294
+ );
295
+ viewTransitionHostInstanceIdx++;
296
+ } else if (22 !== child.tag || null === child.memoizedState)
297
+ 30 === child.tag && stopAtNestedViewTransitions || applyViewTransitionToHostInstancesRecursive(
298
+ child.child,
299
+ name,
300
+ className,
301
+ collectMeasurements,
302
+ stopAtNestedViewTransitions
303
+ ) && (inViewport = true);
304
+ child = child.sibling;
305
+ }
306
+ return inViewport;
307
+ }
308
+ function restoreViewTransitionOnHostInstances(child, stopAtNestedViewTransitions) {
309
+ for (; null !== child; ) {
310
+ if (5 === child.tag)
311
+ restoreViewTransitionName(child.stateNode, child.memoizedProps);
312
+ else if (22 !== child.tag || null === child.memoizedState)
313
+ 30 === child.tag && stopAtNestedViewTransitions || restoreViewTransitionOnHostInstances(
314
+ child.child,
315
+ stopAtNestedViewTransitions
316
+ );
317
+ child = child.sibling;
318
+ }
319
+ }
320
+ function commitAppearingPairViewTransitions(placement) {
321
+ if (0 !== (placement.subtreeFlags & 18874368))
322
+ for (placement = placement.child; null !== placement; ) {
323
+ if (22 !== placement.tag || null === placement.memoizedState) {
324
+ if (commitAppearingPairViewTransitions(placement), 30 === placement.tag && 0 !== (placement.flags & 18874368) && placement.stateNode.paired) {
325
+ var props = placement.memoizedProps;
326
+ if (null == props.name || "auto" === props.name)
327
+ throw Error(formatProdErrorMessage(544));
328
+ var name = props.name;
329
+ props = getViewTransitionClassName(props.default, props.share);
330
+ "none" !== props && (applyViewTransitionToHostInstances(
331
+ placement,
332
+ name,
333
+ props,
334
+ null,
335
+ false
336
+ ) || restoreViewTransitionOnHostInstances(placement.child, false));
337
+ }
338
+ }
339
+ placement = placement.sibling;
340
+ }
341
+ }
342
+ function commitEnterViewTransitions(placement, gesture) {
343
+ if (30 === placement.tag) {
344
+ var state = placement.stateNode, props = placement.memoizedProps, name = getViewTransitionName(props, state), className = getViewTransitionClassName(
345
+ props.default,
346
+ state.paired ? props.share : props.enter
347
+ );
348
+ "none" !== className ? applyViewTransitionToHostInstances(placement, name, className, null, false) ? (commitAppearingPairViewTransitions(placement), state.paired || gesture || scheduleViewTransitionEvent(placement, props.onEnter)) : restoreViewTransitionOnHostInstances(placement.child, false) : commitAppearingPairViewTransitions(placement);
349
+ } else if (0 !== (placement.subtreeFlags & 33554432))
350
+ for (placement = placement.child; null !== placement; )
351
+ commitEnterViewTransitions(placement, gesture), placement = placement.sibling;
352
+ else commitAppearingPairViewTransitions(placement);
353
+ }
354
+ function commitDeletedPairViewTransitions(deletion) {
355
+ if (null !== appearingViewTransitions && 0 !== appearingViewTransitions.size) {
356
+ var pairs = appearingViewTransitions;
357
+ if (0 !== (deletion.subtreeFlags & 18874368))
358
+ for (deletion = deletion.child; null !== deletion; ) {
359
+ if (22 !== deletion.tag || null === deletion.memoizedState) {
360
+ if (30 === deletion.tag && 0 !== (deletion.flags & 18874368)) {
361
+ var props = deletion.memoizedProps, name = props.name;
362
+ if (null != name && "auto" !== name) {
363
+ var pair = pairs.get(name);
364
+ if (void 0 !== pair) {
365
+ var className = getViewTransitionClassName(
366
+ props.default,
367
+ props.share
368
+ );
369
+ "none" !== className && (applyViewTransitionToHostInstances(
370
+ deletion,
371
+ name,
372
+ className,
373
+ null,
374
+ false
375
+ ) ? (className = deletion.stateNode, pair.paired = className, className.paired = pair, scheduleViewTransitionEvent(deletion, props.onShare)) : restoreViewTransitionOnHostInstances(deletion.child, false));
376
+ pairs.delete(name);
377
+ if (0 === pairs.size) break;
378
+ }
379
+ }
380
+ }
381
+ commitDeletedPairViewTransitions(deletion);
382
+ }
383
+ deletion = deletion.sibling;
384
+ }
385
+ }
386
+ }
387
+ function commitExitViewTransitions(deletion) {
388
+ if (30 === deletion.tag) {
389
+ var props = deletion.memoizedProps, name = getViewTransitionName(props, deletion.stateNode), pair = null !== appearingViewTransitions ? appearingViewTransitions.get(name) : void 0, className = getViewTransitionClassName(
390
+ props.default,
391
+ void 0 !== pair ? props.share : props.exit
392
+ );
393
+ "none" !== className && (applyViewTransitionToHostInstances(deletion, name, className, null, false) ? void 0 !== pair ? (className = deletion.stateNode, pair.paired = className, className.paired = pair, appearingViewTransitions.delete(name), scheduleViewTransitionEvent(deletion, props.onShare)) : scheduleViewTransitionEvent(deletion, props.onExit) : restoreViewTransitionOnHostInstances(deletion.child, false));
394
+ null !== appearingViewTransitions && commitDeletedPairViewTransitions(deletion);
395
+ } else if (0 !== (deletion.subtreeFlags & 33554432))
396
+ for (deletion = deletion.child; null !== deletion; )
397
+ commitExitViewTransitions(deletion), deletion = deletion.sibling;
398
+ else
399
+ null !== appearingViewTransitions && commitDeletedPairViewTransitions(deletion);
400
+ }
401
+ function commitNestedViewTransitions(changedParent) {
402
+ for (changedParent = changedParent.child; null !== changedParent; ) {
403
+ if (30 === changedParent.tag) {
404
+ var props = changedParent.memoizedProps, name = getViewTransitionName(props, changedParent.stateNode);
405
+ props = getViewTransitionClassName(props.default, props.update);
406
+ changedParent.flags &= -5;
407
+ "none" !== props && applyViewTransitionToHostInstances(
408
+ changedParent,
409
+ name,
410
+ props,
411
+ changedParent.memoizedState = [],
412
+ false
413
+ );
414
+ } else
415
+ 0 !== (changedParent.subtreeFlags & 33554432) && commitNestedViewTransitions(changedParent);
416
+ changedParent = changedParent.sibling;
417
+ }
418
+ }
419
+ function restorePairedViewTransitions(parent) {
420
+ if (0 !== (parent.subtreeFlags & 18874368))
421
+ for (parent = parent.child; null !== parent; ) {
422
+ if (22 !== parent.tag || null === parent.memoizedState) {
423
+ if (30 === parent.tag && 0 !== (parent.flags & 18874368)) {
424
+ var instance = parent.stateNode;
425
+ null !== instance.paired && (instance.paired = null, restoreViewTransitionOnHostInstances(parent.child, false));
426
+ }
427
+ restorePairedViewTransitions(parent);
428
+ }
429
+ parent = parent.sibling;
430
+ }
431
+ }
432
+ function restoreEnterOrExitViewTransitions(fiber) {
433
+ if (30 === fiber.tag)
434
+ fiber.stateNode.paired = null, restoreViewTransitionOnHostInstances(fiber.child, false), restorePairedViewTransitions(fiber);
435
+ else if (0 !== (fiber.subtreeFlags & 33554432))
436
+ for (fiber = fiber.child; null !== fiber; )
437
+ restoreEnterOrExitViewTransitions(fiber), fiber = fiber.sibling;
438
+ else restorePairedViewTransitions(fiber);
439
+ }
440
+ function restoreNestedViewTransitions(changedParent) {
441
+ for (changedParent = changedParent.child; null !== changedParent; )
442
+ 30 === changedParent.tag ? restoreViewTransitionOnHostInstances(changedParent.child, false) : 0 !== (changedParent.subtreeFlags & 33554432) && restoreNestedViewTransitions(changedParent), changedParent = changedParent.sibling;
443
+ }
444
+ function measureViewTransitionHostInstancesRecursive(parentViewTransition, child, newName, oldName, className, previousMeasurements, stopAtNestedViewTransitions) {
445
+ for (var inViewport = false; null !== child; ) {
446
+ if (5 === child.tag) {
447
+ var instance = child.stateNode;
448
+ if (null !== previousMeasurements && viewTransitionHostInstanceIdx < previousMeasurements.length) {
449
+ var previousMeasurement = previousMeasurements[viewTransitionHostInstanceIdx], nextMeasurement = measureInstance(instance);
450
+ if (previousMeasurement.view || nextMeasurement.view) inViewport = true;
451
+ var JSCompiler_temp;
452
+ if (JSCompiler_temp = 0 === (parentViewTransition.flags & 4))
453
+ if (nextMeasurement.clip) JSCompiler_temp = true;
454
+ else {
455
+ JSCompiler_temp = previousMeasurement.rect;
456
+ var newRect = nextMeasurement.rect;
457
+ JSCompiler_temp = JSCompiler_temp.y !== newRect.y || JSCompiler_temp.x !== newRect.x || JSCompiler_temp.height !== newRect.height || JSCompiler_temp.width !== newRect.width;
458
+ }
459
+ JSCompiler_temp && (parentViewTransition.flags |= 4);
460
+ nextMeasurement.abs ? nextMeasurement = !previousMeasurement.abs : (previousMeasurement = previousMeasurement.rect, nextMeasurement = nextMeasurement.rect, nextMeasurement = previousMeasurement.height !== nextMeasurement.height || previousMeasurement.width !== nextMeasurement.width);
461
+ nextMeasurement && (parentViewTransition.flags |= 32);
462
+ } else parentViewTransition.flags |= 32;
463
+ 0 !== (parentViewTransition.flags & 4) && applyViewTransitionName(
464
+ instance,
465
+ 0 === viewTransitionHostInstanceIdx ? newName : newName + "_" + viewTransitionHostInstanceIdx,
466
+ className
467
+ );
468
+ inViewport && 0 !== (parentViewTransition.flags & 4) || (null === viewTransitionCancelableChildren && (viewTransitionCancelableChildren = []), viewTransitionCancelableChildren.push(
469
+ instance,
470
+ 0 === viewTransitionHostInstanceIdx ? oldName : oldName + "_" + viewTransitionHostInstanceIdx,
471
+ child.memoizedProps
472
+ ));
473
+ viewTransitionHostInstanceIdx++;
474
+ } else if (22 !== child.tag || null === child.memoizedState)
475
+ 30 === child.tag && stopAtNestedViewTransitions ? parentViewTransition.flags |= child.flags & 32 : measureViewTransitionHostInstancesRecursive(
476
+ parentViewTransition,
477
+ child.child,
478
+ newName,
479
+ oldName,
480
+ className,
481
+ previousMeasurements,
482
+ stopAtNestedViewTransitions
483
+ ) && (inViewport = true);
484
+ child = child.sibling;
485
+ }
486
+ return inViewport;
487
+ }
488
+ function measureNestedViewTransitions(changedParent, gesture) {
489
+ for (changedParent = changedParent.child; null !== changedParent; ) {
490
+ if (30 === changedParent.tag) {
491
+ var props = changedParent.memoizedProps, state = changedParent.stateNode, name = getViewTransitionName(props, state), className = getViewTransitionClassName(props.default, props.update);
492
+ if (gesture) {
493
+ state = state.clones;
494
+ var previousMeasurements = null === state ? null : state.map(measureClonedInstance);
495
+ } else
496
+ previousMeasurements = changedParent.memoizedState, changedParent.memoizedState = null;
497
+ state = changedParent;
498
+ var child = changedParent.child;
499
+ viewTransitionHostInstanceIdx = 0;
500
+ name = measureViewTransitionHostInstancesRecursive(
501
+ state,
502
+ child,
503
+ name,
504
+ name,
505
+ className,
506
+ previousMeasurements,
507
+ false
508
+ );
509
+ 0 !== (changedParent.flags & 4) && name && (gesture || scheduleViewTransitionEvent(changedParent, props.onUpdate));
510
+ } else
511
+ 0 !== (changedParent.subtreeFlags & 33554432) && measureNestedViewTransitions(changedParent, gesture);
512
+ changedParent = changedParent.sibling;
513
+ }
514
+ }
190
515
  var offscreenSubtreeIsHidden = false;
191
516
  var offscreenSubtreeWasHidden = false;
517
+ var offscreenDirectParentIsHidden = false;
192
518
  var needsFormReset = false;
193
519
  var PossiblyWeakSet = "function" === typeof WeakSet ? WeakSet : Set;
194
520
  var nextEffect = null;
195
- function commitBeforeMutationEffects(root2, firstChild) {
521
+ var viewTransitionContextChanged = false;
522
+ var inUpdateViewTransition = false;
523
+ var rootViewTransitionAffected = false;
524
+ var rootViewTransitionNameCanceled = false;
525
+ function commitBeforeMutationEffects(root2, firstChild, committedLanes) {
196
526
  root2 = root2.containerInfo;
197
527
  eventsEnabled = _enabled;
198
528
  root2 = getActiveElementDeep(root2);
@@ -212,7 +542,7 @@
212
542
  selection = selection.focusOffset;
213
543
  try {
214
544
  JSCompiler_temp.nodeType, focusNode.nodeType;
215
- } catch (e$20) {
545
+ } catch (e$21) {
216
546
  JSCompiler_temp = null;
217
547
  break a;
218
548
  }
@@ -243,83 +573,108 @@
243
573
  } else JSCompiler_temp = null;
244
574
  selectionInformation = { focusedElem: root2, selectionRange: JSCompiler_temp };
245
575
  _enabled = false;
246
- for (nextEffect = firstChild; null !== nextEffect; )
247
- if (firstChild = nextEffect, root2 = firstChild.child, 0 !== (firstChild.subtreeFlags & 1028) && null !== root2)
248
- root2.return = firstChild, nextEffect = root2;
249
- else
250
- for (; null !== nextEffect; ) {
251
- firstChild = nextEffect;
252
- focusNode = firstChild.alternate;
253
- root2 = firstChild.flags;
254
- switch (firstChild.tag) {
255
- case 0:
256
- if (0 !== (root2 & 4) && (root2 = firstChild.updateQueue, root2 = null !== root2 ? root2.events : null, null !== root2))
257
- for (JSCompiler_temp = 0; JSCompiler_temp < root2.length; JSCompiler_temp++)
258
- anchorOffset = root2[JSCompiler_temp], anchorOffset.ref.impl = anchorOffset.nextImpl;
259
- break;
260
- case 11:
261
- case 15:
262
- break;
263
- case 1:
264
- if (0 !== (root2 & 1024) && null !== focusNode) {
265
- root2 = void 0;
266
- JSCompiler_temp = firstChild;
267
- anchorOffset = focusNode.memoizedProps;
268
- focusNode = focusNode.memoizedState;
269
- selection = JSCompiler_temp.stateNode;
270
- try {
271
- var resolvedPrevProps = resolveClassComponentProps(
272
- JSCompiler_temp.type,
273
- anchorOffset
274
- );
275
- root2 = selection.getSnapshotBeforeUpdate(
276
- resolvedPrevProps,
277
- focusNode
278
- );
279
- selection.__reactInternalSnapshotBeforeUpdate = root2;
280
- } catch (error) {
281
- captureCommitPhaseError(
282
- JSCompiler_temp,
283
- JSCompiler_temp.return,
284
- error
285
- );
286
- }
287
- }
288
- break;
289
- case 3:
290
- if (0 !== (root2 & 1024)) {
291
- if (root2 = firstChild.stateNode.containerInfo, JSCompiler_temp = root2.nodeType, 9 === JSCompiler_temp)
292
- clearContainerSparingly(root2);
293
- else if (1 === JSCompiler_temp)
294
- switch (root2.nodeName) {
295
- case "HEAD":
296
- case "HTML":
297
- case "BODY":
298
- clearContainerSparingly(root2);
299
- break;
300
- default:
301
- root2.textContent = "";
302
- }
303
- }
304
- break;
305
- case 5:
306
- case 26:
307
- case 27:
308
- case 6:
309
- case 4:
310
- case 17:
311
- break;
312
- default:
313
- if (0 !== (root2 & 1024)) throw Error(formatProdErrorMessage(163));
314
- }
315
- root2 = firstChild.sibling;
316
- if (null !== root2) {
317
- root2.return = firstChild.return;
318
- nextEffect = root2;
319
- break;
576
+ committedLanes = (committedLanes & 335544064) === committedLanes;
577
+ nextEffect = firstChild;
578
+ for (firstChild = committedLanes ? 9270 : 1024; null !== nextEffect; ) {
579
+ root2 = nextEffect;
580
+ if (committedLanes && (JSCompiler_temp = root2.deletions, null !== JSCompiler_temp))
581
+ for (anchorOffset = 0; anchorOffset < JSCompiler_temp.length; anchorOffset++)
582
+ committedLanes && commitExitViewTransitions(JSCompiler_temp[anchorOffset]);
583
+ if (null === root2.alternate && 0 !== (root2.flags & 2))
584
+ committedLanes && trackEnterViewTransitions(root2), commitBeforeMutationEffects_complete(committedLanes);
585
+ else {
586
+ if (22 === root2.tag) {
587
+ if (JSCompiler_temp = root2.alternate, null !== root2.memoizedState) {
588
+ null !== JSCompiler_temp && null === JSCompiler_temp.memoizedState && committedLanes && commitExitViewTransitions(JSCompiler_temp);
589
+ commitBeforeMutationEffects_complete(committedLanes);
590
+ continue;
591
+ } else if (null !== JSCompiler_temp && null !== JSCompiler_temp.memoizedState) {
592
+ committedLanes && trackEnterViewTransitions(root2);
593
+ commitBeforeMutationEffects_complete(committedLanes);
594
+ continue;
320
595
  }
321
- nextEffect = firstChild.return;
322
596
  }
597
+ JSCompiler_temp = root2.child;
598
+ 0 !== (root2.subtreeFlags & firstChild) && null !== JSCompiler_temp ? (JSCompiler_temp.return = root2, nextEffect = JSCompiler_temp) : (committedLanes && commitNestedViewTransitions(root2), commitBeforeMutationEffects_complete(committedLanes));
599
+ }
600
+ }
601
+ appearingViewTransitions = null;
602
+ }
603
+ function commitBeforeMutationEffects_complete(isViewTransitionEligible$jscomp$0) {
604
+ for (; null !== nextEffect; ) {
605
+ var fiber = nextEffect, isViewTransitionEligible = isViewTransitionEligible$jscomp$0, current = fiber.alternate, flags = fiber.flags;
606
+ switch (fiber.tag) {
607
+ case 0:
608
+ case 11:
609
+ case 15:
610
+ break;
611
+ case 1:
612
+ if (0 !== (flags & 1024) && null !== current) {
613
+ isViewTransitionEligible = void 0;
614
+ flags = current.memoizedProps;
615
+ current = current.memoizedState;
616
+ var instance = fiber.stateNode;
617
+ try {
618
+ var resolvedPrevProps = resolveClassComponentProps(
619
+ fiber.type,
620
+ flags
621
+ );
622
+ isViewTransitionEligible = instance.getSnapshotBeforeUpdate(
623
+ resolvedPrevProps,
624
+ current
625
+ );
626
+ instance.__reactInternalSnapshotBeforeUpdate = isViewTransitionEligible;
627
+ } catch (error) {
628
+ captureCommitPhaseError(fiber, fiber.return, error);
629
+ }
630
+ }
631
+ break;
632
+ case 3:
633
+ if (0 !== (flags & 1024)) {
634
+ if (current = fiber.stateNode.containerInfo, isViewTransitionEligible = current.nodeType, 9 === isViewTransitionEligible)
635
+ clearContainerSparingly(current);
636
+ else if (1 === isViewTransitionEligible)
637
+ switch (current.nodeName) {
638
+ case "HEAD":
639
+ case "HTML":
640
+ case "BODY":
641
+ clearContainerSparingly(current);
642
+ break;
643
+ default:
644
+ current.textContent = "";
645
+ }
646
+ }
647
+ break;
648
+ case 5:
649
+ case 26:
650
+ case 27:
651
+ case 6:
652
+ case 4:
653
+ case 17:
654
+ break;
655
+ case 30:
656
+ isViewTransitionEligible && null !== current && (isViewTransitionEligible = getViewTransitionName(
657
+ current.memoizedProps,
658
+ current.stateNode
659
+ ), flags = fiber.memoizedProps, flags = getViewTransitionClassName(flags.default, flags.update), "none" !== flags && applyViewTransitionToHostInstances(
660
+ current,
661
+ isViewTransitionEligible,
662
+ flags,
663
+ current.memoizedState = [],
664
+ true
665
+ ));
666
+ break;
667
+ default:
668
+ if (0 !== (flags & 1024)) throw Error(formatProdErrorMessage(163));
669
+ }
670
+ current = fiber.sibling;
671
+ if (null !== current) {
672
+ current.return = fiber.return;
673
+ nextEffect = current;
674
+ break;
675
+ }
676
+ nextEffect = fiber.return;
677
+ }
323
678
  }
324
679
  function commitLayoutEffectOnFiber(finishedRoot, current, finishedWork) {
325
680
  var flags = finishedWork.flags;
@@ -351,11 +706,11 @@
351
706
  current,
352
707
  finishedRoot.__reactInternalSnapshotBeforeUpdate
353
708
  );
354
- } catch (error$139) {
709
+ } catch (error$146) {
355
710
  captureCommitPhaseError(
356
711
  finishedWork,
357
712
  finishedWork.return,
358
- error$139
713
+ error$146
359
714
  );
360
715
  }
361
716
  }
@@ -408,25 +763,93 @@
408
763
  case 22:
409
764
  flags = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden;
410
765
  if (!flags) {
411
- current = null !== current && null !== current.memoizedState || offscreenSubtreeWasHidden;
412
- prevProps = offscreenSubtreeIsHidden;
413
- var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;
766
+ var newOffscreenSubtreeWasHidden = null !== current && null !== current.memoizedState || offscreenSubtreeWasHidden;
767
+ current = offscreenSubtreeIsHidden;
768
+ prevProps = offscreenSubtreeWasHidden;
414
769
  offscreenSubtreeIsHidden = flags;
415
- (offscreenSubtreeWasHidden = current) && !prevOffscreenSubtreeWasHidden ? recursivelyTraverseReappearLayoutEffects(
770
+ (offscreenSubtreeWasHidden = newOffscreenSubtreeWasHidden) && !prevProps ? (flags = 2, 0 !== (finishedWork.subtreeFlags & 8772) && (flags |= 1), recursivelyTraverseReappearLayoutEffects(
416
771
  finishedRoot,
417
772
  finishedWork,
418
- 0 !== (finishedWork.subtreeFlags & 8772)
419
- ) : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
420
- offscreenSubtreeIsHidden = prevProps;
421
- offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;
773
+ flags
774
+ )) : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
775
+ offscreenSubtreeIsHidden = current;
776
+ offscreenSubtreeWasHidden = prevProps;
422
777
  }
423
778
  break;
424
779
  case 30:
780
+ recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
781
+ flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);
425
782
  break;
783
+ case 7:
784
+ flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);
426
785
  default:
427
786
  recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
428
787
  }
429
788
  }
789
+ function hideOrUnhideAllChildren(parentFiber, isHidden2) {
790
+ for (parentFiber = parentFiber.child; null !== parentFiber; )
791
+ hideOrUnhideAllChildrenOnFiber(parentFiber, isHidden2), parentFiber = parentFiber.sibling;
792
+ }
793
+ function hideOrUnhideAllChildrenOnFiber(fiber, isHidden2) {
794
+ switch (fiber.tag) {
795
+ case 5:
796
+ case 26:
797
+ try {
798
+ var instance = fiber.stateNode;
799
+ if (isHidden2) {
800
+ var style2 = instance.style;
801
+ "function" === typeof style2.setProperty ? style2.setProperty("display", "none", "important") : style2.display = "none";
802
+ } else {
803
+ var instance$jscomp$0 = fiber.stateNode, styleProp = fiber.memoizedProps.style, display = void 0 !== styleProp && null !== styleProp && styleProp.hasOwnProperty("display") ? styleProp.display : null;
804
+ instance$jscomp$0.style.display = null == display || "boolean" === typeof display ? "" : ("" + display).trim();
805
+ }
806
+ } catch (error) {
807
+ captureCommitPhaseError(fiber, fiber.return, error);
808
+ }
809
+ hideOrUnhideNearestPortals(fiber, isHidden2);
810
+ break;
811
+ case 6:
812
+ try {
813
+ fiber.stateNode.nodeValue = isHidden2 ? "" : fiber.memoizedProps, viewTransitionMutationContext = true;
814
+ } catch (error) {
815
+ captureCommitPhaseError(fiber, fiber.return, error);
816
+ }
817
+ break;
818
+ case 18:
819
+ try {
820
+ var instance$jscomp$1 = fiber.stateNode;
821
+ isHidden2 ? hideOrUnhideDehydratedBoundary(instance$jscomp$1, true) : hideOrUnhideDehydratedBoundary(fiber.stateNode, false);
822
+ } catch (error) {
823
+ captureCommitPhaseError(fiber, fiber.return, error);
824
+ }
825
+ break;
826
+ case 22:
827
+ case 23:
828
+ null === fiber.memoizedState && hideOrUnhideAllChildren(fiber, isHidden2);
829
+ break;
830
+ default:
831
+ hideOrUnhideAllChildren(fiber, isHidden2);
832
+ }
833
+ }
834
+ function hideOrUnhideNearestPortals(parentFiber, isHidden$jscomp$0) {
835
+ if (parentFiber.subtreeFlags & 67108864)
836
+ for (parentFiber = parentFiber.child; null !== parentFiber; ) {
837
+ a: {
838
+ var fiber = parentFiber, isHidden2 = isHidden$jscomp$0;
839
+ switch (fiber.tag) {
840
+ case 4:
841
+ hideOrUnhideAllChildrenOnFiber(fiber, isHidden2);
842
+ break a;
843
+ case 22:
844
+ null === fiber.memoizedState && hideOrUnhideNearestPortals(fiber, isHidden2);
845
+ break a;
846
+ default:
847
+ hideOrUnhideNearestPortals(fiber, isHidden2);
848
+ }
849
+ }
850
+ parentFiber = parentFiber.sibling;
851
+ }
852
+ }
430
853
  function detachFiberAfterEffects(fiber) {
431
854
  var alternate = fiber.alternate;
432
855
  null !== alternate && (fiber.alternate = null, detachFiberAfterEffects(alternate));
@@ -463,10 +886,11 @@
463
886
  nearestMountedAncestor,
464
887
  deletedFiber
465
888
  );
466
- deletedFiber.memoizedState ? deletedFiber.memoizedState.count-- : deletedFiber.stateNode && (deletedFiber = deletedFiber.stateNode, deletedFiber.parentNode.removeChild(deletedFiber));
889
+ deletedFiber.memoizedState ? deletedFiber.memoizedState.count-- : deletedFiber.stateNode && !offscreenSubtreeWasHidden && (deletedFiber = deletedFiber.stateNode, deletedFiber.parentNode.removeChild(deletedFiber));
467
890
  break;
468
891
  case 27:
469
892
  offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
893
+ commitFragmentInstanceDeletionEffects(deletedFiber);
470
894
  var prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer;
471
895
  isSingletonScope(deletedFiber.type) && (hostParent = deletedFiber.stateNode, hostParentIsContainer = false);
472
896
  recursivelyTraverseDeletionEffects(
@@ -474,13 +898,18 @@
474
898
  nearestMountedAncestor,
475
899
  deletedFiber
476
900
  );
477
- releaseSingletonInstance(deletedFiber.stateNode);
901
+ releaseSingletonInstance(
902
+ deletedFiber.stateNode,
903
+ deletedFiber.type,
904
+ deletedFiber.memoizedProps
905
+ );
478
906
  hostParent = prevHostParent;
479
907
  hostParentIsContainer = prevHostParentIsContainer;
480
908
  break;
481
909
  case 5:
482
- offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
910
+ offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor), commitFragmentInstanceDeletionEffects(deletedFiber);
483
911
  case 6:
912
+ 6 === deletedFiber.tag && commitFragmentInstanceDeletionEffects(deletedFiber);
484
913
  prevHostParent = hostParent;
485
914
  prevHostParentIsContainer = hostParentIsContainer;
486
915
  hostParent = null;
@@ -494,7 +923,7 @@
494
923
  if (null !== hostParent)
495
924
  if (hostParentIsContainer)
496
925
  try {
497
- (9 === hostParent.nodeType ? hostParent.body : "HTML" === hostParent.nodeName ? hostParent.ownerDocument.body : hostParent).removeChild(deletedFiber.stateNode);
926
+ (9 === hostParent.nodeType ? hostParent.body : "HTML" === hostParent.nodeName ? hostParent.ownerDocument.body : hostParent).removeChild(deletedFiber.stateNode), viewTransitionMutationContext = true;
498
927
  } catch (error) {
499
928
  captureCommitPhaseError(
500
929
  deletedFiber,
@@ -504,7 +933,7 @@
504
933
  }
505
934
  else
506
935
  try {
507
- hostParent.removeChild(deletedFiber.stateNode);
936
+ hostParent.removeChild(deletedFiber.stateNode), viewTransitionMutationContext = true;
508
937
  } catch (error) {
509
938
  captureCommitPhaseError(
510
939
  deletedFiber,
@@ -572,6 +1001,22 @@
572
1001
  );
573
1002
  offscreenSubtreeWasHidden = prevHostParent;
574
1003
  break;
1004
+ case 30:
1005
+ safelyDetachRef(deletedFiber, nearestMountedAncestor);
1006
+ recursivelyTraverseDeletionEffects(
1007
+ finishedRoot,
1008
+ nearestMountedAncestor,
1009
+ deletedFiber
1010
+ );
1011
+ break;
1012
+ case 7:
1013
+ offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
1014
+ recursivelyTraverseDeletionEffects(
1015
+ finishedRoot,
1016
+ nearestMountedAncestor,
1017
+ deletedFiber
1018
+ );
1019
+ break;
575
1020
  default:
576
1021
  recursivelyTraverseDeletionEffects(
577
1022
  finishedRoot,
@@ -622,7 +1067,7 @@
622
1067
  }
623
1068
  });
624
1069
  }
625
- function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) {
1070
+ function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber, lanes) {
626
1071
  var deletions = parentFiber.deletions;
627
1072
  if (null !== deletions)
628
1073
  for (var i = 0; i < deletions.length; i++) {
@@ -658,125 +1103,123 @@
658
1103
  }
659
1104
  if (parentFiber.subtreeFlags & 13886)
660
1105
  for (parentFiber = parentFiber.child; null !== parentFiber; )
661
- commitMutationEffectsOnFiber(parentFiber, root$jscomp$0), parentFiber = parentFiber.sibling;
1106
+ commitMutationEffectsOnFiber(parentFiber, root$jscomp$0, lanes), parentFiber = parentFiber.sibling;
662
1107
  }
663
1108
  var currentHoistableRoot = null;
664
- function commitMutationEffectsOnFiber(finishedWork, root2) {
1109
+ function commitMutationEffectsOnFiber(finishedWork, root2, lanes) {
665
1110
  var current = finishedWork.alternate, flags = finishedWork.flags;
666
1111
  switch (finishedWork.tag) {
667
1112
  case 0:
668
1113
  case 11:
669
1114
  case 14:
670
1115
  case 15:
671
- recursivelyTraverseMutationEffects(root2, finishedWork);
1116
+ if (flags & 4 && (current = finishedWork.updateQueue, current = null !== current ? current.events : null, null !== current))
1117
+ for (var ii = 0; ii < current.length; ii++) {
1118
+ var _eventPayloads$ii2 = current[ii];
1119
+ _eventPayloads$ii2.ref.impl = _eventPayloads$ii2.nextImpl;
1120
+ }
1121
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
672
1122
  commitReconciliationEffects(finishedWork);
673
1123
  flags & 4 && (commitHookEffectListUnmount(3, finishedWork, finishedWork.return), commitHookEffectListMount(3, finishedWork), commitHookEffectListUnmount(5, finishedWork, finishedWork.return));
674
1124
  break;
675
1125
  case 1:
676
- recursivelyTraverseMutationEffects(root2, finishedWork);
1126
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
677
1127
  commitReconciliationEffects(finishedWork);
678
1128
  flags & 512 && (offscreenSubtreeWasHidden || null === current || safelyDetachRef(current, current.return));
679
- flags & 64 && offscreenSubtreeIsHidden && (finishedWork = finishedWork.updateQueue, null !== finishedWork && (flags = finishedWork.callbacks, null !== flags && (current = finishedWork.shared.hiddenCallbacks, finishedWork.shared.hiddenCallbacks = null === current ? flags : current.concat(flags))));
1129
+ flags & 64 && offscreenSubtreeIsHidden && (finishedWork = finishedWork.updateQueue, null !== finishedWork && (root2 = finishedWork.callbacks, null !== root2 && (lanes = finishedWork.shared.hiddenCallbacks, finishedWork.shared.hiddenCallbacks = null === lanes ? root2 : lanes.concat(root2))));
680
1130
  break;
681
1131
  case 26:
682
- var hoistableRoot = currentHoistableRoot;
683
- recursivelyTraverseMutationEffects(root2, finishedWork);
1132
+ ii = currentHoistableRoot;
1133
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
684
1134
  commitReconciliationEffects(finishedWork);
685
1135
  flags & 512 && (offscreenSubtreeWasHidden || null === current || safelyDetachRef(current, current.return));
686
- if (flags & 4) {
687
- var currentResource = null !== current ? current.memoizedState : null;
688
- flags = finishedWork.memoizedState;
689
- if (null === current)
690
- if (null === flags)
691
- if (null === finishedWork.stateNode) {
692
- a: {
693
- flags = finishedWork.type;
694
- current = finishedWork.memoizedProps;
695
- hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;
696
- b: switch (flags) {
697
- case "title":
698
- currentResource = hoistableRoot.getElementsByTagName("title")[0];
699
- if (!currentResource || currentResource[internalHoistableMarker] || currentResource[internalInstanceKey] || "http://www.w3.org/2000/svg" === currentResource.namespaceURI || currentResource.hasAttribute("itemprop"))
700
- currentResource = hoistableRoot.createElement(flags), hoistableRoot.head.insertBefore(
701
- currentResource,
702
- hoistableRoot.querySelector("head > title")
703
- );
704
- setInitialProperties(currentResource, flags, current);
705
- currentResource[internalInstanceKey] = finishedWork;
706
- markNodeAsHoistable(currentResource);
707
- flags = currentResource;
708
- break a;
709
- case "link":
710
- var maybeNodes = getHydratableHoistableCache(
711
- "link",
712
- "href",
713
- hoistableRoot
714
- ).get(flags + (current.href || ""));
715
- if (maybeNodes) {
716
- for (var i = 0; i < maybeNodes.length; i++)
717
- if (currentResource = maybeNodes[i], currentResource.getAttribute("href") === (null == current.href || "" === current.href ? null : current.href) && currentResource.getAttribute("rel") === (null == current.rel ? null : current.rel) && currentResource.getAttribute("title") === (null == current.title ? null : current.title) && currentResource.getAttribute("crossorigin") === (null == current.crossOrigin ? null : current.crossOrigin)) {
718
- maybeNodes.splice(i, 1);
719
- break b;
720
- }
721
- }
722
- currentResource = hoistableRoot.createElement(flags);
723
- setInitialProperties(currentResource, flags, current);
724
- hoistableRoot.head.appendChild(currentResource);
725
- break;
726
- case "meta":
727
- if (maybeNodes = getHydratableHoistableCache(
728
- "meta",
729
- "content",
730
- hoistableRoot
731
- ).get(flags + (current.content || ""))) {
732
- for (i = 0; i < maybeNodes.length; i++)
733
- if (currentResource = maybeNodes[i], currentResource.getAttribute("content") === (null == current.content ? null : "" + current.content) && currentResource.getAttribute("name") === (null == current.name ? null : current.name) && currentResource.getAttribute("property") === (null == current.property ? null : current.property) && currentResource.getAttribute("http-equiv") === (null == current.httpEquiv ? null : current.httpEquiv) && currentResource.getAttribute("charset") === (null == current.charSet ? null : current.charSet)) {
734
- maybeNodes.splice(i, 1);
735
- break b;
736
- }
737
- }
738
- currentResource = hoistableRoot.createElement(flags);
739
- setInitialProperties(currentResource, flags, current);
740
- hoistableRoot.head.appendChild(currentResource);
741
- break;
742
- default:
743
- throw Error(formatProdErrorMessage(468, flags));
1136
+ if (flags & 4)
1137
+ if (flags = null !== current ? current.memoizedState : null, lanes = finishedWork.memoizedState, null === current)
1138
+ if (null === lanes)
1139
+ if (null === finishedWork.stateNode)
1140
+ if (offscreenSubtreeIsHidden)
1141
+ finishedWork.stateNode = createHoistableInstance(
1142
+ finishedWork.type,
1143
+ finishedWork.memoizedProps,
1144
+ root2.containerInfo,
1145
+ finishedWork
1146
+ );
1147
+ else {
1148
+ a: {
1149
+ root2 = finishedWork.type;
1150
+ lanes = finishedWork.memoizedProps;
1151
+ flags = ii.ownerDocument || ii;
1152
+ b: switch (root2) {
1153
+ case "title":
1154
+ current = flags.getElementsByTagName("title")[0];
1155
+ if (!current || current[internalHoistableMarker] || current[internalInstanceKey] || "http://www.w3.org/2000/svg" === current.namespaceURI || current.hasAttribute("itemprop"))
1156
+ current = flags.createElement(root2), flags.head.insertBefore(
1157
+ current,
1158
+ flags.querySelector("head > title")
1159
+ );
1160
+ setInitialProperties(current, root2, lanes);
1161
+ current[internalInstanceKey] = finishedWork;
1162
+ markNodeAsHoistable(current);
1163
+ root2 = current;
1164
+ break a;
1165
+ case "link":
1166
+ if (ii = getHydratableHoistableCache(
1167
+ "link",
1168
+ "href",
1169
+ flags
1170
+ ).get(root2 + (lanes.href || ""))) {
1171
+ for (_eventPayloads$ii2 = 0; _eventPayloads$ii2 < ii.length; _eventPayloads$ii2++)
1172
+ if (current = ii[_eventPayloads$ii2], current.getAttribute("href") === (null == lanes.href || "" === lanes.href ? null : lanes.href) && current.getAttribute("rel") === (null == lanes.rel ? null : lanes.rel) && current.getAttribute("title") === (null == lanes.title ? null : lanes.title) && current.getAttribute("crossorigin") === (null == lanes.crossOrigin ? null : lanes.crossOrigin)) {
1173
+ ii.splice(_eventPayloads$ii2, 1);
1174
+ break b;
1175
+ }
1176
+ }
1177
+ current = flags.createElement(root2);
1178
+ setInitialProperties(current, root2, lanes);
1179
+ flags.head.appendChild(current);
1180
+ break;
1181
+ case "meta":
1182
+ if (ii = getHydratableHoistableCache(
1183
+ "meta",
1184
+ "content",
1185
+ flags
1186
+ ).get(root2 + (lanes.content || ""))) {
1187
+ for (_eventPayloads$ii2 = 0; _eventPayloads$ii2 < ii.length; _eventPayloads$ii2++)
1188
+ if (current = ii[_eventPayloads$ii2], current.getAttribute("content") === (null == lanes.content ? null : "" + lanes.content) && current.getAttribute("name") === (null == lanes.name ? null : lanes.name) && current.getAttribute("property") === (null == lanes.property ? null : lanes.property) && current.getAttribute("http-equiv") === (null == lanes.httpEquiv ? null : lanes.httpEquiv) && current.getAttribute("charset") === (null == lanes.charSet ? null : lanes.charSet)) {
1189
+ ii.splice(_eventPayloads$ii2, 1);
1190
+ break b;
1191
+ }
1192
+ }
1193
+ current = flags.createElement(root2);
1194
+ setInitialProperties(current, root2, lanes);
1195
+ flags.head.appendChild(current);
1196
+ break;
1197
+ default:
1198
+ throw Error(formatProdErrorMessage(468, root2));
1199
+ }
1200
+ current[internalInstanceKey] = finishedWork;
1201
+ markNodeAsHoistable(current);
1202
+ root2 = current;
744
1203
  }
745
- currentResource[internalInstanceKey] = finishedWork;
746
- markNodeAsHoistable(currentResource);
747
- flags = currentResource;
1204
+ finishedWork.stateNode = root2;
748
1205
  }
749
- finishedWork.stateNode = flags;
750
- } else
751
- mountHoistable(
752
- hoistableRoot,
753
- finishedWork.type,
754
- finishedWork.stateNode
755
- );
1206
+ else
1207
+ offscreenSubtreeIsHidden || mountHoistable(ii, finishedWork.type, finishedWork.stateNode);
756
1208
  else
757
1209
  finishedWork.stateNode = acquireResource(
758
- hoistableRoot,
759
- flags,
1210
+ ii,
1211
+ lanes,
760
1212
  finishedWork.memoizedProps
761
1213
  );
762
1214
  else
763
- currentResource !== flags ? (null === currentResource ? null !== current.stateNode && (current = current.stateNode, current.parentNode.removeChild(current)) : currentResource.count--, null === flags ? mountHoistable(
764
- hoistableRoot,
765
- finishedWork.type,
766
- finishedWork.stateNode
767
- ) : acquireResource(
768
- hoistableRoot,
769
- flags,
770
- finishedWork.memoizedProps
771
- )) : null === flags && null !== finishedWork.stateNode && commitHostUpdate(
1215
+ flags !== lanes ? (null === flags ? (root2 = current.stateNode, null === root2 || offscreenSubtreeWasHidden || root2.parentNode.removeChild(root2)) : flags.count--, null === lanes ? offscreenSubtreeIsHidden || mountHoistable(ii, finishedWork.type, finishedWork.stateNode) : acquireResource(ii, lanes, finishedWork.memoizedProps)) : null === lanes && null !== finishedWork.stateNode && commitHostUpdate(
772
1216
  finishedWork,
773
1217
  finishedWork.memoizedProps,
774
1218
  current.memoizedProps
775
1219
  );
776
- }
777
1220
  break;
778
1221
  case 27:
779
- recursivelyTraverseMutationEffects(root2, finishedWork);
1222
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
780
1223
  commitReconciliationEffects(finishedWork);
781
1224
  flags & 512 && (offscreenSubtreeWasHidden || null === current || safelyDetachRef(current, current.return));
782
1225
  null !== current && flags & 4 && commitHostUpdate(
@@ -786,45 +1229,49 @@
786
1229
  );
787
1230
  break;
788
1231
  case 5:
789
- recursivelyTraverseMutationEffects(root2, finishedWork);
1232
+ ii = offscreenDirectParentIsHidden;
1233
+ offscreenDirectParentIsHidden = false;
1234
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
1235
+ offscreenDirectParentIsHidden = ii;
790
1236
  commitReconciliationEffects(finishedWork);
791
1237
  flags & 512 && (offscreenSubtreeWasHidden || null === current || safelyDetachRef(current, current.return));
792
1238
  if (finishedWork.flags & 32) {
793
- hoistableRoot = finishedWork.stateNode;
1239
+ root2 = finishedWork.stateNode;
794
1240
  try {
795
- setTextContent(hoistableRoot, "");
1241
+ setTextContent(root2, ""), viewTransitionMutationContext = true;
796
1242
  } catch (error) {
797
1243
  captureCommitPhaseError(finishedWork, finishedWork.return, error);
798
1244
  }
799
1245
  }
800
- flags & 4 && null != finishedWork.stateNode && (hoistableRoot = finishedWork.memoizedProps, commitHostUpdate(
1246
+ flags & 4 && null != finishedWork.stateNode && (root2 = finishedWork.memoizedProps, commitHostUpdate(
801
1247
  finishedWork,
802
- hoistableRoot,
803
- null !== current ? current.memoizedProps : hoistableRoot
1248
+ root2,
1249
+ null !== current ? current.memoizedProps : root2
804
1250
  ));
805
1251
  flags & 1024 && (needsFormReset = true);
806
1252
  break;
807
1253
  case 6:
808
- recursivelyTraverseMutationEffects(root2, finishedWork);
1254
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
809
1255
  commitReconciliationEffects(finishedWork);
810
1256
  if (flags & 4) {
811
1257
  if (null === finishedWork.stateNode)
812
1258
  throw Error(formatProdErrorMessage(162));
813
- flags = finishedWork.memoizedProps;
814
- current = finishedWork.stateNode;
1259
+ root2 = finishedWork.memoizedProps;
1260
+ lanes = finishedWork.stateNode;
815
1261
  try {
816
- current.nodeValue = flags;
1262
+ lanes.nodeValue = root2, viewTransitionMutationContext = true;
817
1263
  } catch (error) {
818
1264
  captureCommitPhaseError(finishedWork, finishedWork.return, error);
819
1265
  }
820
1266
  }
821
1267
  break;
822
1268
  case 3:
1269
+ viewTransitionMutationContext = false;
823
1270
  tagCaches = null;
824
- hoistableRoot = currentHoistableRoot;
1271
+ ii = currentHoistableRoot;
825
1272
  currentHoistableRoot = getHoistableRoot(root2.containerInfo);
826
- recursivelyTraverseMutationEffects(root2, finishedWork);
827
- currentHoistableRoot = hoistableRoot;
1273
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
1274
+ currentHoistableRoot = ii;
828
1275
  commitReconciliationEffects(finishedWork);
829
1276
  if (flags & 4 && null !== current && current.memoizedState.isDehydrated)
830
1277
  try {
@@ -833,104 +1280,80 @@
833
1280
  captureCommitPhaseError(finishedWork, finishedWork.return, error);
834
1281
  }
835
1282
  needsFormReset && (needsFormReset = false, recursivelyResetForms(finishedWork));
1283
+ viewTransitionMutationContext = false;
836
1284
  break;
837
1285
  case 4:
838
- flags = currentHoistableRoot;
1286
+ flags = offscreenDirectParentIsHidden;
1287
+ offscreenDirectParentIsHidden = offscreenSubtreeIsHidden;
1288
+ current = pushMutationContext();
1289
+ ii = currentHoistableRoot;
839
1290
  currentHoistableRoot = getHoistableRoot(
840
1291
  finishedWork.stateNode.containerInfo
841
1292
  );
842
- recursivelyTraverseMutationEffects(root2, finishedWork);
1293
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
843
1294
  commitReconciliationEffects(finishedWork);
844
- currentHoistableRoot = flags;
1295
+ currentHoistableRoot = ii;
1296
+ viewTransitionMutationContext && inUpdateViewTransition && (rootViewTransitionAffected = true);
1297
+ viewTransitionMutationContext = current;
1298
+ offscreenDirectParentIsHidden = flags;
845
1299
  break;
846
1300
  case 12:
847
- recursivelyTraverseMutationEffects(root2, finishedWork);
1301
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
848
1302
  commitReconciliationEffects(finishedWork);
849
1303
  break;
850
1304
  case 31:
851
- recursivelyTraverseMutationEffects(root2, finishedWork);
1305
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
852
1306
  commitReconciliationEffects(finishedWork);
853
- flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags)));
1307
+ flags & 4 && (root2 = finishedWork.updateQueue, null !== root2 && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, root2)));
854
1308
  break;
855
1309
  case 13:
856
- recursivelyTraverseMutationEffects(root2, finishedWork);
1310
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
857
1311
  commitReconciliationEffects(finishedWork);
858
1312
  finishedWork.child.flags & 8192 && null !== finishedWork.memoizedState !== (null !== current && null !== current.memoizedState) && (globalMostRecentFallbackTime = now());
859
- flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags)));
1313
+ flags & 4 && (root2 = finishedWork.updateQueue, null !== root2 && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, root2)));
860
1314
  break;
861
1315
  case 22:
862
- hoistableRoot = null !== finishedWork.memoizedState;
863
- var wasHidden = null !== current && null !== current.memoizedState, prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden, prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;
864
- offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || hoistableRoot;
865
- offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden;
866
- recursivelyTraverseMutationEffects(root2, finishedWork);
1316
+ ii = null !== finishedWork.memoizedState;
1317
+ _eventPayloads$ii2 = null !== current && null !== current.memoizedState;
1318
+ var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden, prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden, prevOffscreenDirectParentIsHidden$166 = offscreenDirectParentIsHidden;
1319
+ offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || ii;
1320
+ offscreenDirectParentIsHidden = prevOffscreenDirectParentIsHidden$166 || ii;
1321
+ offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || _eventPayloads$ii2;
1322
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
867
1323
  offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;
1324
+ offscreenDirectParentIsHidden = prevOffscreenDirectParentIsHidden$166;
868
1325
  offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;
869
1326
  commitReconciliationEffects(finishedWork);
870
- if (flags & 8192)
871
- a: for (root2 = finishedWork.stateNode, root2._visibility = hoistableRoot ? root2._visibility & -2 : root2._visibility | 1, hoistableRoot && (null === current || wasHidden || offscreenSubtreeIsHidden || offscreenSubtreeWasHidden || recursivelyTraverseDisappearLayoutEffects(finishedWork)), current = null, root2 = finishedWork; ; ) {
872
- if (5 === root2.tag || 26 === root2.tag) {
873
- if (null === current) {
874
- wasHidden = current = root2;
875
- try {
876
- if (currentResource = wasHidden.stateNode, hoistableRoot)
877
- maybeNodes = currentResource.style, "function" === typeof maybeNodes.setProperty ? maybeNodes.setProperty("display", "none", "important") : maybeNodes.display = "none";
878
- else {
879
- i = wasHidden.stateNode;
880
- var styleProp = wasHidden.memoizedProps.style, display = void 0 !== styleProp && null !== styleProp && styleProp.hasOwnProperty("display") ? styleProp.display : null;
881
- i.style.display = null == display || "boolean" === typeof display ? "" : ("" + display).trim();
882
- }
883
- } catch (error) {
884
- captureCommitPhaseError(wasHidden, wasHidden.return, error);
885
- }
886
- }
887
- } else if (6 === root2.tag) {
888
- if (null === current) {
889
- wasHidden = root2;
890
- try {
891
- wasHidden.stateNode.nodeValue = hoistableRoot ? "" : wasHidden.memoizedProps;
892
- } catch (error) {
893
- captureCommitPhaseError(wasHidden, wasHidden.return, error);
894
- }
895
- }
896
- } else if (18 === root2.tag) {
897
- if (null === current) {
898
- wasHidden = root2;
899
- try {
900
- var instance = wasHidden.stateNode;
901
- hoistableRoot ? hideOrUnhideDehydratedBoundary(instance, true) : hideOrUnhideDehydratedBoundary(wasHidden.stateNode, false);
902
- } catch (error) {
903
- captureCommitPhaseError(wasHidden, wasHidden.return, error);
904
- }
905
- }
906
- } else if ((22 !== root2.tag && 23 !== root2.tag || null === root2.memoizedState || root2 === finishedWork) && null !== root2.child) {
907
- root2.child.return = root2;
908
- root2 = root2.child;
909
- continue;
910
- }
911
- if (root2 === finishedWork) break a;
912
- for (; null === root2.sibling; ) {
913
- if (null === root2.return || root2.return === finishedWork) break a;
914
- current === root2 && (current = null);
915
- root2 = root2.return;
916
- }
917
- current === root2 && (current = null);
918
- root2.sibling.return = root2.return;
919
- root2 = root2.sibling;
920
- }
921
- flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (current = flags.retryQueue, null !== current && (flags.retryQueue = null, attachSuspenseRetryListeners(finishedWork, current))));
1327
+ flags & 8192 && (root2 = finishedWork.stateNode, root2._visibility = ii ? root2._visibility & -2 : root2._visibility | 1, !ii || null === current || _eventPayloads$ii2 || offscreenSubtreeIsHidden || offscreenSubtreeWasHidden || (root2 = _eventPayloads$ii2 || offscreenSubtreeWasHidden, lanes = offscreenSubtreeIsHidden, current = offscreenSubtreeWasHidden, offscreenSubtreeIsHidden = ii || offscreenSubtreeIsHidden, offscreenSubtreeWasHidden = root2, recursivelyTraverseDisappearLayoutEffects(finishedWork, 2), offscreenSubtreeIsHidden = lanes, offscreenSubtreeWasHidden = current), !ii && offscreenDirectParentIsHidden || hideOrUnhideAllChildren(finishedWork, ii));
1328
+ flags & 4 && (root2 = finishedWork.updateQueue, null !== root2 && (lanes = root2.retryQueue, null !== lanes && (root2.retryQueue = null, attachSuspenseRetryListeners(finishedWork, lanes))));
922
1329
  break;
923
1330
  case 19:
924
- recursivelyTraverseMutationEffects(root2, finishedWork);
1331
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
925
1332
  commitReconciliationEffects(finishedWork);
926
- flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags)));
1333
+ flags & 4 && (root2 = finishedWork.updateQueue, null !== root2 && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, root2)));
927
1334
  break;
928
1335
  case 30:
1336
+ flags & 512 && (offscreenSubtreeWasHidden || null === current || safelyDetachRef(current, current.return));
1337
+ flags = pushMutationContext();
1338
+ ii = inUpdateViewTransition;
1339
+ _eventPayloads$ii2 = (lanes & 335544064) === lanes;
1340
+ prevOffscreenSubtreeIsHidden = finishedWork.memoizedProps;
1341
+ inUpdateViewTransition = _eventPayloads$ii2 && "none" !== getViewTransitionClassName(
1342
+ prevOffscreenSubtreeIsHidden.default,
1343
+ prevOffscreenSubtreeIsHidden.update
1344
+ );
1345
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
1346
+ commitReconciliationEffects(finishedWork);
1347
+ _eventPayloads$ii2 && null !== current && viewTransitionMutationContext && (finishedWork.flags |= 4);
1348
+ inUpdateViewTransition = ii;
1349
+ viewTransitionMutationContext = flags;
929
1350
  break;
930
1351
  case 21:
931
1352
  break;
1353
+ case 7:
1354
+ flags & 512 && (offscreenSubtreeWasHidden || null === current || safelyDetachRef(current, current.return)), current && null !== current.stateNode && (current.stateNode._fragmentFiber = finishedWork);
932
1355
  default:
933
- recursivelyTraverseMutationEffects(root2, finishedWork), commitReconciliationEffects(finishedWork);
1356
+ recursivelyTraverseMutationEffects(root2, finishedWork, lanes), commitReconciliationEffects(finishedWork);
934
1357
  }
935
1358
  }
936
1359
  function commitReconciliationEffects(finishedWork) {
@@ -944,25 +1367,46 @@
944
1367
  }
945
1368
  parentFiber = parentFiber.return;
946
1369
  }
1370
+ parentFiber = null;
1371
+ for (var parent = finishedWork.return; null !== parent; ) {
1372
+ if (isFragmentInstanceParent(parent)) {
1373
+ var fragmentInstance = parent.stateNode;
1374
+ null === parentFiber ? parentFiber = [fragmentInstance] : parentFiber.push(fragmentInstance);
1375
+ }
1376
+ if (isFragmentInstanceHostBoundary(parent)) break;
1377
+ parent = parent.return;
1378
+ }
1379
+ var JSCompiler_inline_result = parentFiber;
947
1380
  if (null == hostParentFiber) throw Error(formatProdErrorMessage(160));
948
1381
  switch (hostParentFiber.tag) {
949
1382
  case 27:
950
- var parent = hostParentFiber.stateNode, before = getHostSibling(finishedWork);
951
- insertOrAppendPlacementNode(finishedWork, before, parent);
1383
+ var parent$jscomp$0 = hostParentFiber.stateNode, before = getHostSibling(finishedWork);
1384
+ insertOrAppendPlacementNode(
1385
+ finishedWork,
1386
+ before,
1387
+ parent$jscomp$0,
1388
+ JSCompiler_inline_result
1389
+ );
952
1390
  break;
953
1391
  case 5:
954
- var parent$141 = hostParentFiber.stateNode;
955
- hostParentFiber.flags & 32 && (setTextContent(parent$141, ""), hostParentFiber.flags &= -33);
956
- var before$142 = getHostSibling(finishedWork);
957
- insertOrAppendPlacementNode(finishedWork, before$142, parent$141);
1392
+ var parent$149 = hostParentFiber.stateNode;
1393
+ hostParentFiber.flags & 32 && (setTextContent(parent$149, ""), hostParentFiber.flags &= -33);
1394
+ var before$150 = getHostSibling(finishedWork);
1395
+ insertOrAppendPlacementNode(
1396
+ finishedWork,
1397
+ before$150,
1398
+ parent$149,
1399
+ JSCompiler_inline_result
1400
+ );
958
1401
  break;
959
1402
  case 3:
960
1403
  case 4:
961
- var parent$143 = hostParentFiber.stateNode.containerInfo, before$144 = getHostSibling(finishedWork);
1404
+ var parent$151 = hostParentFiber.stateNode.containerInfo, before$152 = getHostSibling(finishedWork);
962
1405
  insertOrAppendPlacementNodeIntoContainer(
963
1406
  finishedWork,
964
- before$144,
965
- parent$143
1407
+ before$152,
1408
+ parent$151,
1409
+ JSCompiler_inline_result
966
1410
  );
967
1411
  break;
968
1412
  default:
@@ -980,25 +1424,123 @@
980
1424
  for (parentFiber = parentFiber.child; null !== parentFiber; ) {
981
1425
  var fiber = parentFiber;
982
1426
  recursivelyResetForms(fiber);
983
- 5 === fiber.tag && fiber.flags & 1024 && fiber.stateNode.reset();
1427
+ 5 === fiber.tag && fiber.flags & 1024 && (fiber = fiber.stateNode, _enabled = true, fiber.reset(), _enabled = false);
984
1428
  parentFiber = parentFiber.sibling;
985
1429
  }
986
1430
  }
1431
+ function recursivelyTraverseAfterMutationEffects(root2, parentFiber) {
1432
+ if (parentFiber.subtreeFlags & 9270)
1433
+ for (parentFiber = parentFiber.child; null !== parentFiber; )
1434
+ commitAfterMutationEffectsOnFiber(parentFiber, root2), parentFiber = parentFiber.sibling;
1435
+ else measureNestedViewTransitions(parentFiber, false);
1436
+ }
1437
+ function commitAfterMutationEffectsOnFiber(finishedWork, root2) {
1438
+ var current = finishedWork.alternate;
1439
+ if (null === current) commitEnterViewTransitions(finishedWork, false);
1440
+ else
1441
+ switch (finishedWork.tag) {
1442
+ case 3:
1443
+ rootViewTransitionNameCanceled = viewTransitionContextChanged = false;
1444
+ pushViewTransitionCancelableScope();
1445
+ recursivelyTraverseAfterMutationEffects(root2, finishedWork);
1446
+ if (!viewTransitionContextChanged && !rootViewTransitionAffected) {
1447
+ finishedWork = viewTransitionCancelableChildren;
1448
+ if (null !== finishedWork)
1449
+ for (var i = 0; i < finishedWork.length; i += 3) {
1450
+ current = finishedWork[i];
1451
+ var oldName = finishedWork[i + 1];
1452
+ restoreViewTransitionName(current, finishedWork[i + 2]);
1453
+ current = current.ownerDocument.documentElement;
1454
+ null !== current && current.animate(
1455
+ { opacity: [0, 0], pointerEvents: ["none", "none"] },
1456
+ {
1457
+ duration: 0,
1458
+ fill: "forwards",
1459
+ pseudoElement: "::view-transition-group(" + oldName + ")"
1460
+ }
1461
+ );
1462
+ }
1463
+ finishedWork = root2.containerInfo;
1464
+ finishedWork = 9 === finishedWork.nodeType ? finishedWork.documentElement : finishedWork.ownerDocument.documentElement;
1465
+ null !== finishedWork && "" === finishedWork.style.viewTransitionName && (finishedWork.style.viewTransitionName = "none", finishedWork.animate(
1466
+ { opacity: [0, 0], pointerEvents: ["none", "none"] },
1467
+ {
1468
+ duration: 0,
1469
+ fill: "forwards",
1470
+ pseudoElement: "::view-transition-group(root)"
1471
+ }
1472
+ ), finishedWork.animate(
1473
+ { width: [0, 0], height: [0, 0] },
1474
+ {
1475
+ duration: 0,
1476
+ fill: "forwards",
1477
+ pseudoElement: "::view-transition"
1478
+ }
1479
+ ));
1480
+ rootViewTransitionNameCanceled = true;
1481
+ }
1482
+ viewTransitionCancelableChildren = null;
1483
+ break;
1484
+ case 5:
1485
+ recursivelyTraverseAfterMutationEffects(root2, finishedWork);
1486
+ break;
1487
+ case 4:
1488
+ i = viewTransitionContextChanged;
1489
+ viewTransitionContextChanged = false;
1490
+ recursivelyTraverseAfterMutationEffects(root2, finishedWork);
1491
+ viewTransitionContextChanged && (rootViewTransitionAffected = true);
1492
+ viewTransitionContextChanged = i;
1493
+ break;
1494
+ case 22:
1495
+ null === finishedWork.memoizedState && (null !== current.memoizedState ? commitEnterViewTransitions(finishedWork, false) : recursivelyTraverseAfterMutationEffects(root2, finishedWork));
1496
+ break;
1497
+ case 30:
1498
+ i = viewTransitionContextChanged;
1499
+ oldName = pushViewTransitionCancelableScope();
1500
+ viewTransitionContextChanged = false;
1501
+ recursivelyTraverseAfterMutationEffects(root2, finishedWork);
1502
+ viewTransitionContextChanged && (finishedWork.flags |= 4);
1503
+ var props = finishedWork.memoizedProps, state = finishedWork.stateNode;
1504
+ root2 = getViewTransitionName(props, state);
1505
+ state = getViewTransitionName(current.memoizedProps, state);
1506
+ var className = getViewTransitionClassName(props.default, props.update);
1507
+ "none" === className ? root2 = false : (props = current.memoizedState, current.memoizedState = null, current = finishedWork.child, viewTransitionHostInstanceIdx = 0, root2 = measureViewTransitionHostInstancesRecursive(
1508
+ finishedWork,
1509
+ current,
1510
+ root2,
1511
+ state,
1512
+ className,
1513
+ props,
1514
+ true
1515
+ ), viewTransitionHostInstanceIdx !== (null === props ? 0 : props.length) && (finishedWork.flags |= 32));
1516
+ 0 !== (finishedWork.flags & 4) && root2 ? (scheduleViewTransitionEvent(
1517
+ finishedWork,
1518
+ finishedWork.memoizedProps.onUpdate
1519
+ ), viewTransitionCancelableChildren = oldName) : null !== oldName && (oldName.push.apply(oldName, viewTransitionCancelableChildren), viewTransitionCancelableChildren = oldName);
1520
+ viewTransitionContextChanged = 0 !== (finishedWork.flags & 32) ? true : i;
1521
+ break;
1522
+ default:
1523
+ recursivelyTraverseAfterMutationEffects(root2, finishedWork);
1524
+ }
1525
+ }
987
1526
  function recursivelyTraverseLayoutEffects(root2, parentFiber) {
988
1527
  if (parentFiber.subtreeFlags & 8772)
989
1528
  for (parentFiber = parentFiber.child; null !== parentFiber; )
990
1529
  commitLayoutEffectOnFiber(root2, parentFiber.alternate, parentFiber), parentFiber = parentFiber.sibling;
991
1530
  }
992
- function recursivelyTraverseDisappearLayoutEffects(parentFiber) {
1531
+ function recursivelyTraverseDisappearLayoutEffects(parentFiber, layoutEffectTraversalFlags$jscomp$0) {
993
1532
  for (parentFiber = parentFiber.child; null !== parentFiber; ) {
994
- var finishedWork = parentFiber;
1533
+ var finishedWork = parentFiber, layoutEffectTraversalFlags = layoutEffectTraversalFlags$jscomp$0;
995
1534
  switch (finishedWork.tag) {
996
1535
  case 0:
997
1536
  case 11:
998
1537
  case 14:
999
1538
  case 15:
1000
1539
  commitHookEffectListUnmount(4, finishedWork, finishedWork.return);
1001
- recursivelyTraverseDisappearLayoutEffects(finishedWork);
1540
+ recursivelyTraverseDisappearLayoutEffects(
1541
+ finishedWork,
1542
+ layoutEffectTraversalFlags
1543
+ );
1002
1544
  break;
1003
1545
  case 1:
1004
1546
  safelyDetachRef(finishedWork, finishedWork.return);
@@ -1008,31 +1550,65 @@
1008
1550
  finishedWork.return,
1009
1551
  instance
1010
1552
  );
1011
- recursivelyTraverseDisappearLayoutEffects(finishedWork);
1553
+ recursivelyTraverseDisappearLayoutEffects(
1554
+ finishedWork,
1555
+ layoutEffectTraversalFlags
1556
+ );
1012
1557
  break;
1013
1558
  case 27:
1014
- releaseSingletonInstance(finishedWork.stateNode);
1015
- case 26:
1559
+ 0 !== (layoutEffectTraversalFlags & 2) && releaseSingletonInstance(
1560
+ finishedWork.stateNode,
1561
+ finishedWork.type,
1562
+ finishedWork.memoizedProps
1563
+ );
1016
1564
  case 5:
1017
1565
  safelyDetachRef(finishedWork, finishedWork.return);
1018
- recursivelyTraverseDisappearLayoutEffects(finishedWork);
1566
+ 5 !== finishedWork.tag && 27 !== finishedWork.tag || commitFragmentInstanceDeletionEffects(finishedWork);
1567
+ recursivelyTraverseDisappearLayoutEffects(
1568
+ finishedWork,
1569
+ layoutEffectTraversalFlags
1570
+ );
1571
+ break;
1572
+ case 6:
1573
+ commitFragmentInstanceDeletionEffects(finishedWork);
1574
+ break;
1575
+ case 26:
1576
+ safelyDetachRef(finishedWork, finishedWork.return);
1577
+ instance = finishedWork.stateNode;
1578
+ null !== finishedWork.memoizedState || null === instance || offscreenSubtreeWasHidden || instance.parentNode.removeChild(instance);
1579
+ recursivelyTraverseDisappearLayoutEffects(
1580
+ finishedWork,
1581
+ layoutEffectTraversalFlags
1582
+ );
1019
1583
  break;
1020
1584
  case 22:
1021
- null === finishedWork.memoizedState && recursivelyTraverseDisappearLayoutEffects(finishedWork);
1585
+ null === finishedWork.memoizedState && recursivelyTraverseDisappearLayoutEffects(
1586
+ finishedWork,
1587
+ layoutEffectTraversalFlags
1588
+ );
1022
1589
  break;
1023
1590
  case 30:
1024
- recursivelyTraverseDisappearLayoutEffects(finishedWork);
1591
+ safelyDetachRef(finishedWork, finishedWork.return);
1592
+ recursivelyTraverseDisappearLayoutEffects(
1593
+ finishedWork,
1594
+ layoutEffectTraversalFlags
1595
+ );
1025
1596
  break;
1597
+ case 7:
1598
+ safelyDetachRef(finishedWork, finishedWork.return);
1026
1599
  default:
1027
- recursivelyTraverseDisappearLayoutEffects(finishedWork);
1600
+ recursivelyTraverseDisappearLayoutEffects(
1601
+ finishedWork,
1602
+ layoutEffectTraversalFlags
1603
+ );
1028
1604
  }
1029
1605
  parentFiber = parentFiber.sibling;
1030
1606
  }
1031
1607
  }
1032
- function recursivelyTraverseReappearLayoutEffects(finishedRoot$jscomp$0, parentFiber, includeWorkInProgressEffects) {
1033
- includeWorkInProgressEffects = includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772);
1608
+ function recursivelyTraverseReappearLayoutEffects(finishedRoot$jscomp$0, parentFiber, layoutEffectTraversalFlags) {
1609
+ layoutEffectTraversalFlags = 0 !== (parentFiber.subtreeFlags & 8772) ? layoutEffectTraversalFlags : layoutEffectTraversalFlags & -2;
1034
1610
  for (parentFiber = parentFiber.child; null !== parentFiber; ) {
1035
- var current = parentFiber.alternate, finishedRoot = finishedRoot$jscomp$0, finishedWork = parentFiber, flags = finishedWork.flags;
1611
+ var current = parentFiber.alternate, finishedRoot = finishedRoot$jscomp$0, finishedWork = parentFiber, flags = finishedWork.flags, includeWorkInProgressEffects = 0 !== (layoutEffectTraversalFlags & 1);
1036
1612
  switch (finishedWork.tag) {
1037
1613
  case 0:
1038
1614
  case 11:
@@ -1040,7 +1616,7 @@
1040
1616
  recursivelyTraverseReappearLayoutEffects(
1041
1617
  finishedRoot,
1042
1618
  finishedWork,
1043
- includeWorkInProgressEffects
1619
+ layoutEffectTraversalFlags
1044
1620
  );
1045
1621
  commitHookEffectListMount(4, finishedWork);
1046
1622
  break;
@@ -1048,7 +1624,7 @@
1048
1624
  recursivelyTraverseReappearLayoutEffects(
1049
1625
  finishedRoot,
1050
1626
  finishedWork,
1051
- includeWorkInProgressEffects
1627
+ layoutEffectTraversalFlags
1052
1628
  );
1053
1629
  current = finishedWork;
1054
1630
  finishedRoot = current.stateNode;
@@ -1075,13 +1651,31 @@
1075
1651
  safelyAttachRef(finishedWork, finishedWork.return);
1076
1652
  break;
1077
1653
  case 27:
1078
- commitHostSingletonAcquisition(finishedWork);
1079
- case 26:
1654
+ 0 !== (layoutEffectTraversalFlags & 2) && commitHostSingletonAcquisition(finishedWork);
1080
1655
  case 5:
1656
+ 5 !== finishedWork.tag && 27 !== finishedWork.tag || commitFragmentInstanceInsertionEffects(finishedWork);
1081
1657
  recursivelyTraverseReappearLayoutEffects(
1082
1658
  finishedRoot,
1083
1659
  finishedWork,
1084
- includeWorkInProgressEffects
1660
+ layoutEffectTraversalFlags
1661
+ );
1662
+ includeWorkInProgressEffects && null === current && flags & 4 && commitHostMount(finishedWork);
1663
+ safelyAttachRef(finishedWork, finishedWork.return);
1664
+ break;
1665
+ case 6:
1666
+ commitFragmentInstanceInsertionEffects(finishedWork);
1667
+ break;
1668
+ case 26:
1669
+ instance = finishedWork.stateNode;
1670
+ null !== finishedWork.memoizedState || null === instance || offscreenSubtreeIsHidden || mountHoistable(
1671
+ getHoistableRoot(instance.ownerDocument),
1672
+ finishedWork.type,
1673
+ instance
1674
+ );
1675
+ recursivelyTraverseReappearLayoutEffects(
1676
+ finishedRoot,
1677
+ finishedWork,
1678
+ layoutEffectTraversalFlags
1085
1679
  );
1086
1680
  includeWorkInProgressEffects && null === current && flags & 4 && commitHostMount(finishedWork);
1087
1681
  safelyAttachRef(finishedWork, finishedWork.return);
@@ -1090,14 +1684,14 @@
1090
1684
  recursivelyTraverseReappearLayoutEffects(
1091
1685
  finishedRoot,
1092
1686
  finishedWork,
1093
- includeWorkInProgressEffects
1687
+ layoutEffectTraversalFlags
1094
1688
  );
1095
1689
  break;
1096
1690
  case 31:
1097
1691
  recursivelyTraverseReappearLayoutEffects(
1098
1692
  finishedRoot,
1099
1693
  finishedWork,
1100
- includeWorkInProgressEffects
1694
+ layoutEffectTraversalFlags
1101
1695
  );
1102
1696
  includeWorkInProgressEffects && flags & 4 && commitActivityHydrationCallbacks(finishedRoot, finishedWork);
1103
1697
  break;
@@ -1105,7 +1699,7 @@
1105
1699
  recursivelyTraverseReappearLayoutEffects(
1106
1700
  finishedRoot,
1107
1701
  finishedWork,
1108
- includeWorkInProgressEffects
1702
+ layoutEffectTraversalFlags
1109
1703
  );
1110
1704
  includeWorkInProgressEffects && flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);
1111
1705
  break;
@@ -1113,17 +1707,25 @@
1113
1707
  null === finishedWork.memoizedState && recursivelyTraverseReappearLayoutEffects(
1114
1708
  finishedRoot,
1115
1709
  finishedWork,
1116
- includeWorkInProgressEffects
1710
+ layoutEffectTraversalFlags
1117
1711
  );
1118
1712
  safelyAttachRef(finishedWork, finishedWork.return);
1119
1713
  break;
1120
1714
  case 30:
1715
+ recursivelyTraverseReappearLayoutEffects(
1716
+ finishedRoot,
1717
+ finishedWork,
1718
+ layoutEffectTraversalFlags
1719
+ );
1720
+ safelyAttachRef(finishedWork, finishedWork.return);
1121
1721
  break;
1722
+ case 7:
1723
+ safelyAttachRef(finishedWork, finishedWork.return);
1122
1724
  default:
1123
1725
  recursivelyTraverseReappearLayoutEffects(
1124
1726
  finishedRoot,
1125
1727
  finishedWork,
1126
- includeWorkInProgressEffects
1728
+ layoutEffectTraversalFlags
1127
1729
  );
1128
1730
  }
1129
1731
  parentFiber = parentFiber.sibling;
@@ -1143,7 +1745,8 @@
1143
1745
  finishedWork !== current && (finishedWork.refCount++, null != current && releaseCache(current));
1144
1746
  }
1145
1747
  function recursivelyTraversePassiveMountEffects(root2, parentFiber, committedLanes, committedTransitions) {
1146
- if (parentFiber.subtreeFlags & 10256)
1748
+ var isViewTransitionEligible = (committedLanes & 335544064) === committedLanes;
1749
+ if (parentFiber.subtreeFlags & (isViewTransitionEligible ? 10262 : 10256))
1147
1750
  for (parentFiber = parentFiber.child; null !== parentFiber; )
1148
1751
  commitPassiveMountOnFiber(
1149
1752
  root2,
@@ -1151,8 +1754,11 @@
1151
1754
  committedLanes,
1152
1755
  committedTransitions
1153
1756
  ), parentFiber = parentFiber.sibling;
1757
+ else isViewTransitionEligible && restoreNestedViewTransitions(parentFiber);
1154
1758
  }
1155
1759
  function commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions) {
1760
+ var isViewTransitionEligible = (committedLanes & 335544064) === committedLanes;
1761
+ isViewTransitionEligible && null === finishedWork.alternate && null !== finishedWork.return && null !== finishedWork.return.alternate && restoreEnterOrExitViewTransitions(finishedWork);
1156
1762
  var flags = finishedWork.flags;
1157
1763
  switch (finishedWork.tag) {
1158
1764
  case 0:
@@ -1181,7 +1787,8 @@
1181
1787
  committedLanes,
1182
1788
  committedTransitions
1183
1789
  );
1184
- flags & 2048 && (finishedRoot = null, null !== finishedWork.alternate && (finishedRoot = finishedWork.alternate.memoizedState.cache), finishedWork = finishedWork.memoizedState.cache, finishedWork !== finishedRoot && (finishedWork.refCount++, null != finishedRoot && releaseCache(finishedRoot)));
1790
+ isViewTransitionEligible && rootViewTransitionNameCanceled && (finishedRoot = finishedRoot.containerInfo, finishedRoot = 9 === finishedRoot.nodeType ? finishedRoot.body : "HTML" === finishedRoot.nodeName ? finishedRoot.ownerDocument.body : finishedRoot, "root" === finishedRoot.style.viewTransitionName && (finishedRoot.style.viewTransitionName = ""), finishedRoot = finishedRoot.ownerDocument.documentElement, null !== finishedRoot && "none" === finishedRoot.style.viewTransitionName && (finishedRoot.style.viewTransitionName = ""));
1791
+ flags & 2048 && (flags = null, null !== finishedWork.alternate && (flags = finishedWork.alternate.memoizedState.cache), finishedWork = finishedWork.memoizedState.cache, finishedWork !== flags && (finishedWork.refCount++, null != flags && releaseCache(flags)));
1185
1792
  break;
1186
1793
  case 12:
1187
1794
  if (flags & 2048) {
@@ -1191,13 +1798,13 @@
1191
1798
  committedLanes,
1192
1799
  committedTransitions
1193
1800
  );
1194
- finishedRoot = finishedWork.stateNode;
1801
+ flags = finishedWork.stateNode;
1195
1802
  try {
1196
1803
  var _finishedWork$memoize2 = finishedWork.memoizedProps, id = _finishedWork$memoize2.id, onPostCommit = _finishedWork$memoize2.onPostCommit;
1197
1804
  "function" === typeof onPostCommit && onPostCommit(
1198
1805
  id,
1199
1806
  null === finishedWork.alternate ? "mount" : "update",
1200
- finishedRoot.passiveEffectDuration,
1807
+ flags.passiveEffectDuration,
1201
1808
  -0
1202
1809
  );
1203
1810
  } catch (error) {
@@ -1232,12 +1839,15 @@
1232
1839
  case 22:
1233
1840
  _finishedWork$memoize2 = finishedWork.stateNode;
1234
1841
  id = finishedWork.alternate;
1235
- null !== finishedWork.memoizedState ? _finishedWork$memoize2._visibility & 2 ? recursivelyTraversePassiveMountEffects(
1842
+ null !== finishedWork.memoizedState ? (isViewTransitionEligible && null !== id && null === id.memoizedState && restoreEnterOrExitViewTransitions(id), _finishedWork$memoize2._visibility & 2 ? recursivelyTraversePassiveMountEffects(
1236
1843
  finishedRoot,
1237
1844
  finishedWork,
1238
1845
  committedLanes,
1239
1846
  committedTransitions
1240
- ) : recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork) : _finishedWork$memoize2._visibility & 2 ? recursivelyTraversePassiveMountEffects(
1847
+ ) : recursivelyTraverseAtomicPassiveEffects(
1848
+ finishedRoot,
1849
+ finishedWork
1850
+ )) : (isViewTransitionEligible && null !== id && null !== id.memoizedState && restoreEnterOrExitViewTransitions(finishedWork), _finishedWork$memoize2._visibility & 2 ? recursivelyTraversePassiveMountEffects(
1241
1851
  finishedRoot,
1242
1852
  finishedWork,
1243
1853
  committedLanes,
@@ -1248,7 +1858,7 @@
1248
1858
  committedLanes,
1249
1859
  committedTransitions,
1250
1860
  0 !== (finishedWork.subtreeFlags & 10256) || false
1251
- ));
1861
+ )));
1252
1862
  flags & 2048 && commitOffscreenPassiveMountEffects(id, finishedWork);
1253
1863
  break;
1254
1864
  case 24:
@@ -1260,6 +1870,15 @@
1260
1870
  );
1261
1871
  flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);
1262
1872
  break;
1873
+ case 30:
1874
+ isViewTransitionEligible && (flags = finishedWork.alternate, null !== flags && (restoreViewTransitionOnHostInstances(flags.child, true), restoreViewTransitionOnHostInstances(finishedWork.child, true)));
1875
+ recursivelyTraversePassiveMountEffects(
1876
+ finishedRoot,
1877
+ finishedWork,
1878
+ committedLanes,
1879
+ committedTransitions
1880
+ );
1881
+ break;
1263
1882
  default:
1264
1883
  recursivelyTraversePassiveMountEffects(
1265
1884
  finishedRoot,
@@ -1373,12 +1992,12 @@
1373
1992
  committedLanes,
1374
1993
  suspendedState
1375
1994
  );
1376
- fiber.flags & suspenseyCommitFlag && null !== fiber.memoizedState && suspendResource(
1995
+ fiber.flags & suspenseyCommitFlag && (null !== fiber.memoizedState ? suspendResource(
1377
1996
  suspendedState,
1378
1997
  currentHoistableRoot,
1379
1998
  fiber.memoizedState,
1380
1999
  fiber.memoizedProps
1381
- );
2000
+ ) : (fiber = fiber.stateNode, (committedLanes & 335544128) === committedLanes && suspendInstance(suspendedState, fiber)));
1382
2001
  break;
1383
2002
  case 5:
1384
2003
  recursivelyAccumulateSuspenseyCommit(
@@ -1386,6 +2005,7 @@
1386
2005
  committedLanes,
1387
2006
  suspendedState
1388
2007
  );
2008
+ fiber.flags & suspenseyCommitFlag && (fiber = fiber.stateNode, (committedLanes & 335544128) === committedLanes && suspendInstance(suspendedState, fiber));
1389
2009
  break;
1390
2010
  case 3:
1391
2011
  case 4:
@@ -1409,6 +2029,19 @@
1409
2029
  suspendedState
1410
2030
  ));
1411
2031
  break;
2032
+ case 30:
2033
+ if (0 !== (fiber.flags & suspenseyCommitFlag) && (previousHoistableRoot = fiber.memoizedProps.name, null != previousHoistableRoot && "auto" !== previousHoistableRoot)) {
2034
+ var state = fiber.stateNode;
2035
+ state.paired = null;
2036
+ null === appearingViewTransitions && (appearingViewTransitions = /* @__PURE__ */ new Map());
2037
+ appearingViewTransitions.set(previousHoistableRoot, state);
2038
+ }
2039
+ recursivelyAccumulateSuspenseyCommit(
2040
+ fiber,
2041
+ committedLanes,
2042
+ suspendedState
2043
+ );
2044
+ break;
1412
2045
  default:
1413
2046
  recursivelyAccumulateSuspenseyCommit(
1414
2047
  fiber,