marko 5.37.5 → 6.0.0-3.11
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/dist/common/attr-tag.d.ts +8 -0
- package/dist/common/compat-meta.d.ts +2 -0
- package/dist/common/for.d.ts +5 -0
- package/dist/common/helpers.d.ts +7 -0
- package/dist/common/meta.d.ts +2 -0
- package/dist/common/types.d.ts +105 -0
- package/dist/debug/dom.js +2111 -0
- package/dist/debug/dom.mjs +2088 -0
- package/dist/debug/html.js +2740 -0
- package/dist/debug/html.mjs +2663 -0
- package/dist/dom/abort-signal.d.ts +3 -0
- package/dist/dom/compat.d.ts +20 -0
- package/dist/dom/control-flow.d.ts +14 -0
- package/dist/dom/controllable.d.ts +12 -0
- package/dist/dom/dom.d.ts +19 -0
- package/dist/dom/event.d.ts +4 -0
- package/dist/dom/parse-html.d.ts +5 -0
- package/dist/dom/queue.d.ts +10 -0
- package/dist/dom/reconcile.d.ts +2 -0
- package/dist/dom/renderer.d.ts +21 -0
- package/dist/dom/resolve-cursor-position.d.ts +1 -0
- package/dist/dom/resume.d.ts +9 -0
- package/dist/dom/schedule.d.ts +2 -0
- package/dist/dom/scope.d.ts +7 -0
- package/dist/dom/signals.d.ts +39 -0
- package/dist/dom/template.d.ts +3 -0
- package/dist/dom/walker.d.ts +4 -0
- package/dist/dom.d.ts +15 -0
- package/dist/dom.js +1370 -0
- package/dist/dom.mjs +1350 -0
- package/dist/html/attrs.d.ts +14 -0
- package/dist/html/compat.d.ts +14 -0
- package/dist/html/content.d.ts +5 -0
- package/dist/html/dynamic-tag.d.ts +12 -0
- package/dist/html/for.d.ts +4 -0
- package/dist/html/inlined-runtimes.d.ts +2 -0
- package/dist/html/serializer.d.ts +14 -0
- package/dist/html/template.d.ts +3 -0
- package/dist/html/writer.d.ts +114 -0
- package/dist/html.d.ts +9 -0
- package/dist/html.js +1818 -0
- package/dist/html.mjs +1744 -0
- package/dist/translator/core/attrs.d.ts +3 -0
- package/dist/translator/core/client.d.ts +14 -0
- package/dist/translator/core/const.d.ts +3 -0
- package/dist/translator/core/debug.d.ts +3 -0
- package/dist/translator/core/define.d.ts +3 -0
- package/dist/translator/core/effect.d.ts +3 -0
- package/dist/translator/core/export.d.ts +3 -0
- package/dist/translator/core/for.d.ts +67 -0
- package/dist/translator/core/html-comment.d.ts +12 -0
- package/dist/translator/core/html-script.d.ts +9 -0
- package/dist/translator/core/html-style.d.ts +9 -0
- package/dist/translator/core/id.d.ts +3 -0
- package/dist/translator/core/if.d.ts +53 -0
- package/dist/translator/core/import.d.ts +3 -0
- package/dist/translator/core/index.d.ts +152 -0
- package/dist/translator/core/let.d.ts +8 -0
- package/dist/translator/core/lifecycle.d.ts +10 -0
- package/dist/translator/core/log.d.ts +3 -0
- package/dist/translator/core/return.d.ts +6 -0
- package/dist/translator/core/script.d.ts +3 -0
- package/dist/translator/core/server.d.ts +14 -0
- package/dist/translator/core/static.d.ts +14 -0
- package/dist/translator/core/style.d.ts +3 -0
- package/dist/translator/index.d.ts +201 -0
- package/dist/translator/index.js +9134 -490
- package/dist/translator/util/assert.d.ts +3 -0
- package/dist/translator/util/binding-has-downstream-expressions.d.ts +2 -0
- package/dist/translator/util/entry-builder.d.ts +19 -0
- package/dist/translator/util/evaluate.d.ts +11 -0
- package/dist/translator/util/for-each-identifier.d.ts +2 -0
- package/dist/translator/util/get-defined-binding-expression.d.ts +3 -0
- package/dist/translator/util/get-known-attr-values.d.ts +2 -0
- package/dist/translator/util/get-parent-tag.d.ts +2 -0
- package/dist/translator/util/get-root.d.ts +7 -0
- package/dist/translator/util/get-tag-name.d.ts +2 -0
- package/dist/translator/util/is-core-tag.d.ts +10 -0
- package/dist/translator/util/is-stateful.d.ts +3 -0
- package/dist/translator/util/is-static.d.ts +2 -0
- package/dist/translator/util/marko-config.d.ts +4 -0
- package/dist/translator/util/nested-attribute-tags.d.ts +17 -0
- package/dist/translator/util/normalize-string-expression.d.ts +3 -0
- package/dist/translator/util/optional.d.ts +20 -0
- package/dist/translator/util/plugin-hooks.d.ts +4 -0
- package/dist/translator/util/references.d.ts +84 -0
- package/dist/translator/util/runtime-info.d.ts +5 -0
- package/dist/translator/util/runtime.d.ts +15 -0
- package/dist/translator/util/scope-read.d.ts +6 -0
- package/dist/translator/util/sections.d.ts +51 -0
- package/dist/translator/util/signals.d.ts +61 -0
- package/dist/translator/util/simplify-fn.d.ts +5 -0
- package/dist/translator/util/state.d.ts +3 -0
- package/dist/translator/util/tag-name-type.d.ts +16 -0
- package/dist/translator/util/to-first-expression-or-block.d.ts +3 -0
- package/dist/translator/util/to-first-statement-or-block.d.ts +2 -0
- package/dist/translator/util/to-property-name.d.ts +7 -0
- package/dist/translator/util/translate-attrs.d.ts +12 -0
- package/dist/translator/util/translate-var.d.ts +2 -0
- package/dist/translator/util/traverse.d.ts +9 -0
- package/dist/translator/util/visitors.d.ts +11 -0
- package/dist/translator/util/walks.d.ts +15 -0
- package/dist/translator/util/with-previous-location.d.ts +2 -0
- package/dist/translator/util/writer.d.ts +13 -0
- package/dist/translator/visitors/cdata.d.ts +7 -0
- package/dist/translator/visitors/comment.d.ts +7 -0
- package/dist/translator/visitors/declaration.d.ts +7 -0
- package/dist/translator/visitors/document-type.d.ts +7 -0
- package/dist/translator/visitors/function.d.ts +19 -0
- package/dist/translator/visitors/import-declaration.d.ts +8 -0
- package/dist/translator/visitors/placeholder.d.ts +22 -0
- package/dist/translator/visitors/program/dom.d.ts +7 -0
- package/dist/translator/visitors/program/html.d.ts +8 -0
- package/dist/translator/visitors/program/index.d.ts +39 -0
- package/dist/translator/visitors/referenced-identifier.d.ts +7 -0
- package/dist/translator/visitors/scriptlet.d.ts +8 -0
- package/dist/translator/visitors/tag/attribute-tag.d.ts +11 -0
- package/dist/translator/visitors/tag/custom-tag.d.ts +19 -0
- package/dist/translator/visitors/tag/dynamic-tag.d.ts +18 -0
- package/dist/translator/visitors/tag/index.d.ts +15 -0
- package/dist/translator/visitors/tag/native-tag.d.ts +25 -0
- package/dist/translator/visitors/text.d.ts +7 -0
- package/package.json +34 -70
- package/tag-types/const.d.marko +7 -0
- package/tag-types/debug.d.marko +5 -0
- package/tag-types/define.d.marko +5 -0
- package/tag-types/do.d.marko +5 -0
- package/tag-types/effect.d.marko +5 -0
- package/tag-types/id.d.marko +3 -0
- package/tag-types/let.d.marko +8 -0
- package/tag-types/lifecycle.d.marko +7 -0
- package/tag-types/log.d.marko +5 -0
- package/tag-types/script.d.marko +5 -0
- package/README.md +0 -161
- package/bin/markoc +0 -2
- package/bin/markoc.js +0 -441
- package/browser-refresh.js +0 -5
- package/compiler-browser.marko +0 -15
- package/compiler.js +0 -7
- package/components-browser.marko +0 -15
- package/components.js +0 -7
- package/dist/build.json +0 -3
- package/dist/compiler/config.js +0 -45
- package/dist/compiler/index.js +0 -164
- package/dist/compiler/modules.js +0 -5
- package/dist/core-tags/components/init-components-tag.js +0 -54
- package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
- package/dist/core-tags/components/preserve-tag.js +0 -1
- package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
- package/dist/core-tags/core/await/AsyncValue.js +0 -121
- package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
- package/dist/core-tags/core/await/index.d.marko +0 -10
- package/dist/core-tags/core/await/renderer.js +0 -249
- package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
- package/dist/index.js +0 -4
- package/dist/node-require/browser-refresh.js +0 -1
- package/dist/node-require/hot-reload.js +0 -45
- package/dist/node-require/index.js +0 -103
- package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
- package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
- package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
- package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
- package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
- package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
- package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
- package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
- package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
- package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
- package/dist/node_modules/@internal/components-entry/index.js +0 -301
- package/dist/node_modules/@internal/components-entry/package.json +0 -11
- package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
- package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
- package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
- package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
- package/dist/node_modules/@internal/components-registry/index.js +0 -44
- package/dist/node_modules/@internal/components-registry/package.json +0 -11
- package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
- package/dist/node_modules/@internal/components-util/index.js +0 -71
- package/dist/node_modules/@internal/components-util/package.json +0 -11
- package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
- package/dist/node_modules/@internal/create-readable/index.js +0 -57
- package/dist/node_modules/@internal/create-readable/package.json +0 -11
- package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
- package/dist/node_modules/@internal/loader/index-browser.js +0 -2
- package/dist/node_modules/@internal/loader/index.js +0 -23
- package/dist/node_modules/@internal/loader/package.json +0 -10
- package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
- package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
- package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
- package/dist/node_modules/@internal/require/index-browser.js +0 -15
- package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
- package/dist/node_modules/@internal/require/index-webpack.js +0 -16
- package/dist/node_modules/@internal/require/index.js +0 -15
- package/dist/node_modules/@internal/require/package.json +0 -11
- package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
- package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
- package/dist/node_modules/@internal/set-immediate/index.js +0 -3
- package/dist/node_modules/@internal/set-immediate/package.json +0 -11
- package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
- package/dist/runtime/RenderResult.js +0 -112
- package/dist/runtime/components/Component.js +0 -663
- package/dist/runtime/components/ComponentDef.js +0 -169
- package/dist/runtime/components/ComponentsContext.js +0 -59
- package/dist/runtime/components/GlobalComponentsContext.js +0 -10
- package/dist/runtime/components/KeySequence.js +0 -16
- package/dist/runtime/components/ServerComponent.js +0 -73
- package/dist/runtime/components/State.js +0 -101
- package/dist/runtime/components/attach-detach.js +0 -60
- package/dist/runtime/components/defineComponent.js +0 -60
- package/dist/runtime/components/dom-data.js +0 -8
- package/dist/runtime/components/event-delegation.js +0 -144
- package/dist/runtime/components/index.js +0 -1
- package/dist/runtime/components/legacy/browser.json +0 -9
- package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
- package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
- package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
- package/dist/runtime/components/legacy/dependencies/html.js +0 -3
- package/dist/runtime/components/legacy/dependencies/index.js +0 -177
- package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
- package/dist/runtime/components/legacy/index.js +0 -1
- package/dist/runtime/components/legacy/jquery.js +0 -52
- package/dist/runtime/components/legacy/ready.js +0 -152
- package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
- package/dist/runtime/components/registry.js +0 -1
- package/dist/runtime/components/renderer.js +0 -236
- package/dist/runtime/components/update-manager.js +0 -94
- package/dist/runtime/createOut.js +0 -13
- package/dist/runtime/dom-insert.js +0 -77
- package/dist/runtime/events.js +0 -2
- package/dist/runtime/helpers/_change-case.js +0 -45
- package/dist/runtime/helpers/assign.js +0 -21
- package/dist/runtime/helpers/attr-tag.js +0 -43
- package/dist/runtime/helpers/class-value.js +0 -30
- package/dist/runtime/helpers/dynamic-tag.js +0 -181
- package/dist/runtime/helpers/empty-component.js +0 -1
- package/dist/runtime/helpers/merge.js +0 -13
- package/dist/runtime/helpers/of-fallback.js +0 -4
- package/dist/runtime/helpers/render-tag.js +0 -20
- package/dist/runtime/helpers/serialize-noop.js +0 -5
- package/dist/runtime/helpers/style-value.js +0 -45
- package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
- package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
- package/dist/runtime/helpers/tags-compat/dom.js +0 -1
- package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
- package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
- package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
- package/dist/runtime/helpers/tags-compat/html.js +0 -3
- package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
- package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
- package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
- package/dist/runtime/helpers/to-string.js +0 -5
- package/dist/runtime/html/AsyncStream.js +0 -805
- package/dist/runtime/html/BufferedWriter.js +0 -52
- package/dist/runtime/html/StringWriter.js +0 -73
- package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
- package/dist/runtime/html/helpers/attr.js +0 -80
- package/dist/runtime/html/helpers/attrs.js +0 -26
- package/dist/runtime/html/helpers/class-attr.js +0 -8
- package/dist/runtime/html/helpers/data-marko.js +0 -36
- package/dist/runtime/html/helpers/escape-quotes.js +0 -35
- package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
- package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
- package/dist/runtime/html/helpers/escape-xml.js +0 -21
- package/dist/runtime/html/helpers/merge-attrs.js +0 -55
- package/dist/runtime/html/helpers/props-script.js +0 -32
- package/dist/runtime/html/helpers/style-attr.js +0 -8
- package/dist/runtime/html/hot-reload.js +0 -26
- package/dist/runtime/html/index.js +0 -33
- package/dist/runtime/html/marko-namespace.js +0 -3
- package/dist/runtime/renderable.js +0 -194
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
- package/dist/runtime/vdom/VComment.js +0 -24
- package/dist/runtime/vdom/VComponent.js +0 -17
- package/dist/runtime/vdom/VDocumentFragment.js +0 -34
- package/dist/runtime/vdom/VElement.js +0 -375
- package/dist/runtime/vdom/VFragment.js +0 -26
- package/dist/runtime/vdom/VNode.js +0 -100
- package/dist/runtime/vdom/VText.js +0 -25
- package/dist/runtime/vdom/helpers/attrs.js +0 -62
- package/dist/runtime/vdom/helpers/const-element.js +0 -25
- package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
- package/dist/runtime/vdom/hot-reload.js +0 -115
- package/dist/runtime/vdom/index.js +0 -30
- package/dist/runtime/vdom/is-text-only.js +0 -10
- package/dist/runtime/vdom/marko-namespace.js +0 -3
- package/dist/runtime/vdom/morphdom/fragment.js +0 -95
- package/dist/runtime/vdom/morphdom/helpers.js +0 -42
- package/dist/runtime/vdom/morphdom/index.js +0 -741
- package/dist/runtime/vdom/parse-html.js +0 -18
- package/dist/runtime/vdom/vdom.js +0 -88
- package/dist/taglib/index.js +0 -51
- package/dist/translator/cdata/index.js +0 -15
- package/dist/translator/cdata/index[html].js +0 -15
- package/dist/translator/cdata/index[vdom].js +0 -12
- package/dist/translator/class.js +0 -65
- package/dist/translator/comment/index.js +0 -15
- package/dist/translator/comment/index[html].js +0 -17
- package/dist/translator/comment/index[vdom].js +0 -3
- package/dist/translator/declaration/index.js +0 -15
- package/dist/translator/declaration/index[html].js +0 -12
- package/dist/translator/declaration/index[vdom].js +0 -3
- package/dist/translator/document-type/index.js +0 -15
- package/dist/translator/document-type/index[html].js +0 -12
- package/dist/translator/document-type/index[vdom].js +0 -3
- package/dist/translator/placeholder/index.js +0 -15
- package/dist/translator/placeholder/index[html].js +0 -93
- package/dist/translator/placeholder/index[vdom].js +0 -22
- package/dist/translator/scriptlet.js +0 -4
- package/dist/translator/tag/attribute/directives/class.js +0 -42
- package/dist/translator/tag/attribute/directives/index.js +0 -15
- package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
- package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
- package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
- package/dist/translator/tag/attribute/directives/no-update.js +0 -48
- package/dist/translator/tag/attribute/directives/style.js +0 -42
- package/dist/translator/tag/attribute/index.js +0 -150
- package/dist/translator/tag/attribute/modifiers/index.js +0 -7
- package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
- package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
- package/dist/translator/tag/attribute-tag.js +0 -149
- package/dist/translator/tag/custom-tag.js +0 -146
- package/dist/translator/tag/dynamic-tag.js +0 -74
- package/dist/translator/tag/index.js +0 -287
- package/dist/translator/tag/macro-tag.js +0 -7
- package/dist/translator/tag/native-tag.js +0 -27
- package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
- package/dist/translator/tag/native-tag[html]/index.js +0 -221
- package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
- package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
- package/dist/translator/tag/util.js +0 -246
- package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
- package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
- package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
- package/dist/translator/taglib/core/conditional/util.js +0 -41
- package/dist/translator/taglib/core/index.js +0 -474
- package/dist/translator/taglib/core/macro/parse.js +0 -17
- package/dist/translator/taglib/core/macro/translate.js +0 -48
- package/dist/translator/taglib/core/parse-class.js +0 -79
- package/dist/translator/taglib/core/parse-export.js +0 -14
- package/dist/translator/taglib/core/parse-import.js +0 -14
- package/dist/translator/taglib/core/parse-module-code.js +0 -18
- package/dist/translator/taglib/core/parse-static.js +0 -18
- package/dist/translator/taglib/core/transform-style.js +0 -66
- package/dist/translator/taglib/core/translate-await.js +0 -41
- package/dist/translator/taglib/core/translate-body.js +0 -17
- package/dist/translator/taglib/core/translate-for.js +0 -156
- package/dist/translator/taglib/core/translate-html-comment.js +0 -52
- package/dist/translator/taglib/core/translate-include-content.js +0 -53
- package/dist/translator/taglib/core/translate-server-only.js +0 -5
- package/dist/translator/taglib/core/translate-while.js +0 -32
- package/dist/translator/taglib/index.js +0 -6
- package/dist/translator/taglib/migrate/all-templates.js +0 -46
- package/dist/translator/taglib/migrate/index.js +0 -5
- package/dist/translator/text/index.js +0 -10
- package/dist/translator/text/index[html].js +0 -12
- package/dist/translator/text/index[vdom].js +0 -20
- package/dist/translator/util/add-dependencies.js +0 -329
- package/dist/translator/util/escape-regexp.js +0 -4
- package/dist/translator/util/get-component-files.js +0 -86
- package/dist/translator/util/html-out-write.js +0 -15
- package/dist/translator/util/key-manager.js +0 -176
- package/dist/translator/util/optimize-html-writes.js +0 -52
- package/dist/translator/util/optimize-vdom-create.js +0 -164
- package/dist/translator/util/plugin-hooks.js +0 -22
- package/dist/translator/util/runtime-flags.js +0 -3
- package/dist/translator/util/vdom-out-write.js +0 -10
- package/dist/translator/util/with-previous-location.js +0 -6
- package/docs/10-awesome-marko-features.md +0 -291
- package/docs/body-content.md +0 -355
- package/docs/class-components.md +0 -1001
- package/docs/cloudflare-workers.md +0 -32
- package/docs/compiler-hooks.png +0 -0
- package/docs/compiler.md +0 -473
- package/docs/component-diagram.afdesign +0 -0
- package/docs/component-diagram.svg +0 -87
- package/docs/concise.md +0 -141
- package/docs/conditionals-and-lists.md +0 -72
- package/docs/core-tags.md +0 -325
- package/docs/custom-tags.md +0 -201
- package/docs/editor-plugins.md +0 -45
- package/docs/events.md +0 -131
- package/docs/express.md +0 -66
- package/docs/fastify.md +0 -65
- package/docs/getting-started.md +0 -95
- package/docs/http.md +0 -34
- package/docs/icons/js.svg +0 -4
- package/docs/icons/marko.svg +0 -1
- package/docs/icons/ts.svg +0 -1
- package/docs/installing.md +0 -51
- package/docs/koa.md +0 -35
- package/docs/lasso.md +0 -196
- package/docs/marko-5-upgrade.md +0 -59
- package/docs/marko-json.md +0 -248
- package/docs/marko-vs-react.md +0 -854
- package/docs/redux.md +0 -61
- package/docs/rendering.md +0 -268
- package/docs/rollup.md +0 -352
- package/docs/state.md +0 -105
- package/docs/structure.json +0 -49
- package/docs/styles.md +0 -29
- package/docs/syntax.md +0 -601
- package/docs/troubleshooting-streaming.md +0 -68
- package/docs/typescript.md +0 -406
- package/docs/vite.md +0 -86
- package/docs/webpack.md +0 -205
- package/docs/why-is-marko-fast.md +0 -239
- package/env.js +0 -7
- package/helpers/README.md +0 -3
- package/helpers/empty.js +0 -4
- package/helpers/notEmpty.js +0 -11
- package/index-browser.marko +0 -15
- package/index.d.ts +0 -375
- package/index.js +0 -7
- package/legacy-components-browser.marko +0 -15
- package/legacy-components.js +0 -7
- package/node-require.js +0 -8
- package/src/build.json +0 -3
- package/src/compiler/config.js +0 -45
- package/src/compiler/index.js +0 -164
- package/src/compiler/modules.js +0 -5
- package/src/core-tags/.eslintrc +0 -5
- package/src/core-tags/components/init-components-tag.js +0 -54
- package/src/core-tags/components/preferred-script-location-tag.js +0 -25
- package/src/core-tags/components/preserve-tag.js +0 -1
- package/src/core-tags/core/__flush_here_and_after__.js +0 -44
- package/src/core-tags/core/await/AsyncValue.js +0 -121
- package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
- package/src/core-tags/core/await/index.d.marko +0 -10
- package/src/core-tags/core/await/renderer.js +0 -249
- package/src/core-tags/core/await/reorderer-renderer.js +0 -156
- package/src/index.js +0 -4
- package/src/node-require/browser-refresh.js +0 -18
- package/src/node-require/hot-reload.js +0 -45
- package/src/node-require/index.js +0 -103
- package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
- package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
- package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
- package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
- package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
- package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
- package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
- package/src/node_modules/@internal/components-endComponent/index.js +0 -11
- package/src/node_modules/@internal/components-endComponent/package.json +0 -11
- package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
- package/src/node_modules/@internal/components-entry/index.js +0 -301
- package/src/node_modules/@internal/components-entry/package.json +0 -11
- package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
- package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
- package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
- package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
- package/src/node_modules/@internal/components-registry/index.js +0 -44
- package/src/node_modules/@internal/components-registry/package.json +0 -11
- package/src/node_modules/@internal/components-util/index-browser.js +0 -152
- package/src/node_modules/@internal/components-util/index.js +0 -75
- package/src/node_modules/@internal/components-util/package.json +0 -11
- package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
- package/src/node_modules/@internal/create-readable/index.js +0 -57
- package/src/node_modules/@internal/create-readable/package.json +0 -11
- package/src/node_modules/@internal/loader/fallback-node.js +0 -89
- package/src/node_modules/@internal/loader/index-browser.js +0 -2
- package/src/node_modules/@internal/loader/index.js +0 -23
- package/src/node_modules/@internal/loader/package.json +0 -10
- package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
- package/src/node_modules/@internal/preserve-tag/index.js +0 -34
- package/src/node_modules/@internal/preserve-tag/package.json +0 -11
- package/src/node_modules/@internal/require/index-browser.js +0 -15
- package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
- package/src/node_modules/@internal/require/index-webpack.js +0 -16
- package/src/node_modules/@internal/require/index.js +0 -15
- package/src/node_modules/@internal/require/package.json +0 -11
- package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
- package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
- package/src/node_modules/@internal/set-immediate/index.js +0 -3
- package/src/node_modules/@internal/set-immediate/package.json +0 -11
- package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
- package/src/runtime/.eslintrc +0 -5
- package/src/runtime/RenderResult.js +0 -112
- package/src/runtime/components/Component.js +0 -663
- package/src/runtime/components/ComponentDef.js +0 -169
- package/src/runtime/components/ComponentsContext.js +0 -59
- package/src/runtime/components/GlobalComponentsContext.js +0 -10
- package/src/runtime/components/KeySequence.js +0 -16
- package/src/runtime/components/ServerComponent.js +0 -73
- package/src/runtime/components/State.js +0 -101
- package/src/runtime/components/attach-detach.js +0 -60
- package/src/runtime/components/defineComponent.js +0 -60
- package/src/runtime/components/dom-data.js +0 -8
- package/src/runtime/components/event-delegation.js +0 -144
- package/src/runtime/components/index.js +0 -1
- package/src/runtime/components/legacy/browser.json +0 -9
- package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
- package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
- package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
- package/src/runtime/components/legacy/dependencies/html.js +0 -3
- package/src/runtime/components/legacy/dependencies/index.js +0 -177
- package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
- package/src/runtime/components/legacy/index.js +0 -1
- package/src/runtime/components/legacy/jquery.js +0 -52
- package/src/runtime/components/legacy/ready.js +0 -152
- package/src/runtime/components/legacy/renderer-legacy.js +0 -231
- package/src/runtime/components/registry.js +0 -1
- package/src/runtime/components/renderer.js +0 -236
- package/src/runtime/components/update-manager.js +0 -94
- package/src/runtime/createOut.js +0 -13
- package/src/runtime/dom-insert.js +0 -77
- package/src/runtime/events.js +0 -2
- package/src/runtime/helpers/_change-case.js +0 -45
- package/src/runtime/helpers/assign.js +0 -21
- package/src/runtime/helpers/attr-tag.js +0 -43
- package/src/runtime/helpers/class-value.js +0 -30
- package/src/runtime/helpers/dynamic-tag.js +0 -181
- package/src/runtime/helpers/empty-component.js +0 -1
- package/src/runtime/helpers/merge.js +0 -13
- package/src/runtime/helpers/of-fallback.js +0 -4
- package/src/runtime/helpers/render-tag.js +0 -20
- package/src/runtime/helpers/serialize-noop.js +0 -5
- package/src/runtime/helpers/style-value.js +0 -45
- package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
- package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
- package/src/runtime/helpers/tags-compat/dom.js +0 -1
- package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
- package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
- package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
- package/src/runtime/helpers/tags-compat/html.js +0 -3
- package/src/runtime/helpers/tags-compat/html.mjs +0 -4
- package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
- package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
- package/src/runtime/helpers/to-string.js +0 -5
- package/src/runtime/html/AsyncStream.js +0 -805
- package/src/runtime/html/BufferedWriter.js +0 -52
- package/src/runtime/html/StringWriter.js +0 -73
- package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
- package/src/runtime/html/helpers/attr.js +0 -80
- package/src/runtime/html/helpers/attrs.js +0 -26
- package/src/runtime/html/helpers/class-attr.js +0 -8
- package/src/runtime/html/helpers/data-marko.js +0 -36
- package/src/runtime/html/helpers/escape-quotes.js +0 -35
- package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
- package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
- package/src/runtime/html/helpers/escape-xml.js +0 -21
- package/src/runtime/html/helpers/merge-attrs.js +0 -55
- package/src/runtime/html/helpers/props-script.js +0 -32
- package/src/runtime/html/helpers/style-attr.js +0 -8
- package/src/runtime/html/hot-reload.js +0 -26
- package/src/runtime/html/index.js +0 -33
- package/src/runtime/html/marko-namespace.js +0 -3
- package/src/runtime/renderable.js +0 -194
- package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
- package/src/runtime/vdom/VComment.js +0 -24
- package/src/runtime/vdom/VComponent.js +0 -17
- package/src/runtime/vdom/VDocumentFragment.js +0 -34
- package/src/runtime/vdom/VElement.js +0 -375
- package/src/runtime/vdom/VFragment.js +0 -26
- package/src/runtime/vdom/VNode.js +0 -100
- package/src/runtime/vdom/VText.js +0 -25
- package/src/runtime/vdom/helpers/attrs.js +0 -62
- package/src/runtime/vdom/helpers/const-element.js +0 -25
- package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
- package/src/runtime/vdom/hot-reload.js +0 -115
- package/src/runtime/vdom/index.js +0 -30
- package/src/runtime/vdom/is-text-only.js +0 -10
- package/src/runtime/vdom/marko-namespace.js +0 -3
- package/src/runtime/vdom/morphdom/fragment.js +0 -95
- package/src/runtime/vdom/morphdom/helpers.js +0 -42
- package/src/runtime/vdom/morphdom/index.js +0 -741
- package/src/runtime/vdom/parse-html.js +0 -18
- package/src/runtime/vdom/vdom.js +0 -88
- package/src/taglib/index.js +0 -51
- package/src/translator/cdata/index.js +0 -15
- package/src/translator/cdata/index[html].js +0 -15
- package/src/translator/cdata/index[vdom].js +0 -12
- package/src/translator/class.js +0 -65
- package/src/translator/comment/index.js +0 -15
- package/src/translator/comment/index[html].js +0 -17
- package/src/translator/comment/index[vdom].js +0 -3
- package/src/translator/declaration/index.js +0 -15
- package/src/translator/declaration/index[html].js +0 -12
- package/src/translator/declaration/index[vdom].js +0 -3
- package/src/translator/document-type/index.js +0 -15
- package/src/translator/document-type/index[html].js +0 -12
- package/src/translator/document-type/index[vdom].js +0 -3
- package/src/translator/index.js +0 -552
- package/src/translator/placeholder/index.js +0 -15
- package/src/translator/placeholder/index[html].js +0 -93
- package/src/translator/placeholder/index[vdom].js +0 -22
- package/src/translator/scriptlet.js +0 -4
- package/src/translator/tag/attribute/directives/class.js +0 -42
- package/src/translator/tag/attribute/directives/index.js +0 -15
- package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
- package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
- package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
- package/src/translator/tag/attribute/directives/no-update.js +0 -48
- package/src/translator/tag/attribute/directives/style.js +0 -42
- package/src/translator/tag/attribute/index.js +0 -150
- package/src/translator/tag/attribute/modifiers/index.js +0 -7
- package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
- package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
- package/src/translator/tag/attribute-tag.js +0 -149
- package/src/translator/tag/custom-tag.js +0 -146
- package/src/translator/tag/dynamic-tag.js +0 -74
- package/src/translator/tag/index.js +0 -287
- package/src/translator/tag/macro-tag.js +0 -7
- package/src/translator/tag/native-tag.js +0 -27
- package/src/translator/tag/native-tag[html]/attributes.js +0 -151
- package/src/translator/tag/native-tag[html]/index.js +0 -221
- package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
- package/src/translator/tag/native-tag[vdom]/index.js +0 -189
- package/src/translator/tag/util.js +0 -246
- package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
- package/src/translator/taglib/core/conditional/translate-else.js +0 -20
- package/src/translator/taglib/core/conditional/translate-if.js +0 -8
- package/src/translator/taglib/core/conditional/util.js +0 -41
- package/src/translator/taglib/core/index.js +0 -474
- package/src/translator/taglib/core/macro/parse.js +0 -17
- package/src/translator/taglib/core/macro/translate.js +0 -48
- package/src/translator/taglib/core/parse-class.js +0 -79
- package/src/translator/taglib/core/parse-export.js +0 -14
- package/src/translator/taglib/core/parse-import.js +0 -14
- package/src/translator/taglib/core/parse-module-code.js +0 -18
- package/src/translator/taglib/core/parse-static.js +0 -18
- package/src/translator/taglib/core/transform-style.js +0 -66
- package/src/translator/taglib/core/translate-await.js +0 -41
- package/src/translator/taglib/core/translate-body.js +0 -17
- package/src/translator/taglib/core/translate-for.js +0 -156
- package/src/translator/taglib/core/translate-html-comment.js +0 -52
- package/src/translator/taglib/core/translate-include-content.js +0 -53
- package/src/translator/taglib/core/translate-server-only.js +0 -5
- package/src/translator/taglib/core/translate-while.js +0 -32
- package/src/translator/taglib/index.js +0 -7
- package/src/translator/taglib/migrate/all-templates.js +0 -46
- package/src/translator/taglib/migrate/index.js +0 -5
- package/src/translator/text/index.js +0 -10
- package/src/translator/text/index[html].js +0 -12
- package/src/translator/text/index[vdom].js +0 -20
- package/src/translator/util/add-dependencies.js +0 -329
- package/src/translator/util/escape-regexp.js +0 -4
- package/src/translator/util/get-component-files.js +0 -86
- package/src/translator/util/html-out-write.js +0 -15
- package/src/translator/util/key-manager.js +0 -176
- package/src/translator/util/optimize-html-writes.js +0 -52
- package/src/translator/util/optimize-vdom-create.js +0 -164
- package/src/translator/util/plugin-hooks.js +0 -22
- package/src/translator/util/runtime-flags.js +0 -3
- package/src/translator/util/vdom-out-write.js +0 -10
- package/src/translator/util/with-previous-location.js +0 -6
- package/tags-html.d.ts +0 -3855
- package/translator/index.d.ts +0 -7
- package/translator/package.json +0 -5
@@ -1,741 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var componentsUtil = require("@internal/components-util");
|
3
|
-
var existingComponentLookup = componentsUtil._m_;
|
4
|
-
var destroyNodeRecursive = componentsUtil._S_;
|
5
|
-
var addComponentRootToKeyedElements =
|
6
|
-
componentsUtil._n_;
|
7
|
-
var normalizeComponentKey = componentsUtil._V_;
|
8
|
-
var domData = require("../../components/dom-data");
|
9
|
-
var eventDelegation = require("../../components/event-delegation");
|
10
|
-
var KeySequence = require("../../components/KeySequence");
|
11
|
-
var VElement = require("../vdom").bz_;
|
12
|
-
var fragment = require("./fragment");
|
13
|
-
var helpers = require("./helpers");
|
14
|
-
var isTextOnly = require("../is-text-only");
|
15
|
-
var virtualizeElement = VElement.ck_;
|
16
|
-
var morphAttrs = VElement.cl_;
|
17
|
-
var keysByDOMNode = domData._o_;
|
18
|
-
var componentByDOMNode = domData._q_;
|
19
|
-
var vElementByDOMNode = domData._L_;
|
20
|
-
var detachedByDOMNode = domData.aX_;
|
21
|
-
|
22
|
-
var insertBefore = helpers.bg_;
|
23
|
-
var insertAfter = helpers.bh_;
|
24
|
-
var nextSibling = helpers.cp_;
|
25
|
-
var firstChild = helpers.aB_;
|
26
|
-
var removeChild = helpers.bi_;
|
27
|
-
var createFragmentNode = fragment._l_;
|
28
|
-
var beginFragmentNode = fragment.ct_;
|
29
|
-
|
30
|
-
var ELEMENT_NODE = 1;
|
31
|
-
var TEXT_NODE = 3;
|
32
|
-
var COMMENT_NODE = 8;
|
33
|
-
var COMPONENT_NODE = 2;
|
34
|
-
var FRAGMENT_NODE = 12;
|
35
|
-
var DOCTYPE_NODE = 10;
|
36
|
-
|
37
|
-
// var FLAG_SIMPLE_ATTRS = 1;
|
38
|
-
// var FLAG_CUSTOM_ELEMENT = 2;
|
39
|
-
// var FLAG_SPREAD_ATTRS = 4;
|
40
|
-
|
41
|
-
function isAutoKey(key) {
|
42
|
-
return key[0] !== "@";
|
43
|
-
}
|
44
|
-
|
45
|
-
function compareNodeNames(fromEl, toEl) {
|
46
|
-
return fromEl.cg_ === toEl.cg_;
|
47
|
-
}
|
48
|
-
|
49
|
-
function caseInsensitiveCompare(a, b) {
|
50
|
-
return a.toLowerCase() === b.toLowerCase();
|
51
|
-
}
|
52
|
-
|
53
|
-
function onNodeAdded(node, componentsContext) {
|
54
|
-
if (node.nodeType === ELEMENT_NODE) {
|
55
|
-
eventDelegation.aW_(node, componentsContext);
|
56
|
-
}
|
57
|
-
}
|
58
|
-
|
59
|
-
function morphdom(fromNode, toNode, host, componentsContext) {
|
60
|
-
var globalComponentsContext;
|
61
|
-
var isHydrate = false;
|
62
|
-
var keySequences = Object.create(null);
|
63
|
-
|
64
|
-
if (componentsContext) {
|
65
|
-
globalComponentsContext = componentsContext.q_;
|
66
|
-
isHydrate = globalComponentsContext.a__;
|
67
|
-
}
|
68
|
-
|
69
|
-
function insertVirtualNodeBefore(
|
70
|
-
vNode,
|
71
|
-
key,
|
72
|
-
referenceEl,
|
73
|
-
parentEl,
|
74
|
-
ownerComponent,
|
75
|
-
parentComponent)
|
76
|
-
{
|
77
|
-
var realNode = vNode.bp_(host, parentEl.namespaceURI);
|
78
|
-
insertBefore(realNode, referenceEl, parentEl);
|
79
|
-
|
80
|
-
if (
|
81
|
-
vNode.c__ === ELEMENT_NODE ||
|
82
|
-
vNode.c__ === FRAGMENT_NODE)
|
83
|
-
{
|
84
|
-
if (key) {
|
85
|
-
keysByDOMNode.set(realNode, key);
|
86
|
-
(isAutoKey(key) ? parentComponent : ownerComponent).L_[
|
87
|
-
key] =
|
88
|
-
realNode;
|
89
|
-
}
|
90
|
-
|
91
|
-
if (!isTextOnly(vNode.cg_)) {
|
92
|
-
morphChildren(realNode, vNode, parentComponent);
|
93
|
-
}
|
94
|
-
|
95
|
-
onNodeAdded(realNode, componentsContext);
|
96
|
-
}
|
97
|
-
}
|
98
|
-
|
99
|
-
function insertVirtualComponentBefore(
|
100
|
-
vComponent,
|
101
|
-
referenceNode,
|
102
|
-
referenceNodeParentEl,
|
103
|
-
component,
|
104
|
-
key,
|
105
|
-
ownerComponent,
|
106
|
-
parentComponent)
|
107
|
-
{
|
108
|
-
var rootNode = component._F_ = insertBefore(
|
109
|
-
createFragmentNode(),
|
110
|
-
referenceNode,
|
111
|
-
referenceNodeParentEl
|
112
|
-
);
|
113
|
-
componentByDOMNode.set(rootNode, component);
|
114
|
-
|
115
|
-
if (key && ownerComponent) {
|
116
|
-
key = normalizeComponentKey(key, parentComponent.id);
|
117
|
-
addComponentRootToKeyedElements(
|
118
|
-
ownerComponent.L_,
|
119
|
-
key,
|
120
|
-
rootNode,
|
121
|
-
component.id
|
122
|
-
);
|
123
|
-
keysByDOMNode.set(rootNode, key);
|
124
|
-
}
|
125
|
-
|
126
|
-
morphComponent(component, vComponent);
|
127
|
-
}
|
128
|
-
|
129
|
-
function morphComponent(component, vComponent) {
|
130
|
-
morphChildren(component._F_, vComponent, component);
|
131
|
-
}
|
132
|
-
|
133
|
-
var detachedNodes = [];
|
134
|
-
|
135
|
-
function detachNode(node, parentNode, ownerComponent) {
|
136
|
-
if (node.nodeType === ELEMENT_NODE || node.nodeType === FRAGMENT_NODE) {
|
137
|
-
detachedNodes.push(node);
|
138
|
-
detachedByDOMNode.set(node, ownerComponent || true);
|
139
|
-
} else {
|
140
|
-
destroyNodeRecursive(node);
|
141
|
-
removeChild(node);
|
142
|
-
}
|
143
|
-
}
|
144
|
-
|
145
|
-
function destroyComponent(component) {
|
146
|
-
component.destroy();
|
147
|
-
}
|
148
|
-
|
149
|
-
function morphChildren(fromNode, toNode, parentComponent) {
|
150
|
-
var curFromNodeChild = firstChild(fromNode);
|
151
|
-
var curToNodeChild = toNode.aB_;
|
152
|
-
|
153
|
-
var curToNodeKey;
|
154
|
-
var curFromNodeKey;
|
155
|
-
var curToNodeType;
|
156
|
-
|
157
|
-
var fromNextSibling;
|
158
|
-
var toNextSibling;
|
159
|
-
var matchingFromEl;
|
160
|
-
var matchingFromComponent;
|
161
|
-
var curVFromNodeChild;
|
162
|
-
var fromComponent;
|
163
|
-
|
164
|
-
outer: while (curToNodeChild) {
|
165
|
-
toNextSibling = curToNodeChild.cp_;
|
166
|
-
curToNodeType = curToNodeChild.c__;
|
167
|
-
curToNodeKey = curToNodeChild.ca_;
|
168
|
-
|
169
|
-
// Skip <!doctype>
|
170
|
-
if (curFromNodeChild && curFromNodeChild.nodeType === DOCTYPE_NODE) {
|
171
|
-
curFromNodeChild = nextSibling(curFromNodeChild);
|
172
|
-
}
|
173
|
-
|
174
|
-
var ownerComponent = curToNodeChild._N_ || parentComponent;
|
175
|
-
var referenceComponent;
|
176
|
-
|
177
|
-
if (curToNodeType === COMPONENT_NODE) {
|
178
|
-
var component = curToNodeChild.t_;
|
179
|
-
if (
|
180
|
-
(matchingFromComponent = existingComponentLookup[component.id]) ===
|
181
|
-
undefined)
|
182
|
-
{
|
183
|
-
if (isHydrate) {
|
184
|
-
var rootNode = beginFragmentNode(curFromNodeChild, fromNode);
|
185
|
-
component._F_ = rootNode;
|
186
|
-
componentByDOMNode.set(rootNode, component);
|
187
|
-
|
188
|
-
if (ownerComponent && curToNodeKey) {
|
189
|
-
curToNodeKey = normalizeComponentKey(
|
190
|
-
curToNodeKey,
|
191
|
-
parentComponent.id
|
192
|
-
);
|
193
|
-
addComponentRootToKeyedElements(
|
194
|
-
ownerComponent.L_,
|
195
|
-
curToNodeKey,
|
196
|
-
rootNode,
|
197
|
-
component.id
|
198
|
-
);
|
199
|
-
|
200
|
-
keysByDOMNode.set(rootNode, curToNodeKey);
|
201
|
-
}
|
202
|
-
|
203
|
-
morphComponent(component, curToNodeChild);
|
204
|
-
|
205
|
-
curFromNodeChild = nextSibling(rootNode);
|
206
|
-
} else {
|
207
|
-
insertVirtualComponentBefore(
|
208
|
-
curToNodeChild,
|
209
|
-
curFromNodeChild,
|
210
|
-
fromNode,
|
211
|
-
component,
|
212
|
-
curToNodeKey,
|
213
|
-
ownerComponent,
|
214
|
-
parentComponent
|
215
|
-
);
|
216
|
-
}
|
217
|
-
} else {
|
218
|
-
if (matchingFromComponent._F_ !== curFromNodeChild) {
|
219
|
-
if (
|
220
|
-
curFromNodeChild && (
|
221
|
-
fromComponent = componentByDOMNode.get(curFromNodeChild)) &&
|
222
|
-
globalComponentsContext.r_[
|
223
|
-
fromComponent.id] ===
|
224
|
-
undefined)
|
225
|
-
{
|
226
|
-
// The component associated with the current real DOM node was not rendered
|
227
|
-
// so we should just remove it out of the real DOM by destroying it
|
228
|
-
curFromNodeChild = nextSibling(fromComponent._F_);
|
229
|
-
destroyComponent(fromComponent);
|
230
|
-
continue;
|
231
|
-
}
|
232
|
-
|
233
|
-
// We need to move the existing component into
|
234
|
-
// the correct location
|
235
|
-
insertBefore(
|
236
|
-
matchingFromComponent._F_,
|
237
|
-
curFromNodeChild,
|
238
|
-
fromNode
|
239
|
-
);
|
240
|
-
} else {
|
241
|
-
curFromNodeChild =
|
242
|
-
curFromNodeChild && nextSibling(curFromNodeChild);
|
243
|
-
}
|
244
|
-
|
245
|
-
if (!curToNodeChild.ae_) {
|
246
|
-
morphComponent(component, curToNodeChild);
|
247
|
-
}
|
248
|
-
}
|
249
|
-
|
250
|
-
curToNodeChild = toNextSibling;
|
251
|
-
continue;
|
252
|
-
} else if (curToNodeKey) {
|
253
|
-
curVFromNodeChild = undefined;
|
254
|
-
curFromNodeKey = undefined;
|
255
|
-
var curToNodeKeyOriginal = curToNodeKey;
|
256
|
-
|
257
|
-
if (isAutoKey(curToNodeKey)) {
|
258
|
-
if (ownerComponent !== parentComponent) {
|
259
|
-
curToNodeKey += ":" + ownerComponent.id;
|
260
|
-
}
|
261
|
-
referenceComponent = parentComponent;
|
262
|
-
} else {
|
263
|
-
referenceComponent = ownerComponent;
|
264
|
-
}
|
265
|
-
|
266
|
-
// We have a keyed element. This is the fast path for matching
|
267
|
-
// up elements
|
268
|
-
curToNodeKey = (
|
269
|
-
keySequences[referenceComponent.id] || (
|
270
|
-
keySequences[referenceComponent.id] = new KeySequence())).aO_(
|
271
|
-
curToNodeKey);
|
272
|
-
|
273
|
-
if (curFromNodeChild) {
|
274
|
-
curFromNodeKey = keysByDOMNode.get(curFromNodeChild);
|
275
|
-
curVFromNodeChild = vElementByDOMNode.get(curFromNodeChild);
|
276
|
-
fromNextSibling = nextSibling(curFromNodeChild);
|
277
|
-
}
|
278
|
-
|
279
|
-
if (curFromNodeKey === curToNodeKey) {
|
280
|
-
// Elements line up. Now we just have to make sure they are compatible
|
281
|
-
if (!curToNodeChild.ae_) {
|
282
|
-
// We just skip over the fromNode if it is preserved
|
283
|
-
|
284
|
-
if (
|
285
|
-
curVFromNodeChild &&
|
286
|
-
curToNodeType === curVFromNodeChild.c__ && (
|
287
|
-
curToNodeType !== ELEMENT_NODE ||
|
288
|
-
compareNodeNames(curToNodeChild, curVFromNodeChild)))
|
289
|
-
{
|
290
|
-
if (curToNodeType === ELEMENT_NODE) {
|
291
|
-
morphEl(
|
292
|
-
curFromNodeChild,
|
293
|
-
curVFromNodeChild,
|
294
|
-
curToNodeChild,
|
295
|
-
parentComponent
|
296
|
-
);
|
297
|
-
} else {
|
298
|
-
morphChildren(
|
299
|
-
curFromNodeChild,
|
300
|
-
curToNodeChild,
|
301
|
-
parentComponent
|
302
|
-
);
|
303
|
-
}
|
304
|
-
} else {
|
305
|
-
// Remove the old node
|
306
|
-
detachNode(curFromNodeChild, fromNode, ownerComponent);
|
307
|
-
|
308
|
-
// Incompatible nodes. Just move the target VNode into the DOM at this position
|
309
|
-
insertVirtualNodeBefore(
|
310
|
-
curToNodeChild,
|
311
|
-
curToNodeKey,
|
312
|
-
curFromNodeChild,
|
313
|
-
fromNode,
|
314
|
-
ownerComponent,
|
315
|
-
parentComponent
|
316
|
-
);
|
317
|
-
}
|
318
|
-
}
|
319
|
-
} else {
|
320
|
-
matchingFromEl = referenceComponent.L_[curToNodeKey];
|
321
|
-
if (
|
322
|
-
matchingFromEl === undefined ||
|
323
|
-
matchingFromEl === curFromNodeChild)
|
324
|
-
{
|
325
|
-
if (isHydrate && curFromNodeChild) {
|
326
|
-
if (
|
327
|
-
curFromNodeChild.nodeType === ELEMENT_NODE && (
|
328
|
-
curToNodeChild.ae_ ||
|
329
|
-
caseInsensitiveCompare(
|
330
|
-
curFromNodeChild.nodeName,
|
331
|
-
curToNodeChild.cg_ || ""
|
332
|
-
)))
|
333
|
-
{
|
334
|
-
curVFromNodeChild = virtualizeElement(curFromNodeChild);
|
335
|
-
curVFromNodeChild.cg_ = curToNodeChild.cg_;
|
336
|
-
keysByDOMNode.set(curFromNodeChild, curToNodeKey);
|
337
|
-
referenceComponent.L_[curToNodeKey] =
|
338
|
-
curFromNodeChild;
|
339
|
-
|
340
|
-
if (curToNodeChild.ae_) {
|
341
|
-
vElementByDOMNode.set(curFromNodeChild, curVFromNodeChild);
|
342
|
-
} else {
|
343
|
-
morphEl(
|
344
|
-
curFromNodeChild,
|
345
|
-
curVFromNodeChild,
|
346
|
-
curToNodeChild,
|
347
|
-
parentComponent
|
348
|
-
);
|
349
|
-
}
|
350
|
-
|
351
|
-
curToNodeChild = toNextSibling;
|
352
|
-
curFromNodeChild = fromNextSibling;
|
353
|
-
continue;
|
354
|
-
} else if (
|
355
|
-
curToNodeChild.c__ === FRAGMENT_NODE &&
|
356
|
-
curFromNodeChild.nodeType === COMMENT_NODE)
|
357
|
-
{
|
358
|
-
var content = curFromNodeChild.nodeValue;
|
359
|
-
if (content == "F#" + curToNodeKeyOriginal) {
|
360
|
-
var endNode = curFromNodeChild.nextSibling;
|
361
|
-
var depth = 0;
|
362
|
-
var nodeValue;
|
363
|
-
|
364
|
-
while (true) {
|
365
|
-
if (endNode.nodeType === COMMENT_NODE) {
|
366
|
-
nodeValue = endNode.nodeValue;
|
367
|
-
if (nodeValue === "F/") {
|
368
|
-
if (depth === 0) {
|
369
|
-
break;
|
370
|
-
} else {
|
371
|
-
depth--;
|
372
|
-
}
|
373
|
-
} else if (nodeValue.indexOf("F#") === 0) {
|
374
|
-
depth++;
|
375
|
-
}
|
376
|
-
}
|
377
|
-
endNode = endNode.nextSibling;
|
378
|
-
}
|
379
|
-
|
380
|
-
var fragment = createFragmentNode(
|
381
|
-
curFromNodeChild,
|
382
|
-
endNode.nextSibling,
|
383
|
-
fromNode
|
384
|
-
);
|
385
|
-
keysByDOMNode.set(fragment, curToNodeKey);
|
386
|
-
vElementByDOMNode.set(fragment, curToNodeChild);
|
387
|
-
referenceComponent.L_[curToNodeKey] = fragment;
|
388
|
-
removeChild(curFromNodeChild);
|
389
|
-
removeChild(endNode);
|
390
|
-
|
391
|
-
if (!curToNodeChild.ae_) {
|
392
|
-
morphChildren(fragment, curToNodeChild, parentComponent);
|
393
|
-
}
|
394
|
-
|
395
|
-
curToNodeChild = toNextSibling;
|
396
|
-
curFromNodeChild = fragment.nextSibling;
|
397
|
-
continue;
|
398
|
-
}
|
399
|
-
}
|
400
|
-
}
|
401
|
-
|
402
|
-
insertVirtualNodeBefore(
|
403
|
-
curToNodeChild,
|
404
|
-
curToNodeKey,
|
405
|
-
curFromNodeChild,
|
406
|
-
fromNode,
|
407
|
-
ownerComponent,
|
408
|
-
parentComponent
|
409
|
-
);
|
410
|
-
fromNextSibling = curFromNodeChild;
|
411
|
-
} else {
|
412
|
-
if (detachedByDOMNode.get(matchingFromEl) !== undefined) {
|
413
|
-
detachedByDOMNode.set(matchingFromEl, undefined);
|
414
|
-
}
|
415
|
-
|
416
|
-
if (!curToNodeChild.ae_) {
|
417
|
-
curVFromNodeChild = vElementByDOMNode.get(matchingFromEl);
|
418
|
-
|
419
|
-
if (
|
420
|
-
curVFromNodeChild &&
|
421
|
-
curToNodeType === curVFromNodeChild.c__ && (
|
422
|
-
curToNodeType !== ELEMENT_NODE ||
|
423
|
-
compareNodeNames(curVFromNodeChild, curToNodeChild)))
|
424
|
-
{
|
425
|
-
if (fromNextSibling === matchingFromEl) {
|
426
|
-
// Single element removal:
|
427
|
-
// A <-> A
|
428
|
-
// B <-> C <-- We are here
|
429
|
-
// C D
|
430
|
-
// D
|
431
|
-
//
|
432
|
-
// Single element swap:
|
433
|
-
// A <-> A
|
434
|
-
// B <-> C <-- We are here
|
435
|
-
// C B
|
436
|
-
|
437
|
-
if (
|
438
|
-
toNextSibling &&
|
439
|
-
toNextSibling.ca_ === curFromNodeKey)
|
440
|
-
{
|
441
|
-
// Single element swap
|
442
|
-
|
443
|
-
// We want to stay on the current real DOM node
|
444
|
-
fromNextSibling = curFromNodeChild;
|
445
|
-
|
446
|
-
// But move the matching element into place
|
447
|
-
insertBefore(matchingFromEl, curFromNodeChild, fromNode);
|
448
|
-
} else {
|
449
|
-
// Single element removal
|
450
|
-
|
451
|
-
// We need to remove the current real DOM node
|
452
|
-
// and the matching real DOM node will fall into
|
453
|
-
// place. We will continue diffing with next sibling
|
454
|
-
// after the real DOM node that just fell into place
|
455
|
-
fromNextSibling = nextSibling(fromNextSibling);
|
456
|
-
|
457
|
-
if (curFromNodeChild) {
|
458
|
-
detachNode(curFromNodeChild, fromNode, ownerComponent);
|
459
|
-
}
|
460
|
-
}
|
461
|
-
} else {
|
462
|
-
// A <-> A
|
463
|
-
// B <-> D <-- We are here
|
464
|
-
// C
|
465
|
-
// D
|
466
|
-
|
467
|
-
// We need to move the matching node into place
|
468
|
-
insertAfter(matchingFromEl, curFromNodeChild, fromNode);
|
469
|
-
|
470
|
-
if (curFromNodeChild) {
|
471
|
-
detachNode(curFromNodeChild, fromNode, ownerComponent);
|
472
|
-
}
|
473
|
-
}
|
474
|
-
|
475
|
-
if (curToNodeType === ELEMENT_NODE) {
|
476
|
-
morphEl(
|
477
|
-
matchingFromEl,
|
478
|
-
curVFromNodeChild,
|
479
|
-
curToNodeChild,
|
480
|
-
parentComponent
|
481
|
-
);
|
482
|
-
} else {
|
483
|
-
morphChildren(
|
484
|
-
matchingFromEl,
|
485
|
-
curToNodeChild,
|
486
|
-
parentComponent
|
487
|
-
);
|
488
|
-
}
|
489
|
-
} else {
|
490
|
-
insertVirtualNodeBefore(
|
491
|
-
curToNodeChild,
|
492
|
-
curToNodeKey,
|
493
|
-
curFromNodeChild,
|
494
|
-
fromNode,
|
495
|
-
ownerComponent,
|
496
|
-
parentComponent
|
497
|
-
);
|
498
|
-
detachNode(matchingFromEl, fromNode, ownerComponent);
|
499
|
-
}
|
500
|
-
} else {
|
501
|
-
// preserve the node
|
502
|
-
// but still we need to diff the current from node
|
503
|
-
insertBefore(matchingFromEl, curFromNodeChild, fromNode);
|
504
|
-
fromNextSibling = curFromNodeChild;
|
505
|
-
}
|
506
|
-
}
|
507
|
-
}
|
508
|
-
|
509
|
-
curToNodeChild = toNextSibling;
|
510
|
-
curFromNodeChild = fromNextSibling;
|
511
|
-
continue;
|
512
|
-
}
|
513
|
-
|
514
|
-
// The know the target node is not a VComponent node and we know
|
515
|
-
// it is also not a preserve node. Let's now match up the HTML
|
516
|
-
// element, text node, comment, etc.
|
517
|
-
while (curFromNodeChild) {
|
518
|
-
fromNextSibling = nextSibling(curFromNodeChild);
|
519
|
-
|
520
|
-
if (fromComponent = componentByDOMNode.get(curFromNodeChild)) {
|
521
|
-
// The current "to" element is not associated with a component,
|
522
|
-
// but the current "from" element is associated with a component
|
523
|
-
|
524
|
-
// Even if we destroy the current component in the original
|
525
|
-
// DOM or not, we still need to skip over it since it is
|
526
|
-
// not compatible with the current "to" node
|
527
|
-
curFromNodeChild = fromNextSibling;
|
528
|
-
|
529
|
-
if (
|
530
|
-
!globalComponentsContext.r_[fromComponent.id])
|
531
|
-
{
|
532
|
-
destroyComponent(fromComponent);
|
533
|
-
}
|
534
|
-
|
535
|
-
continue; // Move to the next "from" node
|
536
|
-
}
|
537
|
-
|
538
|
-
var curFromNodeType = curFromNodeChild.nodeType;
|
539
|
-
|
540
|
-
var isCompatible = undefined;
|
541
|
-
|
542
|
-
if (curFromNodeType === curToNodeType) {
|
543
|
-
if (curFromNodeType === ELEMENT_NODE) {
|
544
|
-
// Both nodes being compared are Element nodes
|
545
|
-
curVFromNodeChild = vElementByDOMNode.get(curFromNodeChild);
|
546
|
-
if (curVFromNodeChild === undefined) {
|
547
|
-
if (isHydrate) {
|
548
|
-
curVFromNodeChild = virtualizeElement(curFromNodeChild);
|
549
|
-
|
550
|
-
if (
|
551
|
-
caseInsensitiveCompare(
|
552
|
-
curVFromNodeChild.cg_,
|
553
|
-
curToNodeChild.cg_
|
554
|
-
))
|
555
|
-
{
|
556
|
-
curVFromNodeChild.cg_ = curToNodeChild.cg_;
|
557
|
-
}
|
558
|
-
} else {
|
559
|
-
// Skip over nodes that don't look like ours...
|
560
|
-
curFromNodeChild = fromNextSibling;
|
561
|
-
continue;
|
562
|
-
}
|
563
|
-
} else if (curFromNodeKey = curVFromNodeChild.ca_) {
|
564
|
-
// We have a keyed element here but our target VDOM node
|
565
|
-
// is not keyed so this not doesn't belong
|
566
|
-
isCompatible = false;
|
567
|
-
}
|
568
|
-
|
569
|
-
isCompatible =
|
570
|
-
isCompatible !== false &&
|
571
|
-
compareNodeNames(curVFromNodeChild, curToNodeChild) === true;
|
572
|
-
|
573
|
-
if (isCompatible === true) {
|
574
|
-
// We found compatible DOM elements so transform
|
575
|
-
// the current "from" node to match the current
|
576
|
-
// target DOM node.
|
577
|
-
morphEl(
|
578
|
-
curFromNodeChild,
|
579
|
-
curVFromNodeChild,
|
580
|
-
curToNodeChild,
|
581
|
-
parentComponent
|
582
|
-
);
|
583
|
-
}
|
584
|
-
} else if (
|
585
|
-
curFromNodeType === TEXT_NODE ||
|
586
|
-
curFromNodeType === COMMENT_NODE)
|
587
|
-
{
|
588
|
-
// Both nodes being compared are Text or Comment nodes
|
589
|
-
isCompatible = true;
|
590
|
-
var curToNodeValue = curToNodeChild.bZ_;
|
591
|
-
var curFromNodeValue = curFromNodeChild.nodeValue;
|
592
|
-
if (curFromNodeValue !== curToNodeValue) {
|
593
|
-
if (
|
594
|
-
isHydrate &&
|
595
|
-
toNextSibling &&
|
596
|
-
curFromNodeType === TEXT_NODE &&
|
597
|
-
toNextSibling.c__ === TEXT_NODE &&
|
598
|
-
curFromNodeValue.startsWith(curToNodeValue) &&
|
599
|
-
curFromNodeValue.
|
600
|
-
slice(curToNodeValue.length).
|
601
|
-
startsWith(toNextSibling.bZ_))
|
602
|
-
{
|
603
|
-
// In hydrate mode we can use splitText to more efficiently handle
|
604
|
-
// adjacent text vdom nodes that were merged.
|
605
|
-
fromNextSibling = curFromNodeChild.splitText(
|
606
|
-
curToNodeValue.length
|
607
|
-
);
|
608
|
-
} else {
|
609
|
-
// Simply update nodeValue on the original node to
|
610
|
-
// change the text value
|
611
|
-
curFromNodeChild.nodeValue = curToNodeValue;
|
612
|
-
}
|
613
|
-
}
|
614
|
-
}
|
615
|
-
}
|
616
|
-
|
617
|
-
if (isCompatible === true) {
|
618
|
-
// Advance both the "to" child and the "from" child since we found a match
|
619
|
-
curToNodeChild = toNextSibling;
|
620
|
-
curFromNodeChild = fromNextSibling;
|
621
|
-
continue outer;
|
622
|
-
}
|
623
|
-
|
624
|
-
detachNode(curFromNodeChild, fromNode, ownerComponent);
|
625
|
-
curFromNodeChild = fromNextSibling;
|
626
|
-
} // END: while (curFromNodeChild)
|
627
|
-
|
628
|
-
// If we got this far then we did not find a candidate match for
|
629
|
-
// our "to node" and we exhausted all of the children "from"
|
630
|
-
// nodes. Therefore, we will just append the current "to" node
|
631
|
-
// to the end
|
632
|
-
insertVirtualNodeBefore(
|
633
|
-
curToNodeChild,
|
634
|
-
curToNodeKey,
|
635
|
-
curFromNodeChild,
|
636
|
-
fromNode,
|
637
|
-
ownerComponent,
|
638
|
-
parentComponent
|
639
|
-
);
|
640
|
-
|
641
|
-
curToNodeChild = toNextSibling;
|
642
|
-
curFromNodeChild = fromNextSibling;
|
643
|
-
}
|
644
|
-
|
645
|
-
// We have processed all of the "to nodes".
|
646
|
-
if (fromNode.cs_) {
|
647
|
-
// If we are in an unfinished fragment, we have reached the end of the nodes
|
648
|
-
// we were matching up and need to end the fragment
|
649
|
-
fromNode.cs_(curFromNodeChild);
|
650
|
-
} else {
|
651
|
-
// If curFromNodeChild is non-null then we still have some from nodes
|
652
|
-
// left over that need to be removed
|
653
|
-
var fragmentBoundary =
|
654
|
-
fromNode.nodeType === FRAGMENT_NODE ? fromNode.endNode : null;
|
655
|
-
|
656
|
-
while (curFromNodeChild && curFromNodeChild !== fragmentBoundary) {
|
657
|
-
fromNextSibling = nextSibling(curFromNodeChild);
|
658
|
-
|
659
|
-
if (fromComponent = componentByDOMNode.get(curFromNodeChild)) {
|
660
|
-
curFromNodeChild = fromNextSibling;
|
661
|
-
if (
|
662
|
-
!globalComponentsContext.r_[fromComponent.id])
|
663
|
-
{
|
664
|
-
destroyComponent(fromComponent);
|
665
|
-
}
|
666
|
-
continue;
|
667
|
-
}
|
668
|
-
|
669
|
-
curVFromNodeChild = vElementByDOMNode.get(curFromNodeChild);
|
670
|
-
curFromNodeKey = keysByDOMNode.get(fromNode);
|
671
|
-
|
672
|
-
// For transcluded content, we need to check if the element belongs to a different component
|
673
|
-
// context than the current component and ensure it gets removed from its key index.
|
674
|
-
if (!curFromNodeKey || isAutoKey(curFromNodeKey)) {
|
675
|
-
referenceComponent = parentComponent;
|
676
|
-
} else {
|
677
|
-
referenceComponent =
|
678
|
-
curVFromNodeChild && curVFromNodeChild._N_;
|
679
|
-
}
|
680
|
-
|
681
|
-
detachNode(curFromNodeChild, fromNode, referenceComponent);
|
682
|
-
|
683
|
-
curFromNodeChild = fromNextSibling;
|
684
|
-
}
|
685
|
-
}
|
686
|
-
}
|
687
|
-
|
688
|
-
function morphEl(fromEl, vFromEl, toEl, parentComponent) {
|
689
|
-
var nodeName = toEl.cg_;
|
690
|
-
var constId = toEl.ci_;
|
691
|
-
vElementByDOMNode.set(fromEl, toEl);
|
692
|
-
|
693
|
-
if (constId !== undefined && vFromEl.ci_ === constId) {
|
694
|
-
return;
|
695
|
-
}
|
696
|
-
|
697
|
-
morphAttrs(fromEl, vFromEl, toEl);
|
698
|
-
|
699
|
-
if (toEl.ad_) {
|
700
|
-
return;
|
701
|
-
}
|
702
|
-
|
703
|
-
if (isTextOnly(nodeName)) {
|
704
|
-
if (toEl.ch_ !== vFromEl.ch_) {
|
705
|
-
if (nodeName === "textarea") {
|
706
|
-
fromEl.value = toEl.ch_;
|
707
|
-
} else {
|
708
|
-
fromEl.textContent = toEl.ch_;
|
709
|
-
}
|
710
|
-
}
|
711
|
-
} else {
|
712
|
-
morphChildren(fromEl, toEl, parentComponent);
|
713
|
-
}
|
714
|
-
} // END: morphEl(...)
|
715
|
-
|
716
|
-
morphChildren(fromNode, toNode, toNode.t_);
|
717
|
-
|
718
|
-
detachedNodes.forEach(function (node) {
|
719
|
-
var detachedFromComponent = detachedByDOMNode.get(node);
|
720
|
-
|
721
|
-
if (detachedFromComponent !== undefined) {
|
722
|
-
detachedByDOMNode.set(node, undefined);
|
723
|
-
|
724
|
-
var componentToDestroy = componentByDOMNode.get(node);
|
725
|
-
if (componentToDestroy) {
|
726
|
-
componentToDestroy.destroy();
|
727
|
-
} else if (node.parentNode) {
|
728
|
-
destroyNodeRecursive(
|
729
|
-
node,
|
730
|
-
detachedFromComponent !== true && detachedFromComponent
|
731
|
-
);
|
732
|
-
|
733
|
-
if (eventDelegation.ao_(node) != false) {
|
734
|
-
removeChild(node);
|
735
|
-
}
|
736
|
-
}
|
737
|
-
}
|
738
|
-
});
|
739
|
-
}
|
740
|
-
|
741
|
-
module.exports = morphdom;
|