@torpor/view 0.2.0 → 0.3.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.
- package/.oxlintrc.json +3 -0
- package/CHANGELOG.md +31 -0
- package/README.md +27 -26
- package/dist/Component-C6Y3UwGs.d.cts +11 -0
- package/dist/Component-C6Y3UwGs.d.cts.map +1 -0
- package/dist/Component-d19HOoEw.d.ts +11 -0
- package/dist/Component-d19HOoEw.d.ts.map +1 -0
- package/dist/ServerSlotRender-BiG4xB8e.d.ts +41 -0
- package/dist/ServerSlotRender-BiG4xB8e.d.ts.map +1 -0
- package/dist/ServerSlotRender-COS6H8Yk.d.cts +41 -0
- package/dist/ServerSlotRender-COS6H8Yk.d.cts.map +1 -0
- package/dist/compile.cjs +3383 -3783
- package/dist/compile.cjs.map +1 -1
- package/dist/compile.d.cts +202 -148
- package/dist/compile.d.cts.map +1 -0
- package/dist/compile.d.ts +202 -148
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +3378 -3754
- package/dist/compile.js.map +1 -1
- package/dist/formatText-B0FXBdFT.js +410 -0
- package/dist/formatText-B0FXBdFT.js.map +1 -0
- package/dist/formatText-DufG5l83.cjs +500 -0
- package/dist/formatText-DufG5l83.cjs.map +1 -0
- package/dist/index.cjs +853 -873
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +371 -171
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +371 -171
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +819 -765
- package/dist/index.js.map +1 -1
- package/dist/ssr.cjs +29 -114
- package/dist/ssr.cjs.map +1 -1
- package/dist/ssr.d.cts +13 -8
- package/dist/ssr.d.cts.map +1 -0
- package/dist/ssr.d.ts +13 -8
- package/dist/ssr.d.ts.map +1 -0
- package/dist/ssr.js +18 -27
- package/dist/ssr.js.map +1 -1
- package/package.json +14 -15
- package/scripts/buildTestOutput.ts +1 -1
- package/scripts/copyToRepl.ts +9 -7
- package/src/ambient.d.ts +1 -0
- package/src/compile/build/client/BuildStatus.ts +6 -4
- package/src/compile/build/client/addMappedText.ts +25 -0
- package/src/compile/build/client/buildAddFragment.ts +26 -4
- package/src/compile/build/client/buildAwaitNode.ts +86 -54
- package/src/compile/build/client/buildCode.ts +91 -57
- package/src/compile/build/client/buildComponentNode.ts +20 -42
- package/src/compile/build/client/buildControlNode.ts +5 -4
- package/src/compile/build/client/buildElementNode.ts +66 -71
- package/src/compile/build/client/buildForNode.ts +24 -12
- package/src/compile/build/client/buildFragment.ts +29 -43
- package/src/compile/build/client/buildFragmentText.ts +27 -20
- package/src/compile/build/client/buildHtmlNode.ts +5 -3
- package/src/compile/build/client/buildIfNode.ts +44 -29
- package/src/compile/build/client/buildMount.ts +1 -1
- package/src/compile/build/client/buildNode.ts +8 -7
- package/src/compile/build/client/buildReplaceNode.ts +5 -3
- package/src/compile/build/client/buildRootNode.ts +2 -2
- package/src/compile/build/client/buildRun.ts +1 -1
- package/src/compile/build/client/buildScriptNode.ts +5 -3
- package/src/compile/build/client/buildSlotNode.ts +7 -23
- package/src/compile/build/client/buildSpecialNode.ts +10 -14
- package/src/compile/build/client/buildStyles.ts +53 -18
- package/src/compile/build/client/buildSwitchNode.ts +53 -32
- package/src/compile/build/client/buildTextNode.ts +31 -28
- package/src/compile/build/client/replaceForVarNames.ts +1 -1
- package/src/compile/build/client/stashRun.ts +22 -0
- package/src/compile/build/client/stashRunWithOffsets.ts +32 -0
- package/src/compile/build/server/BuildServerStatus.ts +3 -3
- package/src/compile/build/server/buildServerAwaitNode.ts +3 -3
- package/src/compile/build/server/buildServerCode.ts +57 -45
- package/src/compile/build/server/buildServerComponentNode.ts +10 -35
- package/src/compile/build/server/buildServerControlNode.ts +5 -2
- package/src/compile/build/server/buildServerElementNode.ts +15 -29
- package/src/compile/build/server/buildServerForNode.ts +3 -3
- package/src/compile/build/server/buildServerHtmlNode.ts +3 -3
- package/src/compile/build/server/buildServerIfNode.ts +3 -3
- package/src/compile/build/server/buildServerNode.ts +7 -6
- package/src/compile/build/server/buildServerReplaceNode.ts +3 -3
- package/src/compile/build/server/buildServerRootNode.ts +2 -2
- package/src/compile/build/server/buildServerScriptNode.ts +1 -1
- package/src/compile/build/server/buildServerSlotNode.ts +5 -21
- package/src/compile/build/server/buildServerSpecialNode.ts +10 -13
- package/src/compile/build/server/buildServerSwitchNode.ts +3 -3
- package/src/compile/build/server/buildServerTextNode.ts +9 -23
- package/src/compile/build/utils/nextVarName.ts +2 -2
- package/src/compile/build.ts +9 -4
- package/src/compile/buildType.ts +2 -2
- package/src/compile/parse/ParseComponentStatus.ts +24 -0
- package/src/compile/parse/ParseStatus.ts +6 -26
- package/src/compile/parse/addSpaceElement.ts +6 -5
- package/src/compile/parse/parseCode.ts +116 -60
- package/src/compile/parse/parseControl.ts +34 -32
- package/src/compile/parse/parseElement.ts +56 -121
- package/src/compile/parse/parseImports.ts +1 -1
- package/src/compile/parse/parseInlineScript.ts +12 -26
- package/src/compile/parse/parseMarkup.ts +9 -3
- package/src/compile/parse/parseStyles.ts +4 -4
- package/src/compile/parse/parseTag.ts +50 -8
- package/src/compile/parse/parseText.ts +96 -0
- package/src/compile/parse/scopeStyles.ts +9 -9
- package/src/compile/parse/slottifyChildNodes.ts +8 -7
- package/src/compile/parse/utils/accept.ts +1 -1
- package/src/compile/parse/utils/addError.ts +24 -6
- package/src/compile/parse/utils/consumeAlphaNumeric.ts +1 -1
- package/src/compile/parse/utils/consumeNonSpace.ts +1 -1
- package/src/compile/parse/utils/consumeSpace.ts +1 -1
- package/src/compile/parse/utils/consumeUntil.ts +1 -1
- package/src/compile/parse/utils/expect.ts +1 -1
- package/src/compile/parse.ts +1 -1
- package/src/compile/types/BuildResult.ts +5 -2
- package/src/compile/types/CompileError.ts +8 -5
- package/src/compile/types/Import.ts +2 -2
- package/src/compile/types/ParseResult.ts +4 -4
- package/src/compile/types/ScriptChunk.ts +6 -0
- package/src/compile/types/SourceMapping.ts +7 -0
- package/src/compile/types/SourceRange.ts +4 -0
- package/src/compile/types/nodes/Attribute.ts +7 -2
- package/src/compile/types/nodes/ControlNode.ts +8 -6
- package/src/compile/types/nodes/ElementNode.ts +11 -6
- package/src/compile/types/nodes/Fragment.ts +10 -2
- package/src/compile/types/nodes/NodeType.ts +3 -1
- package/src/compile/types/nodes/OperationType.ts +3 -1
- package/src/compile/types/nodes/ParentNode.ts +4 -4
- package/src/compile/types/nodes/RootNode.ts +5 -5
- package/src/compile/types/nodes/TemplateNode.ts +3 -3
- package/src/compile/types/nodes/TextNode.ts +5 -3
- package/src/compile/types/styles/Attribute.ts +2 -2
- package/src/compile/types/styles/Style.ts +3 -3
- package/src/compile/types/styles/StyleBlock.ts +3 -3
- package/src/compile/utils/Builder.ts +25 -11
- package/src/compile/utils/endOfString.ts +8 -0
- package/src/compile/utils/endOfTemplateString.ts +14 -0
- package/src/compile/{types/nodes → utils}/isComponentNode.ts +2 -2
- package/src/compile/utils/isControlNode.ts +6 -0
- package/src/compile/utils/isElementNode.ts +6 -0
- package/src/compile/utils/isParentNode.ts +6 -0
- package/src/compile/{types/nodes → utils}/isSpaceNode.ts +3 -3
- package/src/compile/utils/isSpecialNode.ts +6 -0
- package/src/compile/utils/isTextNode.ts +6 -0
- package/src/compile.ts +2 -2
- package/src/debug/printNode.ts +4 -0
- package/src/debug/printRanges.ts +74 -0
- package/src/debug/printSignalDiagram.ts +139 -0
- package/src/debug/printSimpleDiagram.ts +88 -0
- package/src/index.ts +13 -6
- package/src/render/$batch.ts +22 -0
- package/src/render/$cache.ts +34 -0
- package/src/render/$mount.ts +1 -1
- package/src/render/$peek.ts +14 -0
- package/src/render/$run.ts +16 -13
- package/src/render/$serverBatch.ts +3 -0
- package/src/render/$serverCache.ts +3 -0
- package/src/render/$serverMount.ts +1 -1
- package/src/render/$serverPeek.ts +3 -0
- package/src/render/$serverRun.ts +1 -1
- package/src/render/$unwrap.ts +3 -1
- package/src/render/$watch.ts +12 -13
- package/src/render/addAnimation.ts +1 -1
- package/src/render/addFragment.ts +15 -24
- package/src/render/applyProps.ts +1 -1
- package/src/render/buildClasses.ts +2 -2
- package/src/render/clearLayoutSlot.ts +1 -1
- package/src/render/clearRange.ts +43 -50
- package/src/render/context.ts +19 -48
- package/src/render/fillLayoutSlot.ts +3 -3
- package/src/render/getFragment.ts +1 -1
- package/src/render/hydrate.ts +9 -2
- package/src/render/hydrateRoot.ts +2 -2
- package/src/render/isCommentNode.ts +2 -2
- package/src/render/isFragmentNode.ts +2 -2
- package/src/render/isTextNode.ts +2 -2
- package/src/render/mount.ts +12 -4
- package/src/render/moveRange.ts +4 -11
- package/src/render/newListItem.ts +4 -4
- package/src/render/newRange.ts +6 -5
- package/src/render/nodeAnchor.ts +3 -3
- package/src/render/nodeCheckHydrationBreak.ts +2 -2
- package/src/render/nodeChild.ts +2 -2
- package/src/render/nodeNext.ts +1 -1
- package/src/render/nodeRoot.ts +8 -3
- package/src/render/popRange.ts +2 -2
- package/src/render/pushRange.ts +12 -4
- package/src/render/runControl.ts +1 -5
- package/src/render/runControlBranch.ts +10 -24
- package/src/render/runList.ts +6 -5
- package/src/render/runListItems.ts +39 -39
- package/src/render/setAttribute.ts +1 -1
- package/src/render/setDynamicElement.ts +2 -2
- package/src/ssr.ts +5 -2
- package/src/types/Animation.ts +1 -1
- package/src/types/BuildOptions.ts +6 -2
- package/src/types/Cleanup.ts +3 -1
- package/src/types/Component.ts +4 -2
- package/src/types/Computed.ts +62 -0
- package/src/types/Context.ts +99 -0
- package/src/types/Effect.ts +45 -9
- package/src/types/ListItem.ts +3 -3
- package/src/types/ProxyData.ts +6 -4
- package/src/types/ProxySignal.ts +28 -0
- package/src/types/Range.ts +10 -16
- package/src/types/ServerComponent.ts +4 -2
- package/src/types/ServerSlotRender.ts +3 -1
- package/src/types/SlotRender.ts +4 -2
- package/src/types/Subscription.ts +57 -0
- package/src/types/Template.ts +6 -5
- package/src/types/TemplateComponent.ts +7 -5
- package/src/types/WatchOptions.ts +8 -2
- package/src/types/constants.ts +14 -0
- package/src/watch/batchEnd.ts +17 -0
- package/src/watch/batchStart.ts +5 -0
- package/src/watch/checkComputed.ts +46 -0
- package/src/watch/checkEffect.ts +30 -0
- package/src/watch/checkSources.ts +63 -0
- package/src/watch/clearSources.ts +39 -0
- package/src/watch/clearTargets.ts +28 -0
- package/src/watch/deactivateSources.ts +19 -0
- package/src/watch/proxyGet.ts +106 -51
- package/src/watch/proxySet.ts +17 -13
- package/src/watch/runCleanups.ts +40 -0
- package/src/watch/runComputed.ts +36 -0
- package/src/watch/runEffect.ts +38 -13
- package/src/watch/symbols.ts +3 -1
- package/src/watch/trackEffect.ts +63 -15
- package/src/watch/trackProxyEffect.ts +21 -0
- package/src/watch/transferEffects.ts +66 -62
- package/src/watch/triggerEffects.ts +55 -18
- package/src/watch/updateSignal.ts +102 -0
- package/src/wrappers/ReactiveDate.ts +68 -0
- package/test/attributes/attributes.test.ts +2 -2
- package/test/attributes/components/output/Attributes-client.ts +8 -20
- package/test/attributes/components/output/Attributes-server.ts +8 -11
- package/test/attributes/components/temp/{Attributes-client-4620a40099e57a7fdaab895b204d85881f6dbfb7.ts → Attributes-client-9b2935d7824ba501776fdc6c48861422c15b6a12.ts} +8 -20
- package/test/attributes/components/temp/{Attributes-server-f4c59f5e4757ce0113907389902499efc36cfe38.ts → Attributes-server-716db6e335e5a372a34dd931e5f358ee6d1869e5.ts} +8 -11
- package/test/attributes/disappearing.test.ts +2 -2
- package/test/attributes/parse.test.ts +161 -248
- package/test/await/await.test.ts +2 -2
- package/test/await/components/Await.torp +2 -2
- package/test/await/components/output/Await-client.ts +25 -39
- package/test/await/components/output/Await-server.ts +9 -11
- package/test/await/components/temp/{Await-client-17b0e7c682fbff8518a440831620c1024b8be23a.ts → Await-client-e969f4bd0712acf259ddfaa5a3b3448307201fd2.ts} +25 -39
- package/test/await/components/temp/{Await-server-eb8d79f8abc791dd8e87f9713534cebf0eb2c854.ts → Await-server-614014fab69e234b8271088b10397cf0452d9a76.ts} +9 -11
- package/test/bench/components/Bench.torp +3 -3
- package/test/bench/components/output/Bench-client.ts +43 -252
- package/test/bench/components/output/Bench-server.ts +13 -26
- package/test/bench/components/temp/Bench-client-7f31596dafc8077370d8d90b1bb9b6e0208154e7.ts +205 -0
- package/test/bench/components/temp/Bench-server-341b20073668f4f2160cd2ba37847c7db15e1e0f.ts +129 -0
- package/test/bind/bind.test.ts +2 -2
- package/test/bind/component.test.ts +2 -2
- package/test/bind/components/output/BindComponent-client.ts +9 -19
- package/test/bind/components/output/BindComponent-server.ts +13 -18
- package/test/bind/components/output/BindText-client.ts +6 -13
- package/test/bind/components/output/BindText-server.ts +8 -10
- package/test/bind/components/temp/{BindComponent-client-a59ee6a598341c64c79be633ae7b22cb594dd0bc.ts → BindComponent-client-22eccb5354a2b0267841e015f3a2a0baf534bf89.ts} +9 -19
- package/test/bind/components/temp/{BindComponent-server-96120f1e75c77e02ba11ab719c225005e168d25f.ts → BindComponent-server-0da6ba90a409468fd1f7358f8198e96b7595ff80.ts} +13 -18
- package/test/bind/components/temp/{BindText-client-dac614203e672e51675b22a246983168a7c173ea.ts → BindText-client-7692ae1570533cc17e2186e9c7d4768529e4a2fe.ts} +6 -13
- package/test/bind/components/temp/{BindText-server-c713033ef787587f752fc8e6282e3a8faeee9a08.ts → BindText-server-6801c5f8e66a65405b45061bc037a011620c0591.ts} +8 -10
- package/test/build-server/build-server.test.ts +1 -0
- package/test/{if/components/temp/IfNested-client-f3045daba052e459add6e7f84e8d21ba7b0d81e4.ts → build-server/components/output/IfNested-client.ts} +23 -27
- package/test/{if/components/temp/IfNested-server-061ea3d56576a352be8a9db8424fae0f1d74cd36.ts → build-server/components/output/IfNested-server.ts} +6 -9
- package/test/build-server/components/temp/IfNested-client-eefdd449fa700b2e7326bc72df8b32ddcadf9d21.ts +88 -0
- package/test/build-server/components/temp/IfNested-server-7a53e4969b5dfe5073f05edbcb1b986f718bb939.ts +29 -0
- package/test/buildHtml.ts +2 -1
- package/test/buildOutputFiles.ts +3 -3
- package/test/child-component/child-component.test.ts +2 -2
- package/test/child-component/components/output/ParentChild-client.ts +9 -19
- package/test/child-component/components/output/ParentChild-server.ts +12 -18
- package/test/child-component/components/temp/{ParentChild-client-198e4ebc2ef5277ad7147f69d5879946fbe2d6ec.ts → ParentChild-client-2dfd600f7d409630d429a1d2d18c038bd08b08da.ts} +9 -19
- package/test/child-component/components/temp/{ParentChild-server-55e809830788ae740608136cf66664fc5434a9cd.ts → ParentChild-server-448d57c3229189c1d297d01dfb0f33646d280e90.ts} +12 -18
- package/test/class/class.test.ts +2 -2
- package/test/class/components/output/Class-client.ts +11 -29
- package/test/class/components/output/Class-server.ts +16 -19
- package/test/class/components/temp/{Class-client-7defac0b98d9c9f303670c0372e329e31823f163.ts → Class-client-5af6a50cd454ae019b2aa79457ba7ead83b8c056.ts} +11 -29
- package/test/class/components/temp/{Class-server-46563e9c3bf56b642ac496b60179decfd0b4e952.ts → Class-server-eb70ff01fbc7d6d53e16c3593ba021a6bf0317f9.ts} +16 -19
- package/test/comments/html-comments.test.ts +16 -24
- package/test/comments/js-block-comments.test.ts +16 -25
- package/test/comments/js-line-comments.test.ts +16 -25
- package/test/component/component.test.ts +2 -2
- package/test/component/components/Component.torp +1 -1
- package/test/component/components/output/Component-client.ts +5 -10
- package/test/component/components/output/Component-server.ts +7 -10
- package/test/component/components/output/Header-client.ts +6 -12
- package/test/component/components/output/Header-server.ts +7 -10
- package/test/component/components/temp/{Component-client-350d20784712c710929cc3ab34c6828b0ea338d8.ts → Component-client-fdc327499be0a01f987d0f2897baf022a247c77c.ts} +5 -10
- package/test/component/components/temp/{Component-server-2d4aa317e6c385036e07f4c3946fc18ba848c00d.ts → Component-server-f53221ac7b1c922ef10de2d1fe8fb534d0169fe7.ts} +7 -10
- package/test/component/components/temp/{Header-client-903877003b220272b0cb5bfd62d7d748ad46c477.ts → Header-client-6beb5770e68e6b19595e53e20bc906765fc6c260.ts} +6 -12
- package/test/component/components/temp/Header-server-940b0984f9b6c11f310db9200c9075ded385eda5.ts +16 -0
- package/test/console/components/output/Console-client.ts +5 -10
- package/test/console/components/output/Console-server.ts +7 -10
- package/test/console/components/temp/{Console-client-4fa3b3679cee88bf6151185438e36d14010944b7.ts → Console-client-2b58290ac407ebbe89a0613d64eb9cd141b99887.ts} +5 -10
- package/test/console/components/temp/Console-server-bde0121ce434f767435b1841fc4c24402becdba2.ts +15 -0
- package/test/console/console.test.ts +2 -2
- package/test/const/components/output/Const-client.ts +6 -11
- package/test/const/components/output/Const-server.ts +7 -10
- package/test/const/components/temp/{Const-client-b0293a037d9ed7b6ad4591c153723a3c26d46029.ts → Const-client-d1037557e7ef75a8fe06f56816e65883047e9421.ts} +6 -11
- package/test/const/components/temp/{Const-server-5fd2444a9ae7a676b7c4480e01e28f7f89624fdc.ts → Const-server-32ddc3617afe2324f17a4cff6c0f086df6694778.ts} +7 -10
- package/test/const/const.test.ts +2 -2
- package/test/context/components/ChildA.torp +10 -0
- package/test/context/components/ChildB.torp +8 -0
- package/test/context/components/Parent.torp +11 -0
- package/test/context/components/output/ChildA-client.ts +38 -0
- package/test/context/components/output/ChildA-server.ts +19 -0
- package/test/context/components/output/ChildB-client.ts +27 -0
- package/test/context/components/output/ChildB-server.ts +18 -0
- package/test/context/components/output/Parent-server.ts +31 -0
- package/test/context/components/temp/ChildA-client-9dea3e29ffcb82ca1779f6ff671e19b1c106fc4a.ts +38 -0
- package/test/context/components/temp/ChildA-server-54024d23c8241c3f475068f4fe3a3a14fd1c5870.ts +19 -0
- package/test/context/components/temp/ChildB-client-4b801099936c8aa013a1220f291375f67eba1acb.ts +27 -0
- package/test/context/components/temp/ChildB-server-f9b71341863bf869248bd406dbe8c7726a30ff90.ts +18 -0
- package/test/context/components/temp/Parent-client-9898b2e521527c86d69905053b6727ea8fd28166.ts +41 -0
- package/test/context/components/temp/Parent-server-b592ff0f516f4592e56d3a0bcb1f271ed28e812c.ts +31 -0
- package/test/context/context.test.ts +37 -0
- package/test/effects/components/output/For-client.ts +18 -19
- package/test/effects/components/output/For-server.ts +6 -9
- package/test/effects/components/output/If-client.ts +14 -18
- package/test/effects/components/output/If-server.ts +6 -9
- package/test/effects/components/output/NestedIf-client.ts +22 -25
- package/test/effects/components/output/NestedIf-server.ts +6 -9
- package/test/effects/components/temp/{For-client-268e69779d5b744377af9b30df256a453adaf183.ts → For-client-7c7d7c0dba2547f816b9bd9c6a95d6873ec00ffd.ts} +18 -19
- package/test/effects/components/temp/{For-server-b15b01b4daaf50fd95de790102089eb930e84e9b.ts → For-server-9e2de4efaff38ecf6c8a169c629d83c385489ca1.ts} +6 -9
- package/test/effects/components/temp/{If-client-4df0e6fc27a6f7d60ce056fd65df687213f3a2f9.ts → If-client-f0480a98f80b32612d12765c6838ff6db5982e82.ts} +14 -18
- package/test/effects/components/temp/{If-server-0a213ea232e0225d5a8ecb012ad418136b86fbe7.ts → If-server-ab409671b5d4c918047394a37b6e96b0e17063ca.ts} +6 -9
- package/test/effects/components/temp/{NestedIf-client-bfd381672c51febbe2f101f19afd5f6ff570ce7e.ts → NestedIf-client-702deffd158f219c5da4199b563a62cd54385a7f.ts} +22 -25
- package/test/effects/components/temp/{NestedIf-server-6089abc72d6208e64d1818ddb624ad5c3f236afa.ts → NestedIf-server-40f6bfd99a7e75fb4f9f874adab77e5eed97c629.ts} +6 -9
- package/test/effects/for-effect.test.ts +15 -15
- package/test/effects/if-effect.test.ts +7 -7
- package/test/effects/nested-if-effect.test.ts +11 -11
- package/test/events/components/Increment.torp +1 -1
- package/test/events/components/output/Increment-client.ts +7 -12
- package/test/events/components/output/Increment-server.ts +9 -11
- package/test/events/components/temp/{Increment-client-db2fd3376f12b186a4276eac470bf10b7bf2da19.ts → Increment-client-84c09711baf098c82ee226598ba7a36913616b75.ts} +7 -12
- package/test/events/components/temp/{Increment-server-062b9757192b84e5a6e247aa44e1e7887129293d.ts → Increment-server-e77c6b207023ac60e033ca542ee82473ef017f74.ts} +9 -11
- package/test/events/events.test.ts +9 -15
- package/test/for/components/output/For-client.ts +19 -19
- package/test/for/components/output/For-server.ts +7 -10
- package/test/for/components/output/ForEscape-client.ts +23 -37
- package/test/for/components/output/ForEscape-server.ts +8 -10
- package/test/for/components/output/ForIn-client.ts +19 -20
- package/test/for/components/output/ForIn-server.ts +7 -10
- package/test/for/components/output/ForOf-client.ts +19 -20
- package/test/for/components/output/ForOf-server.ts +7 -10
- package/test/for/components/temp/{For-client-8ecb11a2f34c81f837bffdb88598da06d8c19158.ts → For-client-2f6b4b81670b0ba31b01176b4f61ebf321e945bb.ts} +19 -19
- package/test/for/components/temp/{For-server-082c156a9f047995bc55f9477295d8e3262614f5.ts → For-server-5144615e53d23da5062b7169e847e0777d068738.ts} +7 -10
- package/test/for/components/temp/{ForEscape-client-14e7648415d967cdc57bf03d176eb6b6dddf0fb2.ts → ForEscape-client-8d0fcc940851e687173b6a9129c3d83e0fc771ef.ts} +23 -37
- package/test/for/components/temp/{ForEscape-server-2db43ff8397ddbb114b5bff3d88a63728184a811.ts → ForEscape-server-b359d8d3e12bac290855a1b27387ddd963562c08.ts} +8 -10
- package/test/for/components/temp/{ForIn-client-25cd67f246a50fc6d926a8c66aa5e106f19578a8.ts → ForIn-client-fa0614a1c7b8aa6e8819ed91a518479fd80453ae.ts} +19 -20
- package/test/for/components/temp/{ForIn-server-fda7a21cbb8a7ad69c48d2a8533cc13fa98d54b6.ts → ForIn-server-5fd472a7a5a5c00b384791780025a0c3bdc9c41b.ts} +7 -10
- package/test/for/components/temp/{ForOf-client-8f6598ccd9dc7b79aff6167b90ccea94f3029c84.ts → ForOf-client-11006c4239d9018363e582dc5b54b50477d652e7.ts} +19 -20
- package/test/for/components/temp/{ForOf-server-cd2b01507304e25c34030755b915f56785375de8.ts → ForOf-server-197b29abcb60412c6c8670b2d4a2e644b650faa3.ts} +7 -10
- package/test/for/for-escape.test.ts +2 -2
- package/test/for/for-in.test.ts +4 -4
- package/test/for/for-of.test.ts +4 -4
- package/test/for/for-with-key.test.ts +28 -36
- package/test/for/for.test.ts +2 -2
- package/test/function/components/Function.torp +0 -1
- package/test/function/components/output/Function-client.ts +6 -12
- package/test/function/components/output/Function-server.ts +8 -11
- package/test/function/components/temp/{Function-client-2068eb8ae35b3157b8eda79addde6afd9f4d7006.ts → Function-client-ec5fe7d599d6099bdfab78c2a0c8edf77a23cd9b.ts} +6 -12
- package/test/function/components/temp/{Function-server-4b66a728f6f1b170d678313238bdc9158356511e.ts → Function-server-fee2402b0ef4ad4c3d2779afb190ce46dbedf737.ts} +8 -11
- package/test/function/function.test.ts +7 -13
- package/test/helpers.ts +44 -9
- package/test/html/components/output/Html-client.ts +6 -12
- package/test/html/components/output/Html-server.ts +7 -10
- package/test/html/components/temp/{Html-client-93b0d666142c64cd651dc37f14f12884b2f30612.ts → Html-client-82ff34dcdcbdf4be1112bcb1baac8027cdc32de7.ts} +6 -12
- package/test/html/components/temp/Html-server-14fa484fc2a617bc0f24432a2e37e7a756f87a0f.ts +15 -0
- package/test/html/html.test.ts +2 -2
- package/test/hydrateComponent.ts +2 -2
- package/test/if/components/output/IfAfterIf-client.ts +21 -23
- package/test/if/components/output/IfAfterIf-server.ts +6 -9
- package/test/if/components/output/IfElse-client.ts +14 -18
- package/test/if/components/output/IfElse-server.ts +6 -9
- package/test/if/components/output/IfElseIf-client.ts +16 -22
- package/test/if/components/output/IfElseIf-server.ts +6 -9
- package/test/if/components/output/IfFalse-client.ts +13 -16
- package/test/if/components/output/IfFalse-server.ts +6 -9
- package/test/if/components/output/IfNested-client.ts +23 -27
- package/test/if/components/output/IfNested-server.ts +6 -9
- package/test/if/components/temp/{IfAfterIf-client-6b4833209a01cdad18d453839e9c8b5dad2a8510.ts → IfAfterIf-client-c1cfd21a6ace4945703ba8f46aada923a60265d9.ts} +21 -23
- package/test/if/components/temp/{IfAfterIf-server-3e6a3beab27821c3e53290ee72eca811814aad38.ts → IfAfterIf-server-26c9a638e3933a53208bfe66f8f37067511a28aa.ts} +6 -9
- package/test/if/components/temp/{IfElse-client-f7eb8e5fe5e62975a2442c4b0ff3344fa44cef69.ts → IfElse-client-06dfcacd3a5225dcb0947587bcd4fae9ec3d3c1e.ts} +14 -18
- package/test/if/components/temp/{IfElse-server-1b5006dfad695f257c7453a79bde3944898fbf6d.ts → IfElse-server-146b3779f85ea02a281c6042dddefa5372945fb0.ts} +6 -9
- package/test/if/components/temp/{IfElseIf-client-734f1b2d9133294573770c1ffc2b589273498532.ts → IfElseIf-client-26df9a728c9cb712d5ac0235b4c99885f25545b8.ts} +16 -22
- package/test/if/components/temp/{IfElseIf-server-11c65065e9e5640ad65cd0c37af07f1e57c4f49c.ts → IfElseIf-server-f094cdb45bc0fcd3144ca493346994b2445d2ff0.ts} +6 -9
- package/test/if/components/temp/{IfFalse-client-8a388cb48b4a5879d491f57d1f2551834de1e72e.ts → IfFalse-client-de6fc8e9eb222153608490e6d172e9aae9000aa1.ts} +13 -16
- package/test/if/components/temp/{IfFalse-server-40d07bc07e5edffd7386fb6016cd025b98175219.ts → IfFalse-server-b6d3446fd7d4219d5cb3c1009dec76870e73fa30.ts} +6 -9
- package/test/if/components/temp/IfNested-client-eefdd449fa700b2e7326bc72df8b32ddcadf9d21.ts +88 -0
- package/test/if/components/temp/IfNested-server-7a53e4969b5dfe5073f05edbcb1b986f718bb939.ts +29 -0
- package/test/if/else-if-true.test.ts +4 -4
- package/test/if/else-true.test.ts +4 -4
- package/test/if/if-after-if.test.ts +4 -4
- package/test/if/if-else-false.test.ts +4 -4
- package/test/if/if-else-true.test.ts +4 -4
- package/test/if/if-false.test.ts +4 -4
- package/test/if/if-nested.test.ts +4 -4
- package/test/imports/commented-imports.ts +1 -1
- package/test/imports/imports.ts +1 -1
- package/test/imports/multiple-imports.ts +1 -1
- package/test/mount/components/Mount.torp +1 -1
- package/test/mount/components/output/Mount-client.ts +6 -11
- package/test/mount/components/output/Mount-server.ts +10 -13
- package/test/mount/components/temp/{Mount-client-efa5c34fbfc7646e114a1a58f0814b6dff33e566.ts → Mount-client-29896228d7d0ef3692a9d13065c1bbfbe3198cdc.ts} +6 -11
- package/test/mount/components/temp/Mount-server-1c5aef88b8cc25b8e02851c0aa7fedffea987224.ts +22 -0
- package/test/mount/mount.test.ts +4 -4
- package/test/mountComponent.ts +1 -1
- package/test/on-mount/components/OnMount.torp +1 -1
- package/test/on-mount/components/output/OnMount-client.ts +5 -10
- package/test/on-mount/components/output/OnMount-server.ts +7 -10
- package/test/on-mount/components/temp/{OnMount-client-4bb62e8bf1fcd67798598fe03bf5455a57f0a6be.ts → OnMount-client-038f8c6bbcf0278406909d6ba5394f311924fda9.ts} +5 -10
- package/test/on-mount/components/temp/OnMount-server-ff4afcd976fd907c539e763d7887b38c61737be7.ts +15 -0
- package/test/on-mount/on-mount.test.ts +6 -6
- package/test/party/1-declare-state.test.ts +2 -2
- package/test/party/10-on-mount.test.ts +2 -2
- package/test/party/12-props.test.ts +2 -2
- package/test/party/13-emit-to-parent.test.ts +2 -2
- package/test/party/14-slot.test.ts +2 -2
- package/test/party/15-slot-fallback.test.ts +2 -2
- package/test/party/16-context.test.ts +2 -2
- package/test/party/17-input-text.test.ts +2 -2
- package/test/party/18-input-checkbox.test.ts +2 -2
- package/test/party/19-input-radio.test.ts +2 -2
- package/test/party/2-update-state.test.ts +2 -2
- package/test/party/20-input-select.test.ts +2 -2
- package/test/party/3-computed-state.test.ts +2 -2
- package/test/party/4-minimal-template.test.ts +2 -2
- package/test/party/5-styling.test.ts +2 -2
- package/test/party/6-loop.test.ts +2 -2
- package/test/party/7-event-click.test.ts +2 -2
- package/test/party/8-dom-ref.test.ts +4 -4
- package/test/party/9-conditional.test.ts +2 -2
- package/test/party/components/FunnyButton.torp +2 -2
- package/test/party/components/InputFocused.torp +1 -1
- package/test/party/components/UserProfile.torp +1 -1
- package/test/party/components/UserProfileApp.torp +1 -1
- package/test/party/components/UserProfileContextApp.torp +1 -1
- package/test/party/components/output/AnswerButton-client.ts +4 -10
- package/test/party/components/output/AnswerButton-server.ts +6 -9
- package/test/party/components/output/AnswerButtonApp-client.ts +6 -11
- package/test/party/components/output/AnswerButtonApp-server.ts +8 -10
- package/test/party/components/output/ColorSelect-client.ts +22 -26
- package/test/party/components/output/ColorSelect-server.ts +8 -10
- package/test/party/components/output/Colors-client.ts +19 -20
- package/test/party/components/output/Colors-server.ts +8 -10
- package/test/party/components/output/Counter-client.ts +7 -12
- package/test/party/components/output/Counter-server.ts +8 -10
- package/test/party/components/output/CssStyle-client.ts +5 -10
- package/test/party/components/output/CssStyle-server.ts +10 -10
- package/test/party/components/output/DoubleCount-client.ts +6 -11
- package/test/party/components/output/DoubleCount-server.ts +8 -10
- package/test/party/components/output/FunnyButton-client.ts +4 -10
- package/test/party/components/output/FunnyButton-server.ts +6 -8
- package/test/party/components/output/FunnyButtonApp-client.ts +7 -14
- package/test/party/components/output/FunnyButtonApp-server.ts +8 -12
- package/test/party/components/output/HelloWorld-client.ts +5 -10
- package/test/party/components/output/HelloWorld-server.ts +7 -10
- package/test/party/components/output/InputFocused-client.ts +6 -11
- package/test/party/components/output/InputFocused-server.ts +10 -13
- package/test/party/components/output/InputHello-client.ts +8 -13
- package/test/party/components/output/InputHello-server.ts +8 -10
- package/test/party/components/output/IsAvailable-client.ts +8 -13
- package/test/party/components/output/IsAvailable-server.ts +8 -10
- package/test/party/components/output/Name-client.ts +6 -11
- package/test/party/components/output/Name-server.ts +8 -10
- package/test/party/components/output/NameUpdate-client.ts +6 -11
- package/test/party/components/output/NameUpdate-server.ts +8 -10
- package/test/party/components/output/PageTitle-client.ts +6 -11
- package/test/party/components/output/PageTitle-server.ts +8 -10
- package/test/party/components/output/PickPill-client.ts +8 -13
- package/test/party/components/output/PickPill-server.ts +8 -10
- package/test/party/components/output/Time-client.ts +6 -11
- package/test/party/components/output/Time-server.ts +8 -10
- package/test/party/components/output/TrafficLight-client.ts +18 -26
- package/test/party/components/output/TrafficLight-server.ts +8 -10
- package/test/party/components/output/UserProfile-client.ts +6 -18
- package/test/party/components/output/UserProfile-server.ts +7 -10
- package/test/party/components/output/UserProfileApp-client.ts +6 -11
- package/test/party/components/output/UserProfileApp-server.ts +8 -11
- package/test/party/components/output/UserProfileContext-client.ts +7 -13
- package/test/party/components/output/UserProfileContext-server.ts +8 -9
- package/test/party/components/output/UserProfileContextApp-client.ts +7 -12
- package/test/party/components/output/UserProfileContextApp-server.ts +9 -11
- package/test/party/components/temp/{AnswerButton-client-890e28879c132eea21260eb82af832afc6a48507.ts → AnswerButton-client-df895c3e7a88fd7ede9f951fc9de2ed75c27a5cb.ts} +4 -10
- package/test/party/components/temp/{AnswerButton-server-01ffab9f6f92073640df2cf2cb5473407d82b24f.ts → AnswerButton-server-fa0e78b504a78d0e2dcd33a9a589f62e5b99c675.ts} +6 -9
- package/test/party/components/temp/{AnswerButtonApp-client-295a835cadf7e7ccec608f84ed01865dd8c73954.ts → AnswerButtonApp-client-4c05ef36b1c0e93370fb463643419928717fa701.ts} +6 -11
- package/test/party/components/temp/{AnswerButtonApp-server-b458692868307e6e08ad3deed9c2db542c28dee0.ts → AnswerButtonApp-server-062042691dabfa1a20d4088030c0b5bee1cd0be2.ts} +8 -10
- package/test/party/components/temp/{ColorSelect-client-5f74d3b38193a0c9b22317598cdbf2f56754ca2b.ts → ColorSelect-client-5db8d1b0924361fdb5efb867c14491402ec9668c.ts} +22 -26
- package/test/party/components/temp/{ColorSelect-server-cf0b1b533948a558e1705d9a7cca3c0b6ae8d315.ts → ColorSelect-server-8722b440cb7266a18a71b35c166be6dd6566fcec.ts} +8 -10
- package/test/party/components/temp/{Colors-client-806316cc5e01e8235c0b025cad34b1068addf5a5.ts → Colors-client-6d3ac693e85bdda50b8742282915997063a32769.ts} +19 -20
- package/test/party/components/temp/{Colors-server-b050714bfe752b88a99f6498f1b5c13abe6b56a5.ts → Colors-server-16572e26a55214c26683ce560b058b55d8c92685.ts} +8 -10
- package/test/party/components/temp/{Counter-client-006caeda8766cb17a161da0c6f58f006f8f16e8b.ts → Counter-client-0c604a107c5b84cdbf725f307dfe29d34f8a2cc8.ts} +7 -12
- package/test/party/components/temp/{Counter-server-931d36d8e4bcd114047bbfec8aa5f2fac0c2ce1e.ts → Counter-server-db18f030a6e02ab17708d6a17eb3e590965090e5.ts} +8 -10
- package/test/party/components/temp/{CssStyle-client-6ec06cbc4b34344234d289f6c4a9e427efff85a7.ts → CssStyle-client-2a642d115ad52539f97c051c34687b8d6d12b324.ts} +5 -10
- package/test/party/components/temp/CssStyle-server-0477c5497707dd9071105e5ec9045a3a7d1dd62d.ts +18 -0
- package/test/party/components/temp/{DoubleCount-client-6d4cf1e54368e3c6082e37c1e04f9ecde90624f2.ts → DoubleCount-client-8c85c3af12c471ea23bb702bbf5a3e240420f3ec.ts} +6 -11
- package/test/party/components/temp/{DoubleCount-server-8c013a97a08562deb6ad0f35e6e337203b0ddde9.ts → DoubleCount-server-5b04bb31269f9c8de6c25be427f57ab6e3d4dc19.ts} +8 -10
- package/test/party/components/temp/{FunnyButton-client-6d5662018a5a5529fd52ee82f7c88975b5c3355a.ts → FunnyButton-client-850dd3da0fa803c1bce5c53e88fcd2d48d279eb8.ts} +4 -10
- package/test/party/components/temp/{FunnyButton-server-3fd55a1e1dc71c183a6cea68e4c4693c988b7533.ts → FunnyButton-server-3df0067ec21476e7525d1c3de7099431c976f73b.ts} +6 -8
- package/test/party/components/temp/{FunnyButtonApp-client-1f2258b8488469d4704366bc49f5c171d8a854ae.ts → FunnyButtonApp-client-00300846d11a3d0a5a620c2ade87b935b7f0ebf8.ts} +7 -14
- package/test/party/components/temp/{FunnyButtonApp-server-6463d1c57adf61450d1415f0d76da4561ca3e798.ts → FunnyButtonApp-server-4cd83d2c71615fe4c905920e5ea836df4ed66c5e.ts} +8 -12
- package/test/party/components/temp/{HelloWorld-client-7344e400b4adb975fa8263d3081a06de0a793e57.ts → HelloWorld-client-890b311ad9a3919379acdc1d52807ea36cc9f489.ts} +5 -10
- package/test/party/components/temp/HelloWorld-server-e2c800d7f5cd3e772a9e5bbd7af58b00611b79d5.ts +15 -0
- package/test/party/components/temp/{InputFocused-client-20d755aea7dfaf1fd5e42dcade8fb7867f59ef28.ts → InputFocused-client-03527f9ceb52f66ac53887dbc884a0aa83bb7a23.ts} +6 -11
- package/test/party/components/temp/InputFocused-server-544a76ea64852474a3c7bf450b6fac36cbaf21c6.ts +23 -0
- package/test/party/components/temp/{InputHello-client-496d26bdeb6a168c4242e45f35d22e6ecbd211b9.ts → InputHello-client-f65a477624975b68b7aaa3614fbf198d4476480f.ts} +8 -13
- package/test/party/components/temp/{InputHello-server-a5fb3e0d8766c19d177a1f4d43d421c7da1b92ab.ts → InputHello-server-102d293d6c0fff7feda50d64bbd607df7d09393a.ts} +8 -10
- package/test/party/components/temp/{IsAvailable-client-491b92b5e21ebe1bbab47b2e422c35fb996b55e1.ts → IsAvailable-client-8767437fd92cf79713de5b00828e1502e38d79e3.ts} +8 -13
- package/test/party/components/temp/{IsAvailable-server-c0da3c019ef13617d2ab51353eb3360ddaae4189.ts → IsAvailable-server-2cf1e0d72df4bc194b5e00a1b415ba99f488525f.ts} +8 -10
- package/test/party/components/temp/{Name-client-62f0dab96aff130e81882099d7c0a111ba99cebd.ts → Name-client-08903a8df8bdff5288170d3c89658192956587a9.ts} +6 -11
- package/test/party/components/temp/{Name-server-0306b0c622d71323eb79a6b466d900380a0944f3.ts → Name-server-7d95226078ef4cd13b0ac6c5365ccbe4b8b9c0a2.ts} +8 -10
- package/test/party/components/temp/{NameUpdate-client-6ceb440637c99142bafcf8512eabf831c113b8c7.ts → NameUpdate-client-d65b2476c3721d2efddf9385a61433e2a2dd0d72.ts} +6 -11
- package/test/party/components/temp/{NameUpdate-server-a54ea11dc6b8f0b55d29ad29163cf27b9aa6ec40.ts → NameUpdate-server-9c901f861eddfde14440c2591dfafb2b1fb1993d.ts} +8 -10
- package/test/party/components/temp/{PageTitle-client-75fea3a37fb1213bc13f56160bb6779486b2e6e9.ts → PageTitle-client-c006df9a3e662488a1db089de53fd485c6b923e4.ts} +6 -11
- package/test/party/components/temp/{PageTitle-server-8b34f9af760ab39e20a60e10ee3185e70d92e42b.ts → PageTitle-server-f4676ec6feccaa03b89d52835c6635536eb885ef.ts} +8 -10
- package/test/party/components/temp/{PickPill-client-a1f48b5c28db87eb57f0ac1f6b4370e4b2952de7.ts → PickPill-client-af8357daf3f6633c7f451d0bddd72fefe786d5c3.ts} +8 -13
- package/test/party/components/temp/{PickPill-server-9596fdb8ff254cb4e1b99b714f3c5e8ea8aaa308.ts → PickPill-server-d8fb383bc25f7d26bb0153088a2ee19c765fc66b.ts} +8 -10
- package/test/party/components/temp/{Time-client-2013f274e90b45be3138727f2298305e1951131f.ts → Time-client-94380d45de7275a5cec98e5f58c15b74b13e9c3e.ts} +6 -11
- package/test/party/components/temp/{Time-server-da1cafe72c0f9a6dbf15a04dfa7282ae5187c101.ts → Time-server-3f71a83b6fd357b57e85344281454ee793024e7b.ts} +8 -10
- package/test/party/components/temp/{TrafficLight-client-d04c95686ec0ad8a9c54710773945e9904224d5e.ts → TrafficLight-client-12b20962b4146ef08fe0c37597441533c7699408.ts} +18 -26
- package/test/party/components/temp/{TrafficLight-server-6c0f66cdabfc7239b99665c3f7087462ee302e8a.ts → TrafficLight-server-625a774075633be88822f4d345e1421a77aba98a.ts} +8 -10
- package/test/party/components/temp/{UserProfile-client-a59466813b208664f35e6e394858c3d61e040644.ts → UserProfile-client-e5330b2c96bd8b225cb6291bc8b1d9f35c93307e.ts} +6 -18
- package/test/party/components/temp/{UserProfile-server-b10ec192e03dc818fe66dbd4aad14200e817e596.ts → UserProfile-server-6e89fd7f8ade8e8d64630e5da8361d7a1fa2ff5a.ts} +7 -10
- package/test/party/components/temp/{UserProfileApp-client-e0bfaa4ffed336c8be4b23dd81800501980c9938.ts → UserProfileApp-client-4c86e4f9a0d042f4f4811868f0146e872b17353c.ts} +6 -11
- package/test/party/components/temp/{UserProfileApp-server-4b308db466a80bcacd190aa71f86cf4d2b6f2873.ts → UserProfileApp-server-754d269451abf8fd04e519b8edde33d25c73ce28.ts} +8 -11
- package/test/party/components/temp/{UserProfileContext-client-7ef27199bd35b55b3dadd876174a2ef4b602b63f.ts → UserProfileContext-client-424131db3cc89ae4babe127b9108ffc5696c9e1d.ts} +7 -13
- package/test/party/components/temp/{UserProfileContext-server-df958e4fc2de2242c556ffa61ddb58aa395de50c.ts → UserProfileContext-server-e72e8ccee2703cce216f2368a1555d64acc2654c.ts} +8 -9
- package/test/party/components/temp/{UserProfileContextApp-client-b3ef357f481dfb940e1c726690d57567fde2dc23.ts → UserProfileContextApp-client-5f94a7ccf3e4542ea40d8046ad75eeb21005c55f.ts} +7 -12
- package/test/party/components/temp/{UserProfileContextApp-server-f8fe2b88db3d0dfa4dafd300006b25123cb8e3fb.ts → UserProfileContextApp-server-267ac147e0e59e53aeb6741a8cd0f3ef1216051f.ts} +9 -11
- package/test/preact.test.ts +2560 -0
- package/test/props/components/output/Reactive-client.ts +8 -17
- package/test/props/components/output/Reactive-server.ts +12 -16
- package/test/props/components/temp/{Reactive-client-21a24e3b0a76140567db8a01975317c9c0e0ad5a.ts → Reactive-client-9bc3643675fc563f96efb00bc3c4b843ba4b7f2e.ts} +8 -17
- package/test/props/components/temp/{Reactive-server-b6e37b5d3488ea74a260ca972906bfab30dde486.ts → Reactive-server-8a84d0fc1f375d91438d840ca9753e32d86366ac.ts} +12 -16
- package/test/props/reactive.test.ts +2 -2
- package/test/replace/components/output/Replace-client.ts +6 -14
- package/test/replace/components/output/Replace-server.ts +7 -9
- package/test/replace/components/temp/{Replace-client-aee34e2e40c6f4380b61e9c7c8df9af1897f06cc.ts → Replace-client-6f21ff3eb303bd5488d211087dc35fcf998d4e2a.ts} +6 -14
- package/test/replace/components/temp/{Replace-server-3521251fa687ce42af3128d22b129fe1ec6ed411.ts → Replace-server-b536cf6d792ae73aaa7f5ea04cda6858a07479f9.ts} +7 -9
- package/test/replace/replace.test.ts +2 -2
- package/test/script/script-with-comments.test.ts +14 -19
- package/test/script/script-with-strings.test.ts +14 -19
- package/test/script/script.test.ts +14 -19
- package/test/slots/basic-slot.test.ts +2 -2
- package/test/slots/components/Article.torp +3 -3
- package/test/slots/components/Basic.torp +1 -1
- package/test/slots/components/Header.torp +2 -2
- package/test/slots/components/Let.torp +3 -3
- package/test/slots/components/List.torp +1 -1
- package/test/slots/components/Named.torp +3 -3
- package/test/slots/components/Unused.torp +1 -1
- package/test/slots/components/output/Article-client.ts +4 -8
- package/test/slots/components/output/Article-server.ts +6 -8
- package/test/slots/components/output/Basic-client.ts +7 -14
- package/test/slots/components/output/Basic-server.ts +8 -12
- package/test/slots/components/output/Header-client.ts +4 -9
- package/test/slots/components/output/Header-server.ts +6 -8
- package/test/slots/components/output/Let-client.ts +7 -14
- package/test/slots/components/output/Let-server.ts +7 -11
- package/test/slots/components/output/List-client.ts +17 -16
- package/test/slots/components/output/List-server.ts +6 -8
- package/test/slots/components/output/Named-client.ts +9 -19
- package/test/slots/components/output/Named-server.ts +9 -14
- package/test/slots/components/output/Unused-client.ts +5 -10
- package/test/slots/components/output/Unused-server.ts +7 -10
- package/test/slots/components/temp/{Article-client-3f2da4b399f94ae8c329489e1ba0ba98196df9c5.ts → Article-client-0b674ee98ae7f85021bfb8b912f28e3c4b35e877.ts} +4 -8
- package/test/slots/components/temp/{Article-server-50fa458663f115c0e80a3a2846de4607d8748ecb.ts → Article-server-3db1718b70b86b456514b54ae17a597d07cc0ca9.ts} +6 -8
- package/test/slots/components/temp/{Basic-client-a2c4bf685d4b75d0395da427b7754c2a58374dd7.ts → Basic-client-196f7f0244dca0baeffb547eec55c089a108283d.ts} +7 -14
- package/test/slots/components/temp/{Basic-server-593e0ecbc8abbc90e8b06198698d244d110d97e2.ts → Basic-server-a22e6ec236b84e09d4d59c7abc4f0b22bf60f22c.ts} +8 -12
- package/test/slots/components/temp/{Header-client-d7418b71df5db36d58a73e909233863a6c03678b.ts → Header-client-e5c784d60469523803898ee4d8b85fb82a7b7c0b.ts} +4 -9
- package/test/slots/components/temp/{Header-server-d0f27afc4db322e605491e8f508e83f625e8dc38.ts → Header-server-3182d735443d9cf6a0cc7891919cc2c08df2aa8f.ts} +6 -8
- package/test/slots/components/temp/{Let-client-913f9dede92b68a3f4a13d1f56f99b3e08e01efe.ts → Let-client-645271fcd63cd500001c75740b22b1b387330657.ts} +7 -14
- package/test/slots/components/temp/{Let-server-f3c026e37c11628914c495083752d8cf285b2e85.ts → Let-server-b6d6e2012155c7533a0eb4ee0aaf00157a7d4493.ts} +7 -11
- package/test/slots/components/temp/{List-client-6bc2d267a8b2028a14b12b2c70feb7c6a47d6d64.ts → List-client-ee6047ac396dc0b6fce5e38af51c38093fae83a2.ts} +17 -16
- package/test/slots/components/temp/{List-server-8d9c174fc4b3b232f3a9fd2f59843481f023d913.ts → List-server-1ee246e864cdb31bb8f52cf4424b6ef0e9b41cf1.ts} +6 -8
- package/test/slots/components/temp/{Named-client-f6e7a984759ce8f50bc52dcf56f6f06cab925a80.ts → Named-client-559988562c5de1ae6017d2ad6de063f4363064b6.ts} +9 -19
- package/test/slots/components/temp/{Named-server-ac8d47db82d9a387c8baeee59b975bb810bad168.ts → Named-server-f2ce3d301e916ea38901a92185c25512b11d42d4.ts} +9 -14
- package/test/slots/components/temp/{Unused-client-ea0a096aa7a1c958f3bf807f35340b96f8a025ee.ts → Unused-client-52d1828bd28ebf7046a2e948a369563c0ea83b98.ts} +5 -10
- package/test/slots/components/temp/{Unused-server-1da99efc50ef70be0d9a0e5499353a17dc666936.ts → Unused-server-f5248f5cd4616c65eaf27c67385f13ed671accad.ts} +7 -10
- package/test/slots/let-slot.test.ts +4 -4
- package/test/slots/named-slot.test.ts +2 -2
- package/test/slots/unused-slot.test.ts +2 -2
- package/test/source-maps/components/Source.torp +19 -0
- package/test/source-maps/components/output/Source-client.ts +63 -0
- package/test/source-maps/components/output/Source-server.ts +26 -0
- package/test/source-maps/components/temp/Source-client-ae8c4811ff658c13ee8c9b9e0e53fff1b83b178b.ts +63 -0
- package/test/source-maps/components/temp/Source-server-70b20214c52b8820f450324943e8a1ffb0a72d5e.ts +26 -0
- package/test/source-maps/parse.test.ts +62 -0
- package/test/special-component/components/BigTitle.torp +1 -1
- package/test/special-component/components/Component.torp +2 -2
- package/test/special-component/components/SmallTitle.torp +1 -1
- package/test/special-component/components/output/BigTitle-client.ts +4 -8
- package/test/special-component/components/output/BigTitle-server.ts +6 -8
- package/test/special-component/components/output/Component-client.ts +7 -15
- package/test/special-component/components/output/Component-server.ts +8 -11
- package/test/special-component/components/output/SmallTitle-client.ts +4 -8
- package/test/special-component/components/output/SmallTitle-server.ts +6 -8
- package/test/special-component/components/temp/{BigTitle-client-c4bd66406d55ce83ab4491c4114d563055e1c275.ts → BigTitle-client-cb3055f809aaf17bd1fa82748d039ac3730a8d44.ts} +4 -8
- package/test/special-component/components/temp/{BigTitle-server-34af54c15cf575163c1ff8e63978cf5257f2347c.ts → BigTitle-server-fef9d1e1deacfde2be4469c2e63a801b2e518dff.ts} +6 -8
- package/test/special-component/components/temp/{Component-client-c39c66cf5274445bb863fd759e0ef223613a9f3a.ts → Component-client-0eb9553b52acce2dfa564242295a4c57a38bd540.ts} +7 -15
- package/test/special-component/components/temp/{Component-server-ca4a2192477db4a32ad12f1a6a14d673717b0f7b.ts → Component-server-9d0fddeff790bfb2b6cfbcd2edf677837f5b8120.ts} +8 -11
- package/test/special-component/components/temp/{SmallTitle-client-e4b3e51243ca4f1efca21ac0f957b81e8bc93167.ts → SmallTitle-client-5a65b233be29395e9650f57d9708a33de1279af3.ts} +4 -8
- package/test/special-component/components/temp/{SmallTitle-server-6c9aabb9139356397e04612b4dd9d849f871a280.ts → SmallTitle-server-11f8b6b3c613716d6a5371883a9b55434bb43ad5.ts} +6 -8
- package/test/special-component/special-component.test.ts +2 -2
- package/test/special-element/components/Element.torp +2 -2
- package/test/special-element/components/output/Element-client.ts +5 -11
- package/test/special-element/components/output/Element-server.ts +7 -10
- package/test/special-element/components/temp/{Element-client-c5701ed44faa4ec8ae558505063684a84cada3f2.ts → Element-client-745e610fbd5c652d327c8ac349d49d5ee4c8d9ea.ts} +5 -11
- package/test/special-element/components/temp/Element-server-7aef6d0ed7369aa2418183519c8320e0409a5641.ts +15 -0
- package/test/special-element/special-element.test.ts +2 -2
- package/test/special-head/components/Head.torp +2 -4
- package/test/special-head/components/output/Head-client.ts +8 -23
- package/test/special-head/components/output/Head-server.ts +5 -11
- package/test/special-head/components/temp/Head-client-bbbb5e712247ee41ca65a7ffd457987de5e99b3e.ts +19 -0
- package/test/special-head/components/temp/Head-server-c3de2e6b56aabc095380370d8bf93ae3bc7c10d9.ts +12 -0
- package/test/special-head/special-head.test.ts +2 -2
- package/test/special-self/components/output/Self-client.ts +13 -17
- package/test/special-self/components/output/Self-server.ts +6 -9
- package/test/special-self/components/temp/{Self-client-883ca81e0e44df56f2290698e8d6b9955434a2ad.ts → Self-client-dfe57df69e3677e94f7b5f3657c82602054ef19e.ts} +13 -17
- package/test/special-self/components/temp/{Self-server-69dac409fc984db7db97df8a30c5de6794f25655.ts → Self-server-5d135dab2b6fd4ba7fe3f56768f0725607d36bd9.ts} +6 -9
- package/test/special-self/special-self.test.ts +2 -2
- package/test/style/components/Style.torp +1 -1
- package/test/style/components/output/Style-client.ts +6 -12
- package/test/style/components/output/Style-server.ts +7 -10
- package/test/style/components/temp/{Style-client-ea018338497095f270308b2e73cfe6344721c6eb.ts → Style-client-9491a5aff97f118df542f976d7f7a21e7cc88c62.ts} +6 -12
- package/test/style/components/temp/{Style-server-99ff9867ee067760a463a8282773b2eb09aa14f7.ts → Style-server-8b8cbe1868cab30d9e34dda52921652768ada1db.ts} +7 -10
- package/test/style/parse.test.ts +507 -193
- package/test/style/style.test.ts +2 -2
- package/test/svg/components/Shape.torp +1 -1
- package/test/svg/components/output/Shape-client.ts +23 -23
- package/test/svg/components/output/Shape-server.ts +8 -10
- package/test/svg/components/temp/{Shape-client-052ea7838de07222602834de58968a3f89e6ea56.ts → Shape-client-4cc148d8b70d3750d2982360aad76b74d194b60e.ts} +23 -23
- package/test/svg/components/temp/Shape-server-76aaef570e067031ff39635ffe37626364c2200a.ts +23 -0
- package/test/svg/svg.test.ts +4 -4
- package/test/switch/components/output/Switch-client.ts +16 -22
- package/test/switch/components/output/Switch-server.ts +6 -9
- package/test/switch/components/temp/{Switch-client-1482e2da8fe144d3e867dfad4618e0f364b91b49.ts → Switch-client-5fc00f4d41300dc7587b113d8e53a102beca7558.ts} +16 -22
- package/test/switch/components/temp/{Switch-server-d709eb7a418752dd4203a8f824b78c5f308c8f47.ts → Switch-server-440f7e852145b79656c0023ddc776e4d1d077d2a.ts} +6 -9
- package/test/switch/switch-values.test.ts +4 -4
- package/test/template/basic-file.test.ts +61 -88
- package/test/template/empty-file.test.ts +7 -12
- package/test/template/errors.test.ts +64 -34
- package/test/text/components/output/Text-client.ts +5 -13
- package/test/text/components/output/Text-server.ts +6 -9
- package/test/text/components/temp/{Text-client-ca2d5402358fba0df1db2353eed304b0dedb7971.ts → Text-client-6c3be8a1a31a13eff86ce8b5330829cd15b07fab.ts} +5 -13
- package/test/text/components/temp/{Text-server-9df4606b85f044ea2b38660e799988461edacb27.ts → Text-server-ac34d47e755aa39b2d89cb44f854450c3db1ddff.ts} +6 -9
- package/test/text/text.test.ts +4 -4
- package/test/watch-array/ArrayState.ts +2 -2
- package/test/watch-array/array-all-functions-unkeyed.test.ts +16 -14
- package/test/watch-array/array-all-functions.test.ts +16 -14
- package/test/watch-array/array-empty.test.ts +8 -6
- package/test/watch-array/array-entries.test.ts +11 -9
- package/test/watch-array/array-indexes.test.ts +11 -9
- package/test/watch-array/array-pop.test.ts +10 -8
- package/test/watch-array/array-push.test.ts +10 -8
- package/test/watch-array/array-reassign.test.ts +11 -9
- package/test/watch-array/array-reverse.test.ts +10 -8
- package/test/watch-array/array-set-object.test.ts +10 -8
- package/test/watch-array/array-set-property.test.ts +10 -8
- package/test/watch-array/array-shift.test.ts +10 -8
- package/test/watch-array/array-sort.test.ts +11 -9
- package/test/watch-array/array-splice-add.test.ts +10 -8
- package/test/watch-array/array-splice-delete-all.test.ts +10 -8
- package/test/watch-array/array-splice-delete-and-add.test.ts +10 -8
- package/test/watch-array/array-splice-delete-end.test.ts +10 -8
- package/test/watch-array/array-splice-delete.test.ts +10 -8
- package/test/watch-array/array-swap.test.ts +10 -8
- package/test/watch-array/array-unshift.test.ts +10 -8
- package/test/watch-array/array-update-assignment.test.ts +10 -8
- package/test/watch-array/components/output/Array-client.ts +19 -21
- package/test/watch-array/components/output/Array-server.ts +7 -10
- package/test/watch-array/components/output/ArrayEntries-client.ts +21 -23
- package/test/watch-array/components/output/ArrayEntries-server.ts +7 -10
- package/test/watch-array/components/output/ArrayIndexes-client.ts +19 -21
- package/test/watch-array/components/output/ArrayIndexes-server.ts +7 -10
- package/test/watch-array/components/output/ArrayUnkeyed-client.ts +19 -20
- package/test/watch-array/components/output/ArrayUnkeyed-server.ts +7 -10
- package/test/watch-array/components/temp/{Array-client-d048f5c224a3f2e2729878dbb069ce15ca913e12.ts → Array-client-552f81452d33fe6dc715c9f6bb7986f06475d761.ts} +19 -21
- package/test/watch-array/components/temp/{Array-server-48864ed3b67cae2bcedb216865776e44cc3a1dc2.ts → Array-server-16921ef3289ecba5881fcd59e3353fbfad60d4d3.ts} +7 -10
- package/test/watch-array/components/temp/{ArrayEntries-client-741607b276718f5deb520e3b657dbf6abbb8081c.ts → ArrayEntries-client-736755fba2492e74812ff9c905202810de54e15a.ts} +21 -23
- package/test/watch-array/components/temp/{ArrayEntries-server-401a989fd5f3a093d5d1a8ef1d4fd9d5107a6be3.ts → ArrayEntries-server-ac150fc9fd18c1d9dab9b329f7703e190f5c2725.ts} +7 -10
- package/test/watch-array/components/temp/{ArrayIndexes-client-8ab14b254ef67dafad5228c9ec1906eb3b3babef.ts → ArrayIndexes-client-a496328fa92ffca676ab8893013a0cfec1734ad1.ts} +19 -21
- package/test/watch-array/components/temp/{ArrayIndexes-server-35c31a8a4597da68d39cf20bd6b90137695514de.ts → ArrayIndexes-server-e8fc511c0d27796dc1733f8cc63377f7a4511f76.ts} +7 -10
- package/test/watch-array/components/temp/{ArrayUnkeyed-client-9684aba82757748815b94c04bf3f8d1f98332535.ts → ArrayUnkeyed-client-5a2c5cb1fecba52653f7f35cfd07627682930c15.ts} +19 -20
- package/test/watch-array/components/temp/{ArrayUnkeyed-server-19f195f0cf00760c520ac4c55aef474c8eae4c41.ts → ArrayUnkeyed-server-916a5cdb7c36d95946cafdc69dca782291af24e4.ts} +7 -10
- package/test/watch-object/components/output/Watched-client.ts +5 -11
- package/test/watch-object/components/output/Watched-server.ts +6 -9
- package/test/watch-object/components/temp/{Watched-client-ddba353c5a94f5a874e19d6d4cc6271a04e915c0.ts → Watched-client-1f0409aa6e2c425d0319a23caec7d10ad313d579.ts} +5 -11
- package/test/watch-object/components/temp/{Watched-server-e8e8c15b9fb5dda4051a289e9cd75d71078b9e95.ts → Watched-server-156afd257b562162d86417f2bbf5afe1bf57de06.ts} +6 -9
- package/test/watch-object/watch-object.test.ts +11 -9
- package/{tsup.config.ts → tsdown.config.ts} +1 -3
- package/dist/Component-CysAnHpO.d.cts +0 -8
- package/dist/Component-CysAnHpO.d.ts +0 -8
- package/dist/ServerSlotRender-BMGG0yq3.d.cts +0 -15
- package/dist/ServerSlotRender-BMGG0yq3.d.ts +0 -15
- package/dist/chunk-EGRHWZRV.js +0 -1
- package/dist/chunk-EGRHWZRV.js.map +0 -1
- package/dist/chunk-XNO4YEJ3.js +0 -64
- package/dist/chunk-XNO4YEJ3.js.map +0 -1
- package/dist/metafile-cjs.json +0 -1
- package/dist/metafile-esm.json +0 -1
- package/src/compile/build/client/buildHeadNode.ts +0 -17
- package/src/compile/build/utils/isReactiveAttribute.ts +0 -16
- package/src/compile/types/nodes/isControlNode.ts +0 -6
- package/src/compile/types/nodes/isElementNode.ts +0 -6
- package/src/compile/types/nodes/isParentNode.ts +0 -6
- package/src/compile/types/nodes/isSpecialNode.ts +0 -6
- package/src/compile/types/nodes/isTextNode.ts +0 -6
- package/src/debug/printHtml.ts +0 -25
- package/src/types/ProxyPropData.ts +0 -11
- package/src/watch/removeEffect.ts +0 -34
- package/test/bench/components/temp/Bench-client-4e18421473e97bac7c24b17ba14751ce14dd187e.ts +0 -414
- package/test/bench/components/temp/Bench-server-4648921af9bc146718d55a7e9fc288b47a57dfda.ts +0 -142
- package/test/component/components/temp/Header-server-91088d2a5a543287bfdf1a24d92b66db6ccd294d.ts +0 -19
- package/test/console/components/temp/Console-server-7bc7f568e9c3626dca1bdafcb23186c2dbc59199.ts +0 -18
- package/test/dummy/components/temp/ProfilePreview-client-e57ca1ac502e0ddcb3ef376dd5ef27add70090d1.ts +0 -327
- package/test/dummy/components/temp/ProfilePreview-server-9d3d0f8b4f80f634db6ba97d037ab07de004b4d3.ts +0 -56
- package/test/html/components/temp/Html-server-4f73a2b0c5cd9b82666a99ec6a217c758d435008.ts +0 -18
- package/test/mount/components/temp/Mount-server-8564e4e0886ea754dfedf9a4a5fd82f0484c1d83.ts +0 -25
- package/test/on-mount/components/temp/OnMount-server-2ff035e067926fadc284030075aa5da69a05cf31.ts +0 -18
- package/test/party/components/temp/CssStyle-server-fa4bad3c82930632730e3b6b9f0e9193cab6f777.ts +0 -18
- package/test/party/components/temp/HelloWorld-server-50dd4393d55ecd33d5b7684c4f9ed41dfa0ceb5d.ts +0 -18
- package/test/party/components/temp/InputFocused-server-7b062b0dd7686ccc389c3c1a17f37e9a9bb19da9.ts +0 -26
- package/test/special-element/components/temp/Element-server-011a942cc147900d8e074c084297d8e81f05aa27.ts +0 -18
- package/test/special-head/components/temp/Head-client-967d6ea24d46308af586c7553f4658412d94716c.ts +0 -34
- package/test/special-head/components/temp/Head-server-7cf8212c95197ed6320b47483524d8b1b3e5ae68.ts +0 -18
- package/test/svg/components/temp/Shape-server-4ef7e80f09d3d4c930055d0a25184c48507e51de.ts +0 -25
- /package/src/compile/{build/utils → utils}/isFullyReactive.ts +0 -0
- /package/src/compile/{build/utils → utils}/isReactive.ts +0 -0
package/dist/index.cjs
CHANGED
|
@@ -1,926 +1,906 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/index.ts
|
|
21
|
-
var index_exports = {};
|
|
22
|
-
__export(index_exports, {
|
|
23
|
-
$mount: () => $mount,
|
|
24
|
-
$run: () => $run,
|
|
25
|
-
$unwrap: () => $unwrap,
|
|
26
|
-
$watch: () => $watch,
|
|
27
|
-
clearLayoutSlot: () => clearLayoutSlot,
|
|
28
|
-
fillLayoutSlot: () => fillLayoutSlot,
|
|
29
|
-
hydrate: () => hydrate,
|
|
30
|
-
mount: () => mount,
|
|
31
|
-
t_add_fragment: () => addFragment,
|
|
32
|
-
t_anchor: () => nodeAnchor,
|
|
33
|
-
t_animate: () => addAnimation,
|
|
34
|
-
t_apply_props: () => applyProps,
|
|
35
|
-
t_attribute: () => setAttribute,
|
|
36
|
-
t_child: () => nodeChild,
|
|
37
|
-
t_class: () => buildClasses,
|
|
38
|
-
t_dynamic: () => setDynamicElement,
|
|
39
|
-
t_event: () => addEvent,
|
|
40
|
-
t_fmt: () => formatText,
|
|
41
|
-
t_fragment: () => getFragment,
|
|
42
|
-
t_list_item: () => newListItem,
|
|
43
|
-
t_next: () => nodeNext,
|
|
44
|
-
t_pop_range: () => popRange,
|
|
45
|
-
t_push_range: () => pushRange,
|
|
46
|
-
t_range: () => newRange,
|
|
47
|
-
t_root: () => nodeRoot,
|
|
48
|
-
t_run_branch: () => runControlBranch,
|
|
49
|
-
t_run_control: () => runControl,
|
|
50
|
-
t_run_list: () => runList,
|
|
51
|
-
t_skip: () => nodeSkip,
|
|
52
|
-
t_style: () => buildStyles
|
|
53
|
-
});
|
|
54
|
-
module.exports = __toCommonJS(index_exports);
|
|
55
|
-
|
|
56
|
-
// src/render/context.ts
|
|
57
|
-
var context = {
|
|
58
|
-
activeEffect: null,
|
|
59
|
-
activeRange: null,
|
|
60
|
-
mountEffects: [],
|
|
61
|
-
stashedEvents: [],
|
|
62
|
-
stashedAnimations: [],
|
|
63
|
-
hydrationNode: null
|
|
64
|
-
//hn: null,
|
|
65
|
-
//get hydrationNode() {
|
|
66
|
-
// return this.hn;
|
|
67
|
-
//},
|
|
68
|
-
//set hydrationNode(value) {
|
|
69
|
-
// console.log(`set hydration ${printNode(value)}`);
|
|
70
|
-
// this.hn = value;
|
|
71
|
-
//},
|
|
72
|
-
};
|
|
73
|
-
var context_default = context;
|
|
74
|
-
|
|
75
|
-
// src/render/$mount.ts
|
|
1
|
+
const require_formatText = require('./formatText-DufG5l83.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/render/$mount.ts
|
|
4
|
+
/**
|
|
5
|
+
* Runs and re-runs a function on component mount
|
|
6
|
+
*
|
|
7
|
+
* @param fn The function to run, which may return a cleanup function
|
|
8
|
+
*/
|
|
76
9
|
function $mount(fn) {
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
10
|
+
require_formatText.context_default.mountEffects.push(fn);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/render/$run.ts
|
|
15
|
+
/**
|
|
16
|
+
* Runs and re-runs a function that depends on a watched object
|
|
17
|
+
*
|
|
18
|
+
* @param fn The function to run, which may return a cleanup function.
|
|
19
|
+
*/
|
|
20
|
+
function $run(fn, name) {
|
|
21
|
+
let effect = {
|
|
22
|
+
type: require_formatText.EFFECT_TYPE,
|
|
23
|
+
run: fn,
|
|
24
|
+
cleanup: void 0,
|
|
25
|
+
firstSource: null,
|
|
26
|
+
nextEffect: null,
|
|
27
|
+
extent: 0,
|
|
28
|
+
nextEffectToRun: null,
|
|
29
|
+
didError: false,
|
|
30
|
+
name
|
|
31
|
+
};
|
|
32
|
+
require_formatText.runEffect(effect);
|
|
33
|
+
return effect;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/watch/symbols.ts
|
|
38
|
+
const proxyDataSymbol = Symbol("_proxy_data");
|
|
39
|
+
const proxyHandledSymbol = Symbol("_proxy_handled");
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/render/$unwrap.ts
|
|
43
|
+
/**
|
|
44
|
+
* Returns the target object of a proxy
|
|
45
|
+
*
|
|
46
|
+
* @param object The proxy object
|
|
47
|
+
*/
|
|
109
48
|
function $unwrap(object) {
|
|
110
|
-
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
49
|
+
return object !== void 0 && object !== null && object[proxyDataSymbol] !== void 0 ? object[proxyDataSymbol].target ?? object : object;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/watch/trackProxyEffect.ts
|
|
54
|
+
function trackProxyEffect(data, key) {
|
|
55
|
+
let signal = data.signals.get(key);
|
|
56
|
+
if (signal === void 0) {
|
|
57
|
+
signal = {
|
|
58
|
+
type: require_formatText.SIGNAL_TYPE,
|
|
59
|
+
firstTarget: null,
|
|
60
|
+
nextSignalToUpdate: null
|
|
61
|
+
};
|
|
62
|
+
data.signals.set(key, signal);
|
|
63
|
+
}
|
|
64
|
+
require_formatText.trackEffect(signal);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
//#endregion
|
|
68
|
+
//#region src/watch/updateSignal.ts
|
|
69
|
+
let lastEffect;
|
|
70
|
+
/**
|
|
71
|
+
* When a signal is changed, we need to
|
|
72
|
+
* - Set the signal's subscriptions to recalc
|
|
73
|
+
* - Set any dependent computed values to recalc
|
|
74
|
+
* - Gather dependent effects that will need to be re-run
|
|
75
|
+
*/
|
|
76
|
+
function updateSignal(proxy, key) {
|
|
77
|
+
let signal = proxy.signals.get(key);
|
|
78
|
+
if (signal !== void 0 && signal.firstTarget !== null) {
|
|
79
|
+
require_formatText.batchStart();
|
|
80
|
+
try {
|
|
81
|
+
if (require_formatText.context_default.firstSignalToUpdate === null) require_formatText.context_default.firstSignalToUpdate = signal;
|
|
82
|
+
else if (signal.nextSignalToUpdate === null) {
|
|
83
|
+
let lastSignal = require_formatText.context_default.firstSignalToUpdate;
|
|
84
|
+
while (lastSignal.nextSignalToUpdate !== null) lastSignal = lastSignal.nextSignalToUpdate;
|
|
85
|
+
lastSignal.nextSignalToUpdate = signal;
|
|
86
|
+
}
|
|
87
|
+
lastEffect = require_formatText.context_default.firstEffectToRun;
|
|
88
|
+
if (lastEffect !== null) while (lastEffect.nextEffectToRun !== null) lastEffect = lastEffect.nextEffectToRun;
|
|
89
|
+
let targetSub = signal.firstTarget;
|
|
90
|
+
let computed;
|
|
91
|
+
outer: while (true) {
|
|
92
|
+
targetSub.active = false;
|
|
93
|
+
targetSub.recalc = true;
|
|
94
|
+
const target = targetSub.target;
|
|
95
|
+
if (target.type === require_formatText.EFFECT_TYPE) {
|
|
96
|
+
if (lastEffect === null) {
|
|
97
|
+
require_formatText.context_default.firstEffectToRun = target;
|
|
98
|
+
lastEffect = target;
|
|
99
|
+
} else if (target.nextEffectToRun === null && lastEffect !== target) {
|
|
100
|
+
lastEffect.nextEffectToRun = target;
|
|
101
|
+
lastEffect = target;
|
|
102
|
+
}
|
|
103
|
+
} else if (!target.recalc) {
|
|
104
|
+
target.recalc = true;
|
|
105
|
+
if (target.firstTarget !== null) {
|
|
106
|
+
computed = target;
|
|
107
|
+
computed.rollback = targetSub;
|
|
108
|
+
targetSub = target.firstTarget;
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
while (targetSub.nextTarget === null && computed !== void 0) {
|
|
113
|
+
targetSub = computed.rollback;
|
|
114
|
+
if (targetSub.source.type !== require_formatText.COMPUTED_TYPE) {
|
|
115
|
+
computed = void 0;
|
|
116
|
+
continue outer;
|
|
117
|
+
}
|
|
118
|
+
computed = targetSub.source;
|
|
119
|
+
}
|
|
120
|
+
if (targetSub.nextTarget === null) break;
|
|
121
|
+
targetSub = targetSub.nextTarget;
|
|
122
|
+
}
|
|
123
|
+
} finally {
|
|
124
|
+
require_formatText.batchEnd();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
//#endregion
|
|
130
|
+
//#region src/watch/proxyGet.ts
|
|
131
|
+
function proxyGet(target, key, receiver) {
|
|
132
|
+
let data = target[proxyDataSymbol];
|
|
133
|
+
if (key === proxyDataSymbol) return data;
|
|
134
|
+
let signal = data.signals.get(key);
|
|
135
|
+
if (signal === void 0) {
|
|
136
|
+
const propDescriptor = Object.getOwnPropertyDescriptor(target, key);
|
|
137
|
+
if (propDescriptor !== void 0) {
|
|
138
|
+
if (propDescriptor.writable) {
|
|
139
|
+
if (data.shallow !== true) {
|
|
140
|
+
const value = target[key];
|
|
141
|
+
if (value !== void 0 && value !== null && typeof value === "object" && value[proxyDataSymbol] === void 0 && value.then === void 0) target[key] = $watch(value);
|
|
142
|
+
}
|
|
143
|
+
trackProxyEffect(data, key);
|
|
144
|
+
} else if (propDescriptor.get) {
|
|
145
|
+
const oldRegisterComputed = require_formatText.context_default.registerComputed;
|
|
146
|
+
try {
|
|
147
|
+
require_formatText.context_default.registerComputed = (computed) => {
|
|
148
|
+
data.signals.set(key, computed);
|
|
149
|
+
};
|
|
150
|
+
return Reflect.get(target, key, receiver);
|
|
151
|
+
} finally {
|
|
152
|
+
require_formatText.context_default.registerComputed = oldRegisterComputed;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
} else if (data.isArray) {
|
|
156
|
+
if (arrayWrapper[key] !== void 0) return arrayWrapper[key](data, target, key);
|
|
157
|
+
}
|
|
158
|
+
} else if (signal.type === require_formatText.SIGNAL_TYPE) trackProxyEffect(data, key);
|
|
159
|
+
else if (signal.type === require_formatText.COMPUTED_TYPE) {
|
|
160
|
+
if (signal.running) throw new Error("Cycle detected");
|
|
161
|
+
else if (signal.recalc) require_formatText.checkComputed(signal);
|
|
162
|
+
else if (signal.didError) throw signal.value;
|
|
163
|
+
else require_formatText.trackEffect(signal);
|
|
164
|
+
return signal.value;
|
|
165
|
+
}
|
|
166
|
+
return Reflect.get(target, key, receiver);
|
|
167
|
+
}
|
|
168
|
+
const arrayWrapper = {
|
|
169
|
+
[Symbol.iterator]: function(data, target, key) {
|
|
170
|
+
trackProxyEffect(data, "length");
|
|
171
|
+
require_formatText.context_default.activeTarget = null;
|
|
172
|
+
return target[key];
|
|
173
|
+
},
|
|
174
|
+
pop: arrayHandle,
|
|
175
|
+
push: arrayHandle,
|
|
176
|
+
reverse: arrayHandle,
|
|
177
|
+
shift: arrayHandle,
|
|
178
|
+
sort: arrayHandle,
|
|
179
|
+
splice: arrayHandle,
|
|
180
|
+
unshift: arrayHandle
|
|
181
|
+
};
|
|
182
|
+
function arrayHandle(data, target, key) {
|
|
183
|
+
return function(...args) {
|
|
184
|
+
const result = target[key].apply(target, args);
|
|
185
|
+
updateSignal(data, "length");
|
|
186
|
+
return result;
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
//#endregion
|
|
191
|
+
//#region src/watch/proxySet.ts
|
|
192
|
+
function proxySet(target, key, value, receiver) {
|
|
193
|
+
const oldValue = target[key];
|
|
194
|
+
if (value !== oldValue) {
|
|
195
|
+
if (require_formatText.context_default.batchOperation > 100) throw new Error("Cycle detected");
|
|
196
|
+
let data = target[proxyDataSymbol];
|
|
197
|
+
if (oldValue && oldValue[proxyDataSymbol] !== void 0) value = $watch(value, { shallow: oldValue[proxyDataSymbol].shallow });
|
|
198
|
+
Reflect.set(target, key, value, receiver);
|
|
199
|
+
updateSignal(data, key);
|
|
200
|
+
if (data.isArray && !isNaN(+String(key))) updateSignal(data, "length");
|
|
201
|
+
}
|
|
202
|
+
return true;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
//#endregion
|
|
206
|
+
//#region src/render/$watch.ts
|
|
207
|
+
/**
|
|
208
|
+
* Watches an object and runs effects when its properties are changed
|
|
209
|
+
*
|
|
210
|
+
* @param object The object to watch
|
|
211
|
+
*/
|
|
250
212
|
function $watch(object, options) {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
};
|
|
268
|
-
return new Proxy(object, handler);
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
// src/render/addAnimation.ts
|
|
213
|
+
if (object === void 0 || object === null || object[proxyDataSymbol] !== void 0) return object;
|
|
214
|
+
object[proxyDataSymbol] = {
|
|
215
|
+
target: object,
|
|
216
|
+
isArray: Array.isArray(object),
|
|
217
|
+
shallow: options?.shallow === true,
|
|
218
|
+
signals: /* @__PURE__ */ new Map()
|
|
219
|
+
};
|
|
220
|
+
const handler = {
|
|
221
|
+
get: proxyGet,
|
|
222
|
+
set: proxySet
|
|
223
|
+
};
|
|
224
|
+
return new Proxy(object, handler);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
//#endregion
|
|
228
|
+
//#region src/render/addAnimation.ts
|
|
272
229
|
function addAnimation(el, entry, exit) {
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
230
|
+
require_formatText.context_default.stashedAnimations.push({
|
|
231
|
+
range: require_formatText.context_default.activeRange,
|
|
232
|
+
el,
|
|
233
|
+
in: entry,
|
|
234
|
+
out: exit
|
|
235
|
+
});
|
|
279
236
|
}
|
|
280
237
|
|
|
281
|
-
|
|
238
|
+
//#endregion
|
|
239
|
+
//#region src/render/addEvent.ts
|
|
282
240
|
function addEvent(el, type, listener) {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
241
|
+
require_formatText.context_default.stashedEvents.push({
|
|
242
|
+
range: require_formatText.context_default.activeRange,
|
|
243
|
+
el,
|
|
244
|
+
type,
|
|
245
|
+
listener
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
//#endregion
|
|
250
|
+
//#region src/motion/animate.ts
|
|
251
|
+
/**
|
|
252
|
+
* Adds an animation for an element
|
|
253
|
+
* @param el The element to animate
|
|
254
|
+
* @param enter Whether the animation is being run on enter
|
|
255
|
+
* @param keyframes The Web Animation API keyframes
|
|
256
|
+
* @param options The Web Animmation API options
|
|
257
|
+
*/
|
|
287
258
|
async function animate(el, enter, keyframes, options) {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
// src/render/isFragmentNode.ts
|
|
259
|
+
let animationOptions = Object.assign({
|
|
260
|
+
direction: enter ? "normal" : "reverse",
|
|
261
|
+
duration: 300,
|
|
262
|
+
easing: "ease-in-out",
|
|
263
|
+
fill: "forwards"
|
|
264
|
+
}, options);
|
|
265
|
+
const animation = el.animate(keyframes, animationOptions);
|
|
266
|
+
setTimeout(() => {
|
|
267
|
+
animation.timeline = el.ownerDocument.timeline;
|
|
268
|
+
}, 1);
|
|
269
|
+
let activeRange = require_formatText.context_default.activeRange;
|
|
270
|
+
if (activeRange) {
|
|
271
|
+
activeRange.animations ??= /* @__PURE__ */ new Set();
|
|
272
|
+
activeRange.animations.add(animation);
|
|
273
|
+
await animation.finished;
|
|
274
|
+
activeRange.animations.delete(animation);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
//#endregion
|
|
279
|
+
//#region src/render/isFragmentNode.ts
|
|
313
280
|
function isFragmentNode(node) {
|
|
314
|
-
|
|
281
|
+
return node.nodeType === 11;
|
|
315
282
|
}
|
|
316
283
|
|
|
317
|
-
|
|
284
|
+
//#endregion
|
|
285
|
+
//#region src/render/addFragment.ts
|
|
318
286
|
function addFragment(fragment, parent, before, endNode) {
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
if (animation.out) {
|
|
360
|
-
return () => {
|
|
361
|
-
animate(animation.el, false, animation.out.keyframes, animation.out.options);
|
|
362
|
-
};
|
|
363
|
-
}
|
|
364
|
-
});
|
|
365
|
-
}
|
|
366
|
-
context_default.stashedAnimations.length = 0;
|
|
367
|
-
context_default.activeRange = range;
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
// src/render/applyProps.ts
|
|
287
|
+
const range = require_formatText.context_default.activeRange;
|
|
288
|
+
const hydrationNode = require_formatText.context_default.hydrationNode;
|
|
289
|
+
if (hydrationNode !== null) range.endNode = endNode ?? hydrationNode;
|
|
290
|
+
else {
|
|
291
|
+
range.startNode = fragment.firstChild;
|
|
292
|
+
range.endNode = fragment.lastChild;
|
|
293
|
+
}
|
|
294
|
+
parent = before?.parentNode ?? parent;
|
|
295
|
+
if (hydrationNode === null) parent.insertBefore(fragment, before);
|
|
296
|
+
if (!isFragmentNode(parent)) {
|
|
297
|
+
if (hydrationNode === null) {
|
|
298
|
+
for (let effect of require_formatText.context_default.mountEffects) $run(effect);
|
|
299
|
+
require_formatText.context_default.mountEffects.length = 0;
|
|
300
|
+
}
|
|
301
|
+
for (let event of require_formatText.context_default.stashedEvents) {
|
|
302
|
+
require_formatText.context_default.activeRange = event.range;
|
|
303
|
+
$run(function addFragmentEvent() {
|
|
304
|
+
event.el.addEventListener(event.type, event.listener);
|
|
305
|
+
return () => {
|
|
306
|
+
event.el.removeEventListener(event.type, event.listener);
|
|
307
|
+
};
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
require_formatText.context_default.stashedEvents.length = 0;
|
|
311
|
+
for (let animation of require_formatText.context_default.stashedAnimations) {
|
|
312
|
+
require_formatText.context_default.activeRange = animation.range;
|
|
313
|
+
$run(function addFragmentAnimation() {
|
|
314
|
+
if (animation.in !== void 0) animate(animation.el, true, animation.in.keyframes, animation.in.options);
|
|
315
|
+
if (animation.out !== void 0) return () => {
|
|
316
|
+
animate(animation.el, false, animation.out.keyframes, animation.out.options);
|
|
317
|
+
};
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
require_formatText.context_default.stashedAnimations.length = 0;
|
|
321
|
+
require_formatText.context_default.activeRange = range;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
//#endregion
|
|
326
|
+
//#region src/render/applyProps.ts
|
|
372
327
|
function applyProps(el, props, propNamesUsed) {
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
// src/render/buildClasses.ts
|
|
390
|
-
function buildClasses(value, styleHash) {
|
|
391
|
-
if (typeof value === "string") {
|
|
392
|
-
if (styleHash) {
|
|
393
|
-
value += " " + styleHash;
|
|
394
|
-
}
|
|
395
|
-
return value;
|
|
396
|
-
} else {
|
|
397
|
-
let classes = [];
|
|
398
|
-
gatherNames("", value, classes);
|
|
399
|
-
if (styleHash) {
|
|
400
|
-
classes.push(styleHash);
|
|
401
|
-
}
|
|
402
|
-
return classes.join(" ");
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
function gatherNames(name, value, classes) {
|
|
406
|
-
if (value) {
|
|
407
|
-
if (Array.isArray(value)) {
|
|
408
|
-
for (let v of value) {
|
|
409
|
-
gatherNames(v, v, classes);
|
|
410
|
-
}
|
|
411
|
-
} else if (typeof value === "object") {
|
|
412
|
-
for (let [n, v] of Object.entries(value)) {
|
|
413
|
-
gatherNames(n, v, classes);
|
|
414
|
-
}
|
|
415
|
-
} else {
|
|
416
|
-
classes.push(name);
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
// src/render/buildStyles.ts
|
|
422
|
-
function buildStyles(value) {
|
|
423
|
-
if (typeof value === "string") {
|
|
424
|
-
return value;
|
|
425
|
-
} else {
|
|
426
|
-
let styles = [];
|
|
427
|
-
if (value) {
|
|
428
|
-
if (Array.isArray(value)) {
|
|
429
|
-
for (let v of value) {
|
|
430
|
-
styles.push(v);
|
|
431
|
-
}
|
|
432
|
-
} else if (typeof value === "object") {
|
|
433
|
-
for (let [n, v] of Object.entries(value)) {
|
|
434
|
-
styles.push(`${n}: ${v}`);
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
return styles.join("; ");
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
// src/render/clearRange.ts
|
|
328
|
+
if (props !== void 0) {
|
|
329
|
+
for (let [name, value] of Object.entries(props)) if (!propNamesUsed.includes(name)) if (name.startsWith("on")) {
|
|
330
|
+
const eventName = name.substring(2);
|
|
331
|
+
el.addEventListener(eventName, value);
|
|
332
|
+
} else $run(function setAttribute$1() {
|
|
333
|
+
el.setAttribute(name, value);
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
//#endregion
|
|
339
|
+
//#region src/render/clearRange.ts
|
|
443
340
|
function clearRange(range) {
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
}
|
|
461
|
-
if (range.animations) {
|
|
462
|
-
for (let animation of range.animations) {
|
|
463
|
-
animations.push(animation);
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
if (range.children) {
|
|
467
|
-
for (let child of range.children) {
|
|
468
|
-
clearEffects(child, animations);
|
|
469
|
-
}
|
|
470
|
-
range.children.length = 0;
|
|
471
|
-
}
|
|
341
|
+
let animations = range.animations !== null ? Array.from(range.animations) : void 0;
|
|
342
|
+
let childRange = range.nextRange;
|
|
343
|
+
while (childRange !== null && childRange.depth > range.depth) {
|
|
344
|
+
if (childRange.animations !== null) {
|
|
345
|
+
animations ??= [];
|
|
346
|
+
animations.push(...childRange.animations);
|
|
347
|
+
}
|
|
348
|
+
releaseRange(childRange);
|
|
349
|
+
childRange.depth = -2;
|
|
350
|
+
childRange = childRange.nextRange;
|
|
351
|
+
}
|
|
352
|
+
range.nextRange = childRange;
|
|
353
|
+
if (range.previousRange !== null) range.previousRange.nextRange = range.nextRange;
|
|
354
|
+
if (range.nextRange !== null) range.nextRange.previousRange = range.previousRange;
|
|
355
|
+
if (animations !== void 0) Promise.all(animations.map((a) => a.finished)).then(() => clearNodes(range));
|
|
356
|
+
else clearNodes(range);
|
|
472
357
|
}
|
|
473
358
|
function clearNodes(range) {
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
359
|
+
if (range.startNode !== null && range.endNode !== null) {
|
|
360
|
+
let currentNode = range.endNode;
|
|
361
|
+
while (currentNode !== range.startNode) {
|
|
362
|
+
let previousNode = currentNode.previousSibling;
|
|
363
|
+
currentNode.remove();
|
|
364
|
+
currentNode = previousNode;
|
|
365
|
+
}
|
|
366
|
+
currentNode.remove();
|
|
367
|
+
}
|
|
368
|
+
releaseRange(range);
|
|
369
|
+
}
|
|
370
|
+
function releaseRange(range) {
|
|
371
|
+
range.startNode = null;
|
|
372
|
+
range.endNode = null;
|
|
373
|
+
range.previousRange = null;
|
|
374
|
+
range.nextRange = null;
|
|
375
|
+
range.animations = null;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
//#endregion
|
|
379
|
+
//#region src/render/clearLayoutSlot.ts
|
|
491
380
|
function clearLayoutSlot(range) {
|
|
492
|
-
|
|
381
|
+
clearRange(range);
|
|
493
382
|
}
|
|
494
383
|
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
384
|
+
//#endregion
|
|
385
|
+
//#region src/render/newRange.ts
|
|
386
|
+
function newRange(name) {
|
|
387
|
+
return {
|
|
388
|
+
startNode: null,
|
|
389
|
+
endNode: null,
|
|
390
|
+
previousRange: null,
|
|
391
|
+
nextRange: null,
|
|
392
|
+
depth: -1,
|
|
393
|
+
animations: null,
|
|
394
|
+
name
|
|
395
|
+
};
|
|
505
396
|
}
|
|
506
397
|
|
|
507
|
-
|
|
398
|
+
//#endregion
|
|
399
|
+
//#region src/render/popRange.ts
|
|
508
400
|
function popRange(oldRange) {
|
|
509
|
-
|
|
401
|
+
require_formatText.context_default.activeRange = oldRange;
|
|
510
402
|
}
|
|
511
403
|
|
|
512
|
-
|
|
404
|
+
//#endregion
|
|
405
|
+
//#region src/render/pushRange.ts
|
|
513
406
|
function pushRange(range, toParent = false) {
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
407
|
+
const activeRange = require_formatText.context_default.activeRange;
|
|
408
|
+
if (toParent) {
|
|
409
|
+
const previousRange = require_formatText.context_default.previousRange;
|
|
410
|
+
range.previousRange = previousRange;
|
|
411
|
+
const nextRange = previousRange.nextRange;
|
|
412
|
+
previousRange.nextRange = range;
|
|
413
|
+
range.nextRange = nextRange;
|
|
414
|
+
range.depth = activeRange.depth + 1;
|
|
415
|
+
}
|
|
416
|
+
require_formatText.context_default.activeRange = range;
|
|
417
|
+
require_formatText.context_default.previousRange = range;
|
|
418
|
+
return activeRange;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
//#endregion
|
|
422
|
+
//#region src/render/fillLayoutSlot.ts
|
|
523
423
|
function fillLayoutSlot(component, slot, parent, anchor, $props, $context) {
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
popRange(oldRange);
|
|
530
|
-
return range;
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
// src/render/formatText.ts
|
|
534
|
-
function formatText(value) {
|
|
535
|
-
return value ?? "";
|
|
424
|
+
const range = newRange();
|
|
425
|
+
const oldRange = pushRange(range);
|
|
426
|
+
component(parent, anchor, $props, $context, { _: slot });
|
|
427
|
+
popRange(oldRange);
|
|
428
|
+
return range;
|
|
536
429
|
}
|
|
537
430
|
|
|
538
|
-
|
|
431
|
+
//#endregion
|
|
432
|
+
//#region src/render/getFragment.ts
|
|
539
433
|
function getFragment(document, array, index, html, ns) {
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
434
|
+
if (array[index] === void 0) if (ns === true) {
|
|
435
|
+
const template = document.createElementNS("http://www.w3.org/2000/svg", "template");
|
|
436
|
+
template.innerHTML = html;
|
|
437
|
+
const fragment = new DocumentFragment();
|
|
438
|
+
fragment.append(...template.childNodes);
|
|
439
|
+
array[index] = fragment;
|
|
440
|
+
} else {
|
|
441
|
+
const template = document.createElement("template");
|
|
442
|
+
template.innerHTML = html;
|
|
443
|
+
array[index] = template.content;
|
|
444
|
+
}
|
|
445
|
+
return array[index].cloneNode(true);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
//#endregion
|
|
449
|
+
//#region src/render/hydrate.ts
|
|
450
|
+
/**
|
|
451
|
+
* Hydrates a component into an existing DOM tree
|
|
452
|
+
* @param parent The parent node
|
|
453
|
+
* @param component The component to mount
|
|
454
|
+
* @param props An object containing component props
|
|
455
|
+
*/
|
|
558
456
|
function hydrate(parent, component, props, slots) {
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
457
|
+
require_formatText.context_default.hydrationNode = parent.firstChild;
|
|
458
|
+
require_formatText.context_default.rootRange = newRange();
|
|
459
|
+
require_formatText.context_default.previousRange = require_formatText.context_default.rootRange;
|
|
460
|
+
pushRange(require_formatText.context_default.rootRange);
|
|
461
|
+
component(parent, null, props, void 0, slots);
|
|
462
|
+
require_formatText.context_default.hydrationNode = null;
|
|
463
|
+
for (let effect of require_formatText.context_default.mountEffects) $run(effect);
|
|
464
|
+
require_formatText.context_default.mountEffects.length = 0;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
//#endregion
|
|
468
|
+
//#region src/render/mount.ts
|
|
469
|
+
/**
|
|
470
|
+
* Mounts a component into a DOM node
|
|
471
|
+
*
|
|
472
|
+
* @param parent The node to mount the component into
|
|
473
|
+
* @param component The component to mount
|
|
474
|
+
* @param props An object containing component props
|
|
475
|
+
*/
|
|
569
476
|
function mount(parent, component, props, slots) {
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
component(parent, null, props, void 0, slots);
|
|
477
|
+
if (parent.childElementCount > 0) throw new Error("The parent node must have no child elements");
|
|
478
|
+
while (parent.firstChild !== null) parent.firstChild.remove();
|
|
479
|
+
require_formatText.context_default.rootRange = newRange();
|
|
480
|
+
require_formatText.context_default.previousRange = require_formatText.context_default.rootRange;
|
|
481
|
+
pushRange(require_formatText.context_default.rootRange);
|
|
482
|
+
component(parent, null, props, void 0, slots);
|
|
577
483
|
}
|
|
578
484
|
|
|
579
|
-
|
|
485
|
+
//#endregion
|
|
486
|
+
//#region src/render/newListItem.ts
|
|
580
487
|
function newListItem(data, key) {
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
}
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
488
|
+
return {
|
|
489
|
+
startNode: null,
|
|
490
|
+
endNode: null,
|
|
491
|
+
previousRange: null,
|
|
492
|
+
nextRange: null,
|
|
493
|
+
depth: -1,
|
|
494
|
+
animations: null,
|
|
495
|
+
data,
|
|
496
|
+
key
|
|
497
|
+
};
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
//#endregion
|
|
501
|
+
//#region src/render/hydrationMarkers.ts
|
|
502
|
+
const HYDRATION_START = "[";
|
|
503
|
+
const HYDRATION_END = "]";
|
|
504
|
+
const HYDRATION_BREAK = "^";
|
|
505
|
+
|
|
506
|
+
//#endregion
|
|
507
|
+
//#region src/render/isCommentNode.ts
|
|
599
508
|
function isCommentNode(node) {
|
|
600
|
-
|
|
509
|
+
return node.nodeType === 8;
|
|
601
510
|
}
|
|
602
511
|
|
|
603
|
-
|
|
512
|
+
//#endregion
|
|
513
|
+
//#region src/render/isTextNode.ts
|
|
604
514
|
function isTextNode(node) {
|
|
605
|
-
|
|
606
|
-
}
|
|
607
|
-
|
|
608
|
-
|
|
515
|
+
return node.nodeType === 3;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
//#endregion
|
|
519
|
+
//#region src/render/nodeCheckHydrationBreak.ts
|
|
520
|
+
/**
|
|
521
|
+
* When hydrating, removes and skips hydration comments that are inserted at the
|
|
522
|
+
* start of branches and used to split up text nodes that would otherwise be
|
|
523
|
+
* joined in HTML.
|
|
524
|
+
*
|
|
525
|
+
* @param node The node to check and maybe skip.
|
|
526
|
+
* @returns The next node.
|
|
527
|
+
*/
|
|
609
528
|
function nodeCheckHydrationBreak(node) {
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
}
|
|
620
|
-
|
|
621
|
-
|
|
529
|
+
if (require_formatText.context_default.hydrationNode !== null) {
|
|
530
|
+
if (node !== null && isCommentNode(node) && node.data === HYDRATION_BREAK) {
|
|
531
|
+
let comment = node;
|
|
532
|
+
node = node.nextSibling;
|
|
533
|
+
comment.remove();
|
|
534
|
+
}
|
|
535
|
+
require_formatText.context_default.hydrationNode = node;
|
|
536
|
+
}
|
|
537
|
+
return node;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
//#endregion
|
|
541
|
+
//#region src/render/nodeNext.ts
|
|
542
|
+
/**
|
|
543
|
+
* Gets the next sibling of a node.
|
|
544
|
+
*
|
|
545
|
+
* When hydrating, sets the hydration node.
|
|
546
|
+
*
|
|
547
|
+
* @param node The node.
|
|
548
|
+
* @param text Whether we require a text node.
|
|
549
|
+
*/
|
|
622
550
|
function nodeNext(node, text = false) {
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
551
|
+
if (require_formatText.context_default.hydrationNode !== null && text && isTextNode(node)) return node;
|
|
552
|
+
return nodeCheckHydrationBreak(node.nextSibling);
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
//#endregion
|
|
556
|
+
//#region src/render/nodeAnchor.ts
|
|
557
|
+
/**
|
|
558
|
+
* Gets the anchor node for a control statement or component.
|
|
559
|
+
*
|
|
560
|
+
* When mounting, this just returns the anchor node parameter (because it was
|
|
561
|
+
* created).
|
|
562
|
+
*
|
|
563
|
+
* When hydrating, there should be matched <![> and <!]> comments in the HTML,
|
|
564
|
+
* and the anchor node should be after the end comment. The matched comment
|
|
565
|
+
* nodes will be deleted, and the hydration node set to the first node inside
|
|
566
|
+
* the matched comments.
|
|
567
|
+
*
|
|
568
|
+
* @param node The potential anchor node.
|
|
569
|
+
* @returns The anchor node.
|
|
570
|
+
*/
|
|
631
571
|
function nodeAnchor(node) {
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
572
|
+
if (require_formatText.context_default.hydrationNode !== null) {
|
|
573
|
+
if (isCommentNode(node) && node.data === HYDRATION_START) {
|
|
574
|
+
let currentNode = nodeNext(node);
|
|
575
|
+
node.remove();
|
|
576
|
+
let level = 1;
|
|
577
|
+
while (currentNode !== null) {
|
|
578
|
+
if (isCommentNode(currentNode)) {
|
|
579
|
+
if (currentNode.data === HYDRATION_START) level += 1;
|
|
580
|
+
else if (currentNode.data === HYDRATION_END) {
|
|
581
|
+
level -= 1;
|
|
582
|
+
if (level === 0) {
|
|
583
|
+
const endNode = currentNode.nextSibling;
|
|
584
|
+
currentNode.remove();
|
|
585
|
+
if (require_formatText.context_default.hydrationNode === currentNode) require_formatText.context_default.hydrationNode = endNode;
|
|
586
|
+
return endNode;
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
currentNode = currentNode.nextSibling;
|
|
591
|
+
}
|
|
592
|
+
if (currentNode === null) throw new Error("End hydration comment not found");
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
return node;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
//#endregion
|
|
599
|
+
//#region src/render/nodeChild.ts
|
|
600
|
+
/**
|
|
601
|
+
* Gets the first child of a node.
|
|
602
|
+
*
|
|
603
|
+
* Sets the hydration node.
|
|
604
|
+
*
|
|
605
|
+
* @param parent The parent node.
|
|
606
|
+
*/
|
|
664
607
|
function nodeChild(parent) {
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
608
|
+
let childNode = parent.firstChild;
|
|
609
|
+
if (require_formatText.context_default.hydrationNode !== null) {
|
|
610
|
+
if (childNode === null) childNode = parent.appendChild(parent.ownerDocument.createTextNode(""));
|
|
611
|
+
require_formatText.context_default.hydrationNode = childNode;
|
|
612
|
+
}
|
|
613
|
+
return childNode;
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
//#endregion
|
|
617
|
+
//#region src/render/nodeRoot.ts
|
|
618
|
+
/**
|
|
619
|
+
* Gets the first child in a fragment.
|
|
620
|
+
*
|
|
621
|
+
* When hydrating, also sets the active range's start node, while we have it.
|
|
622
|
+
*
|
|
623
|
+
* @param parent The parent of the fragment.
|
|
624
|
+
* @param text Whether we require a text node.
|
|
625
|
+
*/
|
|
676
626
|
function nodeRoot(parent, text = false) {
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
627
|
+
if (require_formatText.context_default.hydrationNode !== null) {
|
|
628
|
+
let rootNode = require_formatText.context_default.hydrationNode;
|
|
629
|
+
if (text && !isTextNode(rootNode) && rootNode.previousSibling !== null && isTextNode(rootNode.previousSibling)) {
|
|
630
|
+
rootNode = rootNode.previousSibling;
|
|
631
|
+
require_formatText.context_default.hydrationNode = rootNode;
|
|
632
|
+
}
|
|
633
|
+
if (isCommentNode(rootNode) && rootNode.data === HYDRATION_START) {
|
|
634
|
+
rootNode = rootNode.nextSibling;
|
|
635
|
+
require_formatText.context_default.hydrationNode = rootNode;
|
|
636
|
+
}
|
|
637
|
+
const range = require_formatText.context_default.activeRange;
|
|
638
|
+
if (range.startNode === null) range.startNode = rootNode;
|
|
639
|
+
return rootNode;
|
|
640
|
+
} else return parent.firstChild;
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
//#endregion
|
|
644
|
+
//#region src/render/nodeSkip.ts
|
|
645
|
+
/**
|
|
646
|
+
* Gets the sibling of a node, x nodes after it.
|
|
647
|
+
*
|
|
648
|
+
* When hydrating, sets the hydration node.
|
|
649
|
+
*
|
|
650
|
+
* @param node The node.
|
|
651
|
+
* @param count The number of nodes to skip.
|
|
652
|
+
*/
|
|
698
653
|
function nodeSkip(node, count) {
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
}
|
|
703
|
-
return nextNode;
|
|
654
|
+
let nextNode = node;
|
|
655
|
+
for (let i = 0; i < count; i++) nextNode = nodeCheckHydrationBreak(nextNode.nextSibling);
|
|
656
|
+
return nextNode;
|
|
704
657
|
}
|
|
705
658
|
|
|
706
|
-
|
|
659
|
+
//#endregion
|
|
660
|
+
//#region src/render/runControl.ts
|
|
661
|
+
/**
|
|
662
|
+
* Runs an`if`, `switch` or `await` control statement
|
|
663
|
+
* @param create A function that creates the control statement's branches
|
|
664
|
+
*/
|
|
707
665
|
function runControl(range, anchor, create) {
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
const oldRange = pushRange(newRange(), true);
|
|
731
|
-
const oldEffect = context_default.activeEffect;
|
|
732
|
-
context_default.activeEffect = null;
|
|
733
|
-
create();
|
|
734
|
-
context_default.activeEffect = oldEffect;
|
|
735
|
-
popRange(oldRange);
|
|
736
|
-
range.index = index;
|
|
737
|
-
}
|
|
738
|
-
|
|
739
|
-
// src/render/moveRange.ts
|
|
666
|
+
const oldRange = pushRange(range, true);
|
|
667
|
+
$run(function runControl$1() {
|
|
668
|
+
const oldBranchRange = pushRange(range);
|
|
669
|
+
create(anchor);
|
|
670
|
+
popRange(oldBranchRange);
|
|
671
|
+
});
|
|
672
|
+
if (require_formatText.context_default.hydrationNode) anchor = require_formatText.context_default.hydrationNode.nextSibling;
|
|
673
|
+
popRange(oldRange);
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
//#endregion
|
|
677
|
+
//#region src/render/runControlBranch.ts
|
|
678
|
+
function runControlBranch(range, create) {
|
|
679
|
+
if (range.depth === -2) return;
|
|
680
|
+
if (range.nextRange !== null && range.nextRange.depth > range.depth) clearRange(range.nextRange);
|
|
681
|
+
const oldRange = pushRange(newRange(), true);
|
|
682
|
+
create();
|
|
683
|
+
popRange(oldRange);
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
//#endregion
|
|
687
|
+
//#region src/render/moveRange.ts
|
|
740
688
|
function moveRange(parent, range, before) {
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
if (context_default.hydrationNode) {
|
|
870
|
-
anchor = context_default.hydrationNode.nextSibling;
|
|
871
|
-
}
|
|
872
|
-
popRange(oldRange);
|
|
873
|
-
}
|
|
874
|
-
|
|
875
|
-
// src/render/setAttribute.ts
|
|
689
|
+
parent = before?.parentNode ?? parent;
|
|
690
|
+
const endNode = range.endNode ?? range.startNode;
|
|
691
|
+
let currentNode = range.startNode;
|
|
692
|
+
while (currentNode !== null) {
|
|
693
|
+
const nextNode = currentNode.nextSibling;
|
|
694
|
+
parent.insertBefore(currentNode, before);
|
|
695
|
+
if (currentNode === endNode) break;
|
|
696
|
+
currentNode = nextNode;
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
//#endregion
|
|
701
|
+
//#region src/render/runListItems.ts
|
|
702
|
+
/**
|
|
703
|
+
* @param range The list's range
|
|
704
|
+
* @param parent The parent DOM element
|
|
705
|
+
* @param anchor The DOM element to create new items before
|
|
706
|
+
* @param oldItems The list of current items
|
|
707
|
+
* @param newItems The list of future items
|
|
708
|
+
* @param create A function that creates the DOM elements for a new item
|
|
709
|
+
*/
|
|
710
|
+
function runListItems(range, parent, anchor, oldItems, newItems, create, update) {
|
|
711
|
+
let oldStartIndex = 0;
|
|
712
|
+
let oldEndIndex = oldItems.length - 1;
|
|
713
|
+
let oldStartItem = oldItems[0];
|
|
714
|
+
let oldEndItem = oldItems[oldEndIndex];
|
|
715
|
+
let newStartIndex = 0;
|
|
716
|
+
let newEndIndex = newItems.length - 1;
|
|
717
|
+
let newStartItem = newItems[0];
|
|
718
|
+
let newEndItem = newItems[newEndIndex];
|
|
719
|
+
let oldKeyToIndex;
|
|
720
|
+
let newKeyToIndex;
|
|
721
|
+
while (oldStartIndex <= oldEndIndex && newStartIndex <= newEndIndex) if (oldStartItem === null) oldStartItem = oldItems[++oldStartIndex];
|
|
722
|
+
else if (oldEndItem === null) oldEndItem = oldItems[--oldEndIndex];
|
|
723
|
+
else if (newStartItem === null) newStartItem = newItems[++newStartIndex];
|
|
724
|
+
else if (newEndItem === null) newEndItem = newItems[--newEndIndex];
|
|
725
|
+
else if (oldStartItem.key === newStartItem.key) {
|
|
726
|
+
transferListItemData(oldStartItem, newStartItem, update);
|
|
727
|
+
oldStartItem = oldItems[++oldStartIndex];
|
|
728
|
+
newStartItem = newItems[++newStartIndex];
|
|
729
|
+
} else if (oldEndItem.key === newEndItem.key) {
|
|
730
|
+
transferListItemData(oldEndItem, newEndItem, update);
|
|
731
|
+
oldEndItem = oldItems[--oldEndIndex];
|
|
732
|
+
newEndItem = newItems[--newEndIndex];
|
|
733
|
+
} else if (oldStartItem.key === newEndItem.key) {
|
|
734
|
+
moveRange(parent, oldStartItem, oldEndItem.endNode.nextSibling);
|
|
735
|
+
transferListItemData(oldStartItem, newEndItem, update);
|
|
736
|
+
oldStartItem = oldItems[++oldStartIndex];
|
|
737
|
+
newEndItem = newItems[--newEndIndex];
|
|
738
|
+
} else if (oldEndItem.key === newStartItem.key) {
|
|
739
|
+
moveRange(parent, oldEndItem, oldStartItem.startNode);
|
|
740
|
+
transferListItemData(oldEndItem, newStartItem, update);
|
|
741
|
+
oldEndItem = oldItems[--oldEndIndex];
|
|
742
|
+
newStartItem = newItems[++newStartIndex];
|
|
743
|
+
} else {
|
|
744
|
+
if (oldKeyToIndex === void 0 || newKeyToIndex === void 0) {
|
|
745
|
+
oldKeyToIndex = /* @__PURE__ */ new Map();
|
|
746
|
+
for (let i = oldStartIndex; i < oldEndIndex; i++) oldKeyToIndex.set(oldItems[i].key, i);
|
|
747
|
+
newKeyToIndex = /* @__PURE__ */ new Map();
|
|
748
|
+
for (let i = newStartIndex; i < newEndIndex; i++) newKeyToIndex.set(newItems[i].key, i);
|
|
749
|
+
}
|
|
750
|
+
let oldIndex = oldKeyToIndex.get(newStartItem.key);
|
|
751
|
+
let newIndex = newKeyToIndex.get(oldStartItem.key);
|
|
752
|
+
if (oldIndex === void 0 && newIndex === void 0) {
|
|
753
|
+
newStartItem.data = $watch(newStartItem.data, { shallow: true });
|
|
754
|
+
create(newStartItem, oldStartItem.startNode);
|
|
755
|
+
newStartItem.previousRange = oldStartItem.previousRange;
|
|
756
|
+
newStartItem.nextRange = oldStartItem;
|
|
757
|
+
oldStartItem.previousRange = newStartItem;
|
|
758
|
+
clearRange(oldStartItem);
|
|
759
|
+
oldStartItem = oldItems[++oldStartIndex];
|
|
760
|
+
newStartItem = newItems[++newStartIndex];
|
|
761
|
+
} else if (oldIndex === void 0) {
|
|
762
|
+
newStartItem.data = $watch(newStartItem.data, { shallow: true });
|
|
763
|
+
create(newStartItem, oldStartItem.startNode);
|
|
764
|
+
newStartItem = newItems[++newStartIndex];
|
|
765
|
+
} else if (newIndex === void 0) {
|
|
766
|
+
clearRange(oldStartItem);
|
|
767
|
+
oldStartItem = oldItems[++oldStartIndex];
|
|
768
|
+
} else {
|
|
769
|
+
const oldData = oldItems[oldIndex];
|
|
770
|
+
moveRange(parent, oldData, oldStartItem.startNode);
|
|
771
|
+
transferListItemData(oldData, newStartItem, update);
|
|
772
|
+
oldItems[oldIndex] = null;
|
|
773
|
+
newStartItem = newItems[++newStartIndex];
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
if (oldStartIndex <= oldEndIndex || newStartIndex <= newEndIndex) if (oldStartIndex > oldEndIndex) {
|
|
777
|
+
let before = oldStartItem?.startNode ?? oldItems[oldItems.length - 1]?.endNode?.nextSibling ?? anchor;
|
|
778
|
+
for (; newStartIndex <= newEndIndex; newStartItem = newItems[++newStartIndex]) {
|
|
779
|
+
newStartItem.data = $watch(newStartItem.data, { shallow: true });
|
|
780
|
+
create(newStartItem, before);
|
|
781
|
+
before = newStartItem.endNode.nextSibling;
|
|
782
|
+
}
|
|
783
|
+
} else for (; oldEndIndex >= oldStartIndex; oldStartItem = oldItems[oldEndIndex--]) clearRange(oldStartItem);
|
|
784
|
+
if (newItems.length > 0) range.nextRange = newItems[0];
|
|
785
|
+
else if (oldItems.length > 0) range.nextRange = oldItems[oldItems.length - 1].nextRange;
|
|
786
|
+
}
|
|
787
|
+
function transferListItemData(oldItem, newItem, update) {
|
|
788
|
+
newItem.startNode = oldItem.startNode;
|
|
789
|
+
newItem.endNode = oldItem.endNode;
|
|
790
|
+
update(oldItem, newItem);
|
|
791
|
+
newItem.data = oldItem.data;
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
//#endregion
|
|
795
|
+
//#region src/render/runList.ts
|
|
796
|
+
/**
|
|
797
|
+
* Runs a `for` control statement
|
|
798
|
+
* @param create A function that creates the control statement's branches
|
|
799
|
+
*/
|
|
800
|
+
function runList(range, parent, anchor, buildItems, create, update) {
|
|
801
|
+
const oldRange = pushRange(range, true);
|
|
802
|
+
let listItems = [];
|
|
803
|
+
$run(function runList$1() {
|
|
804
|
+
const oldBranchRange = pushRange(range);
|
|
805
|
+
const newItems = buildItems();
|
|
806
|
+
require_formatText.context_default.activeTarget = null;
|
|
807
|
+
runListItems(range, parent, anchor, listItems, newItems, create, update);
|
|
808
|
+
listItems = newItems;
|
|
809
|
+
popRange(oldBranchRange);
|
|
810
|
+
});
|
|
811
|
+
if (require_formatText.context_default.hydrationNode !== null) anchor = require_formatText.context_default.hydrationNode.nextSibling;
|
|
812
|
+
popRange(oldRange);
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
//#endregion
|
|
816
|
+
//#region src/render/setAttribute.ts
|
|
876
817
|
function setAttribute(el, name, value) {
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
} else {
|
|
880
|
-
el.setAttribute(name, value);
|
|
881
|
-
}
|
|
818
|
+
if (value === false || value === void 0 || value === null) el.removeAttribute(name);
|
|
819
|
+
else el.setAttribute(name, value);
|
|
882
820
|
}
|
|
883
821
|
|
|
884
|
-
|
|
822
|
+
//#endregion
|
|
823
|
+
//#region src/render/setDynamicElement.ts
|
|
885
824
|
function setDynamicElement(el, tag) {
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
825
|
+
if (require_formatText.context_default.hydrationNode !== null) return el;
|
|
826
|
+
let newElement = el.ownerDocument.createElement(tag);
|
|
827
|
+
el.replaceWith(newElement);
|
|
828
|
+
return newElement;
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
//#endregion
|
|
832
|
+
//#region src/wrappers/ReactiveDate.ts
|
|
833
|
+
let initialized = false;
|
|
834
|
+
/**
|
|
835
|
+
* Wraps a Date object for $watching.
|
|
836
|
+
*/
|
|
837
|
+
var ReactiveDate = class ReactiveDate extends Date {
|
|
838
|
+
constructor(...params) {
|
|
839
|
+
super(...params);
|
|
840
|
+
if (!initialized) this.#init();
|
|
841
|
+
this[proxyHandledSymbol] = true;
|
|
842
|
+
this[proxyDataSymbol] = {
|
|
843
|
+
target: this,
|
|
844
|
+
isArray: false,
|
|
845
|
+
shallow: true,
|
|
846
|
+
signals: /* @__PURE__ */ new Map()
|
|
847
|
+
};
|
|
848
|
+
}
|
|
849
|
+
#init() {
|
|
850
|
+
initialized = true;
|
|
851
|
+
let reactivePrototype = ReactiveDate.prototype;
|
|
852
|
+
let datePrototype = Date.prototype;
|
|
853
|
+
const methods = Object.getOwnPropertyNames(datePrototype);
|
|
854
|
+
for (const method of methods) {
|
|
855
|
+
if (method.startsWith("get") || method.startsWith("to") || method === "valueOf") reactivePrototype[method] = function(...args) {
|
|
856
|
+
const data = this[proxyDataSymbol];
|
|
857
|
+
const result = datePrototype[method].apply(this, args);
|
|
858
|
+
trackProxyEffect(data, "#time");
|
|
859
|
+
return result;
|
|
860
|
+
};
|
|
861
|
+
if (method.startsWith("set")) reactivePrototype[method] = function(...args) {
|
|
862
|
+
const data = this[proxyDataSymbol];
|
|
863
|
+
const result = datePrototype[method].apply(this, args);
|
|
864
|
+
updateSignal(data, "#time");
|
|
865
|
+
return result;
|
|
866
|
+
};
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
};
|
|
870
|
+
|
|
871
|
+
//#endregion
|
|
872
|
+
exports.$batch = require_formatText.$batch;
|
|
873
|
+
exports.$cache = require_formatText.$cache;
|
|
874
|
+
exports.$mount = $mount;
|
|
875
|
+
exports.$peek = require_formatText.$peek;
|
|
876
|
+
exports.$run = $run;
|
|
877
|
+
exports.$unwrap = $unwrap;
|
|
878
|
+
exports.$watch = $watch;
|
|
879
|
+
exports.ReactiveDate = ReactiveDate;
|
|
880
|
+
exports.clearLayoutSlot = clearLayoutSlot;
|
|
881
|
+
exports.fillLayoutSlot = fillLayoutSlot;
|
|
882
|
+
exports.hydrate = hydrate;
|
|
883
|
+
exports.mount = mount;
|
|
884
|
+
exports.t_add_fragment = addFragment;
|
|
885
|
+
exports.t_anchor = nodeAnchor;
|
|
886
|
+
exports.t_animate = addAnimation;
|
|
887
|
+
exports.t_apply_props = applyProps;
|
|
888
|
+
exports.t_attribute = setAttribute;
|
|
889
|
+
exports.t_child = nodeChild;
|
|
890
|
+
exports.t_class = require_formatText.buildClasses;
|
|
891
|
+
exports.t_dynamic = setDynamicElement;
|
|
892
|
+
exports.t_event = addEvent;
|
|
893
|
+
exports.t_fmt = require_formatText.formatText;
|
|
894
|
+
exports.t_fragment = getFragment;
|
|
895
|
+
exports.t_list_item = newListItem;
|
|
896
|
+
exports.t_next = nodeNext;
|
|
897
|
+
exports.t_pop_range = popRange;
|
|
898
|
+
exports.t_push_range = pushRange;
|
|
899
|
+
exports.t_range = newRange;
|
|
900
|
+
exports.t_root = nodeRoot;
|
|
901
|
+
exports.t_run_branch = runControlBranch;
|
|
902
|
+
exports.t_run_control = runControl;
|
|
903
|
+
exports.t_run_list = runList;
|
|
904
|
+
exports.t_skip = nodeSkip;
|
|
905
|
+
exports.t_style = require_formatText.buildStyles;
|
|
926
906
|
//# sourceMappingURL=index.cjs.map
|