@torpor/view 0.4.13 → 0.4.15

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 (94) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/{Cleanup-BGQ5zaxE.d.cts → Cleanup-CYsytTEc.d.cts} +1 -1
  3. package/dist/Cleanup-CYsytTEc.d.cts.map +1 -0
  4. package/dist/{Cleanup-Ca8IspaG.d.ts → Cleanup-CgjyN0lW.d.mts} +1 -1
  5. package/dist/Cleanup-CgjyN0lW.d.mts.map +1 -0
  6. package/dist/{Component-BDUCwkBQ.d.cts → Component-DmWGMgak.d.mts} +1 -1
  7. package/dist/{Component-BDUCwkBQ.d.cts.map → Component-DmWGMgak.d.mts.map} +1 -1
  8. package/dist/{Component-JVwSemf-.d.ts → Component-kGLRFYg2.d.cts} +1 -1
  9. package/dist/Component-kGLRFYg2.d.cts.map +1 -0
  10. package/dist/{Region-BrsZLZUe.d.ts → Region-Bb6HAb-F.d.cts} +2 -2
  11. package/dist/{Region-Cf7OeBIQ.d.cts.map → Region-Bb6HAb-F.d.cts.map} +1 -1
  12. package/dist/{Region-Cf7OeBIQ.d.cts → Region-CTchywkr.d.mts} +2 -2
  13. package/dist/Region-CTchywkr.d.mts.map +1 -0
  14. package/dist/compile.cjs +238 -68
  15. package/dist/compile.d.cts +1 -1
  16. package/dist/{compile.d.ts → compile.d.mts} +2 -2
  17. package/dist/compile.d.mts.map +1 -0
  18. package/dist/{compile.js → compile.mjs} +238 -67
  19. package/dist/compile.mjs.map +1 -0
  20. package/dist/dev.cjs +1 -2
  21. package/dist/dev.d.cts +2 -2
  22. package/dist/{dev.d.ts → dev.d.mts} +3 -3
  23. package/dist/dev.d.mts.map +1 -0
  24. package/dist/{dev.js → dev.mjs} +2 -2
  25. package/dist/{dev.cjs.map → dev.mjs.map} +1 -1
  26. package/dist/devContext-B3yskfhA.cjs +1 -2
  27. package/dist/{devContext-CevrTlUO.js → devContext-CQ8RhBX-.mjs} +1 -1
  28. package/dist/{devContext-B3yskfhA.cjs.map → devContext-CQ8RhBX-.mjs.map} +1 -1
  29. package/dist/{formatText-Ck04q8_X.cjs → formatText--9zsK5Nq.cjs} +4 -4
  30. package/dist/{formatText-OyD8MNAM.js → formatText-B8u71S_K.mjs} +4 -3
  31. package/dist/formatText-B8u71S_K.mjs.map +1 -0
  32. package/dist/{formatText-BlLF3PPm.d.ts → formatText-BNP3P38F.d.cts} +3 -3
  33. package/dist/formatText-BNP3P38F.d.cts.map +1 -0
  34. package/dist/{formatText-Bcb1JvW5.d.cts → formatText-D6Ov8Ub0.d.mts} +3 -3
  35. package/dist/formatText-D6Ov8Ub0.d.mts.map +1 -0
  36. package/dist/index.cjs +2 -3
  37. package/dist/index.d.cts +4 -4
  38. package/dist/{index.d.ts → index.d.mts} +5 -5
  39. package/dist/index.d.mts.map +1 -0
  40. package/dist/{index.js → index.mjs} +3 -3
  41. package/dist/{index.cjs.map → index.mjs.map} +1 -1
  42. package/dist/ssr.cjs +2 -3
  43. package/dist/ssr.d.cts +2 -2
  44. package/dist/{ssr.d.ts → ssr.d.mts} +3 -3
  45. package/dist/ssr.d.mts.map +1 -0
  46. package/dist/{ssr.js → ssr.mjs} +2 -2
  47. package/dist/{ssr.cjs.map → ssr.mjs.map} +1 -1
  48. package/package.json +17 -17
  49. package/scripts/copyToRepl.ts +6 -6
  50. package/src/compile/build/client/addMappedTextWithOffsets.ts +31 -0
  51. package/src/compile/build/client/buildAddFragment.ts +11 -11
  52. package/src/compile/build/client/buildComponentNode.ts +126 -29
  53. package/src/compile/build/client/buildElementNode.ts +65 -8
  54. package/src/compile/build/client/buildIfNode.ts +1 -1
  55. package/src/compile/build/client/buildSwitchNode.ts +1 -1
  56. package/src/compile/build/client/buildTextNode.ts +13 -6
  57. package/src/compile/build/client/getAttributeOffsets.ts +90 -0
  58. package/src/compile/build/client/stashRunWithOffsets.ts +7 -1
  59. package/src/compile/build/server/buildServerElementNode.ts +1 -1
  60. package/src/compile/parse/parseTag.ts +1 -7
  61. package/src/compile/parse/parseText.ts +1 -1
  62. package/src/render/buildClasses.ts +1 -1
  63. package/src/render/buildStyles.ts +3 -1
  64. package/src/types/ClassValue.ts +6 -1
  65. package/src/types/StyleValue.ts +6 -1
  66. package/test/class/class.test.ts +31 -12
  67. package/test/class/components/output/Class-client.ts +62 -17
  68. package/test/class/components/output/Class-server.ts +40 -6
  69. package/test/class/components/temp/Class-client-c100fef7474dd892108c52b2cfed5825a3412e8b.ts +123 -0
  70. package/test/class/components/temp/Class-server-f42d0611a27002b493da55392baf7244d31e0d39.ts +78 -0
  71. package/test/source-maps/interpolated.test.ts +88 -0
  72. package/test/source-maps/parse.test.ts +1 -1
  73. package/tsdown.config.ts +2 -9
  74. package/vitest.config.ts +3 -3
  75. package/dist/Cleanup-BGQ5zaxE.d.cts.map +0 -1
  76. package/dist/Cleanup-Ca8IspaG.d.ts.map +0 -1
  77. package/dist/Component-JVwSemf-.d.ts.map +0 -1
  78. package/dist/Region-BrsZLZUe.d.ts.map +0 -1
  79. package/dist/compile.cjs.map +0 -1
  80. package/dist/compile.d.ts.map +0 -1
  81. package/dist/compile.js.map +0 -1
  82. package/dist/dev.d.ts.map +0 -1
  83. package/dist/dev.js.map +0 -1
  84. package/dist/devContext-CevrTlUO.js.map +0 -1
  85. package/dist/formatText-Bcb1JvW5.d.cts.map +0 -1
  86. package/dist/formatText-BlLF3PPm.d.ts.map +0 -1
  87. package/dist/formatText-Ck04q8_X.cjs.map +0 -1
  88. package/dist/formatText-OyD8MNAM.js.map +0 -1
  89. package/dist/index.d.ts.map +0 -1
  90. package/dist/index.js.map +0 -1
  91. package/dist/ssr.d.ts.map +0 -1
  92. package/dist/ssr.js.map +0 -1
  93. package/test/class/components/temp/Class-client-d17977d356d8c8f964eaa1ac5a381814b33c22ba.ts +0 -78
  94. package/test/class/components/temp/Class-server-e4adcf242d5620acfcfa31c57b9b35c323a15664.ts +0 -44
package/dist/dev.cjs CHANGED
@@ -200,5 +200,4 @@ function setDevMode() {
200
200
  exports.devContext = require_devContext.devContext_default;
201
201
  exports.setDevMode = setDevMode;
202
202
  exports.t_pop_dev_bound = popDevBoundary;
203
- exports.t_push_dev_bound = pushDevBoundary;
204
- //# sourceMappingURL=dev.cjs.map
203
+ exports.t_push_dev_bound = pushDevBoundary;
package/dist/dev.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import "./Cleanup-BGQ5zaxE.cjs";
2
- import { i as Computed, n as Effect, r as ProxySignal, t as Region } from "./Region-Cf7OeBIQ.cjs";
1
+ import "./Cleanup-CYsytTEc.cjs";
2
+ import { i as Computed, n as Effect, r as ProxySignal, t as Region } from "./Region-Bb6HAb-F.cjs";
3
3
 
4
4
  //#region src/types/ProxyData.d.ts
5
5
  interface ProxyData {
@@ -1,5 +1,5 @@
1
- import "./Cleanup-Ca8IspaG.js";
2
- import { i as Computed, n as Effect, r as ProxySignal, t as Region } from "./Region-BrsZLZUe.js";
1
+ import "./Cleanup-CgjyN0lW.mjs";
2
+ import { i as Computed, n as Effect, r as ProxySignal, t as Region } from "./Region-CTchywkr.mjs";
3
3
 
4
4
  //#region src/types/ProxyData.d.ts
5
5
  interface ProxyData {
@@ -50,4 +50,4 @@ declare function pushDevBoundary(type: "component" | "region" | "run" | "watch"
50
50
  declare function setDevMode(): void;
51
51
  //#endregion
52
52
  export { devContext, setDevMode, popDevBoundary as t_pop_dev_bound, pushDevBoundary as t_push_dev_bound };
53
- //# sourceMappingURL=dev.d.ts.map
53
+ //# sourceMappingURL=dev.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.d.mts","names":["devContext: DevContext"],"sources":["../src/types/ProxyData.ts","../src/dev/types/DevBoundary.ts","../src/dev/types/DevContext.ts","../src/dev/devContext.ts","../src/dev/popDevBoundary.ts","../src/dev/pushDevBoundary.ts","../src/dev/setDevMode.ts"],"sourcesContent":[],"mappings":";;;;UAIyB,SAAA;UAChB,OAAO;EAJa,OAGJ,EAAA,OAAA;EACT,OAAA,EAAA,OAAA;EAAP,OAAA,EAGC,GAHD,CAGK,WAHL,EAGkB,WAHlB,GAGgC,QAHhC,CAAA;;;;UCLgB,WAAA;;;;EDCI,KAGJ,EAAA,MAAA;EACT,MAAA,CAAA,EAAA,GAAA;;;;AADS,UECA,UAAA,CFDA;EACT,OAAA,EAAA,OAAA;EAAP,KAAA,EAAA,MAAA;EAGK,KAAA,EAAA,MAAA;EAAa,UAAA,EECd,WFDc,EAAA;EAAc,MAAA,EAAA,GAAA,GAAA,GAAA;EAA/B,UAAA,EAAA,CAAA,EAAA,EAAA,MAAA,EAAA,GAAA,MAAA;EAAA,MAAA,EAAA,GAAA,GAAA,IAAA;;mBESQ;kBACD;gBDlBQ,EAAA,CAAA,MAAA,ECmBC,MDnBD,EAAA,QAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,MAAA,EAAA,GAAA,IAAA;;4BCqBE;qBAEP,gBAAgB;EApBP,SAEJ,EAAA,CAAA,MAAA,EAmBJ,MAnBI,EAAA,GAAA,IAAA;;;;cCCnBA,YAAY;;;iBCJM,cAAA,CAAA;;;iBCCA,eAAA,uFAGrB;;;iBCAqB,UAAA,CAAA"}
@@ -1,4 +1,4 @@
1
- import { t as devContext_default } from "./devContext-CevrTlUO.js";
1
+ import { t as devContext_default } from "./devContext-CQ8RhBX-.mjs";
2
2
 
3
3
  //#region src/dev/popDevBoundary.ts
4
4
  function popDevBoundary() {
@@ -198,4 +198,4 @@ function setDevMode() {
198
198
 
199
199
  //#endregion
200
200
  export { devContext_default as devContext, setDevMode, popDevBoundary as t_pop_dev_bound, pushDevBoundary as t_push_dev_bound };
201
- //# sourceMappingURL=dev.js.map
201
+ //# sourceMappingURL=dev.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev.cjs","names":["devContext","devContext","oldDepths: number[]","nextRegion: Region | null"],"sources":["../src/dev/popDevBoundary.ts","../src/dev/pushDevBoundary.ts","../src/dev/setDevMode.ts"],"sourcesContent":["import devContext from \"./devContext\";\n\nexport default function popDevBoundary(): void {\n\tdevContext.depth--;\n}\n","import devContext from \"../dev/devContext\";\nimport DevBoundary from \"./types/DevBoundary\";\n\nexport default function pushDevBoundary(\n\ttype: \"component\" | \"region\" | \"run\" | \"watch\" | \"control\" | \"branch\",\n\tname: string,\n): DevBoundary {\n\tconst newBoundary = {\n\t\ttype,\n\t\tid: crypto.randomUUID(),\n\t\tname,\n\t\tdepth: devContext.depth,\n\t};\n\n\tif (devContext.index === -1) {\n\t\tdevContext.boundaries.push(newBoundary);\n\t} else {\n\t\tdevContext.boundaries.splice(devContext.index, 0, newBoundary);\n\t\tdevContext.index++;\n\t}\n\n\tdevContext.depth++;\n\n\treturn newBoundary;\n}\n","import type Effect from \"../types/Effect\";\nimport type ProxyData from \"../types/ProxyData\";\nimport type Region from \"../types/Region\";\nimport devContext from \"./devContext\";\nimport type DevBoundary from \"./types/DevBoundary\";\n\nexport default function setDevMode(): void {\n\tdevContext.enabled = true;\n\n\t// Format devContext for passing to DevTools by stripping out nodes etc\n\tdevContext.format = () => {\n\t\treturn {\n\t\t\tboundaries: devContext.boundaries.map((b) => ({\n\t\t\t\ttype: b.type,\n\t\t\t\tid: b.id,\n\t\t\t\tname: b.name,\n\t\t\t\tdepth: b.depth,\n\t\t\t\t//details: b.details,\n\t\t\t})),\n\t\t};\n\t};\n\n\tdevContext.getDetails = (id: string) => {\n\t\tconst boundary = devContext.boundaries.find((b) => b.id === id);\n\t\tif (boundary) {\n\t\t\tswitch (boundary.type) {\n\t\t\t\tcase \"run\": {\n\t\t\t\t\treturn String(boundary.target.run);\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\t// TODO:\n\t\t\t\t\treturn \"I'm a \" + boundary.type;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn \"??\";\n\t};\n\n\tdevContext.unmark = () => {\n\t\tconst el = document.getElementById(\"t_dev_mark\");\n\t\tif (el) {\n\t\t\tel.style.display = \"none\";\n\t\t}\n\t};\n\n\tdevContext.mark = (id: string) => {\n\t\tconst boundary = devContext.boundaries.find((b) => b.id === id);\n\t\tif (boundary && boundary.target?.startNode && boundary.target?.endNode) {\n\t\t\tlet el = document.getElementById(\"t_dev_mark\");\n\t\t\tif (!el) {\n\t\t\t\tel = document.createElement(\"div\");\n\t\t\t\tel.id = \"t_dev_mark\";\n\t\t\t\tel.style.position = \"absolute\";\n\t\t\t\tdocument.body.append(el);\n\t\t\t}\n\n\t\t\tconst range = document.createRange();\n\t\t\trange.setStartBefore(boundary.target.startNode);\n\t\t\trange.setEndAfter(boundary.target.endNode);\n\t\t\tconst rect = range.getBoundingClientRect();\n\n\t\t\tel.style.display = \"block\";\n\t\t\tel.style.left = rect.left + \"px\";\n\t\t\tel.style.top = rect.top + \"px\";\n\t\t\tel.style.height = rect.height + \"px\";\n\t\t\tel.style.width = rect.width + \"px\";\n\t\t\t//el.style.border = \"2px solid limegreen\";\n\t\t\tel.style.borderRadius = \"2px\";\n\t\t\tel.style.boxShadow = \"rgba(50, 205, 50, 0.5) 0px 0px 0px 3px\";\n\t\t\tel.style.pointerEvents = \"none\";\n\t\t}\n\t};\n\n\t// TODO: make this more robust\n\tlet oldDepths: number[] = [];\n\n\tdevContext.onWatch = (proxy: ProxyData) => {\n\t\tlet keys = Object.keys(proxy.target);\n\t\tif (keys.length > 5) {\n\t\t\tkeys = [...keys.slice(0, 5), \"…\"];\n\t\t}\n\t\tlet name = keys.length > 0 ? `{ ${keys.join(\", \")} }` : \"{}\";\n\t\tconst id = crypto.randomUUID();\n\t\tconst newBoundary = {\n\t\t\ttype: \"watch\",\n\t\t\tid,\n\t\t\tname,\n\t\t\tdepth: devContext.depth,\n\t\t\ttarget: proxy,\n\t\t} satisfies DevBoundary;\n\t\tif (devContext.index === -1) {\n\t\t\tdevContext.boundaries.push(newBoundary);\n\t\t} else {\n\t\t\tdevContext.boundaries.splice(devContext.index, 0, newBoundary);\n\t\t\tdevContext.index++;\n\t\t}\n\t};\n\n\tdevContext.onRun = (effect: Effect) => {\n\t\tlet name = effect.name;\n\t\tif (name === undefined) {\n\t\t\tconst details = String(effect.run);\n\t\t\tif (details.startsWith(\"function \")) {\n\t\t\t\tname = details.substring(9);\n\t\t\t\tname = name.substring(0, name.indexOf(\"(\"));\n\t\t\t}\n\t\t}\n\t\tif (name === undefined) {\n\t\t\tname = \"runAnon\";\n\t\t}\n\t\tconst id = crypto.randomUUID();\n\t\tconst newBoundary = {\n\t\t\ttype: \"run\",\n\t\t\tid,\n\t\t\tname,\n\t\t\tdepth: devContext.depth,\n\t\t\ttarget: effect,\n\t\t} satisfies DevBoundary;\n\t\tif (devContext.index === -1) {\n\t\t\tdevContext.boundaries.push(newBoundary);\n\t\t} else {\n\t\t\tdevContext.boundaries.splice(devContext.index, 0, newBoundary);\n\t\t\tdevContext.index++;\n\t\t}\n\t};\n\n\tdevContext.onRegionPushed = (region: Region, toParent: boolean) => {\n\t\toldDepths.push(devContext.depth);\n\t\tif (toParent) {\n\t\t\t// It's a new region; bump the depth etc\n\t\t\tconst name = region.name || \"Anon Region\";\n\t\t\tconst id = crypto.randomUUID();\n\t\t\tconst newBoundary = {\n\t\t\t\ttype: \"region\",\n\t\t\t\tid,\n\t\t\t\tname,\n\t\t\t\tdepth: devContext.depth,\n\t\t\t\ttarget: region,\n\t\t\t} satisfies DevBoundary;\n\t\t\tif (devContext.index === -1) {\n\t\t\t\tdevContext.boundaries.push(newBoundary);\n\t\t\t} else {\n\t\t\t\tdevContext.boundaries.splice(devContext.index, 0, newBoundary);\n\t\t\t\tdevContext.index++;\n\t\t\t}\n\t\t\t//pushDevBoundary(\"region\", name);\n\t\t\tregion.name = `${name} [${id}]`;\n\n\t\t\tdevContext.depth++;\n\n\t\t\tsendMessage({ name: \"REFRESH\" });\n\t\t} else if (region.name) {\n\t\t\tdevContext.index = -1;\n\n\t\t\t// It's an old region; get and set its depth and position for adding children\n\t\t\tconst match = region.name.match(/.+?\\[(.+?)\\]/);\n\t\t\tif (match !== null && match.length > 0) {\n\t\t\t\tlet id = match[1];\n\t\t\t\tlet index = devContext.boundaries.findIndex((b) => b.id === id);\n\t\t\t\tif (index !== -1) {\n\t\t\t\t\tconst parentDepth = devContext.boundaries[index].depth;\n\t\t\t\t\tdevContext.depth = parentDepth + 1;\n\t\t\t\t\t// The index needs to be after the last child of the parent\n\t\t\t\t\tdevContext.index = index + 1;\n\t\t\t\t\twhile (\n\t\t\t\t\t\tdevContext.index < devContext.boundaries.length &&\n\t\t\t\t\t\tdevContext.boundaries[devContext.index].depth > parentDepth\n\t\t\t\t\t) {\n\t\t\t\t\t\tdevContext.index++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tdevContext.onRegionPopped = () => {\n\t\t//popDevBoundary();\n\t\tdevContext.depth = oldDepths.pop() ?? 0;\n\t};\n\n\tdevContext.onRegionCleared = (region: Region) => {\n\t\tlet nextRegion: Region | null = region;\n\t\twhile (true) {\n\t\t\tlet match = nextRegion.name!.match(/.+?\\[(.+?)\\]/);\n\t\t\tif (match !== null && match.length > 0) {\n\t\t\t\tconst id = match[1];\n\t\t\t\tlet i = devContext.boundaries.findIndex((b) => b.id === id);\n\t\t\t\tif (i !== -1) {\n\t\t\t\t\tlet depth = devContext.boundaries[i].depth;\n\t\t\t\t\tlet start = i;\n\t\t\t\t\tlet end = devContext.boundaries.length;\n\t\t\t\t\tfor (i++; i < devContext.boundaries.length; i++) {\n\t\t\t\t\t\tif (devContext.boundaries[i].depth <= depth) {\n\t\t\t\t\t\t\tend = i;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdevContext.boundaries.splice(start, end - start);\n\t\t\t\t}\n\t\t\t}\n\t\t\tnextRegion = nextRegion.nextRegion;\n\t\t\tif (nextRegion === null || nextRegion.depth <= region.depth) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tsendMessage({ name: \"REFRESH\" });\n\t};\n\n\t// Messages\n\n\tdevContext.signalSet = (proxy: ProxyData, key: PropertyKey) => {\n\t\tconst boundary = devContext.boundaries.find((b) => b.target === proxy);\n\t\tif (boundary !== undefined) {\n\t\t\tsendMessage({ name: \"Signal set\", id: boundary.id, key: String(key) });\n\t\t}\n\t};\n\n\tdevContext.effectRun = (effect: Effect) => {\n\t\tconst boundary = devContext.boundaries.find((b) => b.target === effect);\n\t\tif (boundary !== undefined) {\n\t\t\tsendMessage({ name: \"Effect run\", id: boundary.id });\n\t\t}\n\t};\n\n\tfunction sendMessage(message: { name: string } & Record<string, string>) {\n\t\twindow.postMessage(\n\t\t\t{\n\t\t\t\tsource: \"t_dev_tools\",\n\t\t\t\tmessage: JSON.stringify(message),\n\t\t\t},\n\t\t\t\"*\",\n\t\t);\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"dev.mjs","names":["devContext","devContext","oldDepths: number[]","nextRegion: Region | null"],"sources":["../src/dev/popDevBoundary.ts","../src/dev/pushDevBoundary.ts","../src/dev/setDevMode.ts"],"sourcesContent":["import devContext from \"./devContext\";\n\nexport default function popDevBoundary(): void {\n\tdevContext.depth--;\n}\n","import devContext from \"../dev/devContext\";\nimport DevBoundary from \"./types/DevBoundary\";\n\nexport default function pushDevBoundary(\n\ttype: \"component\" | \"region\" | \"run\" | \"watch\" | \"control\" | \"branch\",\n\tname: string,\n): DevBoundary {\n\tconst newBoundary = {\n\t\ttype,\n\t\tid: crypto.randomUUID(),\n\t\tname,\n\t\tdepth: devContext.depth,\n\t};\n\n\tif (devContext.index === -1) {\n\t\tdevContext.boundaries.push(newBoundary);\n\t} else {\n\t\tdevContext.boundaries.splice(devContext.index, 0, newBoundary);\n\t\tdevContext.index++;\n\t}\n\n\tdevContext.depth++;\n\n\treturn newBoundary;\n}\n","import type Effect from \"../types/Effect\";\nimport type ProxyData from \"../types/ProxyData\";\nimport type Region from \"../types/Region\";\nimport devContext from \"./devContext\";\nimport type DevBoundary from \"./types/DevBoundary\";\n\nexport default function setDevMode(): void {\n\tdevContext.enabled = true;\n\n\t// Format devContext for passing to DevTools by stripping out nodes etc\n\tdevContext.format = () => {\n\t\treturn {\n\t\t\tboundaries: devContext.boundaries.map((b) => ({\n\t\t\t\ttype: b.type,\n\t\t\t\tid: b.id,\n\t\t\t\tname: b.name,\n\t\t\t\tdepth: b.depth,\n\t\t\t\t//details: b.details,\n\t\t\t})),\n\t\t};\n\t};\n\n\tdevContext.getDetails = (id: string) => {\n\t\tconst boundary = devContext.boundaries.find((b) => b.id === id);\n\t\tif (boundary) {\n\t\t\tswitch (boundary.type) {\n\t\t\t\tcase \"run\": {\n\t\t\t\t\treturn String(boundary.target.run);\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\t// TODO:\n\t\t\t\t\treturn \"I'm a \" + boundary.type;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn \"??\";\n\t};\n\n\tdevContext.unmark = () => {\n\t\tconst el = document.getElementById(\"t_dev_mark\");\n\t\tif (el) {\n\t\t\tel.style.display = \"none\";\n\t\t}\n\t};\n\n\tdevContext.mark = (id: string) => {\n\t\tconst boundary = devContext.boundaries.find((b) => b.id === id);\n\t\tif (boundary && boundary.target?.startNode && boundary.target?.endNode) {\n\t\t\tlet el = document.getElementById(\"t_dev_mark\");\n\t\t\tif (!el) {\n\t\t\t\tel = document.createElement(\"div\");\n\t\t\t\tel.id = \"t_dev_mark\";\n\t\t\t\tel.style.position = \"absolute\";\n\t\t\t\tdocument.body.append(el);\n\t\t\t}\n\n\t\t\tconst range = document.createRange();\n\t\t\trange.setStartBefore(boundary.target.startNode);\n\t\t\trange.setEndAfter(boundary.target.endNode);\n\t\t\tconst rect = range.getBoundingClientRect();\n\n\t\t\tel.style.display = \"block\";\n\t\t\tel.style.left = rect.left + \"px\";\n\t\t\tel.style.top = rect.top + \"px\";\n\t\t\tel.style.height = rect.height + \"px\";\n\t\t\tel.style.width = rect.width + \"px\";\n\t\t\t//el.style.border = \"2px solid limegreen\";\n\t\t\tel.style.borderRadius = \"2px\";\n\t\t\tel.style.boxShadow = \"rgba(50, 205, 50, 0.5) 0px 0px 0px 3px\";\n\t\t\tel.style.pointerEvents = \"none\";\n\t\t}\n\t};\n\n\t// TODO: make this more robust\n\tlet oldDepths: number[] = [];\n\n\tdevContext.onWatch = (proxy: ProxyData) => {\n\t\tlet keys = Object.keys(proxy.target);\n\t\tif (keys.length > 5) {\n\t\t\tkeys = [...keys.slice(0, 5), \"…\"];\n\t\t}\n\t\tlet name = keys.length > 0 ? `{ ${keys.join(\", \")} }` : \"{}\";\n\t\tconst id = crypto.randomUUID();\n\t\tconst newBoundary = {\n\t\t\ttype: \"watch\",\n\t\t\tid,\n\t\t\tname,\n\t\t\tdepth: devContext.depth,\n\t\t\ttarget: proxy,\n\t\t} satisfies DevBoundary;\n\t\tif (devContext.index === -1) {\n\t\t\tdevContext.boundaries.push(newBoundary);\n\t\t} else {\n\t\t\tdevContext.boundaries.splice(devContext.index, 0, newBoundary);\n\t\t\tdevContext.index++;\n\t\t}\n\t};\n\n\tdevContext.onRun = (effect: Effect) => {\n\t\tlet name = effect.name;\n\t\tif (name === undefined) {\n\t\t\tconst details = String(effect.run);\n\t\t\tif (details.startsWith(\"function \")) {\n\t\t\t\tname = details.substring(9);\n\t\t\t\tname = name.substring(0, name.indexOf(\"(\"));\n\t\t\t}\n\t\t}\n\t\tif (name === undefined) {\n\t\t\tname = \"runAnon\";\n\t\t}\n\t\tconst id = crypto.randomUUID();\n\t\tconst newBoundary = {\n\t\t\ttype: \"run\",\n\t\t\tid,\n\t\t\tname,\n\t\t\tdepth: devContext.depth,\n\t\t\ttarget: effect,\n\t\t} satisfies DevBoundary;\n\t\tif (devContext.index === -1) {\n\t\t\tdevContext.boundaries.push(newBoundary);\n\t\t} else {\n\t\t\tdevContext.boundaries.splice(devContext.index, 0, newBoundary);\n\t\t\tdevContext.index++;\n\t\t}\n\t};\n\n\tdevContext.onRegionPushed = (region: Region, toParent: boolean) => {\n\t\toldDepths.push(devContext.depth);\n\t\tif (toParent) {\n\t\t\t// It's a new region; bump the depth etc\n\t\t\tconst name = region.name || \"Anon Region\";\n\t\t\tconst id = crypto.randomUUID();\n\t\t\tconst newBoundary = {\n\t\t\t\ttype: \"region\",\n\t\t\t\tid,\n\t\t\t\tname,\n\t\t\t\tdepth: devContext.depth,\n\t\t\t\ttarget: region,\n\t\t\t} satisfies DevBoundary;\n\t\t\tif (devContext.index === -1) {\n\t\t\t\tdevContext.boundaries.push(newBoundary);\n\t\t\t} else {\n\t\t\t\tdevContext.boundaries.splice(devContext.index, 0, newBoundary);\n\t\t\t\tdevContext.index++;\n\t\t\t}\n\t\t\t//pushDevBoundary(\"region\", name);\n\t\t\tregion.name = `${name} [${id}]`;\n\n\t\t\tdevContext.depth++;\n\n\t\t\tsendMessage({ name: \"REFRESH\" });\n\t\t} else if (region.name) {\n\t\t\tdevContext.index = -1;\n\n\t\t\t// It's an old region; get and set its depth and position for adding children\n\t\t\tconst match = region.name.match(/.+?\\[(.+?)\\]/);\n\t\t\tif (match !== null && match.length > 0) {\n\t\t\t\tlet id = match[1];\n\t\t\t\tlet index = devContext.boundaries.findIndex((b) => b.id === id);\n\t\t\t\tif (index !== -1) {\n\t\t\t\t\tconst parentDepth = devContext.boundaries[index].depth;\n\t\t\t\t\tdevContext.depth = parentDepth + 1;\n\t\t\t\t\t// The index needs to be after the last child of the parent\n\t\t\t\t\tdevContext.index = index + 1;\n\t\t\t\t\twhile (\n\t\t\t\t\t\tdevContext.index < devContext.boundaries.length &&\n\t\t\t\t\t\tdevContext.boundaries[devContext.index].depth > parentDepth\n\t\t\t\t\t) {\n\t\t\t\t\t\tdevContext.index++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tdevContext.onRegionPopped = () => {\n\t\t//popDevBoundary();\n\t\tdevContext.depth = oldDepths.pop() ?? 0;\n\t};\n\n\tdevContext.onRegionCleared = (region: Region) => {\n\t\tlet nextRegion: Region | null = region;\n\t\twhile (true) {\n\t\t\tlet match = nextRegion.name!.match(/.+?\\[(.+?)\\]/);\n\t\t\tif (match !== null && match.length > 0) {\n\t\t\t\tconst id = match[1];\n\t\t\t\tlet i = devContext.boundaries.findIndex((b) => b.id === id);\n\t\t\t\tif (i !== -1) {\n\t\t\t\t\tlet depth = devContext.boundaries[i].depth;\n\t\t\t\t\tlet start = i;\n\t\t\t\t\tlet end = devContext.boundaries.length;\n\t\t\t\t\tfor (i++; i < devContext.boundaries.length; i++) {\n\t\t\t\t\t\tif (devContext.boundaries[i].depth <= depth) {\n\t\t\t\t\t\t\tend = i;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdevContext.boundaries.splice(start, end - start);\n\t\t\t\t}\n\t\t\t}\n\t\t\tnextRegion = nextRegion.nextRegion;\n\t\t\tif (nextRegion === null || nextRegion.depth <= region.depth) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tsendMessage({ name: \"REFRESH\" });\n\t};\n\n\t// Messages\n\n\tdevContext.signalSet = (proxy: ProxyData, key: PropertyKey) => {\n\t\tconst boundary = devContext.boundaries.find((b) => b.target === proxy);\n\t\tif (boundary !== undefined) {\n\t\t\tsendMessage({ name: \"Signal set\", id: boundary.id, key: String(key) });\n\t\t}\n\t};\n\n\tdevContext.effectRun = (effect: Effect) => {\n\t\tconst boundary = devContext.boundaries.find((b) => b.target === effect);\n\t\tif (boundary !== undefined) {\n\t\t\tsendMessage({ name: \"Effect run\", id: boundary.id });\n\t\t}\n\t};\n\n\tfunction sendMessage(message: { name: string } & Record<string, string>) {\n\t\twindow.postMessage(\n\t\t\t{\n\t\t\t\tsource: \"t_dev_tools\",\n\t\t\t\tmessage: JSON.stringify(message),\n\t\t\t},\n\t\t\t\"*\",\n\t\t);\n\t}\n}\n"],"mappings":"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"}
@@ -27,5 +27,4 @@ Object.defineProperty(exports, 'devContext_default', {
27
27
  get: function () {
28
28
  return devContext_default;
29
29
  }
30
- });
31
- //# sourceMappingURL=devContext-B3yskfhA.cjs.map
30
+ });
@@ -22,4 +22,4 @@ var devContext_default = devContext;
22
22
 
23
23
  //#endregion
24
24
  export { devContext_default as t };
25
- //# sourceMappingURL=devContext-CevrTlUO.js.map
25
+ //# sourceMappingURL=devContext-CQ8RhBX-.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"devContext-B3yskfhA.cjs","names":["DEV_CONTEXT_SYMBOL: unique symbol","devContext: DevContext"],"sources":["../src/dev/devContext.ts"],"sourcesContent":["import type DevContext from \"./types/DevContext\";\n\nconst DEV_CONTEXT_SYMBOL: unique symbol = Symbol.for(\"t_dev_context\");\n\nconst noop = () => {};\n\nconst devContext: DevContext =\n\t// @ts-ignore\n\t(globalThis[DEV_CONTEXT_SYMBOL] ??= {\n\t\tenabled: false,\n\t\tdepth: 0,\n\t\tindex: -1,\n\t\tboundaries: [],\n\n\t\tformat: () => \"\",\n\t\tgetDetails: () => \"\",\n\t\tunmark: noop,\n\t\tmark: noop,\n\n\t\t// Hooks\n\t\tonWatch: noop,\n\t\tonRun: noop,\n\t\tonRegionPushed: noop,\n\t\tonRegionPopped: noop,\n\t\tonRegionCleared: noop,\n\n\t\tsignalSet: noop,\n\t\teffectRun: noop,\n\t} satisfies DevContext);\n\nexport default devContext;\n"],"mappings":";;AAEA,MAAMA,qBAAoC,OAAO,IAAI,gBAAgB;AAErE,MAAM,aAAa;AAEnB,MAAMC,aAEJ,WAAW,wBAAwB;CACnC,SAAS;CACT,OAAO;CACP,OAAO;CACP,YAAY,EAAE;CAEd,cAAc;CACd,kBAAkB;CAClB,QAAQ;CACR,MAAM;CAGN,SAAS;CACT,OAAO;CACP,gBAAgB;CAChB,gBAAgB;CAChB,iBAAiB;CAEjB,WAAW;CACX,WAAW;CACX;AAEF,yBAAe"}
1
+ {"version":3,"file":"devContext-CQ8RhBX-.mjs","names":["DEV_CONTEXT_SYMBOL: unique symbol","devContext: DevContext"],"sources":["../src/dev/devContext.ts"],"sourcesContent":["import type DevContext from \"./types/DevContext\";\n\nconst DEV_CONTEXT_SYMBOL: unique symbol = Symbol.for(\"t_dev_context\");\n\nconst noop = () => {};\n\nconst devContext: DevContext =\n\t// @ts-ignore\n\t(globalThis[DEV_CONTEXT_SYMBOL] ??= {\n\t\tenabled: false,\n\t\tdepth: 0,\n\t\tindex: -1,\n\t\tboundaries: [],\n\n\t\tformat: () => \"\",\n\t\tgetDetails: () => \"\",\n\t\tunmark: noop,\n\t\tmark: noop,\n\n\t\t// Hooks\n\t\tonWatch: noop,\n\t\tonRun: noop,\n\t\tonRegionPushed: noop,\n\t\tonRegionPopped: noop,\n\t\tonRegionCleared: noop,\n\n\t\tsignalSet: noop,\n\t\teffectRun: noop,\n\t} satisfies DevContext);\n\nexport default devContext;\n"],"mappings":";AAEA,MAAMA,qBAAoC,OAAO,IAAI,gBAAgB;AAErE,MAAM,aAAa;AAEnB,MAAMC,aAEJ,WAAW,wBAAwB;CACnC,SAAS;CACT,OAAO;CACP,OAAO;CACP,YAAY,EAAE;CAEd,cAAc;CACd,kBAAkB;CAClB,QAAQ;CACR,MAAM;CAGN,SAAS;CACT,OAAO;CACP,gBAAgB;CAChB,gBAAgB;CAChB,iBAAiB;CAEjB,WAAW;CACX,WAAW;CACX;AAEF,yBAAe"}
@@ -24,8 +24,9 @@ function buildStyles(value) {
24
24
  else {
25
25
  let styles = [];
26
26
  if (value) {
27
- if (Array.isArray(value)) for (let v of value) styles.push(v);
28
- else if (typeof value === "object") for (let [n, v] of Object.entries(value)) styles.push(`${n}: ${v}`);
27
+ if (Array.isArray(value)) {
28
+ for (let v of value) if (v) styles.push(v);
29
+ } else if (typeof value === "object") for (let [n, v] of Object.entries(value)) styles.push(`${n}: ${v}`);
29
30
  }
30
31
  return styles.join("; ");
31
32
  }
@@ -55,5 +56,4 @@ Object.defineProperty(exports, 'formatText', {
55
56
  get: function () {
56
57
  return formatText;
57
58
  }
58
- });
59
- //# sourceMappingURL=formatText-Ck04q8_X.cjs.map
59
+ });
@@ -23,8 +23,9 @@ function buildStyles(value) {
23
23
  else {
24
24
  let styles = [];
25
25
  if (value) {
26
- if (Array.isArray(value)) for (let v of value) styles.push(v);
27
- else if (typeof value === "object") for (let [n, v] of Object.entries(value)) styles.push(`${n}: ${v}`);
26
+ if (Array.isArray(value)) {
27
+ for (let v of value) if (v) styles.push(v);
28
+ } else if (typeof value === "object") for (let [n, v] of Object.entries(value)) styles.push(`${n}: ${v}`);
28
29
  }
29
30
  return styles.join("; ");
30
31
  }
@@ -38,4 +39,4 @@ function formatText(value) {
38
39
 
39
40
  //#endregion
40
41
  export { buildStyles as n, buildClasses as r, formatText as t };
41
- //# sourceMappingURL=formatText-OyD8MNAM.js.map
42
+ //# sourceMappingURL=formatText-B8u71S_K.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatText-B8u71S_K.mjs","names":["classes: string[]","styles: string[]"],"sources":["../src/render/buildClasses.ts","../src/render/buildStyles.ts","../src/render/formatText.ts"],"sourcesContent":["import ClassValue from \"../types/ClassValue\";\n\nexport default function buildClasses(value: ClassValue, styleHash?: string): string {\n\tif (typeof value === \"string\") {\n\t\tif (styleHash !== undefined) {\n\t\t\tvalue += \" \" + styleHash;\n\t\t}\n\t\treturn value;\n\t} else {\n\t\tlet classes: string[] = [];\n\t\tgatherNames(\"\", value, classes);\n\t\tif (styleHash !== undefined) {\n\t\t\tclasses.push(styleHash);\n\t\t}\n\t\treturn classes.join(\" \");\n\t}\n}\n\nfunction gatherNames(name: string, value: unknown, classes: string[]) {\n\tif (value) {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (let v of value) {\n\t\t\t\tgatherNames(v as string, v, classes);\n\t\t\t}\n\t\t} else if (typeof value === \"object\") {\n\t\t\tfor (let [n, v] of Object.entries(value)) {\n\t\t\t\tgatherNames(n, v, classes);\n\t\t\t}\n\t\t} else {\n\t\t\tclasses.push(name);\n\t\t}\n\t}\n}\n","import type StyleValue from \"../types/StyleValue\";\n\nexport default function buildStyles(value: StyleValue): string {\n\tif (typeof value === \"string\") {\n\t\treturn value;\n\t} else {\n\t\tlet styles: string[] = [];\n\t\tif (value) {\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tfor (let v of value) {\n\t\t\t\t\tif (v) {\n\t\t\t\t\t\tstyles.push(v);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (typeof value === \"object\") {\n\t\t\t\tfor (let [n, v] of Object.entries(value)) {\n\t\t\t\t\tstyles.push(`${n}: ${v}`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn styles.join(\"; \");\n\t}\n}\n","export default function formatText(value: any): string {\n\treturn value ?? \"\";\n}\n"],"mappings":";AAEA,SAAwB,aAAa,OAAmB,WAA4B;AACnF,KAAI,OAAO,UAAU,UAAU;AAC9B,MAAI,cAAc,OACjB,UAAS,MAAM;AAEhB,SAAO;QACD;EACN,IAAIA,UAAoB,EAAE;AAC1B,cAAY,IAAI,OAAO,QAAQ;AAC/B,MAAI,cAAc,OACjB,SAAQ,KAAK,UAAU;AAExB,SAAO,QAAQ,KAAK,IAAI;;;AAI1B,SAAS,YAAY,MAAc,OAAgB,SAAmB;AACrE,KAAI,MACH,KAAI,MAAM,QAAQ,MAAM,CACvB,MAAK,IAAI,KAAK,MACb,aAAY,GAAa,GAAG,QAAQ;UAE3B,OAAO,UAAU,SAC3B,MAAK,IAAI,CAAC,GAAG,MAAM,OAAO,QAAQ,MAAM,CACvC,aAAY,GAAG,GAAG,QAAQ;KAG3B,SAAQ,KAAK,KAAK;;;;;AC3BrB,SAAwB,YAAY,OAA2B;AAC9D,KAAI,OAAO,UAAU,SACpB,QAAO;MACD;EACN,IAAIC,SAAmB,EAAE;AACzB,MAAI,OACH;OAAI,MAAM,QAAQ,MAAM,EACvB;SAAK,IAAI,KAAK,MACb,KAAI,EACH,QAAO,KAAK,EAAE;cAGN,OAAO,UAAU,SAC3B,MAAK,IAAI,CAAC,GAAG,MAAM,OAAO,QAAQ,MAAM,CACvC,QAAO,KAAK,GAAG,EAAE,IAAI,IAAI;;AAI5B,SAAO,OAAO,KAAK,KAAK;;;;;;ACpB1B,SAAwB,WAAW,OAAoB;AACtD,QAAO,SAAS"}
@@ -1,11 +1,11 @@
1
1
  //#region src/types/ClassValue.d.ts
2
- type ClassValue = string | Record<string, string> | undefined | Array<ClassValue>;
2
+ type ClassValue = string | Record<string, boolean | null | undefined> | Array<ClassValue> | null | undefined;
3
3
  //#endregion
4
4
  //#region src/render/buildClasses.d.ts
5
5
  declare function buildClasses(value: ClassValue, styleHash?: string): string;
6
6
  //#endregion
7
7
  //#region src/types/StyleValue.d.ts
8
- type StyleValue = string | Record<string, string> | Array<string> | undefined;
8
+ type StyleValue = string | Record<string, string | null | undefined> | Array<string | null | undefined> | null | undefined;
9
9
  //#endregion
10
10
  //#region src/render/buildStyles.d.ts
11
11
  declare function buildStyles(value: StyleValue): string;
@@ -14,4 +14,4 @@ declare function buildStyles(value: StyleValue): string;
14
14
  declare function formatText(value: any): string;
15
15
  //#endregion
16
16
  export { ClassValue as a, buildClasses as i, buildStyles as n, StyleValue as r, formatText as t };
17
- //# sourceMappingURL=formatText-BlLF3PPm.d.ts.map
17
+ //# sourceMappingURL=formatText-BNP3P38F.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatText-BNP3P38F.d.cts","names":[],"sources":["../src/types/ClassValue.ts","../src/render/buildClasses.ts","../src/types/StyleValue.ts","../src/render/buildStyles.ts","../src/render/formatText.ts"],"sourcesContent":[],"mappings":";KAAK,UAAA,YAEF,6CACA,MAAM;;;AAHJ,iBCEmB,YAAA,CDFnB,KAAA,ECEuC,UDFvC,EAAA,SAAA,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;;KEAA,UAAA,YAEF,4CACA;;;AFHE,iBGEmB,WAAA,CHFnB,KAAA,EGEsC,UHFtC,CAAA,EAAA,MAAA;;;iBIAmB,UAAA"}
@@ -1,11 +1,11 @@
1
1
  //#region src/types/ClassValue.d.ts
2
- type ClassValue = string | Record<string, string> | undefined | Array<ClassValue>;
2
+ type ClassValue = string | Record<string, boolean | null | undefined> | Array<ClassValue> | null | undefined;
3
3
  //#endregion
4
4
  //#region src/render/buildClasses.d.ts
5
5
  declare function buildClasses(value: ClassValue, styleHash?: string): string;
6
6
  //#endregion
7
7
  //#region src/types/StyleValue.d.ts
8
- type StyleValue = string | Record<string, string> | Array<string> | undefined;
8
+ type StyleValue = string | Record<string, string | null | undefined> | Array<string | null | undefined> | null | undefined;
9
9
  //#endregion
10
10
  //#region src/render/buildStyles.d.ts
11
11
  declare function buildStyles(value: StyleValue): string;
@@ -14,4 +14,4 @@ declare function buildStyles(value: StyleValue): string;
14
14
  declare function formatText(value: any): string;
15
15
  //#endregion
16
16
  export { ClassValue as a, buildClasses as i, buildStyles as n, StyleValue as r, formatText as t };
17
- //# sourceMappingURL=formatText-Bcb1JvW5.d.cts.map
17
+ //# sourceMappingURL=formatText-D6Ov8Ub0.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatText-D6Ov8Ub0.d.mts","names":[],"sources":["../src/types/ClassValue.ts","../src/render/buildClasses.ts","../src/types/StyleValue.ts","../src/render/buildStyles.ts","../src/render/formatText.ts"],"sourcesContent":[],"mappings":";KAAK,UAAA,YAEF,6CACA,MAAM;;;AAHJ,iBCEmB,YAAA,CDFnB,KAAA,ECEuC,UDFvC,EAAA,SAAA,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;;KEAA,UAAA,YAEF,4CACA;;;AFHE,iBGEmB,WAAA,CHFnB,KAAA,EGEsC,UHFtC,CAAA,EAAA,MAAA;;;iBIAmB,UAAA"}
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  const require_devContext = require('./devContext-B3yskfhA.cjs');
2
- const require_formatText = require('./formatText-Ck04q8_X.cjs');
2
+ const require_formatText = require('./formatText--9zsK5Nq.cjs');
3
3
 
4
4
  //#region src/render/context.ts
5
5
  const CONTEXT_SYMBOL = Symbol.for("t_context");
@@ -1293,5 +1293,4 @@ exports.t_run_branch = runControlBranch;
1293
1293
  exports.t_run_control = runControl;
1294
1294
  exports.t_run_list = runList;
1295
1295
  exports.t_skip = nodeSkip;
1296
- exports.t_style = require_formatText.buildStyles;
1297
- //# sourceMappingURL=index.cjs.map
1296
+ exports.t_style = require_formatText.buildStyles;
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
- import { n as SlotRender, t as Component } from "./Component-BDUCwkBQ.cjs";
2
- import { t as Cleanup } from "./Cleanup-BGQ5zaxE.cjs";
3
- import { n as Effect, t as Region } from "./Region-Cf7OeBIQ.cjs";
4
- import { a as ClassValue, i as buildClasses, n as buildStyles, r as StyleValue, t as formatText } from "./formatText-Bcb1JvW5.cjs";
1
+ import { n as SlotRender, t as Component } from "./Component-kGLRFYg2.cjs";
2
+ import { t as Cleanup } from "./Cleanup-CYsytTEc.cjs";
3
+ import { n as Effect, t as Region } from "./Region-Bb6HAb-F.cjs";
4
+ import { a as ClassValue, i as buildClasses, n as buildStyles, r as StyleValue, t as formatText } from "./formatText-BNP3P38F.cjs";
5
5
 
6
6
  //#region src/types/Animation.d.ts
7
7
  interface Animation {
@@ -1,7 +1,7 @@
1
- import { n as SlotRender, t as Component } from "./Component-JVwSemf-.js";
2
- import { t as Cleanup } from "./Cleanup-Ca8IspaG.js";
3
- import { n as Effect, t as Region } from "./Region-BrsZLZUe.js";
4
- import { a as ClassValue, i as buildClasses, n as buildStyles, r as StyleValue, t as formatText } from "./formatText-BlLF3PPm.js";
1
+ import { n as SlotRender, t as Component } from "./Component-DmWGMgak.mjs";
2
+ import { t as Cleanup } from "./Cleanup-CgjyN0lW.mjs";
3
+ import { n as Effect, t as Region } from "./Region-CTchywkr.mjs";
4
+ import { a as ClassValue, i as buildClasses, n as buildStyles, r as StyleValue, t as formatText } from "./formatText-D6Ov8Ub0.mjs";
5
5
 
6
6
  //#region src/types/Animation.d.ts
7
7
  interface Animation {
@@ -223,4 +223,4 @@ declare class ReactiveDate extends Date {
223
223
  }
224
224
  //#endregion
225
225
  export { $batch, $cache, $mount, $peek, $run, $unwrap, $watch, type Animation, type ClassValue, type Component, type ListItem, ReactiveDate, type SlotRender, type StyleValue, clearLayoutSlot, fillLayoutSlot, hydrate, mount, addFragment as t_add_fragment, nodeAnchor as t_anchor, addAnimation as t_animate, applyProps as t_apply_props, setAttribute as t_attribute, nodeChild as t_child, buildClasses as t_class, setDynamicElement as t_dynamic, addEvent as t_event, formatText as t_fmt, getFragment as t_fragment, newListItem as t_list_item, nodeNext as t_next, popRegion as t_pop_region, pushRegion as t_push_region, newRegion as t_region, nodeRoot as t_root, runControlBranch as t_run_branch, runControl as t_run_control, runList as t_run_list, nodeSkip as t_skip, buildStyles as t_style };
226
- //# sourceMappingURL=index.d.ts.map
226
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/Animation.ts","../src/render/addAnimation.ts","../src/render/addEvent.ts","../src/render/addFragment.ts","../src/render/applyProps.ts","../src/render/clearLayoutSlot.ts","../src/render/fillLayoutSlot.ts","../src/render/getFragment.ts","../src/render/hydrate.ts","../src/render/mount.ts","../src/types/ListItem.ts","../src/render/newListItem.ts","../src/render/newRegion.ts","../src/render/nodeAnchor.ts","../src/render/nodeChild.ts","../src/render/nodeNext.ts","../src/render/nodeRoot.ts","../src/render/nodeSkip.ts","../src/render/popRegion.ts","../src/render/pushRegion.ts","../src/render/runControl.ts","../src/render/runControlBranch.ts","../src/render/runList.ts","../src/render/setAttribute.ts","../src/render/setDynamicElement.ts","../src/watch/$batch.ts","../src/watch/$cache.ts","../src/watch/$mount.ts","../src/watch/$peek.ts","../src/watch/$run.ts","../src/watch/$unwrap.ts","../src/types/WatchOptions.ts","../src/watch/$watch.ts","../src/wrappers/ReactiveDate.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { t as devContext_default } from "./devContext-CevrTlUO.js";
2
- import { n as buildStyles, r as buildClasses, t as formatText } from "./formatText-OyD8MNAM.js";
1
+ import { t as devContext_default } from "./devContext-CQ8RhBX-.mjs";
2
+ import { n as buildStyles, r as buildClasses, t as formatText } from "./formatText-B8u71S_K.mjs";
3
3
 
4
4
  //#region src/render/context.ts
5
5
  const CONTEXT_SYMBOL = Symbol.for("t_context");
@@ -1261,4 +1261,4 @@ var ReactiveDate = class ReactiveDate extends Date {
1261
1261
 
1262
1262
  //#endregion
1263
1263
  export { $batch, $cache, $mount, $peek, $run, $unwrap, $watch, ReactiveDate, clearLayoutSlot, fillLayoutSlot, hydrate, mount, addFragment as t_add_fragment, nodeAnchor as t_anchor, addAnimation as t_animate, applyProps as t_apply_props, setAttribute as t_attribute, nodeChild as t_child, buildClasses as t_class, setDynamicElement as t_dynamic, addEvent as t_event, formatText as t_fmt, getFragment as t_fragment, newListItem as t_list_item, nodeNext as t_next, popRegion as t_pop_region, pushRegion as t_push_region, newRegion as t_region, nodeRoot as t_root, runControlBranch as t_run_branch, runControl as t_run_control, runList as t_run_list, nodeSkip as t_skip, buildStyles as t_style };
1264
- //# sourceMappingURL=index.js.map
1264
+ //# sourceMappingURL=index.mjs.map