kiru 1.0.1 → 1.1.1

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 (145) hide show
  1. package/dist/appHandle.js +2 -2
  2. package/dist/appHandle.js.map +1 -1
  3. package/dist/components/lazy.d.ts.map +1 -1
  4. package/dist/components/lazy.js +2 -2
  5. package/dist/components/lazy.js.map +1 -1
  6. package/dist/components/transition.js +1 -5
  7. package/dist/components/transition.js.map +1 -1
  8. package/dist/devtools.d.ts.map +1 -1
  9. package/dist/devtools.js +6 -2
  10. package/dist/devtools.js.map +1 -1
  11. package/dist/dom/commit.d.ts +5 -0
  12. package/dist/dom/commit.d.ts.map +1 -0
  13. package/dist/dom/commit.js +94 -0
  14. package/dist/dom/commit.js.map +1 -0
  15. package/dist/dom/focus.d.ts +4 -0
  16. package/dist/dom/focus.d.ts.map +1 -0
  17. package/dist/dom/focus.js +32 -0
  18. package/dist/dom/focus.js.map +1 -0
  19. package/dist/dom/index.d.ts +4 -0
  20. package/dist/dom/index.d.ts.map +1 -0
  21. package/dist/dom/index.js +4 -0
  22. package/dist/dom/index.js.map +1 -0
  23. package/dist/dom/nodes.d.ts +12 -0
  24. package/dist/dom/nodes.d.ts.map +1 -0
  25. package/dist/dom/nodes.js +166 -0
  26. package/dist/dom/nodes.js.map +1 -0
  27. package/dist/dom/props.d.ts +8 -0
  28. package/dist/dom/props.d.ts.map +1 -0
  29. package/dist/dom/props.js +675 -0
  30. package/dist/dom/props.js.map +1 -0
  31. package/dist/env.d.ts +2 -0
  32. package/dist/env.d.ts.map +1 -1
  33. package/dist/env.js +2 -0
  34. package/dist/env.js.map +1 -1
  35. package/dist/globalContext.d.ts +3 -8
  36. package/dist/globalContext.d.ts.map +1 -1
  37. package/dist/globalContext.js +4 -16
  38. package/dist/globalContext.js.map +1 -1
  39. package/dist/globals.d.ts +21 -1
  40. package/dist/globals.d.ts.map +1 -1
  41. package/dist/globals.js +22 -2
  42. package/dist/globals.js.map +1 -1
  43. package/dist/hmr.d.ts +17 -2
  44. package/dist/hmr.d.ts.map +1 -1
  45. package/dist/hmr.js +31 -5
  46. package/dist/hmr.js.map +1 -1
  47. package/dist/hooks/index.d.ts +1 -0
  48. package/dist/hooks/index.d.ts.map +1 -1
  49. package/dist/hooks/index.js +1 -0
  50. package/dist/hooks/index.js.map +1 -1
  51. package/dist/hooks/onBeforeMount.d.ts +1 -1
  52. package/dist/hooks/onBeforeMount.d.ts.map +1 -1
  53. package/dist/hooks/onBeforeMount.js +10 -3
  54. package/dist/hooks/onBeforeMount.js.map +1 -1
  55. package/dist/hooks/onCleanup.d.ts +1 -1
  56. package/dist/hooks/onCleanup.d.ts.map +1 -1
  57. package/dist/hooks/onCleanup.js +7 -4
  58. package/dist/hooks/onCleanup.js.map +1 -1
  59. package/dist/hooks/onMount.d.ts +2 -2
  60. package/dist/hooks/onMount.d.ts.map +1 -1
  61. package/dist/hooks/onMount.js +11 -4
  62. package/dist/hooks/onMount.js.map +1 -1
  63. package/dist/hooks/setup.d.ts +13 -0
  64. package/dist/hooks/setup.d.ts.map +1 -0
  65. package/dist/hooks/setup.js +54 -0
  66. package/dist/hooks/setup.js.map +1 -0
  67. package/dist/hooks/utils.d.ts +2 -3
  68. package/dist/hooks/utils.d.ts.map +1 -1
  69. package/dist/hooks/utils.js +9 -14
  70. package/dist/hooks/utils.js.map +1 -1
  71. package/dist/index.d.ts +1 -0
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +4 -3
  74. package/dist/index.js.map +1 -1
  75. package/dist/reconciler.js +3 -3
  76. package/dist/reconciler.js.map +1 -1
  77. package/dist/router/head.js +2 -2
  78. package/dist/router/head.js.map +1 -1
  79. package/dist/router/pageConfig.js +2 -2
  80. package/dist/router/pageConfig.js.map +1 -1
  81. package/dist/scheduler.js +62 -57
  82. package/dist/scheduler.js.map +1 -1
  83. package/dist/signals/base.js +3 -3
  84. package/dist/signals/base.js.map +1 -1
  85. package/dist/signals/effect.d.ts.map +1 -1
  86. package/dist/signals/effect.js +6 -6
  87. package/dist/signals/effect.js.map +1 -1
  88. package/dist/signals/tracking.d.ts +3 -2
  89. package/dist/signals/tracking.d.ts.map +1 -1
  90. package/dist/signals/tracking.js.map +1 -1
  91. package/dist/statefulPromise.js +2 -2
  92. package/dist/statefulPromise.js.map +1 -1
  93. package/dist/types.d.ts +5 -1
  94. package/dist/types.d.ts.map +1 -1
  95. package/dist/types.dom.d.ts +1 -1
  96. package/dist/types.dom.d.ts.map +1 -1
  97. package/dist/utils/format.d.ts.map +1 -1
  98. package/dist/utils/format.js +4 -1
  99. package/dist/utils/format.js.map +1 -1
  100. package/dist/utils/vdom.d.ts +2 -2
  101. package/dist/utils/vdom.d.ts.map +1 -1
  102. package/dist/utils/vdom.js +2 -2
  103. package/dist/utils/vdom.js.map +1 -1
  104. package/dist/viewTransitions.d.ts.map +1 -1
  105. package/dist/viewTransitions.js +2 -1
  106. package/dist/viewTransitions.js.map +1 -1
  107. package/package.json +1 -1
  108. package/src/appHandle.ts +2 -2
  109. package/src/components/lazy.ts +5 -6
  110. package/src/components/transition.ts +2 -6
  111. package/src/devtools.ts +4 -2
  112. package/src/dom/commit.ts +133 -0
  113. package/src/dom/focus.ts +34 -0
  114. package/src/dom/index.ts +3 -0
  115. package/src/dom/nodes.ts +205 -0
  116. package/src/dom/props.ts +818 -0
  117. package/src/env.ts +3 -0
  118. package/src/globalContext.ts +7 -24
  119. package/src/globals.ts +25 -2
  120. package/src/hmr.ts +32 -5
  121. package/src/hooks/index.ts +1 -0
  122. package/src/hooks/onBeforeMount.ts +9 -3
  123. package/src/hooks/onCleanup.ts +10 -4
  124. package/src/hooks/onMount.ts +10 -4
  125. package/src/hooks/setup.ts +70 -0
  126. package/src/hooks/utils.ts +14 -19
  127. package/src/index.ts +4 -2
  128. package/src/reconciler.ts +3 -3
  129. package/src/router/head.ts +2 -2
  130. package/src/router/pageConfig.ts +2 -2
  131. package/src/scheduler.ts +79 -64
  132. package/src/signals/base.ts +3 -3
  133. package/src/signals/effect.ts +5 -7
  134. package/src/signals/tracking.ts +3 -2
  135. package/src/statefulPromise.ts +2 -2
  136. package/src/types.dom.ts +2 -2
  137. package/src/types.ts +7 -1
  138. package/src/utils/format.ts +3 -1
  139. package/src/utils/vdom.ts +2 -2
  140. package/src/viewTransitions.ts +2 -1
  141. package/dist/dom.d.ts +0 -10
  142. package/dist/dom.d.ts.map +0 -1
  143. package/dist/dom.js +0 -601
  144. package/dist/dom.js.map +0 -1
  145. package/src/dom.ts +0 -775
package/dist/appHandle.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { FLAG_STATIC_DOM } from "./constants.js";
2
2
  import { __DEV__ } from "./env.js";
3
- import { renderRootSync, requestUpdate } from "./scheduler.js";
3
+ import { renderRootSync } from "./scheduler.js";
4
4
  import { createVNode } from "./vNode.js";
5
5
  let appId = 0;
6
6
  export function mount(children, container, options) {
@@ -35,7 +35,7 @@ export function mount(children, container, options) {
35
35
  rootNode.app = app;
36
36
  }
37
37
  render(children);
38
- window.__kiru.emit("mount", app, requestUpdate);
38
+ window.__kiru.emit("mount", app);
39
39
  // @ts-expect-error
40
40
  if (__DEV__ && !globalThis.__KIRU_READY__) {
41
41
  // @ts-expect-error
@@ -1 +1 @@
1
- {"version":3,"file":"appHandle.js","sourceRoot":"","sources":["../src/appHandle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAoBxC,IAAI,KAAK,GAAG,CAAC,CAAA;AAEb,MAAM,UAAU,KAAK,CACnB,QAAqB,EACrB,SAAgC,EAChC,OAA0B;IAE1B,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAA;QACH,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IAC1C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,MAAM,GAAG,GAAc;QACrB,EAAE;QACF,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,EAAE;QAClC,QAAQ;QACR,MAAM;QACN,OAAO;KACR,CAAA;IAED,SAAS,MAAM,CAAC,QAAqB;QACnC,QAAQ,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,CAAA;QAC7B,cAAc,CAAC,QAAQ,CAAC,CAAA;IAC1B,CAAC;IAED,SAAS,OAAO;QACd,QAAQ,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;QACnC,cAAc,CAAC,QAAQ,CAAC,CAAA;QACxB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAQ,SAAyB,CAAC,UAAU,CAAA;YAC5C,OAAO,QAAQ,CAAC,GAAG,CAAA;QACrB,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAA;IACpB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,aAAa,CAAC,CAAA;IAC/C,mBAAmB;IACnB,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;QAC1C,mBAAmB;QACnB,UAAU,CAAC,cAAc,GAAG,IAAI,CAAA;QAEhC,cAAc,CAAC,GAAG,EAAE;YAClB,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,cAAc,CAAC,SAAgC;IACtD,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;IAC1D,IAAI,CAAC,KAAK,IAAI,eAAe,CAAA;IAC7B,IAAI,CAAC,GAAG,GAAG,SAAoB,CAAA;IAC/B,IAAI,OAAO,EAAE,CAAC;QACZ,SAAS,CAAC,UAAU,GAAG,IAAI,CAAA;IAC7B,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"appHandle.js","sourceRoot":"","sources":["../src/appHandle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAoBxC,IAAI,KAAK,GAAG,CAAC,CAAA;AAEb,MAAM,UAAU,KAAK,CACnB,QAAqB,EACrB,SAAgC,EAChC,OAA0B;IAE1B,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAA;QACH,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IAC1C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,MAAM,GAAG,GAAc;QACrB,EAAE;QACF,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,EAAE;QAClC,QAAQ;QACR,MAAM;QACN,OAAO;KACR,CAAA;IAED,SAAS,MAAM,CAAC,QAAqB;QACnC,QAAQ,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,CAAA;QAC7B,cAAc,CAAC,QAAQ,CAAC,CAAA;IAC1B,CAAC;IAED,SAAS,OAAO;QACd,QAAQ,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;QACnC,cAAc,CAAC,QAAQ,CAAC,CAAA;QACxB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAQ,SAAyB,CAAC,UAAU,CAAA;YAC5C,OAAO,QAAQ,CAAC,GAAG,CAAA;QACrB,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAA;IACpB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAChC,mBAAmB;IACnB,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;QAC1C,mBAAmB;QACnB,UAAU,CAAC,cAAc,GAAG,IAAI,CAAA;QAEhC,cAAc,CAAC,GAAG,EAAE;YAClB,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,cAAc,CAAC,SAAgC;IACtD,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;IAC1D,IAAI,CAAC,KAAK,IAAI,eAAe,CAAA;IAC7B,IAAI,CAAC,GAAG,GAAG,SAAoB,CAAA;IAC/B,IAAI,OAAO,EAAE,CAAC;QACZ,SAAS,CAAC,UAAU,GAAG,IAAI,CAAA;IAC7B,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/components/lazy.ts"],"names":[],"mappings":"AAMA,UAAU,QAAQ;IAChB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;CACtB;AAED,KAAK,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;AAE9C,KAAK,oBAAoB,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,SAAS,QAAQ,GACrE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAC7B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;AAOtB,KAAK,kBAAkB,CAAC,CAAC,SAAS,eAAe,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAC7E,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB,CAAA;AAQD,wBAAgB,IAAI,CAAC,CAAC,SAAS,eAAe,EAC5C,kBAAkB,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAwChC"}
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/components/lazy.ts"],"names":[],"mappings":"AAMA,UAAU,QAAQ;IAChB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;CACtB;AAED,KAAK,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;AAE9C,KAAK,oBAAoB,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,SAAS,QAAQ,GACrE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAC7B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;AAOtB,KAAK,kBAAkB,CAAC,CAAC,SAAS,eAAe,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAC7E,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB,CAAA;AAOD,wBAAgB,IAAI,CAAC,CAAC,SAAS,eAAe,EAC5C,kBAAkB,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAwChC"}
@@ -1,9 +1,9 @@
1
1
  import { createElement } from "../element.js";
2
- import { __DEV__ } from "../env.js";
2
+ import { __DEV__, isBrowser } from "../env.js";
3
3
  import { sideEffectsEnabled } from "../utils/runtime.js";
4
4
  import { node } from "../globals.js";
5
5
  import { requestUpdate } from "../scheduler.js";
6
- const lazyCache = "window" in globalThis
6
+ const lazyCache = isBrowser
7
7
  ? // @ts-ignore - we're shamefully polluting the global scope here and hiding it 🥲
8
8
  (window.__KIRU_LAZY_CACHE ?? (window.__KIRU_LAZY_CACHE = new Map()))
9
9
  : new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/components/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAqB/C,MAAM,SAAS,GACb,QAAQ,IAAI,UAAU;IACpB,CAAC,CAAC,iFAAiF;QACjF,CAAC,MAAM,CAAC,iBAAiB,KAAxB,MAAM,CAAC,iBAAiB,GAAK,IAAI,GAAG,EAAqB,EAAC;IAC7D,CAAC,CAAC,IAAI,GAAG,EAAqB,CAAA;AAElC,MAAM,UAAU,IAAI,CAClB,kBAAoC;IAEpC,SAAS,WAAW,CAAC,KAA4B;QAC/C,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAQ,CAAA;QAC7B,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,MAAM,EAAE,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC3D,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAErC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;YACpC,MAAM,KAAK,GAAc;gBACvB,OAAO;gBACP,MAAM,EAAE,IAAI;aACb,CAAA;YACD,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;gBACjC,KAAK,CAAC,MAAM;oBACV,OAAO,iBAAiB,KAAK,UAAU;wBACrC,CAAC,CAAC,iBAAiB;wBACnB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAA;gBAC/B,aAAa,CAAC,OAAO,CAAC,CAAA;YACxB,CAAC,CAAC,CAAA;YACF,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAChC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;YACtD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,OAAO,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW,CAAC,WAAW,GAAG,WAAW,CAAA;IACvC,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE,CAClD,KAAK,CAAC,OAAO,CACX,uCAAuC,EACvC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,CACtD,CAAA"}
1
+ {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/components/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAqB/C,MAAM,SAAS,GAA2B,SAAS;IACjD,CAAC,CAAC,iFAAiF;QACjF,CAAC,MAAM,CAAC,iBAAiB,KAAxB,MAAM,CAAC,iBAAiB,GAAK,IAAI,GAAG,EAAqB,EAAC;IAC7D,CAAC,CAAC,IAAI,GAAG,EAAqB,CAAA;AAEhC,MAAM,UAAU,IAAI,CAClB,kBAAoC;IAEpC,SAAS,WAAW,CAAC,KAA4B;QAC/C,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAQ,CAAA;QAC7B,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,MAAM,EAAE,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC3D,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAErC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;YACpC,MAAM,KAAK,GAAc;gBACvB,OAAO;gBACP,MAAM,EAAE,IAAI;aACb,CAAA;YACD,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;gBACjC,KAAK,CAAC,MAAM;oBACV,OAAO,iBAAiB,KAAK,UAAU;wBACrC,CAAC,CAAC,iBAAiB;wBACnB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAA;gBAC/B,aAAa,CAAC,OAAO,CAAC,CAAA;YACxB,CAAC,CAAC,CAAA;YACF,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAChC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;YACtD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,OAAO,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW,CAAC,WAAW,GAAG,WAAW,CAAA;IACvC,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE,CAClD,KAAK,CAAC,OAAO,CACX,uCAAuC,EACvC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,CACtD,CAAA"}
@@ -4,7 +4,7 @@ import { effect } from "../signals/effect.js";
4
4
  import { unwrap } from "../signals/utils.js";
5
5
  export const Transition = (props) => {
6
6
  const tState = signal(props.initialState || "exited");
7
- let timeoutRef = null;
7
+ let timeoutRef;
8
8
  const setTransitionState = (transitionState) => {
9
9
  clearTimeout(timeoutRef);
10
10
  tState.value = transitionState;
@@ -44,8 +44,4 @@ function getTiming(transitionState, duration) {
44
44
  return duration?.out ?? defaultDuration;
45
45
  }
46
46
  }
47
- function clearTimeout(id) {
48
- if (id != null)
49
- window.clearTimeout(id);
50
- }
51
47
  //# sourceMappingURL=transition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transition.js","sourceRoot":"","sources":["../../src/components/transition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAU,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAoB5C,MAAM,CAAC,MAAM,UAAU,GAA6B,CAAC,KAAK,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAkB,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAA;IACtE,IAAI,UAAU,GAAkB,IAAI,CAAA;IAEpC,MAAM,kBAAkB,GAAG,CAAC,eAAgC,EAAE,EAAE;QAC9D,YAAY,CAAC,UAAU,CAAC,CAAA;QACxB,MAAM,CAAC,KAAK,GAAG,eAAe,CAAA;QAC9B,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;YAClE,IAAI,KAAK,CAAC,eAAe;gBAAE,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;QACnE,CAAC;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,eAAqC,EAAE,EAAE;QACjE,UAAU,GAAG,MAAM,CAAC,UAAU,CAC5B,GAAG,EAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC,EACzC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,CAC3C,CAAA;IACH,CAAC,CAAA;IAED,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;QAC7B,IAAI,KAAK,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC7D,kBAAkB,CAAC,UAAU,CAAC,CAAA;YAC9B,gBAAgB,CAAC,SAAS,CAAC,CAAA;QAC7B,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACnE,kBAAkB,CAAC,SAAS,CAAC,CAAA;YAC7B,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAA;IAEzC,OAAO,CAAC,QAAyB,EAAE,EAAE;QACnC,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,SAAS,SAAS,CAChB,eAAqC,EACrC,QAAqC;IAErC,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IACjD,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,QAAQ,EAAE,EAAE,IAAI,eAAe,CAAA;QACxC,KAAK,QAAQ;YACX,OAAO,QAAQ,EAAE,GAAG,IAAI,eAAe,CAAA;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EAAiB;IACrC,IAAI,EAAE,IAAI,IAAI;QAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"transition.js","sourceRoot":"","sources":["../../src/components/transition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAU,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAoB5C,MAAM,CAAC,MAAM,UAAU,GAA6B,CAAC,KAAK,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAkB,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAA;IACtE,IAAI,UAA8B,CAAA;IAElC,MAAM,kBAAkB,GAAG,CAAC,eAAgC,EAAE,EAAE;QAC9D,YAAY,CAAC,UAAU,CAAC,CAAA;QACxB,MAAM,CAAC,KAAK,GAAG,eAAe,CAAA;QAC9B,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;YAClE,IAAI,KAAK,CAAC,eAAe;gBAAE,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;QACnE,CAAC;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,eAAqC,EAAE,EAAE;QACjE,UAAU,GAAG,MAAM,CAAC,UAAU,CAC5B,GAAG,EAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC,EACzC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,CAC3C,CAAA;IACH,CAAC,CAAA;IAED,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;QAC7B,IAAI,KAAK,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC7D,kBAAkB,CAAC,UAAU,CAAC,CAAA;YAC9B,gBAAgB,CAAC,SAAS,CAAC,CAAA;QAC7B,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACnE,kBAAkB,CAAC,SAAS,CAAC,CAAA;YAC7B,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAA;IAEzC,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,SAAS,SAAS,CAChB,eAAqC,EACrC,QAAqC;IAErC,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IACjD,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,QAAQ,EAAE,EAAE,IAAI,eAAe,CAAA;QACxC,KAAK,QAAQ;YACX,OAAO,QAAQ,EAAE,GAAG,IAAI,eAAe,CAAA;IAC3C,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,yBAAiB,QAAQ,CAAC;IACjB,MAAM,KAAK,GAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,MAAM,SAEjE,CAAA;IACM,MAAM,OAAO,GAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAEnD,CAAA;IACM,MAAM,SAAS,GACpB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,eAIhD,CAAA;CACF"}
1
+ {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,yBAAiB,QAAQ,CAAC;IACjB,MAAM,KAAK,GAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,MAAM,SAGjE,CAAA;IACM,MAAM,OAAO,GAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAGnD,CAAA;IACM,MAAM,SAAS,GACpB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,eAIhD,CAAA;CACF"}
package/dist/devtools.js CHANGED
@@ -1,15 +1,19 @@
1
1
  export var DevTools;
2
2
  (function (DevTools) {
3
3
  DevTools.track = (signal, label) => {
4
+ if (!("window" in globalThis))
5
+ return;
4
6
  window.__kiru.devtools?.track(signal, label);
5
7
  };
6
8
  DevTools.untrack = (signal) => {
9
+ if (!("window" in globalThis))
10
+ return;
7
11
  window.__kiru.devtools?.untrack(signal);
8
12
  };
9
13
  DevTools.subscribe = (callback) => {
10
- if (!window.__kiru.devtools)
14
+ if (!("window" in globalThis) || !window.__kiru.devtools)
11
15
  return () => { };
12
- return window.__kiru.devtools?.subscribe(callback);
16
+ return window.__kiru.devtools.subscribe(callback);
13
17
  };
14
18
  })(DevTools || (DevTools = {}));
15
19
  //# sourceMappingURL=devtools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.js","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAEA,MAAM,KAAW,QAAQ,CAaxB;AAbD,WAAiB,QAAQ;IACV,cAAK,GAAG,CAAC,MAA4B,EAAE,KAAc,EAAE,EAAE;QACpE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC9C,CAAC,CAAA;IACY,gBAAO,GAAG,CAAC,MAA4B,EAAE,EAAE;QACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC,CAAA;IACY,kBAAS,GAAG,CACvB,QAA+C,EAC/C,EAAE;QACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;QAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;IACpD,CAAC,CAAA;AACH,CAAC,EAbgB,QAAQ,KAAR,QAAQ,QAaxB"}
1
+ {"version":3,"file":"devtools.js","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAEA,MAAM,KAAW,QAAQ,CAexB;AAfD,WAAiB,QAAQ;IACV,cAAK,GAAG,CAAC,MAA4B,EAAE,KAAc,EAAE,EAAE;QACpE,IAAI,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC;YAAE,OAAM;QACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC9C,CAAC,CAAA;IACY,gBAAO,GAAG,CAAC,MAA4B,EAAE,EAAE;QACtD,IAAI,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC;YAAE,OAAM;QACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC,CAAA;IACY,kBAAS,GAAG,CACvB,QAA+C,EAC/C,EAAE;QACF,IAAI,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;QACzE,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACnD,CAAC,CAAA;AACH,CAAC,EAfgB,QAAQ,KAAR,QAAQ,QAexB"}
@@ -0,0 +1,5 @@
1
+ export { commitWork, commitDeletion };
2
+ type VNode = Kiru.VNode;
3
+ declare function commitWork(vNode: VNode): void;
4
+ declare function commitDeletion(vNode: VNode): void;
5
+ //# sourceMappingURL=commit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/dom/commit.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAA;AAErC,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;AAEvB,iBAAS,UAAU,CAAC,KAAK,EAAE,KAAK,QAa/B;AAqDD,iBAAS,cAAc,CAAC,KAAK,EAAE,KAAK,QA8CnC"}
@@ -0,0 +1,94 @@
1
+ import { traverseApply, commitSnapshot, getVNodeApp, setRef, call, } from "../utils/index.js";
2
+ import { FLAG_PLACEMENT, FLAG_STATIC_DOM, FLAG_UPDATE } from "../constants.js";
3
+ import { __DEV__ } from "../env.js";
4
+ import { postEffectCleanups, renderMode } from "../globals.js";
5
+ import { isHmrUpdate } from "../hmr.js";
6
+ import { unmountDomProps, updateDomProps } from "./props.js";
7
+ import { getDomParent, placeDom } from "./nodes.js";
8
+ export { commitWork, commitDeletion };
9
+ function commitWork(vNode) {
10
+ if (renderMode.current === "hydrate") {
11
+ return traverseApply(vNode, commitSnapshot);
12
+ }
13
+ const host = {
14
+ node: vNode.dom ? vNode : getDomParent(vNode),
15
+ };
16
+ commitWork_impl(vNode, host, (vNode.flags & FLAG_PLACEMENT) > 0);
17
+ if (vNode.dom && !(vNode.flags & FLAG_STATIC_DOM)) {
18
+ commitDom(vNode, host, false);
19
+ }
20
+ commitSnapshot(vNode);
21
+ }
22
+ function commitWork_impl(vNode, currentHostNode, inheritsPlacement) {
23
+ let child = vNode.child;
24
+ while (child) {
25
+ if (child.dom) {
26
+ commitWork_impl(child, { node: child }, false);
27
+ if (!(child.flags & FLAG_STATIC_DOM)) {
28
+ commitDom(child, currentHostNode, inheritsPlacement);
29
+ }
30
+ }
31
+ else {
32
+ commitWork_impl(child, currentHostNode, (child.flags & FLAG_PLACEMENT) > 0 || inheritsPlacement);
33
+ }
34
+ commitSnapshot(child);
35
+ child = child.sibling;
36
+ }
37
+ }
38
+ function commitDom(vNode, hostNode, inheritsPlacement) {
39
+ if (inheritsPlacement ||
40
+ !vNode.dom.isConnected ||
41
+ vNode.flags & FLAG_PLACEMENT) {
42
+ placeDom(vNode, hostNode);
43
+ }
44
+ // During HMR we want to fully unmount previous props (events, signal
45
+ // subscriptions, style listeners, refs, etc.) before applying the new ones,
46
+ // so that we don't merge stale props with the new shape.
47
+ if (__DEV__ && vNode.prev && isHmrUpdate()) {
48
+ const { dom, prev, cleanups } = vNode;
49
+ unmountDomProps(vNode, dom, prev.props, cleanups);
50
+ vNode.prev = null;
51
+ }
52
+ if (!vNode.prev || vNode.flags & FLAG_UPDATE) {
53
+ updateDomProps(vNode);
54
+ }
55
+ hostNode.lastChild = vNode.dom;
56
+ }
57
+ function commitDeletion(vNode) {
58
+ if (vNode === vNode.parent?.child) {
59
+ vNode.parent.child = vNode.sibling;
60
+ }
61
+ let app;
62
+ if (__DEV__) {
63
+ app = getVNodeApp(vNode);
64
+ }
65
+ traverseApply(vNode, (node) => {
66
+ const { subs, cleanups, dom, props: { ref }, hooks, } = node;
67
+ subs?.forEach((unsub) => unsub());
68
+ if (cleanups)
69
+ Object.values(cleanups).forEach((c) => c());
70
+ if (hooks) {
71
+ const { preCleanups, postCleanups } = hooks;
72
+ postEffectCleanups.push(...postCleanups);
73
+ preCleanups.forEach(call);
74
+ preCleanups.length = postCleanups.length = 0;
75
+ }
76
+ if (__DEV__) {
77
+ window.__kiru.profilingContext?.emit("removeNode", app);
78
+ if (dom instanceof Element) {
79
+ delete dom.__kiruNode;
80
+ }
81
+ }
82
+ if (dom) {
83
+ if (dom.isConnected && !(node.flags & FLAG_STATIC_DOM)) {
84
+ dom.remove();
85
+ }
86
+ if (ref) {
87
+ setRef(ref, null);
88
+ }
89
+ delete node.dom;
90
+ }
91
+ });
92
+ vNode.parent = null;
93
+ }
94
+ //# sourceMappingURL=commit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/dom/commit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function captureFocus(): void;
2
+ export declare function reinstateFocus(): void;
3
+ export declare function wrapFocusEventHandler(callback: (event: FocusEvent) => void): (event: FocusEvent) => void;
4
+ //# sourceMappingURL=focus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../src/dom/focus.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,SAO3B;AAED,wBAAgB,cAAc,SAM7B;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,IACjE,OAAO,UAAU,UAQ1B"}
@@ -0,0 +1,32 @@
1
+ let focussedElement = null;
2
+ export function captureFocus() {
3
+ const el = document.activeElement;
4
+ if (el === document.body || !(el instanceof HTMLElement)) {
5
+ return;
6
+ }
7
+ el.addEventListener("blur", placementBlurHandler);
8
+ focussedElement = el;
9
+ }
10
+ export function reinstateFocus() {
11
+ if (focussedElement) {
12
+ focussedElement.removeEventListener("blur", placementBlurHandler);
13
+ if (focussedElement.isConnected)
14
+ focussedElement.focus();
15
+ focussedElement = null;
16
+ }
17
+ }
18
+ export function wrapFocusEventHandler(callback) {
19
+ return (event) => {
20
+ if (focussedElement) {
21
+ event.preventDefault();
22
+ event.stopPropagation();
23
+ return;
24
+ }
25
+ callback(event);
26
+ };
27
+ }
28
+ function placementBlurHandler(event) {
29
+ event.preventDefault();
30
+ event.stopPropagation();
31
+ }
32
+ //# sourceMappingURL=focus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus.js","sourceRoot":"","sources":["../../src/dom/focus.ts"],"names":[],"mappings":"AAAA,IAAI,eAAe,GAAuB,IAAI,CAAA;AAE9C,MAAM,UAAU,YAAY;IAC1B,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAA;IACjC,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,YAAY,WAAW,CAAC,EAAE,CAAC;QACzD,OAAM;IACR,CAAC;IACD,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IACjD,eAAe,GAAG,EAAE,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,IAAI,eAAe,EAAE,CAAC;QACpB,eAAe,CAAC,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;QACjE,IAAI,eAAe,CAAC,WAAW;YAAE,eAAe,CAAC,KAAK,EAAE,CAAA;QACxD,eAAe,GAAG,IAAI,CAAA;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAqC;IACzE,OAAO,CAAC,KAAiB,EAAE,EAAE;QAC3B,IAAI,eAAe,EAAE,CAAC;YACpB,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,KAAK,CAAC,eAAe,EAAE,CAAA;YACvB,OAAM;QACR,CAAC;QACD,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAiB;IAC7C,KAAK,CAAC,cAAc,EAAE,CAAA;IACtB,KAAK,CAAC,eAAe,EAAE,CAAA;AACzB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { commitDeletion, commitWork } from "./commit.js";
2
+ export { reinstateFocus, captureFocus } from "./focus.js";
3
+ export { createDom, hydrateDom } from "./nodes.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,4 @@
1
+ export { commitDeletion, commitWork } from "./commit.js";
2
+ export { reinstateFocus, captureFocus } from "./focus.js";
3
+ export { createDom, hydrateDom } from "./nodes.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { DomVNode, ElementVNode, SomeDom } from "../types.utils";
2
+ export { createDom, hydrateDom, getDomParent, placeDom };
3
+ type VNode = Kiru.VNode;
4
+ export type HostNode = {
5
+ node: ElementVNode;
6
+ lastChild?: SomeDom;
7
+ };
8
+ declare function createDom(vNode: DomVNode): SomeDom;
9
+ declare function hydrateDom(vNode: VNode): void;
10
+ declare function getDomParent(vNode: VNode): ElementVNode;
11
+ declare function placeDom(vNode: DomVNode, hostNode: HostNode): void;
12
+ //# sourceMappingURL=nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/dom/nodes.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAY,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAG/E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAA;AAExD,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;AAEvB,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAU3C;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,KAAK,QA+C/B;AAED,iBAAS,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAmBhD;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,QAcpD"}
@@ -0,0 +1,166 @@
1
+ import { svgTags, FLAG_PLACEMENT, FLAG_STATIC_DOM } from "../constants.js";
2
+ import { Signal } from "../signals/base.js";
3
+ import { unwrap } from "../signals/utils.js";
4
+ import { hydrationStack } from "../hydration.js";
5
+ import { getVNodeApp, isValidTextChild, registerVNodeCleanup, } from "../utils/index.js";
6
+ import { KiruError } from "../error.js";
7
+ import { __DEV__, isBrowser } from "../env.js";
8
+ import { updateDomProps } from "./props.js";
9
+ export { createDom, hydrateDom, getDomParent, placeDom };
10
+ function createDom(vNode) {
11
+ const t = vNode.type;
12
+ const dom = t == "#text"
13
+ ? createTextNode(vNode)
14
+ : svgTags.has(t)
15
+ ? document.createElementNS("http://www.w3.org/2000/svg", t)
16
+ : document.createElement(t);
17
+ return dom;
18
+ }
19
+ function hydrateDom(vNode) {
20
+ const dom = vNode.type === "#text"
21
+ ? getOrCreateTextNode(vNode)
22
+ : hydrationStack.getCurrentChild();
23
+ hydrationStack.bumpChildIndex();
24
+ if (!dom) {
25
+ throw new KiruError({
26
+ message: `Hydration mismatch - no node found`,
27
+ vNode,
28
+ });
29
+ }
30
+ let nodeName = dom.nodeName;
31
+ if (!svgTags.has(nodeName)) {
32
+ nodeName = nodeName.toLowerCase();
33
+ }
34
+ if (vNode.type !== nodeName) {
35
+ throw new KiruError({
36
+ message: `Hydration mismatch - expected node of type ${vNode.type.toString()} but received ${nodeName}`,
37
+ vNode,
38
+ });
39
+ }
40
+ vNode.dom = dom;
41
+ if (vNode.type !== "#text" && !(vNode.flags & FLAG_STATIC_DOM)) {
42
+ updateDomProps(vNode);
43
+ return;
44
+ }
45
+ if (Signal.isSignal(vNode.props.nodeValue)) {
46
+ subTextNode(vNode, dom, vNode.props.nodeValue);
47
+ }
48
+ let prev = vNode;
49
+ let sibling = vNode.sibling;
50
+ while (sibling && sibling.type === "#text") {
51
+ const sib = sibling;
52
+ hydrationStack.bumpChildIndex();
53
+ const prevText = String(unwrap(prev.props.nodeValue) ?? "");
54
+ const dom = prev.dom.splitText(prevText.length);
55
+ sib.dom = dom;
56
+ if (Signal.isSignal(sib.props.nodeValue)) {
57
+ subTextNode(sib, dom, sib.props.nodeValue);
58
+ }
59
+ prev = sibling;
60
+ sibling = sibling.sibling;
61
+ }
62
+ }
63
+ function getDomParent(vNode) {
64
+ let parentNode = vNode.parent;
65
+ let parentNodeElement = parentNode?.dom;
66
+ while (parentNode && !parentNodeElement) {
67
+ parentNode = parentNode.parent;
68
+ parentNodeElement = parentNode?.dom;
69
+ }
70
+ if (!parentNodeElement || !parentNode) {
71
+ if (!vNode.parent && vNode.dom) {
72
+ return vNode;
73
+ }
74
+ throw new KiruError({
75
+ message: "No DOM parent found while attempting to place node.",
76
+ vNode: vNode,
77
+ });
78
+ }
79
+ return parentNode;
80
+ }
81
+ function placeDom(vNode, hostNode) {
82
+ const { node: parentVNodeWithDom, lastChild } = hostNode;
83
+ const dom = vNode.dom;
84
+ if (lastChild) {
85
+ lastChild.after(dom);
86
+ return;
87
+ }
88
+ const nextSiblingDom = getNextSiblingDom(vNode, parentVNodeWithDom);
89
+ if (nextSiblingDom) {
90
+ parentVNodeWithDom.dom.insertBefore(dom, nextSiblingDom);
91
+ return;
92
+ }
93
+ parentVNodeWithDom.dom.appendChild(dom);
94
+ }
95
+ function getNextSiblingDom(vNode, parent) {
96
+ let node = vNode;
97
+ while (node) {
98
+ let sibling = node.sibling;
99
+ while (sibling) {
100
+ if (!(sibling.flags & (FLAG_PLACEMENT | FLAG_STATIC_DOM))) {
101
+ const dom = findFirstHostDom(sibling);
102
+ if (dom?.isConnected)
103
+ return dom;
104
+ }
105
+ sibling = sibling.sibling;
106
+ }
107
+ node = node.parent;
108
+ if (!node || node.flags & FLAG_STATIC_DOM || node === parent) {
109
+ return;
110
+ }
111
+ }
112
+ return;
113
+ }
114
+ function findFirstHostDom(vNode) {
115
+ let node = vNode;
116
+ while (node) {
117
+ if (node.dom)
118
+ return node.dom;
119
+ if (node.flags & FLAG_STATIC_DOM)
120
+ return;
121
+ node = node.child;
122
+ }
123
+ return;
124
+ }
125
+ function getOrCreateTextNode(vNode) {
126
+ const sig = vNode.props.nodeValue;
127
+ if (!Signal.isSignal(sig)) {
128
+ return hydrationStack.getCurrentChild();
129
+ }
130
+ const value = sig.peek();
131
+ if (isValidTextChild(value)) {
132
+ return hydrationStack.getCurrentChild();
133
+ }
134
+ const dom = createSignalTextNode(vNode, sig);
135
+ const currentChild = hydrationStack.getCurrentChild();
136
+ if (!currentChild) {
137
+ return hydrationStack.getCurrentParent().appendChild(dom);
138
+ }
139
+ currentChild.before(dom);
140
+ return dom;
141
+ }
142
+ function subTextNode(vNode, textNode, signal) {
143
+ const cleanup = signal.subscribe((value, prev) => {
144
+ if (value === prev)
145
+ return;
146
+ textNode.nodeValue = value;
147
+ if (__DEV__ && isBrowser) {
148
+ window.__kiru?.profilingContext?.emit("signalTextUpdate", getVNodeApp(vNode));
149
+ }
150
+ });
151
+ registerVNodeCleanup(vNode, "nodeValue", cleanup);
152
+ }
153
+ function createTextNode(vNode) {
154
+ const { nodeValue } = vNode.props;
155
+ if (Signal.isSignal(nodeValue)) {
156
+ return createSignalTextNode(vNode, nodeValue);
157
+ }
158
+ return document.createTextNode(nodeValue);
159
+ }
160
+ function createSignalTextNode(vNode, nodeValue) {
161
+ const value = nodeValue.peek() ?? "";
162
+ const textNode = document.createTextNode(value);
163
+ subTextNode(vNode, textNode, nodeValue);
164
+ return textNode;
165
+ }
166
+ //# sourceMappingURL=nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/dom/nodes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Signal } from "../signals/base.js";
2
+ import type { DomVNode, SomeDom } from "../types.utils.js";
3
+ export { updateDomProps, unmountDomProps, setSignalProp };
4
+ type VNode = Kiru.VNode;
5
+ declare function updateDomProps(vNode: DomVNode): void;
6
+ declare function unmountDomProps(vNode: DomVNode, dom: SomeDom, prevProps: Record<string, any>, cleanups?: DomVNode["cleanups"]): void;
7
+ declare function setSignalProp(vNode: VNode, dom: Exclude<SomeDom, Text>, key: string, signal: Signal<any>, prevValue: unknown): void;
8
+ //# sourceMappingURL=props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/dom/props.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAM3C,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAe,MAAM,mBAAmB,CAAA;AAEvE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,CAAA;AAEzD,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;AA2BvB,iBAAS,cAAc,CAAC,KAAK,EAAE,QAAQ,QAyMtC;AAED,iBAAS,eAAe,CACtB,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,QAyDhC;AA2KD,iBAAS,aAAa,CACpB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAC3B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EACnB,SAAS,EAAE,OAAO,QAmCnB"}