sinwan 0.0.0 → 0.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 (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +67 -1
  3. package/dist/cjs/index.development.js +1625 -0
  4. package/dist/cjs/index.development.js.map +32 -0
  5. package/dist/cjs/index.production.min.js +3 -0
  6. package/dist/cjs/index.production.min.js.map +32 -0
  7. package/dist/cjs/jsx/jsx-dev-runtime.development.js +134 -0
  8. package/dist/cjs/jsx/jsx-dev-runtime.development.js.map +10 -0
  9. package/dist/cjs/jsx/jsx-dev-runtime.production.min.js +3 -0
  10. package/dist/cjs/jsx/jsx-dev-runtime.production.min.js.map +10 -0
  11. package/dist/cjs/jsx/jsx-runtime.development.js +126 -0
  12. package/dist/cjs/jsx/jsx-runtime.development.js.map +10 -0
  13. package/dist/cjs/jsx/jsx-runtime.production.min.js +3 -0
  14. package/dist/cjs/jsx/jsx-runtime.production.min.js.map +10 -0
  15. package/dist/cjs/package.json +4 -0
  16. package/dist/cjs/server/index.development.js +929 -0
  17. package/dist/cjs/server/index.development.js.map +22 -0
  18. package/dist/cjs/server/index.production.min.js +3 -0
  19. package/dist/cjs/server/index.production.min.js.map +22 -0
  20. package/dist/component/create.d.ts +75 -0
  21. package/dist/component/create.d.ts.map +1 -0
  22. package/dist/component/index.d.ts +10 -0
  23. package/dist/component/index.d.ts.map +1 -0
  24. package/dist/component/instance.d.ts +78 -0
  25. package/dist/component/instance.d.ts.map +1 -0
  26. package/dist/component/lifecycle.d.ts +40 -0
  27. package/dist/component/lifecycle.d.ts.map +1 -0
  28. package/dist/component/provide-inject.d.ts +39 -0
  29. package/dist/component/provide-inject.d.ts.map +1 -0
  30. package/dist/escaper.d.ts +26 -0
  31. package/dist/escaper.d.ts.map +1 -0
  32. package/dist/esm/index.development.js +1560 -0
  33. package/dist/esm/index.development.js.map +32 -0
  34. package/dist/esm/index.production.min.js +4 -0
  35. package/dist/esm/index.production.min.js.map +32 -0
  36. package/dist/esm/jsx/jsx-dev-runtime.development.js +83 -0
  37. package/dist/esm/jsx/jsx-dev-runtime.development.js.map +10 -0
  38. package/dist/esm/jsx/jsx-dev-runtime.production.min.js +4 -0
  39. package/dist/esm/jsx/jsx-dev-runtime.production.min.js.map +10 -0
  40. package/dist/esm/jsx/jsx-runtime.development.js +87 -0
  41. package/dist/esm/jsx/jsx-runtime.development.js.map +10 -0
  42. package/dist/esm/jsx/jsx-runtime.production.min.js +4 -0
  43. package/dist/esm/jsx/jsx-runtime.production.min.js.map +10 -0
  44. package/dist/esm/package.json +4 -0
  45. package/dist/esm/server/index.development.js +878 -0
  46. package/dist/esm/server/index.development.js.map +22 -0
  47. package/dist/esm/server/index.production.min.js +4 -0
  48. package/dist/esm/server/index.production.min.js.map +22 -0
  49. package/dist/hydration/hydrate.d.ts +29 -0
  50. package/dist/hydration/hydrate.d.ts.map +1 -0
  51. package/dist/hydration/index.d.ts +7 -0
  52. package/dist/hydration/index.d.ts.map +1 -0
  53. package/dist/hydration/markers.d.ts +48 -0
  54. package/dist/hydration/markers.d.ts.map +1 -0
  55. package/dist/hydration/walk.d.ts +32 -0
  56. package/dist/hydration/walk.d.ts.map +1 -0
  57. package/dist/index.d.ts +14 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +7 -0
  60. package/dist/index.mjs +4 -0
  61. package/dist/jsx/jsx-dev-runtime.d.ts +10 -0
  62. package/dist/jsx/jsx-dev-runtime.d.ts.map +1 -0
  63. package/dist/jsx/jsx-runtime.d.ts +54 -0
  64. package/dist/jsx/jsx-runtime.d.ts.map +1 -0
  65. package/dist/jsx/jsx-types.d.ts +637 -0
  66. package/dist/jsx/jsx-types.d.ts.map +1 -0
  67. package/dist/jsx-dev-runtime.d.ts +1 -0
  68. package/dist/jsx-dev-runtime.js +7 -0
  69. package/dist/jsx-dev-runtime.mjs +4 -0
  70. package/dist/jsx-runtime.d.ts +1 -0
  71. package/dist/jsx-runtime.js +7 -0
  72. package/dist/jsx-runtime.mjs +4 -0
  73. package/dist/reactivity/batch.d.ts +27 -0
  74. package/dist/reactivity/batch.d.ts.map +1 -0
  75. package/dist/reactivity/computed.d.ts +41 -0
  76. package/dist/reactivity/computed.d.ts.map +1 -0
  77. package/dist/reactivity/effect.d.ts +79 -0
  78. package/dist/reactivity/effect.d.ts.map +1 -0
  79. package/dist/reactivity/index.d.ts +15 -0
  80. package/dist/reactivity/index.d.ts.map +1 -0
  81. package/dist/reactivity/scheduler.d.ts +35 -0
  82. package/dist/reactivity/scheduler.d.ts.map +1 -0
  83. package/dist/reactivity/signal.d.ts +36 -0
  84. package/dist/reactivity/signal.d.ts.map +1 -0
  85. package/dist/renderer/attributes.d.ts +8 -0
  86. package/dist/renderer/attributes.d.ts.map +1 -0
  87. package/dist/renderer/dom-ops.d.ts +27 -0
  88. package/dist/renderer/dom-ops.d.ts.map +1 -0
  89. package/dist/renderer/events.d.ts +21 -0
  90. package/dist/renderer/events.d.ts.map +1 -0
  91. package/dist/renderer/index.d.ts +12 -0
  92. package/dist/renderer/index.d.ts.map +1 -0
  93. package/dist/renderer/mount.d.ts +30 -0
  94. package/dist/renderer/mount.d.ts.map +1 -0
  95. package/dist/renderer/render-children.d.ts +19 -0
  96. package/dist/renderer/render-children.d.ts.map +1 -0
  97. package/dist/renderer/render-element.d.ts +13 -0
  98. package/dist/renderer/render-element.d.ts.map +1 -0
  99. package/dist/renderer/types.d.ts +63 -0
  100. package/dist/renderer/types.d.ts.map +1 -0
  101. package/dist/server/hydration-markers.d.ts +23 -0
  102. package/dist/server/hydration-markers.d.ts.map +1 -0
  103. package/dist/server/index.d.ts +9 -0
  104. package/dist/server/index.d.ts.map +1 -0
  105. package/dist/server/renderer.d.ts +33 -0
  106. package/dist/server/renderer.d.ts.map +1 -0
  107. package/dist/server/stream.d.ts +12 -0
  108. package/dist/server/stream.d.ts.map +1 -0
  109. package/dist/server.d.ts +1 -0
  110. package/dist/server.js +7 -0
  111. package/dist/server.mjs +4 -0
  112. package/dist/types.d.ts +42 -0
  113. package/dist/types.d.ts.map +1 -0
  114. package/package.json +102 -4
  115. package/bun.lock +0 -26
  116. package/src/index.ts +0 -1
  117. package/tsconfig.json +0 -29
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-types.d.ts","sourceRoot":"","sources":["../../src/jsx/jsx-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,aAAa,CAAC;AAM7D,KAAK,YAAY,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;AAM7D,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;AAM9D,MAAM,WAAW,cAAc;IAE7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,KAAK,CAAC,EAAE,aAAa,CAAC;IAGtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,gBAAgB,CAAC;IAChE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,gBAAgB,CAAC;IAChE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAGxC,SAAS,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EACN,MAAM,GACN,MAAM,GACN,SAAS,GACT,SAAS,GACT,KAAK,GACL,QAAQ,GACR,OAAO,GACP,KAAK,CAAC;IACV,SAAS,CAAC,EACN,MAAM,GACN,MAAM,GACN,SAAS,GACT,SAAS,GACT,KAAK,GACL,QAAQ,GACR,OAAO,GACP,KAAK,CAAC;IACV,YAAY,CAAC,EACT,OAAO,GACP,MAAM,GACN,IAAI,GACJ,MAAM,GACN,UAAU,GACV,QAAQ,GACR,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,uBAAuB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAG7C,QAAQ,CAAC,EAAE,UAAU,CAAC;IAGtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,mBAAmB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1D,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EACX,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,UAAU,GACV,MAAM,GACN,MAAM,CAAC;IACX,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,eAAe,CAAC,EACZ,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,SAAS,GACT,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC7C,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC1C,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9C,sBAAsB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IACpD,kBAAkB,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACtD,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,eAAe,CAAC,EACZ,WAAW,GACX,KAAK,GACL,UAAU,GACV,MAAM,GACN,gBAAgB,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,YAAY,CAAC;IAGxB,CAAC,GAAG,EAAE,QAAQ,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAChE;AAMD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACrC,WAAW,CAAC,EAAE,EAAE,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACnD,WAAW,CAAC,EAAE,EAAE,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC,YAAY,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;CAClD;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC;CACjD;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,EAAE,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACnD,WAAW,CAAC,EAAE,EAAE,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,EAAE,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACnD,WAAW,CAAC,EAAE,EAAE,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,EAAE,CAAC;IAC5C,WAAW,CAAC,EAAE,EAAE,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACnD,WAAW,CAAC,EAAE,EAAE,GAAG,WAAW,GAAG,iBAAiB,CAAC;CACpD;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,EAAE,CAAC;IAC5C,WAAW,CAAC,EAAE,EAAE,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACnD,WAAW,CAAC,EAAE,EAAE,GAAG,WAAW,GAAG,iBAAiB,CAAC;CACpD;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAMD,MAAM,WAAW,uBAAuB;IAEtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,cAAc,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAG1D,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,cAAc,CAAC;IAGzB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;IACpB,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IAGvB,EAAE,EAAE,cAAc,CAAC;IACnB,EAAE,EAAE,cAAc,CAAC;IACnB,EAAE,EAAE,cAAc,CAAC;IACnB,EAAE,EAAE,cAAc,CAAC;IACnB,EAAE,EAAE,cAAc,CAAC;IACnB,EAAE,EAAE,cAAc,CAAC;IAGnB,CAAC,EAAE,cAAc,CAAC;IAClB,GAAG,EAAE,cAAc,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,EAAE,EAAE,cAAc,CAAC;IACnB,EAAE,EAAE,cAAc,CAAC;IACnB,GAAG,EAAE,cAAc,CAAC;IACpB,UAAU,EAAE,cAAc,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,EAAE,EAAE,cAAc,GAAG;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;KACpC,CAAC;IACF,EAAE,EAAE,cAAc,CAAC;IACnB,EAAE,EAAE,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,EAAE,EAAE,cAAc,CAAC;IACnB,EAAE,EAAE,cAAc,CAAC;IACnB,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,cAAc,CAAC;IAG3B,CAAC,EAAE,oBAAoB,CAAC;IACxB,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,cAAc,CAAC;IACtB,CAAC,EAAE,cAAc,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,CAAC,EAAE,cAAc,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,GAAG,EAAE,cAAc,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,EAAE,EAAE,cAAc,CAAC;IACnB,EAAE,EAAE,cAAc,CAAC;IACnB,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;IACpB,GAAG,EAAE,cAAc,CAAC;IACpB,GAAG,EAAE,cAAc,CAAC;IACpB,CAAC,EAAE,cAAc,CAAC;IAClB,CAAC,EAAE,cAAc,CAAC;IAClB,CAAC,EAAE,cAAc,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;IACpB,GAAG,EAAE,cAAc,GAAG;QAAE,GAAG,EAAE,KAAK,GAAG,KAAK,CAAA;KAAE,CAAC;IAC7C,GAAG,EAAE,cAAc,CAAC;IAGpB,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,cAAc,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,EAAE,cAAc,GAAG;QACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,KAAK,EAAE,mBAAmB,CAAC;IAG3B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;IACtB,EAAE,EAAE,cAAc,CAAC;IACnB,EAAE,EAAE,gBAAgB,CAAC;IACrB,EAAE,EAAE,gBAAgB,CAAC;IACrB,GAAG,EAAE,iBAAiB,CAAC;IACvB,QAAQ,EAAE,sBAAsB,CAAC;IAGjC,GAAG,EAAE,iBAAiB,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,EAAE,cAAc,GAAG;QACtB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,GAAG,EAAE,cAAc,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,IAAI,EAAE,cAAc,GAAG;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE,oBAAoB,CAAC;IAG7B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,cAAc,GAAG;QACtB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE,cAAc,GAAG;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE,cAAc,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAG1D,OAAO,EAAE,qBAAqB,CAAC;IAC/B,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,cAAc,CAAC;IAGrB,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,cAAc,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,GAAG,EAAE,cAAc,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,GAAG,EAAE,cAAc,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAG3D,GAAG,EAAE,iBAAiB,CAAC;IACvB,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,iBAAiB,CAAC;IACzB,CAAC,EAAE,iBAAiB,CAAC;IACrB,IAAI,EAAE,iBAAiB,CAAC;IACxB,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,iBAAiB,CAAC;IACzB,cAAc,EAAE,iBAAiB,CAAC;IAClC,cAAc,EAAE,iBAAiB,CAAC;IAClC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,aAAa,EAAE,iBAAiB,CAAC;IACjC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,cAAc,EAAE,iBAAiB,CAAC;IAClC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,aAAa,EAAE,iBAAiB,CAAC;IACjC,WAAW,EAAE,iBAAiB,CAAC;CAChC"}
@@ -0,0 +1 @@
1
+ export * from './jsx/jsx-dev-runtime';
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === 'production') {
4
+ module.exports = require('./cjs/jsx/jsx-dev-runtime.production.min.js');
5
+ } else {
6
+ module.exports = require('./cjs/jsx/jsx-dev-runtime.development.js');
7
+ }
@@ -0,0 +1,4 @@
1
+ // ESM consumers: Node/bundler resolves the proper variant via the
2
+ // "exports" field in package.json (development / production conditions).
3
+ // This file is a safe fallback that points at the production build.
4
+ export * from './esm/jsx/jsx-dev-runtime.production.min.js';
@@ -0,0 +1 @@
1
+ export * from './jsx/jsx-runtime';
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === 'production') {
4
+ module.exports = require('./cjs/jsx/jsx-runtime.production.min.js');
5
+ } else {
6
+ module.exports = require('./cjs/jsx/jsx-runtime.development.js');
7
+ }
@@ -0,0 +1,4 @@
1
+ // ESM consumers: Node/bundler resolves the proper variant via the
2
+ // "exports" field in package.json (development / production conditions).
3
+ // This file is a safe fallback that points at the production build.
4
+ export * from './esm/jsx/jsx-runtime.production.min.js';
@@ -0,0 +1,27 @@
1
+ /**
2
+ * SinwanJS Reactivity — Batch
3
+ *
4
+ * Batch multiple signal updates into a single synchronous flush.
5
+ * Without batch(), each signal write schedules a microtask flush.
6
+ * With batch(), all writes are collected and effects run once at the end.
7
+ */
8
+ /**
9
+ * Batch multiple signal writes so effects run only once.
10
+ *
11
+ * @example
12
+ * const a = signal(1);
13
+ * const b = signal(2);
14
+ *
15
+ * // Without batch — effect runs twice (once per signal change)
16
+ * // With batch — effect runs once after both changes
17
+ * batch(() => {
18
+ * a.value = 10;
19
+ * b.value = 20;
20
+ * });
21
+ */
22
+ export declare function batch(fn: () => void): void;
23
+ /**
24
+ * Returns true if currently inside a batch() call.
25
+ */
26
+ export declare function isBatching(): boolean;
27
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/reactivity/batch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAW1C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * SinwanJS Reactivity — Computed
3
+ *
4
+ * A computed is a derived reactive value that lazily re-evaluates
5
+ * when its dependencies change. It caches the result and only
6
+ * recomputes when actually read after a dependency has changed.
7
+ *
8
+ * Design: The computed does NOT use the scheduler for its own
9
+ * re-evaluation. When a dependency changes, it marks itself dirty
10
+ * and triggers downstream subscribers (which ARE scheduled).
11
+ * The actual re-evaluation happens lazily on `.value` access.
12
+ *
13
+ * Inspired by Vue 3 computed(), Solid createMemo().
14
+ */
15
+ export interface Computed<T> {
16
+ /** Read the computed value (lazy evaluation, cached). */
17
+ readonly value: T;
18
+ /** Read without tracking. */
19
+ peek(): T;
20
+ }
21
+ /**
22
+ * Create a computed reactive value.
23
+ *
24
+ * The getter function is tracked — when any signal it reads changes,
25
+ * the computed is marked dirty and will re-evaluate on next `.value` read.
26
+ *
27
+ * @example
28
+ * const count = signal(2);
29
+ * const doubled = computed(() => count.value * 2);
30
+ *
31
+ * console.log(doubled.value); // 4
32
+ *
33
+ * count.value = 5;
34
+ * console.log(doubled.value); // 10
35
+ */
36
+ export declare function computed<T>(getter: () => T): Computed<T>;
37
+ /**
38
+ * Type guard: check if a value is a Computed.
39
+ */
40
+ export declare function isComputed(value: unknown): value is Computed<unknown>;
41
+ //# sourceMappingURL=computed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computed.d.ts","sourceRoot":"","sources":["../../src/reactivity/computed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB,6BAA6B;IAC7B,IAAI,IAAI,CAAC,CAAC;CACX;AA2ED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAExD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,CAMrE"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * SinwanJS Reactivity — Effect
3
+ *
4
+ * Fine-grained effect system with automatic dependency tracking.
5
+ * When an effect runs, any signal reads are tracked as dependencies.
6
+ * When those signals change, the effect is re-scheduled.
7
+ */
8
+ import { type EffectNode } from "./scheduler.ts";
9
+ /**
10
+ * A Dep is any object that can track subscribers.
11
+ * Signals and computeds implement this internally.
12
+ */
13
+ export interface Dep {
14
+ subscribers: Set<ReactiveEffect>;
15
+ }
16
+ export type CleanupFn = () => void;
17
+ export type EffectFn = () => CleanupFn | void;
18
+ export declare class ReactiveEffect implements EffectNode {
19
+ id: number;
20
+ active: boolean;
21
+ /** The user-supplied function */
22
+ private fn;
23
+ /** Cleanup returned from the last run */
24
+ private cleanup;
25
+ /** All deps this effect is subscribed to (for bidirectional cleanup) */
26
+ deps: Set<Dep>;
27
+ constructor(fn: EffectFn);
28
+ /**
29
+ * Execute the effect function while tracking dependencies.
30
+ */
31
+ run(): void;
32
+ /**
33
+ * Unsubscribe from all current deps so stale deps don't trigger this effect.
34
+ */
35
+ private cleanupDeps;
36
+ /**
37
+ * Notify the scheduler that this effect should re-run.
38
+ */
39
+ notify(): void;
40
+ /**
41
+ * Permanently dispose this effect — stop tracking & unsubscribe.
42
+ */
43
+ dispose(): void;
44
+ }
45
+ /**
46
+ * Create a reactive effect.
47
+ *
48
+ * The effect function runs immediately to establish initial dependencies.
49
+ * It re-runs whenever any tracked signal changes.
50
+ * Returns a dispose function to stop the effect.
51
+ *
52
+ * @example
53
+ * const count = signal(0);
54
+ * const dispose = effect(() => {
55
+ * console.log("count is", count.value);
56
+ * });
57
+ * // logs "count is 0" immediately
58
+ *
59
+ * count.value = 1;
60
+ * // logs "count is 1" on next microtask
61
+ *
62
+ * dispose(); // stops tracking
63
+ */
64
+ export declare function effect(fn: EffectFn): CleanupFn;
65
+ /**
66
+ * Track a dependency from the currently active effect.
67
+ * Called by signal.value getters.
68
+ */
69
+ export declare function track(dep: Dep): void;
70
+ /**
71
+ * Trigger all subscribers of a dependency.
72
+ * Called by signal.value setters.
73
+ */
74
+ export declare function trigger(dep: Dep): void;
75
+ /**
76
+ * Returns the currently active effect (for advanced usage).
77
+ */
78
+ export declare function getActiveEffect(): ReactiveEffect | null;
79
+ //# sourceMappingURL=effect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../../src/reactivity/effect.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAoC,MAAM,gBAAgB,CAAC;AAUnF;;;GAGG;AACH,MAAM,WAAW,GAAG;IAClB,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAClC;AAID,MAAM,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC;AACnC,MAAM,MAAM,QAAQ,GAAG,MAAM,SAAS,GAAG,IAAI,CAAC;AAE9C,qBAAa,cAAe,YAAW,UAAU;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,UAAQ;IAEd,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAW;IAErB,yCAAyC;IACzC,OAAO,CAAC,OAAO,CAA+B;IAE9C,wEAAwE;IACxE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAa;gBAEf,EAAE,EAAE,QAAQ;IAKxB;;OAEG;IACH,GAAG,IAAI,IAAI;IA+BX;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,MAAM,IAAI,IAAI;IAId;;OAEG;IACH,OAAO,IAAI,IAAI;CAahB;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,QAAQ,GAAG,SAAS,CAK9C;AAID;;;GAGG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAKpC;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAMtC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,cAAc,GAAG,IAAI,CAEvD"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * SinwanJS Reactivity — Public API
3
+ *
4
+ * Fine-grained reactive primitives: signals, computed values,
5
+ * effects, batching, and scheduling.
6
+ */
7
+ export { signal, isSignal } from "./signal.ts";
8
+ export type { Signal } from "./signal.ts";
9
+ export { computed, isComputed } from "./computed.ts";
10
+ export type { Computed } from "./computed.ts";
11
+ export { effect } from "./effect.ts";
12
+ export type { CleanupFn, EffectFn } from "./effect.ts";
13
+ export { batch } from "./batch.ts";
14
+ export { nextTick } from "./scheduler.ts";
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reactivity/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * SinwanJS Reactivity — Scheduler
3
+ *
4
+ * Microtask-based flush queue for batching reactive updates.
5
+ * Effects are NOT run synchronously on signal write — they are
6
+ * queued and flushed in a microtask (like Vue's nextTick).
7
+ */
8
+ export interface EffectNode {
9
+ id: number;
10
+ run(): void;
11
+ active: boolean;
12
+ }
13
+ /**
14
+ * Schedule an effect for the next microtask flush.
15
+ */
16
+ export declare function scheduleEffect(effect: EffectNode): void;
17
+ /**
18
+ * Remove a scheduled effect (e.g. when disposed before flush).
19
+ */
20
+ export declare function unscheduleEffect(effect: EffectNode): void;
21
+ /**
22
+ * Returns true if the scheduler is currently flushing effects.
23
+ */
24
+ export declare function isFlushingEffects(): boolean;
25
+ /**
26
+ * Queue a callback that runs after the next reactive flush completes.
27
+ * Similar to Vue's nextTick().
28
+ */
29
+ export declare function nextTick(fn?: () => void): Promise<void>;
30
+ /**
31
+ * Force synchronous flush of all pending effects.
32
+ * Primarily for testing and batch().
33
+ */
34
+ export declare function flushSync(): void;
35
+ //# sourceMappingURL=scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/reactivity/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,IAAI,IAAI,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;CACjB;AASD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAIvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAEzD;AAoDD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAcvD;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAKhC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * SinwanJS Reactivity — Signal
3
+ *
4
+ * A signal is a reactive container for a single value.
5
+ * Reading `.value` tracks the current effect as a subscriber.
6
+ * Writing `.value` notifies all subscribers.
7
+ *
8
+ * Inspired by Vue 3 ref(), Solid signals, Preact signals.
9
+ */
10
+ export interface Signal<T> {
11
+ /** Get or set the reactive value. Reading tracks; writing notifies. */
12
+ value: T;
13
+ /** Read the value without tracking dependencies. */
14
+ peek(): T;
15
+ /** Manually subscribe to changes. Returns an unsubscribe function. */
16
+ subscribe(fn: (value: T) => void): () => void;
17
+ }
18
+ /**
19
+ * Create a reactive signal.
20
+ *
21
+ * @example
22
+ * const count = signal(0);
23
+ * console.log(count.value); // 0
24
+ *
25
+ * effect(() => {
26
+ * console.log(count.value); // re-runs when count changes
27
+ * });
28
+ *
29
+ * count.value = 5; // triggers the effect
30
+ */
31
+ export declare function signal<T>(initial: T): Signal<T>;
32
+ /**
33
+ * Type guard: check if a value is a Signal.
34
+ */
35
+ export declare function isSignal(value: unknown): value is Signal<unknown>;
36
+ //# sourceMappingURL=signal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/reactivity/signal.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,uEAAuE;IACvE,KAAK,EAAE,CAAC,CAAC;IAET,oDAAoD;IACpD,IAAI,IAAI,CAAC,CAAC;IAEV,sEAAsE;IACtE,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC/C;AA8DD;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,CAIjE"}
@@ -0,0 +1,8 @@
1
+ import type { CleanupFn } from "../reactivity/index.ts";
2
+ /**
3
+ * Apply all non-event props to a DOM element.
4
+ * Handles static values, reactive signals, and special cases.
5
+ * Returns an array of disposers for reactive attributes.
6
+ */
7
+ export declare function applyAttributes(el: Element, props: Record<string, unknown>): CleanupFn[];
8
+ //# sourceMappingURL=attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../src/renderer/attributes.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAgBxD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,SAAS,EAAE,CAkBb"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * SinwanJS Client Renderer — DOM Operations
3
+ *
4
+ * Thin abstraction over native DOM APIs for testability
5
+ * and potential future server-side DOM (e.g., happy-dom, linkedom).
6
+ */
7
+ export interface DOMOps {
8
+ createElement(tag: string): Element;
9
+ createTextNode(text: string): Text;
10
+ createComment(text: string): Comment;
11
+ setAttribute(el: Element, key: string, value: string): void;
12
+ removeAttribute(el: Element, key: string): void;
13
+ setProperty(el: Element, key: string, value: unknown): void;
14
+ insertBefore(parent: Node, child: Node, anchor: Node | null): void;
15
+ appendChild(parent: Node, child: Node): void;
16
+ remove(node: Node): void;
17
+ setTextContent(node: Text, text: string): void;
18
+ addEventListener(el: Element, event: string, handler: EventListener): void;
19
+ removeEventListener(el: Element, event: string, handler: EventListener): void;
20
+ parentNode(node: Node): Node | null;
21
+ nextSibling(node: Node): Node | null;
22
+ }
23
+ /**
24
+ * Default DOM operations using native browser APIs.
25
+ */
26
+ export declare const domOps: DOMOps;
27
+ //# sourceMappingURL=dom-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-ops.d.ts","sourceRoot":"","sources":["../../src/renderer/dom-ops.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,MAAM,WAAW,MAAM;IACrB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5D,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5D,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACnE,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7C,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3E,mBAAmB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9E,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CACtC;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,MAwDpB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { CleanupFn } from "../reactivity/index.ts";
2
+ /**
3
+ * Check if a prop key is an event handler (starts with "on").
4
+ */
5
+ export declare function isEventProp(key: string): boolean;
6
+ /**
7
+ * Extract the DOM event name from a prop key.
8
+ * e.g., "onClick" → "click", "onMouseEnter" → "mouseenter"
9
+ */
10
+ export declare function toEventName(key: string): string;
11
+ /**
12
+ * Bind an event handler to an element.
13
+ * Returns a cleanup function to remove the listener.
14
+ */
15
+ export declare function bindEvent(el: Element, eventName: string, handler: EventListener): CleanupFn;
16
+ /**
17
+ * Bind all event props from an element's props object.
18
+ * Returns an array of cleanup functions.
19
+ */
20
+ export declare function bindEvents(el: Element, props: Record<string, unknown>): CleanupFn[];
21
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/renderer/events.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,OAAO,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,GACrB,SAAS,CAKX;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,SAAS,EAAE,CAcb"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * SinwanJS Client Renderer — Public API
3
+ */
4
+ export { mount, render, unmountNode } from "./mount.ts";
5
+ export { renderNodeToDOM, renderChildrenToDOM } from "./render-children.ts";
6
+ export { renderElementToDOM } from "./render-element.ts";
7
+ export { domOps } from "./dom-ops.ts";
8
+ export type { DOMOps } from "./dom-ops.ts";
9
+ export { applyAttributes } from "./attributes.ts";
10
+ export { bindEvents, bindEvent, isEventProp, toEventName } from "./events.ts";
11
+ export type { MountedNode, MountedText, MountedReactiveText, MountedElement, MountedFragment, MountedReactiveBlock, MountedComponent, AppInstance, } from "./types.ts";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG9E,YAAY,EACV,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,GACZ,MAAM,YAAY,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * SinwanJS Client Renderer — Mount
3
+ *
4
+ * Entry point for rendering a component tree into a DOM container.
5
+ * Returns an AppInstance handle for unmounting.
6
+ */
7
+ import type { SinwanComponent, SinwanNode } from "../types.ts";
8
+ import type { AppInstance, MountedNode } from "./types.ts";
9
+ /**
10
+ * Mount a component into a DOM container.
11
+ *
12
+ * Creates a root ComponentInstance, runs setup with lifecycle hooks,
13
+ * renders to DOM, then fires onMounted hooks (bottom-up).
14
+ *
15
+ * @example
16
+ * const app = mount(Counter, document.getElementById("app")!, { initial: 0 });
17
+ * // later...
18
+ * app.unmount();
19
+ */
20
+ export declare function mount(component: SinwanComponent<any>, container: Element, props?: Record<string, unknown>): AppInstance;
21
+ /**
22
+ * Render a raw SinwanElement or SinwanNode tree into a container.
23
+ * Lower-level than mount() — doesn't call a component function.
24
+ */
25
+ export declare function render(node: SinwanNode, container: Element): AppInstance;
26
+ /**
27
+ * Recursively unmount a node tree — disposes effects, removes events.
28
+ */
29
+ export declare function unmountNode(node: MountedNode): void;
30
+ //# sourceMappingURL=mount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/renderer/mount.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAW3D;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CACnB,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAC/B,SAAS,EAAE,OAAO,EAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,WAAW,CAiEb;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,GAAG,WAAW,CAYxE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAqDnD"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * SinwanJS Client Renderer — Child Rendering
3
+ *
4
+ * Renders SinwanNode children to DOM nodes. Handles primitives,
5
+ * elements, arrays, signals, and fragments.
6
+ */
7
+ import type { SinwanNode } from "../types.ts";
8
+ import type { MountedNode } from "./types.ts";
9
+ /**
10
+ * Render a single SinwanNode to DOM and append to parent.
11
+ * Returns the MountedNode descriptor for cleanup/unmount.
12
+ */
13
+ export declare function renderNodeToDOM(node: SinwanNode, parent: Node, anchor?: Node | null): MountedNode;
14
+ /**
15
+ * Render multiple children into a parent element.
16
+ * Returns array of MountedNode descriptors.
17
+ */
18
+ export declare function renderChildrenToDOM(children: SinwanNode[], parent: Node): MountedNode[];
19
+ //# sourceMappingURL=render-children.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-children.d.ts","sourceRoot":"","sources":["../../src/renderer/render-children.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAQ9C;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,IAAI,EACZ,MAAM,GAAE,IAAI,GAAG,IAAW,GACzB,WAAW,CAiEb;AAqBD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,UAAU,EAAE,EACtB,MAAM,EAAE,IAAI,GACX,WAAW,EAAE,CAMf"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * SinwanJS Client Renderer — Element Rendering
3
+ *
4
+ * Converts SinwanElement trees into live DOM nodes.
5
+ * Handles intrinsic HTML elements, functional components, and fragments.
6
+ */
7
+ import type { SinwanElement } from "../types.ts";
8
+ import type { MountedNode } from "./types.ts";
9
+ /**
10
+ * Render an SinwanElement to DOM and insert into parent.
11
+ */
12
+ export declare function renderElementToDOM(element: SinwanElement, parent: Node, anchor?: Node | null): MountedNode;
13
+ //# sourceMappingURL=render-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-element.d.ts","sourceRoot":"","sources":["../../src/renderer/render-element.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAoC,MAAM,YAAY,CAAC;AAgChF;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,IAAI,EACZ,MAAM,GAAE,IAAI,GAAG,IAAW,GACzB,WAAW,CAoBb"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * SinwanJS Client Renderer — Types
3
+ *
4
+ * Type definitions for the client-side DOM renderer.
5
+ */
6
+ import type { CleanupFn } from "../reactivity/index.ts";
7
+ import type { ComponentInstance } from "../component/instance.ts";
8
+ /** A static text node. */
9
+ export interface MountedText {
10
+ type: "text";
11
+ node: Text;
12
+ }
13
+ /** A reactive text node — updated by an effect when a signal changes. */
14
+ export interface MountedReactiveText {
15
+ type: "reactive-text";
16
+ node: Text;
17
+ dispose: CleanupFn;
18
+ }
19
+ /** A mounted DOM element with its children. */
20
+ export interface MountedElement {
21
+ type: "element";
22
+ node: Element;
23
+ children: MountedNode[];
24
+ eventCleanups: CleanupFn[];
25
+ /** Reactive attribute effects to dispose on unmount. */
26
+ attrDisposers: CleanupFn[];
27
+ }
28
+ /** A fragment (multiple sibling nodes). */
29
+ export interface MountedFragment {
30
+ type: "fragment";
31
+ children: MountedNode[];
32
+ /** Anchor comment node for positioning. */
33
+ anchor: Comment;
34
+ }
35
+ /** A reactive block that swaps DOM when a signal changes (conditional/list). */
36
+ export interface MountedReactiveBlock {
37
+ type: "reactive-block";
38
+ dispose: CleanupFn;
39
+ /** Current mounted children (replaced on re-render). */
40
+ children: MountedNode[];
41
+ /** Start anchor. */
42
+ startAnchor: Comment;
43
+ /** End anchor. */
44
+ endAnchor: Comment;
45
+ }
46
+ /** A mounted component instance. */
47
+ export interface MountedComponent {
48
+ type: "component";
49
+ children: MountedNode[];
50
+ disposers: CleanupFn[];
51
+ /** The ComponentInstance for lifecycle hooks (null for anonymous renders). */
52
+ instance: ComponentInstance | null;
53
+ }
54
+ /** Union of all mounted node types. */
55
+ export type MountedNode = MountedText | MountedReactiveText | MountedElement | MountedFragment | MountedReactiveBlock | MountedComponent;
56
+ /** Handle returned by mount(). Allows unmounting the app. */
57
+ export interface AppInstance {
58
+ /** The root mounted node tree. */
59
+ root: MountedNode;
60
+ /** Unmount the entire app — cleans up effects, events, and DOM. */
61
+ unmount(): void;
62
+ }
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/renderer/types.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAIlE,0BAA0B;AAC1B,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,wDAAwD;IACxD,aAAa,EAAE,SAAS,EAAE,CAAC;CAC5B;AAED,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,2CAA2C;IAC3C,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,gFAAgF;AAChF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;IACnB,wDAAwD;IACxD,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,oBAAoB;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,oCAAoC;AACpC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,8EAA8E;IAC9E,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACpC;AAED,uCAAuC;AACvC,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,mBAAmB,GACnB,cAAc,GACd,eAAe,GACf,oBAAoB,GACpB,gBAAgB,CAAC;AAIrB,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,IAAI,EAAE,WAAW,CAAC;IAClB,mEAAmE;IACnE,OAAO,IAAI,IAAI,CAAC;CACjB"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SinwanJS Server — Hydration-Aware SSR Renderer
3
+ *
4
+ * Enhanced `renderToString` that injects hydration markers:
5
+ *
6
+ * data-sinwan-id="c0" — component boundary
7
+ * <!--sinwan-t:0-->val<!--/sinwan-t--> — reactive text boundary
8
+ * data-sinwan-ev="click:0" — event binding reference
9
+ *
10
+ * Usage:
11
+ * const html = await renderToHydratableString(App, { name: "World" });
12
+ * // → '<div data-sinwan-id="c0"><p>Count: <!--sinwan-t:0-->5<!--/sinwan-t--></p>...</div>'
13
+ */
14
+ import type { SinwanNode, SinwanComponent } from "../types.ts";
15
+ /**
16
+ * Render a component to an HTML string with hydration markers.
17
+ */
18
+ export declare function renderToHydratableString(component: SinwanComponent<any>, props?: Record<string, unknown>): Promise<string>;
19
+ /**
20
+ * Render a raw SinwanNode tree with hydration markers.
21
+ */
22
+ export declare function renderNodeToHydratableString(node: SinwanNode): Promise<string>;
23
+ //# sourceMappingURL=hydration-markers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hydration-markers.d.ts","sourceRoot":"","sources":["../../src/server/hydration-markers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAiB,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA+B9E;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,MAAM,CAAC,CAGjB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Sinwan Server — Public API
3
+ *
4
+ * Server-side rendering, streaming, and hydration marker injection.
5
+ */
6
+ export { renderToString, renderPage, registerPage, getPage, hasPage, isSlots, } from "./renderer.ts";
7
+ export { streamPage } from "./stream.ts";
8
+ export { renderToHydratableString, renderNodeToHydratableString, } from "./hydration-markers.ts";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EACd,UAAU,EACV,YAAY,EACZ,OAAO,EACP,OAAO,EACP,OAAO,GACR,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC"}