@reckona/mreact-compat 0.0.66 → 0.0.68

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 (83) hide show
  1. package/dist/class-component.js.map +1 -1
  2. package/dist/context.js.map +1 -1
  3. package/dist/devtools.js.map +1 -1
  4. package/dist/dom-children.js.map +1 -1
  5. package/dist/dom-props.js.map +1 -1
  6. package/dist/element.js.map +1 -1
  7. package/dist/event-listeners.js.map +1 -1
  8. package/dist/event-priority.js.map +1 -1
  9. package/dist/event-replay.js.map +1 -1
  10. package/dist/event-types.js.map +1 -1
  11. package/dist/events.js.map +1 -1
  12. package/dist/fiber-child.js.map +1 -1
  13. package/dist/fiber-commit.js.map +1 -1
  14. package/dist/fiber-flags.js.map +1 -1
  15. package/dist/fiber-host.js.map +1 -1
  16. package/dist/fiber-lanes.js.map +1 -1
  17. package/dist/fiber-reconciler.js.map +1 -1
  18. package/dist/fiber-scheduler.js.map +1 -1
  19. package/dist/fiber-work-loop.js.map +1 -1
  20. package/dist/fiber.js.map +1 -1
  21. package/dist/flight-decoder.js.map +1 -1
  22. package/dist/flight-element-builder.js.map +1 -1
  23. package/dist/flight-parser.js.map +1 -1
  24. package/dist/flight-protocol.js.map +1 -1
  25. package/dist/flight-types.js.map +1 -1
  26. package/dist/flight.js.map +1 -1
  27. package/dist/hooks.js.map +1 -1
  28. package/dist/hydration.js.map +1 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/internal.js.map +1 -1
  31. package/dist/jsx-dev-runtime.js.map +1 -1
  32. package/dist/jsx-runtime.js.map +1 -1
  33. package/dist/prop-comparison.js.map +1 -1
  34. package/dist/reconcile-types.js.map +1 -1
  35. package/dist/reconciler.js.map +1 -1
  36. package/dist/render.js.map +1 -1
  37. package/dist/root.js.map +1 -1
  38. package/dist/scheduler.js.map +1 -1
  39. package/dist/suspense.js.map +1 -1
  40. package/dist/thenable.js.map +1 -1
  41. package/dist/url-safety.js.map +1 -1
  42. package/package.json +4 -3
  43. package/src/class-component.ts +386 -0
  44. package/src/context.ts +140 -0
  45. package/src/devtools.ts +1275 -0
  46. package/src/dom-children.ts +34 -0
  47. package/src/dom-props.ts +408 -0
  48. package/src/element.ts +317 -0
  49. package/src/event-listeners.ts +27 -0
  50. package/src/event-priority.ts +1 -0
  51. package/src/event-replay.ts +154 -0
  52. package/src/event-types.ts +18 -0
  53. package/src/events.ts +384 -0
  54. package/src/fiber-child.ts +364 -0
  55. package/src/fiber-commit.ts +83 -0
  56. package/src/fiber-flags.ts +21 -0
  57. package/src/fiber-host.ts +1564 -0
  58. package/src/fiber-lanes.ts +99 -0
  59. package/src/fiber-reconciler.ts +639 -0
  60. package/src/fiber-scheduler.ts +435 -0
  61. package/src/fiber-work-loop.ts +224 -0
  62. package/src/fiber.ts +148 -0
  63. package/src/flight-decoder.ts +205 -0
  64. package/src/flight-element-builder.ts +110 -0
  65. package/src/flight-parser.ts +698 -0
  66. package/src/flight-protocol.ts +71 -0
  67. package/src/flight-types.ts +148 -0
  68. package/src/flight.ts +162 -0
  69. package/src/hooks.ts +1940 -0
  70. package/src/hydration.ts +314 -0
  71. package/src/index.ts +95 -0
  72. package/src/internal.ts +7 -0
  73. package/src/jsx-dev-runtime.ts +40 -0
  74. package/src/jsx-runtime.ts +119 -0
  75. package/src/prop-comparison.ts +50 -0
  76. package/src/reconcile-types.ts +26 -0
  77. package/src/reconciler.ts +692 -0
  78. package/src/render.ts +29 -0
  79. package/src/root.ts +493 -0
  80. package/src/scheduler.ts +157 -0
  81. package/src/suspense.ts +317 -0
  82. package/src/thenable.ts +7 -0
  83. package/src/url-safety.ts +7 -0
package/dist/root.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"root.js","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,GAGxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EACL,gCAAgC,EAChC,8BAA8B,EAC9B,iBAAiB,GAGlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,2BAA2B,GAE5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,cAAc,GAEf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AA8CtD,MAAM,WAAW,GAAG,IAAI,OAAO,EAAiB,CAAC;AAEjD,MAAM,UAAU,UAAU,CACxB,SAAkB,EAClB,UAAuB,EAAE;IAEzB,MAAM,SAAS,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,QAAQ,GAAG,MAAM,EAAE,EAAE;QACtD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACzC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE;gBACzF,IAAI,kBAAkB,CAAC,OAAO,CAAC,cAAiC,CAAC,EAAE,CAAC;oBAClE,OAAO,4BAA4B,CACjC,SAAS,EACT,SAAS,EACT,OAAO,EACP,OAAO,CAAC,cAAiC,CAC1C,CAAC;gBACJ,CAAC;gBAED,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,OAAO,CAAC,CAAC;IAEZ,OAAO;QACL,MAAM,CAAC,OAAO;YACZ,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC;YACjC,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE;gBACnD,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChC,OAAO,4BAA4B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC9E,CAAC;gBAED,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO;YACL,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;YACnC,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC1B,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,SAAS,CAAC,eAAe,EAAE,CAAC;QAC9B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,SAAkB,EAClB,SAAoB,EACpB,OAAoB,EACpB,OAAwB;IAExB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC;YACH,KAAK,MAAM,eAAe,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACvD,eAAe,CAAC,eAAe,EAAE,CAAC;YACpC,CAAC;YACD,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAEjC,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEtE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC;YACtC,eAAe,CAAC,SAAS,CAAC,CAAC;YAC3B,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACzC,SAAS,GAAG,IAAI,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,qCAAqC,CAC5C,SAAkB,EAClB,SAAoB,EACpB,OAAoB,EACpB,OAAwB,EACxB,OAGC;IAED,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC;YACH,KAAK,MAAM,eAAe,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACvD,eAAe,CAAC,eAAe,EAAE,CAAC;YACpC,CAAC;YACD,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAEjC,MAAM,KAAK,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,4BAA4B,CAC/C,SAAS,EACT,OAAO,EACP,OAAO,EACP,KAAK,EACL,OAAO,CACR,CAAC;YAEF,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,4BAA4B,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACtE,SAAS,CAAC,OAAO,GAAG,YAAY,CAAC;YACjC,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;YACxC,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC;YACnC,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC;YACrC,SAAS,CAAC,6BAA6B,GAAG,CAAC,CAAC;YAC5C,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACzC,SAAS,GAAG,IAAI,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAwB,EAAE,SAAkB;IACjE,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IACjE,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,QAAiB;IAC5C,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,SAAkB,EAClB,OAAwB,EACxB,UAA8B,EAAE;IAEhC,MAAM,SAAS,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,aAAa,GAGf;QACF,SAAS,EACP,OAAO,CAAC,kBAAkB,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE;QACxD,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,oBAAoB,KAAK,SAAS;YAC5C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE,CAAC;KAC5D,CAAC;IACF,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,QAAQ,GAAG,MAAM,EAAE,EAAE;QACtD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACzC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE;gBACzF,IAAI,kBAAkB,CAAC,OAAO,CAAC,cAAiC,CAAC,EAAE,CAAC;oBAClE,OAAO,qCAAqC,CAC1C,SAAS,EACT,SAAS,EACT,OAAO,EACP,OAAO,CAAC,cAAiC,EACzC,aAAa,CACd,CAAC;gBACJ,CAAC;gBAED,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE;QACD,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACnD,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAS;QACjB,MAAM,CAAC,WAAW;YAChB,OAAO,CAAC,cAAc,GAAG,WAAW,CAAC;YACrC,iBAAiB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE;gBACvD,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;oBACpC,OAAO,4BAA4B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;gBAClF,CAAC;gBAED,mBAAmB,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO;YACL,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;YACnC,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC1B,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,SAAS,CAAC,eAAe,EAAE,CAAC;QAC9B,CAAC;KACF,CAAC;IAEF,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC;IACjC,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE;QACnD,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO,qCAAqC,CAC1C,SAAS,EACT,SAAS,EACT,OAAO,EACP,OAAO,EACP,aAAa,CACd,CAAC;QACJ,CAAC;QAED,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAwB;IACrD,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC9B,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,SAAkB,EAClB,UAAyC,EAAE;IAE3C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC,aAAa,CAAC;IACrE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAE9E,IAAI,OAAO,CAAC,wBAAwB,KAAK,KAAK,EAAE,CAAC;QAC/C,gCAAgC,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,YAA8B,CAAC;IACnC,MAAM,OAAO,GAAG,CACd,OAAwB,EACxB,iBAAqC,EAAE,EACjC,EAAE;QACR,IAAI,OAAO,CAAC,wBAAwB,KAAK,KAAK,EAAE,CAAC;YAC/C,gCAAgC,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAC7D,YAAY,GAAG,IAAI,CAAC;QACpB,wBAAwB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,kCAAkC,CAC7D,SAAS,EACT,QAAQ,EACR;QACE,eAAe,CAAC,KAAK,EAAE,MAAM;YAC3B,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;YACtD,MAAM,iBAAiB,GAAG,iCAAiC,CACzD,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,EACR,kBAAkB,CACnB,CAAC;YAEF,IAAI,iBAAiB,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAClE,OAAO;YACT,CAAC;YAED,OAAO,CACL,iBAAiB,CAAC,OAAO,EACzB,gCAAgC,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAC3D,CAAC;QACJ,CAAC;KACF,CACF,CAAC;IACF,MAAM,QAAQ,GACZ,OAAO,CAAC,0BAA0B,KAAK,IAAI;QAC3C,OAAO,gBAAgB,KAAK,WAAW;QACvC,YAAY,YAAY,IAAI;QAC1B,CAAC,CAAC,IAAI,gBAAgB,CAAC,GAAG,EAAE;YACxB,gCAAgC,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,QAAQ,EAAE,OAAO,CAAC,YAAoB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5E,MAAM,wBAAwB,GAAG,GAAS,EAAE;QAC1C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,oBAAoB,EAAE,CAAC;YACvB,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,OAAO;QACP,OAAO;YACL,wBAAwB,EAAE,CAAC;YAC3B,QAAQ,EAAE,UAAU,EAAE,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAkB;IACvD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAExC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACpD,SAAS,CAAC,eAAe,EAAE,CAAC;IAC5B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,iCAAiC,CACxC,SAAkB,EAClB,KAAY,EACZ,MAAmB,EACnB,QAA4C,EAC5C,kBAAyD;IAEzD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,iCAAiC,CAChD,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,CACT,CAAC;IACF,MAAM,QAAQ,GACZ,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;IAEjF,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;SACtE,CAAC;IACJ,CAAC;IAED,IAAI,kBAAkB,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,OAAO,EAAE,kBAAkB,CAAC,OAAO;QACnC,GAAG,CAAC,kBAAkB,CAAC,OAAO,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CACvC,KAAY,EACZ,QAAoC;IAEpC,OAAO,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU;QAC3C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,iCAAiC,CACxC,SAAkB,EAClB,KAAY,EACZ,MAAmB,EACnB,QAA4C;IAE5C,IAAI,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,kBAAkB,GAAG,8BAA8B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE7E,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CACzB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI;QAC1B,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,kBAAkB,CACvD;QACC,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAU;IACrC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"root.js","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactCompatNode } from \"./element.js\";\nimport {\n createRootRuntime,\n flushSyncUpdates,\n hasStableExternalStores,\n type RenderPriority,\n type RootRuntime,\n} from \"./hooks.js\";\nimport { commitDevToolsRoot, unmountDevToolsRoot } from \"./devtools.js\";\nimport {\n applyStreamingHydrationFragments,\n findContainingResumeBoundaryId,\n getHydrationScope,\n type HydrationRecoverableErrorInfo,\n type RenderOptions,\n} from \"./hydration.js\";\nimport {\n enableEventHydrationManifestReplay,\n readEventHydrationManifest,\n replayQueuedHydrationEvents,\n type EventHydrationManifest,\n} from \"./event-replay.js\";\nimport {\n ContinuousEventLane,\n SyncLane,\n TransitionLane,\n type Lane,\n} from \"./fiber-lanes.js\";\nimport {\n createContainerFiberRoot,\n enqueueRootRender,\n} from \"./fiber-work-loop.js\";\nimport { commitFiberRoot } from \"./fiber-commit.js\";\nimport {\n canRenderHostFiber,\n commitHydratingHostFiberRoot,\n renderHydratingHostFiberRoot,\n renderHostFiberRoot,\n} from \"./fiber-host.js\";\nimport type { Fiber, FiberRoot } from \"./fiber.js\";\nimport { renderIntoContainer } from \"./reconciler.js\";\n\nexport interface Root {\n render(element: ReactCompatNode): void;\n unmount(): void;\n}\n\nexport interface RootOptions {\n identifierPrefix?: string;\n}\n\nexport interface HydrateRootOptions {\n onRecoverableError?: (\n error: Error,\n info: HydrationRecoverableErrorInfo,\n ) => void;\n resumeId?: string;\n consumeResumeMarkers?: boolean;\n identifierPrefix?: string;\n}\n\nexport interface StreamingHydrationRoot {\n hydrate(element: ReactCompatNode, options?: HydrateRootOptions): Root;\n dispose(): void;\n}\n\nexport interface StreamingHydrationRootOptions {\n manifest?: EventHydrationManifest;\n manifestRoot?: ParentNode;\n fragmentRoot?: ParentNode;\n applyOutOfOrderFragments?: boolean;\n observeOutOfOrderFragments?: boolean;\n selectiveHydration?: SelectiveHydrationOptions;\n}\n\nexport interface SelectiveHydrationOptions {\n element?: ReactCompatNode;\n options?: HydrateRootOptions | ((event: Event) => HydrateRootOptions);\n boundaries?: Record<string, SelectiveHydrationBoundary>;\n}\n\nexport interface SelectiveHydrationBoundary {\n element: ReactCompatNode;\n options?: HydrateRootOptions | ((event: Event) => HydrateRootOptions);\n}\n\nconst legacyRoots = new WeakMap<Element, Root>();\n\nexport function createRoot(\n container: Element,\n options: RootOptions = {},\n): Root {\n const fiberRoot = createContainerFiberRoot(container);\n const runtime = createRootRuntime((priority = \"sync\") => {\n if (runtime.currentElement !== undefined) {\n enqueueRootRender(fiberRoot, runtime.currentElement, laneForRenderPriority(priority), () => {\n if (canRenderHostFiber(runtime.currentElement as ReactCompatNode)) {\n return renderHostFiberIntoContainer(\n container,\n fiberRoot,\n runtime,\n runtime.currentElement as ReactCompatNode,\n );\n }\n\n renderIntoContainer(container, runtime.currentElement, runtime);\n });\n }\n }, options);\n\n return {\n render(element) {\n runtime.currentElement = element;\n enqueueRootRender(fiberRoot, element, SyncLane, () => {\n if (canRenderHostFiber(element)) {\n return renderHostFiberIntoContainer(container, fiberRoot, runtime, element);\n }\n\n renderIntoContainer(container, element, runtime);\n });\n },\n unmount() {\n runtime.currentElement = undefined;\n runtime.dispose();\n runtime.instances.clear();\n unmountDevToolsRoot(container);\n container.replaceChildren();\n },\n };\n}\n\nfunction renderHostFiberIntoContainer(\n container: Element,\n fiberRoot: FiberRoot,\n runtime: RootRuntime,\n element: ReactCompatNode,\n): Fiber {\n for (let attempt = 0; attempt < 25; attempt += 1) {\n runtime.beginRender();\n let committed = false;\n\n try {\n for (const portalContainer of runtime.portalContainers) {\n portalContainer.replaceChildren();\n }\n runtime.portalContainers.clear();\n\n const finishedWork = renderHostFiberRoot(fiberRoot, element, runtime);\n\n if (!hasStableExternalStores(runtime)) {\n continue;\n }\n\n fiberRoot.finishedWork = finishedWork;\n commitFiberRoot(fiberRoot);\n commitDevToolsRoot(container, fiberRoot);\n committed = true;\n return finishedWork;\n } finally {\n runtime.endRender(committed);\n if (committed) {\n runtime.flushEffects();\n }\n }\n }\n\n throw new Error(\"Store unstable.\");\n}\n\nfunction renderHydratingHostFiberIntoContainer(\n container: Element,\n fiberRoot: FiberRoot,\n runtime: RootRuntime,\n element: ReactCompatNode,\n options: RenderOptions & {\n resumeId?: string;\n consumeResumeMarkers?: boolean;\n },\n): Fiber {\n for (let attempt = 0; attempt < 25; attempt += 1) {\n runtime.beginRender();\n let committed = false;\n\n try {\n for (const portalContainer of runtime.portalContainers) {\n portalContainer.replaceChildren();\n }\n runtime.portalContainers.clear();\n\n const scope = getHydrationScope(container, options.resumeId);\n const finishedWork = renderHydratingHostFiberRoot(\n fiberRoot,\n element,\n runtime,\n scope,\n options,\n );\n\n if (!hasStableExternalStores(runtime)) {\n continue;\n }\n\n commitHydratingHostFiberRoot(fiberRoot, finishedWork, scope, options);\n fiberRoot.current = finishedWork;\n fiberRoot.current.stateNode = fiberRoot;\n fiberRoot.finishedWork = undefined;\n fiberRoot.workInProgress = undefined;\n fiberRoot.workInProgressRootRenderLanes = 0;\n commitDevToolsRoot(container, fiberRoot);\n committed = true;\n return finishedWork;\n } finally {\n runtime.endRender(committed);\n if (committed) {\n runtime.flushEffects();\n }\n }\n }\n\n throw new Error(\"Store unstable.\");\n}\n\nexport function render(element: ReactCompatNode, container: Element): void {\n const root = legacyRoots.get(container) ?? createRoot(container);\n legacyRoots.set(container, root);\n root.render(element);\n}\n\nexport function flushSync<T>(callback: () => T): T {\n return flushSyncUpdates(callback);\n}\n\nexport function hydrateRoot(\n container: Element,\n element: ReactCompatNode,\n options: HydrateRootOptions = {},\n): Root {\n const fiberRoot = createContainerFiberRoot(container);\n const renderOptions: RenderOptions & {\n resumeId?: string;\n consumeResumeMarkers?: boolean;\n } = {\n hydration:\n options.onRecoverableError === undefined\n ? {}\n : { onRecoverableError: options.onRecoverableError },\n ...(options.resumeId === undefined ? {} : { resumeId: options.resumeId }),\n ...(options.consumeResumeMarkers === undefined\n ? {}\n : { consumeResumeMarkers: options.consumeResumeMarkers }),\n };\n const runtime = createRootRuntime((priority = \"sync\") => {\n if (runtime.currentElement !== undefined) {\n enqueueRootRender(fiberRoot, runtime.currentElement, laneForRenderPriority(priority), () => {\n if (canRenderHostFiber(runtime.currentElement as ReactCompatNode)) {\n return renderHydratingHostFiberIntoContainer(\n container,\n fiberRoot,\n runtime,\n runtime.currentElement as ReactCompatNode,\n renderOptions,\n );\n }\n\n renderIntoContainer(container, runtime.currentElement, runtime, renderOptions);\n });\n }\n }, {\n ...(options.identifierPrefix === undefined\n ? {}\n : { identifierPrefix: options.identifierPrefix }),\n idMode: \"server\",\n });\n\n const root: Root = {\n render(nextElement) {\n runtime.currentElement = nextElement;\n enqueueRootRender(fiberRoot, nextElement, SyncLane, () => {\n if (canRenderHostFiber(nextElement)) {\n return renderHostFiberIntoContainer(container, fiberRoot, runtime, nextElement);\n }\n\n renderIntoContainer(container, nextElement, runtime);\n });\n },\n unmount() {\n runtime.currentElement = undefined;\n runtime.dispose();\n runtime.instances.clear();\n unmountDevToolsRoot(container);\n container.replaceChildren();\n },\n };\n\n runtime.currentElement = element;\n enqueueRootRender(fiberRoot, element, SyncLane, () => {\n if (canRenderHostFiber(element)) {\n return renderHydratingHostFiberIntoContainer(\n container,\n fiberRoot,\n runtime,\n element,\n renderOptions,\n );\n }\n\n renderIntoContainer(container, element, runtime, renderOptions);\n });\n replayQueuedHydrationEvents(container);\n return root;\n}\n\nfunction laneForRenderPriority(priority: RenderPriority): Lane {\n if (priority === \"transition\") {\n return TransitionLane;\n }\n\n if (priority === \"continuous\") {\n return ContinuousEventLane;\n }\n\n return SyncLane;\n}\n\nexport function createStreamingHydrationRoot(\n container: Element,\n options: StreamingHydrationRootOptions = {},\n): StreamingHydrationRoot {\n const fragmentRoot = options.fragmentRoot ?? container.ownerDocument;\n const manifestRoot = options.manifestRoot ?? container;\n const manifest = options.manifest ?? readEventHydrationManifest(manifestRoot);\n\n if (options.applyOutOfOrderFragments !== false) {\n applyStreamingHydrationFragments(fragmentRoot);\n }\n\n let hydratedRoot: Root | undefined;\n const hydrate = (\n element: ReactCompatNode,\n hydrateOptions: HydrateRootOptions = {},\n ): Root => {\n if (options.applyOutOfOrderFragments !== false) {\n applyStreamingHydrationFragments(fragmentRoot);\n }\n\n const root = hydrateRoot(container, element, hydrateOptions);\n hydratedRoot = root;\n disposeReplayCaptureOnce();\n return root;\n };\n const disposeReplayCapture = enableEventHydrationManifestReplay(\n container,\n manifest,\n {\n onCapturedEvent(event, target) {\n const selectiveHydration = options.selectiveHydration;\n const selectiveBoundary = resolveSelectiveHydrationBoundary(\n container,\n event,\n target,\n manifest,\n selectiveHydration,\n );\n\n if (selectiveBoundary === undefined || hydratedRoot !== undefined) {\n return;\n }\n\n hydrate(\n selectiveBoundary.element,\n resolveSelectiveHydrationOptions(event, selectiveBoundary),\n );\n },\n },\n );\n const observer =\n options.observeOutOfOrderFragments === true &&\n typeof MutationObserver !== \"undefined\" &&\n fragmentRoot instanceof Node\n ? new MutationObserver(() => {\n applyStreamingHydrationFragments(fragmentRoot);\n })\n : undefined;\n let replayDisposed = false;\n\n observer?.observe(fragmentRoot as Node, { childList: true, subtree: true });\n\n const disposeReplayCaptureOnce = (): void => {\n if (!replayDisposed) {\n disposeReplayCapture();\n replayDisposed = true;\n }\n };\n\n return {\n hydrate,\n dispose() {\n disposeReplayCaptureOnce();\n observer?.disconnect();\n },\n };\n}\n\nexport function unmountComponentAtNode(container: Element): boolean {\n const root = legacyRoots.get(container);\n\n if (root !== undefined) {\n root.unmount();\n legacyRoots.delete(container);\n return true;\n }\n\n const hadChildren = container.childNodes.length > 0;\n container.replaceChildren();\n return hadChildren;\n}\n\nfunction resolveSelectiveHydrationBoundary(\n container: Element,\n event: Event,\n target: EventTarget,\n manifest: EventHydrationManifest | undefined,\n selectiveHydration: SelectiveHydrationOptions | undefined,\n): SelectiveHydrationBoundary | undefined {\n if (selectiveHydration === undefined) {\n return undefined;\n }\n\n const resumeId = resolveSelectiveHydrationResumeId(\n container,\n event,\n target,\n manifest,\n );\n const boundary =\n resumeId === undefined ? undefined : selectiveHydration.boundaries?.[resumeId];\n\n if (boundary !== undefined && resumeId !== undefined) {\n return {\n element: boundary.element,\n options: boundary.options ?? { resumeId, consumeResumeMarkers: true },\n };\n }\n\n if (selectiveHydration.element === undefined) {\n return undefined;\n }\n\n return {\n element: selectiveHydration.element,\n ...(selectiveHydration.options === undefined\n ? {}\n : { options: selectiveHydration.options }),\n };\n}\n\nfunction resolveSelectiveHydrationOptions(\n event: Event,\n boundary: SelectiveHydrationBoundary,\n): HydrateRootOptions {\n return typeof boundary.options === \"function\"\n ? boundary.options(event)\n : boundary.options ?? {};\n}\n\nfunction resolveSelectiveHydrationResumeId(\n container: Element,\n event: Event,\n target: EventTarget,\n manifest: EventHydrationManifest | undefined,\n): string | undefined {\n if (!(target instanceof Node) || manifest === undefined) {\n return undefined;\n }\n\n const containingResumeId = findContainingResumeBoundaryId(container, target);\n\n if (containingResumeId === undefined) {\n return undefined;\n }\n\n return manifest.events.some(\n (entry) =>\n entry.event === event.type &&\n getManifestResumeId(entry.id) === containingResumeId,\n )\n ? containingResumeId\n : undefined;\n}\n\nfunction getManifestResumeId(id: string): string {\n return id.split(\":\")[0] ?? id;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n cancelCallback,\n forceFrameRate,\n getFirstCallbackNode,\n now,\n requestPaint,\n scheduleCallback,\n shouldYieldToHost,\n startLoggingSchedulerProfilingEvents,\n stopLoggingSchedulerProfilingEvents,\n type SchedulerProfilingEvent,\n type SchedulerCallback,\n type SchedulerPriority,\n type SchedulerTask,\n} from \"./fiber-scheduler.js\";\n\nexport type unstable_PriorityLevel = 1 | 2 | 3 | 4 | 5;\nexport type unstable_CallbackNode = SchedulerTask;\nexport type unstable_Callback = (\n didTimeout: boolean,\n) => unstable_Callback | null | void;\n\nexport const unstable_ImmediatePriority = 1;\nexport const unstable_UserBlockingPriority = 2;\nexport const unstable_NormalPriority = 3;\nexport const unstable_LowPriority = 4;\nexport const unstable_IdlePriority = 5;\nexport const unstable_Profiling = {\n startLoggingProfilingEvents: startLoggingSchedulerProfilingEvents,\n stopLoggingProfilingEvents: stopLoggingSchedulerProfilingEvents,\n};\nexport type unstable_ProfilingEvent = SchedulerProfilingEvent;\n\nlet currentPriorityLevel: unstable_PriorityLevel = unstable_NormalPriority;\n\nexport function unstable_now(): number {\n return now();\n}\n\nexport function unstable_scheduleCallback(\n priorityLevel: unstable_PriorityLevel,\n callback: unstable_Callback,\n options?: { delay?: number },\n): unstable_CallbackNode {\n return scheduleCallback(\n toSchedulerPriority(priorityLevel),\n wrapScheduledCallback(priorityLevel, callback),\n options,\n );\n}\n\nexport function unstable_cancelCallback(task: unstable_CallbackNode): void {\n cancelCallback(task);\n}\n\nexport function unstable_shouldYield(): boolean {\n return shouldYieldToHost();\n}\n\nexport function unstable_requestPaint(): void {\n requestPaint();\n}\n\nexport function unstable_forceFrameRate(fps: number): void {\n forceFrameRate(fps);\n}\n\nexport function unstable_getCurrentPriorityLevel(): unstable_PriorityLevel {\n return currentPriorityLevel;\n}\n\nexport function unstable_runWithPriority<T>(\n priorityLevel: unstable_PriorityLevel,\n callback: () => T,\n): T {\n return runWithPriorityLevel(priorityLevel, callback);\n}\n\nexport function unstable_next<T>(callback: () => T): T {\n const nextPriority =\n currentPriorityLevel === unstable_ImmediatePriority ||\n currentPriorityLevel === unstable_UserBlockingPriority\n ? unstable_NormalPriority\n : currentPriorityLevel;\n return runWithPriorityLevel(nextPriority, callback);\n}\n\nexport function unstable_wrapCallback<TArgs extends unknown[], TResult>(\n callback: (...args: TArgs) => TResult,\n): (...args: TArgs) => TResult {\n const capturedPriority = currentPriorityLevel;\n return (...args) => runWithPriorityLevel(capturedPriority, () => callback(...args));\n}\n\nexport function unstable_getFirstCallbackNode(): unstable_CallbackNode | null {\n return getFirstCallbackNode();\n}\n\nexport function unstable_pauseExecution(): void {\n // React exposes this as an unstable public hook; this scheduler has no global pause state.\n}\n\nexport function unstable_continueExecution(): void {\n // Host callbacks are requested eagerly by scheduleCallback, so there is no paused queue to resume.\n}\n\nfunction wrapScheduledCallback(\n priorityLevel: unstable_PriorityLevel,\n callback: unstable_Callback,\n): SchedulerCallback {\n return (didTimeout) =>\n runWithPriorityLevel(priorityLevel, () => {\n const continuation = callback(didTimeout);\n\n if (typeof continuation === \"function\") {\n return wrapScheduledCallback(priorityLevel, continuation);\n }\n\n return undefined;\n });\n}\n\nfunction runWithPriorityLevel<T>(\n priorityLevel: unstable_PriorityLevel,\n callback: () => T,\n): T {\n const previousPriority = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return callback();\n } finally {\n currentPriorityLevel = previousPriority;\n }\n}\n\nfunction toSchedulerPriority(\n priorityLevel: unstable_PriorityLevel,\n): SchedulerPriority {\n if (priorityLevel === unstable_ImmediatePriority) {\n return \"immediate\";\n }\n\n if (priorityLevel === unstable_UserBlockingPriority) {\n return \"user-blocking\";\n }\n\n if (priorityLevel === unstable_LowPriority) {\n return \"low\";\n }\n\n if (priorityLevel === unstable_IdlePriority) {\n return \"idle\";\n }\n\n return \"normal\";\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"suspense.js","sourceRoot":"","sources":["../src/suspense.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suspense.js","sourceRoot":"","sources":["../src/suspense.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Suspense,\n isReactCompatElement,\n type ReactCompatElement,\n type ReactCompatNode,\n} from \"./element.js\";\nimport type { RootRuntime } from \"./hooks.js\";\nimport {\n reportReactSuspenseServerError,\n type RenderOptions,\n} from \"./hydration.js\";\nimport type {\n ReconcileNode,\n ReconcileResult,\n ReconcileSequence,\n} from \"./reconcile-types.js\";\nimport { syncScopedChildNodes } from \"./dom-children.js\";\nimport { isThenable } from \"./thenable.js\";\n\ninterface ReactSuspenseBoundary {\n start: Comment;\n end: Comment;\n previousNodes?: Node[];\n consumed: number;\n serverError?: {\n message: string;\n componentStack?: string;\n };\n}\n\nlet suspensePrimaryRenderDepth = 0;\n\nexport function isSuspensePrimaryRenderActive(): boolean {\n return suspensePrimaryRenderDepth > 0;\n}\n\nexport function reconcileSuspense(\n parent: ParentNode,\n previousNodes: readonly Node[],\n element: ReactCompatElement,\n runtime: RootRuntime,\n path: string,\n options: RenderOptions,\n reconcileNode: ReconcileNode,\n): ReconcileResult {\n const boundary = findReactSuspenseBoundary(previousNodes);\n if (boundary?.serverError !== undefined) {\n reportReactSuspenseServerError(\n options,\n path,\n boundary.serverError.message,\n boundary.serverError.componentStack,\n );\n }\n const boundaryPreviousNodes =\n boundary?.serverError === undefined\n ? boundary?.previousNodes ?? previousNodes\n : [];\n\n try {\n suspensePrimaryRenderDepth += 1;\n let result: ReconcileResult;\n\n try {\n result = reconcileNode(\n parent,\n boundaryPreviousNodes,\n element.props.children,\n runtime,\n `${path}.s`,\n options,\n );\n } finally {\n suspensePrimaryRenderDepth -= 1;\n }\n\n return consumeReactSuspenseBoundary(\n boundary,\n parent,\n result,\n );\n } catch (error) {\n if (!isThenable(error)) {\n throw error;\n }\n\n error.then(\n () => runtime.rerender(),\n () => runtime.rerender(),\n );\n return consumeReactSuspenseBoundary(\n boundary,\n parent,\n reconcileNode(\n parent,\n boundaryPreviousNodes,\n element.props.fallback as ReactCompatNode,\n runtime,\n `${path}.fallback`,\n options,\n ),\n );\n }\n}\n\nexport function reconcileSuspenseList(\n parent: ParentNode,\n previousNodes: readonly Node[],\n element: ReactCompatElement,\n runtime: RootRuntime,\n path: string,\n options: RenderOptions,\n reconcileNode: ReconcileNode,\n reconcileSequence: ReconcileSequence,\n): ReconcileResult {\n if (\n element.props.revealOrder !== \"forwards\" &&\n element.props.revealOrder !== \"backwards\" &&\n element.props.revealOrder !== \"together\"\n ) {\n return reconcileNode(\n parent,\n previousNodes,\n element.props.children,\n runtime,\n `${path}.sl`,\n options,\n );\n }\n\n const children = Array.isArray(element.props.children)\n ? element.props.children\n : [element.props.children];\n\n if (element.props.revealOrder === \"together\") {\n return reconcileSequence(parent, previousNodes, children, runtime, `${path}.sl`, options);\n }\n\n const nodes: Node[] = [];\n let previousIndex = 0;\n\n if (element.props.revealOrder === \"backwards\") {\n for (let index = children.length - 1; index >= 0; index -= 1) {\n const child = children[index] as ReactCompatNode;\n const result = reconcileNode(\n parent,\n previousNodes.slice(previousIndex),\n child,\n runtime,\n `${path}.sl.${index}`,\n options,\n );\n nodes.unshift(...result.nodes);\n previousIndex += result.consumed;\n\n if (isSuspenseFallback(child, result.nodes)) {\n break;\n }\n }\n\n return { nodes, consumed: previousIndex };\n }\n\n for (const [index, child] of children.entries()) {\n const result = reconcileNode(\n parent,\n previousNodes.slice(previousIndex),\n child,\n runtime,\n `${path}.sl.${index}`,\n options,\n );\n nodes.push(...result.nodes);\n previousIndex += result.consumed;\n\n if (isSuspenseFallback(child, result.nodes)) {\n break;\n }\n }\n\n return { nodes, consumed: previousIndex };\n}\n\nfunction findReactSuspenseBoundary(\n previousNodes: readonly Node[],\n): ReactSuspenseBoundary | undefined {\n const startIndex = previousNodes.findIndex(isReactSuspenseStartComment);\n\n if (startIndex < 0) {\n return undefined;\n }\n\n let depth = 0;\n\n for (let index = startIndex; index < previousNodes.length; index += 1) {\n const node = previousNodes[index];\n\n if (isReactSuspenseStartComment(node)) {\n depth += 1;\n continue;\n }\n\n if (isReactSuspenseEndComment(node)) {\n depth -= 1;\n\n if (depth === 0) {\n const start = previousNodes[startIndex] as Comment;\n const boundaryNodes = previousNodes.slice(startIndex + 1, index);\n const boundary: ReactSuspenseBoundary = {\n start,\n end: node,\n consumed: index - startIndex + 1,\n ...readReactSuspenseServerError(start, boundaryNodes),\n };\n\n if (!isReactSuspenseErrorStartComment(start)) {\n boundary.previousNodes = isReactSuspensePendingStartComment(start)\n ? removeReactSuspensePendingTemplate(boundaryNodes)\n : boundaryNodes;\n }\n\n return boundary;\n }\n }\n }\n\n return undefined;\n}\n\nfunction consumeReactSuspenseBoundary(\n boundary: ReactSuspenseBoundary | undefined,\n parent: ParentNode,\n result: ReconcileResult,\n): ReconcileResult {\n if (boundary === undefined) {\n return result;\n }\n\n syncScopedChildNodes(parent, boundary.start, boundary.end, result.nodes);\n boundary.start.parentNode?.removeChild(boundary.start);\n boundary.end.parentNode?.removeChild(boundary.end);\n return { nodes: result.nodes, consumed: boundary.consumed };\n}\n\nfunction isReactSuspenseStartComment(node: Node | undefined): node is Comment {\n return node instanceof Comment && reactSuspenseStartComments.has(node.data);\n}\n\nfunction isReactSuspensePendingStartComment(node: Comment): boolean {\n return node.data === \"$?\" || node.data === \"$!\";\n}\n\nfunction isReactSuspenseErrorStartComment(node: Comment): boolean {\n return node.data === \"$!\";\n}\n\nfunction isReactSuspenseEndComment(node: Node | undefined): node is Comment {\n return node instanceof Comment && node.data === \"/$\";\n}\n\nfunction removeReactSuspensePendingTemplate(nodes: readonly Node[]): Node[] {\n const [firstNode, ...remainingNodes] = nodes;\n\n return firstNode instanceof HTMLTemplateElement\n ? remainingNodes\n : [...nodes];\n}\n\nconst reactSuspenseStartComments = new Set([\"$\", \"$?\", \"$!\"]);\n\nfunction readReactSuspenseServerError(\n start: Comment,\n boundaryNodes: readonly Node[],\n): { serverError: { message: string; componentStack?: string } } | {} {\n if (start.data !== \"$!\") {\n return {};\n }\n\n const template = boundaryNodes[0];\n const message =\n template instanceof HTMLTemplateElement\n ? template.getAttribute(\"data-msg\")\n : null;\n const componentStack =\n template instanceof HTMLTemplateElement\n ? template.getAttribute(\"data-stck\")\n : null;\n\n return {\n serverError: {\n message: message ?? \"React Suspense server rendering error.\",\n ...(componentStack === null ? {} : { componentStack }),\n },\n };\n}\n\nfunction isSuspenseFallback(\n node: ReactCompatNode,\n renderedNodes: readonly Node[],\n): boolean {\n return (\n isReactCompatElement(node) &&\n node.type === Suspense &&\n renderedNodes.some((renderedNode) =>\n renderedNode instanceof Element &&\n renderedNode.tagName.toLowerCase() === getFallbackTagName(node),\n )\n );\n}\n\nfunction getFallbackTagName(node: ReactCompatElement): string | undefined {\n const fallback = node.props.fallback;\n\n return isReactCompatElement(fallback) && typeof fallback.type === \"string\"\n ? fallback.type\n : undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"thenable.js","sourceRoot":"","sources":["../src/thenable.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,CACL,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;QAC1D,KAAK,KAAK,IAAI;QACd,OAAQ,KAA4B,CAAC,IAAI,KAAK,UAAU,CACzD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"thenable.js","sourceRoot":"","sources":["../src/thenable.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,CACL,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;QAC1D,KAAK,KAAK,IAAI;QACd,OAAQ,KAA4B,CAAC,IAAI,KAAK,UAAU,CACzD,CAAC;AACJ,CAAC","sourcesContent":["export function isThenable(value: unknown): value is PromiseLike<unknown> {\n return (\n (typeof value === \"object\" || typeof value === \"function\") &&\n value !== null &&\n typeof (value as { then?: unknown }).then === \"function\"\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"url-safety.js","sourceRoot":"","sources":["../src/url-safety.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,GACf,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"url-safety.js","sourceRoot":"","sources":["../src/url-safety.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,GACf,MAAM,mCAAmC,CAAC","sourcesContent":["export {\n isDangerousHtmlAttribute,\n isDangerousHtmlOptIn,\n isSrcsetAttribute,\n isUnsafeUrlAttribute,\n isUrlAttribute,\n} from \"@reckona/mreact-shared/url-safety\";\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reckona/mreact-compat",
3
- "version": "0.0.66",
3
+ "version": "0.0.68",
4
4
  "description": "React-compatible runtime implementation for mreact.",
5
5
  "keywords": [
6
6
  "compatibility",
@@ -24,7 +24,8 @@
24
24
  "dist/**/*.js",
25
25
  "dist/**/*.js.map",
26
26
  "dist/**/*.d.ts",
27
- "dist/**/*.d.ts.map"
27
+ "dist/**/*.d.ts.map",
28
+ "src/**/*"
28
29
  ],
29
30
  "type": "module",
30
31
  "sideEffects": false,
@@ -64,6 +65,6 @@
64
65
  "access": "public"
65
66
  },
66
67
  "dependencies": {
67
- "@reckona/mreact-shared": "0.0.66"
68
+ "@reckona/mreact-shared": "0.0.68"
68
69
  }
69
70
  }
@@ -0,0 +1,386 @@
1
+ import { renderWithRootRuntime, useLayoutEffect, useRef, type RootRuntime } from "./hooks.js";
2
+ import type { ReactCompatElement, ReactCompatNode } from "./element.js";
3
+ import { withHydrationComponentStack, type RenderOptions } from "./hydration.js";
4
+ import type { ReconcileNode, ReconcileResult } from "./reconcile-types.js";
5
+ import { isThenable } from "./thenable.js";
6
+ import { shallowEqual } from "./prop-comparison.js";
7
+
8
+ export interface ClassComponentInstance {
9
+ props: Record<string, unknown>;
10
+ state?: Record<string, unknown>;
11
+ setState?: (
12
+ partial:
13
+ | Record<string, unknown>
14
+ | ((
15
+ previousState: Record<string, unknown>,
16
+ props: Record<string, unknown>,
17
+ ) => Record<string, unknown> | null),
18
+ callback?: () => void,
19
+ ) => void;
20
+ forceUpdate?: (callback?: () => void) => void;
21
+ render(): ReactCompatNode;
22
+ componentDidMount?: () => void;
23
+ componentDidUpdate?: (
24
+ previousProps: Record<string, unknown>,
25
+ previousState: Record<string, unknown>,
26
+ snapshot?: unknown,
27
+ ) => void;
28
+ componentWillUnmount?: () => void;
29
+ shouldComponentUpdate?: (
30
+ nextProps: Record<string, unknown>,
31
+ nextState: Record<string, unknown>,
32
+ ) => boolean;
33
+ getSnapshotBeforeUpdate?: (
34
+ previousProps: Record<string, unknown>,
35
+ previousState: Record<string, unknown>,
36
+ ) => unknown;
37
+ componentDidCatch?: (error: Error, info: { componentStack: string }) => void;
38
+ }
39
+
40
+ export interface ClassComponentType {
41
+ new (props: Record<string, unknown>): ClassComponentInstance;
42
+ getDerivedStateFromError?: (error: Error) => Record<string, unknown> | null;
43
+ }
44
+
45
+ export class Component<
46
+ P extends Record<string, unknown> = Record<string, unknown>,
47
+ S extends Record<string, unknown> = Record<string, unknown>,
48
+ > {
49
+ props: P;
50
+ state?: S;
51
+ setState!: ClassComponentInstance["setState"];
52
+ forceUpdate!: ClassComponentInstance["forceUpdate"];
53
+
54
+ constructor(props: P) {
55
+ this.props = props;
56
+ }
57
+
58
+ render(): ReactCompatNode {
59
+ return null;
60
+ }
61
+ }
62
+
63
+ export class PureComponent<
64
+ P extends Record<string, unknown> = Record<string, unknown>,
65
+ S extends Record<string, unknown> = Record<string, unknown>,
66
+ > extends Component<P, S> {
67
+ shouldComponentUpdate(nextProps: P, nextState: S): boolean {
68
+ return !shallowEqual(this.props, nextProps) || !shallowEqual(this.state ?? {}, nextState ?? {});
69
+ }
70
+ }
71
+
72
+ interface ClassLifecycleSnapshot {
73
+ previousState?: Record<string, unknown>;
74
+ force?: boolean;
75
+ snapshot?: unknown;
76
+ }
77
+
78
+ const classLifecycleSnapshots = new WeakMap<
79
+ ClassComponentInstance,
80
+ ClassLifecycleSnapshot
81
+ >();
82
+
83
+ export type ClassComponentRenderResult =
84
+ | {
85
+ kind: "render";
86
+ node: ReactCompatNode;
87
+ instance: ClassComponentInstance;
88
+ type: ClassComponentType;
89
+ }
90
+ | { kind: "skip" };
91
+
92
+ export function reconcileClassComponent(
93
+ parent: ParentNode,
94
+ previousNodes: readonly Node[],
95
+ type: ClassComponentType,
96
+ props: Record<string, unknown>,
97
+ runtime: RootRuntime,
98
+ path: string,
99
+ options: RenderOptions,
100
+ reconcileNode: ReconcileNode,
101
+ onInstance?: (instance: ClassComponentInstance) => void,
102
+ ): ReconcileResult {
103
+ const rendered = renderClassComponentWithRuntime(type, props, runtime, path);
104
+
105
+ if (rendered.kind === "skip") {
106
+ return { nodes: previousNodes.slice(0, 1), consumed: previousNodes.length };
107
+ }
108
+
109
+ onInstance?.(rendered.instance);
110
+ const childOptions = withHydrationComponentStack(
111
+ options,
112
+ getClassComponentName(type),
113
+ );
114
+
115
+ try {
116
+ return reconcileNode(
117
+ parent,
118
+ previousNodes,
119
+ rendered.node,
120
+ runtime,
121
+ `${path}.class`,
122
+ childOptions,
123
+ );
124
+ } catch (error) {
125
+ const fallbackNode = recoverClassComponentError(
126
+ rendered.type,
127
+ rendered.instance,
128
+ error,
129
+ );
130
+
131
+ if (fallbackNode === undefined) {
132
+ throw error;
133
+ }
134
+
135
+ return reconcileNode(
136
+ parent,
137
+ previousNodes,
138
+ fallbackNode,
139
+ runtime,
140
+ `${path}.class.fallback`,
141
+ childOptions,
142
+ );
143
+ }
144
+ }
145
+
146
+ export function renderClassComponentWithRuntime(
147
+ type: ClassComponentType,
148
+ props: Record<string, unknown>,
149
+ runtime: RootRuntime,
150
+ path: string,
151
+ ): ClassComponentRenderResult {
152
+ return renderWithRootRuntime(runtime, path, () => {
153
+ const instanceRef = useRef<ClassComponentInstance | undefined>(undefined);
154
+ const didCommitRef = useRef(false);
155
+ const previousInstance = instanceRef.current;
156
+ const hasDifferentType =
157
+ previousInstance !== undefined && !(previousInstance instanceof type);
158
+ const replacedInstance = hasDifferentType ? previousInstance : undefined;
159
+
160
+ if (hasDifferentType) {
161
+ classLifecycleSnapshots.delete(previousInstance);
162
+ didCommitRef.current = false;
163
+ instanceRef.current = undefined;
164
+ }
165
+
166
+ const instance =
167
+ instanceRef.current !== undefined && instanceRef.current instanceof type
168
+ ? instanceRef.current
169
+ : new type(props);
170
+ const previousProps = instance.props;
171
+ const snapshot = classLifecycleSnapshots.get(instance);
172
+ const previousState = snapshot?.previousState ?? instance.state ?? {};
173
+ const nextState = instance.state ?? {};
174
+
175
+ instanceRef.current = instance;
176
+ installClassUpdateMethods(instance, runtime);
177
+ const shouldSkipUpdate =
178
+ didCommitRef.current &&
179
+ snapshot?.force !== true &&
180
+ instance.shouldComponentUpdate?.(props, nextState) === false;
181
+
182
+ instance.props = props;
183
+ installClassLifecycleEffects(
184
+ instance,
185
+ didCommitRef,
186
+ previousProps,
187
+ previousState,
188
+ shouldSkipUpdate,
189
+ replacedInstance,
190
+ );
191
+
192
+ if (shouldSkipUpdate) {
193
+ return { kind: "skip" };
194
+ }
195
+
196
+ try {
197
+ const node = instance.render();
198
+
199
+ if (didCommitRef.current) {
200
+ classLifecycleSnapshots.set(instance, {
201
+ ...classLifecycleSnapshots.get(instance),
202
+ snapshot: instance.getSnapshotBeforeUpdate?.(
203
+ previousProps ?? {},
204
+ previousState,
205
+ ),
206
+ });
207
+ }
208
+
209
+ return { kind: "render", node, instance, type };
210
+ } catch (error) {
211
+ const fallbackNode = recoverClassComponentError(type, instance, error);
212
+
213
+ if (fallbackNode === undefined) {
214
+ throw error;
215
+ }
216
+
217
+ return { kind: "render", node: fallbackNode, instance, type };
218
+ }
219
+ });
220
+ }
221
+
222
+ export function recoverClassComponentError(
223
+ type: ClassComponentType,
224
+ instance: ClassComponentInstance,
225
+ error: unknown,
226
+ ): ReactCompatNode | undefined {
227
+ if (isThenable(error) || !isErrorBoundaryClass(type, instance)) {
228
+ return undefined;
229
+ }
230
+
231
+ const normalizedError =
232
+ error instanceof Error ? error : new Error(String(error));
233
+ const derivedState = type.getDerivedStateFromError?.(normalizedError);
234
+
235
+ if (derivedState !== undefined && derivedState !== null) {
236
+ instance.state = {
237
+ ...instance.state,
238
+ ...derivedState,
239
+ };
240
+ }
241
+
242
+ instance.componentDidCatch?.(normalizedError, { componentStack: "" });
243
+ return instance.render();
244
+ }
245
+
246
+ export function isClassComponentType(value: unknown): value is ClassComponentType {
247
+ return (
248
+ typeof value === "function" &&
249
+ typeof (value as { prototype?: { render?: unknown } }).prototype?.render ===
250
+ "function"
251
+ );
252
+ }
253
+
254
+ function getClassComponentName(type: ClassComponentType): string {
255
+ return type.name === "" ? "Anonymous" : type.name;
256
+ }
257
+
258
+ export function reconcileErrorBoundary(
259
+ parent: ParentNode,
260
+ previousNodes: readonly Node[],
261
+ element: ReactCompatElement,
262
+ runtime: RootRuntime,
263
+ path: string,
264
+ options: RenderOptions,
265
+ reconcileNode: ReconcileNode,
266
+ ): ReconcileResult {
267
+ try {
268
+ return reconcileNode(
269
+ parent,
270
+ previousNodes,
271
+ element.props.children,
272
+ runtime,
273
+ `${path}.eb`,
274
+ options,
275
+ );
276
+ } catch (error) {
277
+ if (isThenable(error)) {
278
+ throw error;
279
+ }
280
+
281
+ const normalizedError =
282
+ error instanceof Error ? error : new Error(String(error));
283
+ const onError = element.props.onError;
284
+
285
+ if (typeof onError === "function") {
286
+ (onError as (error: Error) => void)(normalizedError);
287
+ }
288
+
289
+ const fallback = element.props.fallback;
290
+ const fallbackNode =
291
+ typeof fallback === "function"
292
+ ? (fallback as (error: Error) => ReactCompatNode)(normalizedError)
293
+ : null;
294
+
295
+ return reconcileNode(
296
+ parent,
297
+ previousNodes,
298
+ fallbackNode,
299
+ runtime,
300
+ `${path}.eb.fallback`,
301
+ options,
302
+ );
303
+ }
304
+ }
305
+
306
+ function installClassUpdateMethods(
307
+ instance: ClassComponentInstance,
308
+ runtime: RootRuntime,
309
+ ): void {
310
+ instance.setState = (partial, callback): void => {
311
+ const previousState = instance.state ?? {};
312
+ if (!classLifecycleSnapshots.has(instance)) {
313
+ classLifecycleSnapshots.set(instance, { previousState });
314
+ }
315
+ const nextPartial =
316
+ typeof partial === "function"
317
+ ? partial(previousState, instance.props)
318
+ : partial;
319
+
320
+ if (nextPartial !== null) {
321
+ instance.state = {
322
+ ...previousState,
323
+ ...nextPartial,
324
+ };
325
+ }
326
+
327
+ runtime.rerender();
328
+ callback?.call(instance);
329
+ };
330
+ instance.forceUpdate = (callback): void => {
331
+ classLifecycleSnapshots.set(instance, {
332
+ previousState: instance.state ?? {},
333
+ force: true,
334
+ });
335
+ runtime.rerender();
336
+ callback?.call(instance);
337
+ };
338
+ }
339
+
340
+ function installClassLifecycleEffects(
341
+ instance: ClassComponentInstance,
342
+ didCommitRef: { current: boolean },
343
+ previousProps: Record<string, unknown> | undefined,
344
+ previousState: Record<string, unknown>,
345
+ skipUpdate: boolean,
346
+ replacedInstance?: ClassComponentInstance,
347
+ ): void {
348
+ useLayoutEffect(() => {
349
+ replacedInstance?.componentWillUnmount?.();
350
+
351
+ if (skipUpdate) {
352
+ classLifecycleSnapshots.delete(instance);
353
+ return;
354
+ }
355
+
356
+ if (didCommitRef.current) {
357
+ instance.componentDidUpdate?.(
358
+ previousProps ?? {},
359
+ previousState,
360
+ classLifecycleSnapshots.get(instance)?.snapshot,
361
+ );
362
+ } else {
363
+ didCommitRef.current = true;
364
+ instance.componentDidMount?.();
365
+ }
366
+
367
+ classLifecycleSnapshots.delete(instance);
368
+ });
369
+
370
+ useLayoutEffect(() => {
371
+ return () => {
372
+ instance.componentWillUnmount?.();
373
+ classLifecycleSnapshots.delete(instance);
374
+ };
375
+ }, []);
376
+ }
377
+
378
+ function isErrorBoundaryClass(
379
+ type: ClassComponentType,
380
+ instance: ClassComponentInstance,
381
+ ): boolean {
382
+ return (
383
+ typeof type.getDerivedStateFromError === "function" ||
384
+ typeof instance.componentDidCatch === "function"
385
+ );
386
+ }