marko 5.37.6 → 6.0.0-3.12
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/index.d.ts +30 -261
- package/package.json +40 -67
- 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/tags-html.d.ts +85 -5
- 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.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/translator/index.d.ts +0 -7
- package/translator/package.json +0 -5
@@ -1,169 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
// eslint-disable-next-line no-constant-binary-expression
|
3
|
-
var complain = "MARKO_DEBUG" && require("complain");
|
4
|
-
var extend = require("raptor-util/extend");
|
5
|
-
var componentUtil = require("@internal/components-util");
|
6
|
-
var w10NOOP = require("../helpers/serialize-noop").___noop;
|
7
|
-
var attachBubblingEvent = componentUtil.___attachBubblingEvent;
|
8
|
-
var addDelegatedEventHandler =
|
9
|
-
require("./event-delegation").___addDelegatedEventHandler;
|
10
|
-
var KeySequence = require("./KeySequence");
|
11
|
-
var EMPTY_OBJECT = {};
|
12
|
-
|
13
|
-
var FLAG_WILL_RERENDER_IN_BROWSER = 1;
|
14
|
-
var FLAG_HAS_RENDER_BODY = 2;
|
15
|
-
var FLAG_IS_LEGACY = 4;
|
16
|
-
var FLAG_OLD_HYDRATE_NO_CREATE = 8;
|
17
|
-
|
18
|
-
/**
|
19
|
-
* A ComponentDef is used to hold the metadata collected at runtime for
|
20
|
-
* a single component and this information is used to instantiate the component
|
21
|
-
* later (after the rendered HTML has been added to the DOM)
|
22
|
-
*/
|
23
|
-
function ComponentDef(component, componentId, componentsContext) {
|
24
|
-
this.___componentsContext = componentsContext; // The AsyncWriter that this component is associated with
|
25
|
-
this.___component = component;
|
26
|
-
this.id = componentId;
|
27
|
-
|
28
|
-
this.___domEvents = undefined; // An array of DOM events that need to be added (in sets of three)
|
29
|
-
|
30
|
-
this.___isExisting = false;
|
31
|
-
|
32
|
-
this.___renderBoundary = false;
|
33
|
-
this.___flags = 0;
|
34
|
-
|
35
|
-
this.___nextIdIndex = 0; // The unique integer to use for the next scoped ID
|
36
|
-
this.___keySequence = null;
|
37
|
-
}
|
38
|
-
|
39
|
-
ComponentDef.prototype = {
|
40
|
-
___nextKey: function (key) {
|
41
|
-
return (
|
42
|
-
this.___keySequence || (this.___keySequence = new KeySequence())
|
43
|
-
).___nextKey(key);
|
44
|
-
},
|
45
|
-
|
46
|
-
/**
|
47
|
-
* This helper method generates a unique and fully qualified DOM element ID
|
48
|
-
* that is unique within the scope of the current component.
|
49
|
-
*/
|
50
|
-
elId: function (nestedId) {
|
51
|
-
var id = this.id;
|
52
|
-
|
53
|
-
if (nestedId == null) {
|
54
|
-
return id;
|
55
|
-
} else {
|
56
|
-
if (typeof nestedId !== "string") {
|
57
|
-
// eslint-disable-next-line no-constant-condition
|
58
|
-
if ("MARKO_DEBUG") {
|
59
|
-
complain("Using non strings as keys is deprecated.");
|
60
|
-
}
|
61
|
-
|
62
|
-
nestedId = String(nestedId);
|
63
|
-
}
|
64
|
-
|
65
|
-
if (nestedId.indexOf("#") === 0) {
|
66
|
-
id = "#" + id;
|
67
|
-
nestedId = nestedId.substring(1);
|
68
|
-
}
|
69
|
-
|
70
|
-
return id + "-" + nestedId;
|
71
|
-
}
|
72
|
-
},
|
73
|
-
/**
|
74
|
-
* Returns the next auto generated unique ID for a nested DOM element or nested DOM component
|
75
|
-
*/
|
76
|
-
___nextComponentId: function () {
|
77
|
-
return this.id + "-c" + this.___nextIdIndex++;
|
78
|
-
},
|
79
|
-
|
80
|
-
d: function (eventName, handlerMethodName, isOnce, extraArgs) {
|
81
|
-
addDelegatedEventHandler(eventName);
|
82
|
-
return attachBubblingEvent(this, handlerMethodName, isOnce, extraArgs);
|
83
|
-
},
|
84
|
-
|
85
|
-
get ___type() {
|
86
|
-
return this.___component.___type;
|
87
|
-
},
|
88
|
-
};
|
89
|
-
|
90
|
-
ComponentDef.prototype.nk = ComponentDef.prototype.___nextKey;
|
91
|
-
|
92
|
-
ComponentDef.___deserialize = function (o, types, global, registry) {
|
93
|
-
var id = o[0];
|
94
|
-
var typeName = types[o[1]];
|
95
|
-
var input = o[2] || null;
|
96
|
-
var extra = o[3] || EMPTY_OBJECT;
|
97
|
-
|
98
|
-
var state = extra.s;
|
99
|
-
var componentProps = extra.w || EMPTY_OBJECT;
|
100
|
-
var flags = extra.f;
|
101
|
-
var isLegacy = flags & FLAG_IS_LEGACY;
|
102
|
-
var renderBody = flags & FLAG_HAS_RENDER_BODY ? w10NOOP : extra.r;
|
103
|
-
|
104
|
-
var component =
|
105
|
-
typeName /* legacy */ &&
|
106
|
-
registry.___createComponent(typeName, id, isLegacy);
|
107
|
-
|
108
|
-
// Prevent newly created component from being queued for update since we area
|
109
|
-
// just building it from the server info
|
110
|
-
component.___updateQueued = true;
|
111
|
-
component.___global = global;
|
112
|
-
|
113
|
-
if (isLegacy) {
|
114
|
-
component.widgetConfig = componentProps;
|
115
|
-
component.___widgetBody = renderBody;
|
116
|
-
} else if (renderBody) {
|
117
|
-
(input || (input = {})).renderBody = renderBody;
|
118
|
-
}
|
119
|
-
|
120
|
-
if (
|
121
|
-
!isLegacy &&
|
122
|
-
flags & FLAG_WILL_RERENDER_IN_BROWSER &&
|
123
|
-
!(flags & FLAG_OLD_HYDRATE_NO_CREATE)
|
124
|
-
) {
|
125
|
-
if (component.onCreate) {
|
126
|
-
component.onCreate(input, { global: global });
|
127
|
-
}
|
128
|
-
if (component.onInput) {
|
129
|
-
input = component.onInput(input, { global: global }) || input;
|
130
|
-
}
|
131
|
-
} else {
|
132
|
-
if (state) {
|
133
|
-
var undefinedPropNames = extra.u;
|
134
|
-
if (undefinedPropNames) {
|
135
|
-
undefinedPropNames.forEach(function (undefinedPropName) {
|
136
|
-
state[undefinedPropName] = undefined;
|
137
|
-
});
|
138
|
-
}
|
139
|
-
// We go through the setter here so that we convert the state object
|
140
|
-
// to an instance of `State`
|
141
|
-
component.state = state;
|
142
|
-
}
|
143
|
-
|
144
|
-
if (!isLegacy && componentProps) {
|
145
|
-
extend(component, componentProps);
|
146
|
-
}
|
147
|
-
}
|
148
|
-
|
149
|
-
component.___input = input;
|
150
|
-
|
151
|
-
if (extra.b) {
|
152
|
-
component.___bubblingDomEvents = extra.b;
|
153
|
-
}
|
154
|
-
|
155
|
-
var scope = extra.p;
|
156
|
-
var customEvents = extra.e;
|
157
|
-
if (customEvents) {
|
158
|
-
component.___setCustomEvents(customEvents, scope);
|
159
|
-
}
|
160
|
-
|
161
|
-
return {
|
162
|
-
id: id,
|
163
|
-
___component: component,
|
164
|
-
___domEvents: extra.d,
|
165
|
-
___flags: extra.f || 0,
|
166
|
-
};
|
167
|
-
};
|
168
|
-
|
169
|
-
module.exports = ComponentDef;
|
@@ -1,59 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var GlobalComponentsContext = require("./GlobalComponentsContext");
|
3
|
-
|
4
|
-
function ComponentsContext(out, parentComponentsContext) {
|
5
|
-
var globalComponentsContext;
|
6
|
-
var componentDef;
|
7
|
-
|
8
|
-
if (parentComponentsContext) {
|
9
|
-
globalComponentsContext = parentComponentsContext.___globalContext;
|
10
|
-
componentDef = parentComponentsContext.___componentDef;
|
11
|
-
|
12
|
-
var nestedContextsForParent;
|
13
|
-
if (
|
14
|
-
!(nestedContextsForParent = parentComponentsContext.___nestedContexts)
|
15
|
-
) {
|
16
|
-
nestedContextsForParent = parentComponentsContext.___nestedContexts = [];
|
17
|
-
}
|
18
|
-
|
19
|
-
nestedContextsForParent.push(this);
|
20
|
-
} else {
|
21
|
-
globalComponentsContext = out.global.___components;
|
22
|
-
if (globalComponentsContext === undefined) {
|
23
|
-
out.global.___components = globalComponentsContext =
|
24
|
-
new GlobalComponentsContext(out);
|
25
|
-
}
|
26
|
-
}
|
27
|
-
|
28
|
-
this.___globalContext = globalComponentsContext;
|
29
|
-
this.___components = [];
|
30
|
-
this.___out = out;
|
31
|
-
this.___componentDef = componentDef;
|
32
|
-
this.___nestedContexts = undefined;
|
33
|
-
this.___isPreserved =
|
34
|
-
parentComponentsContext && parentComponentsContext.___isPreserved;
|
35
|
-
}
|
36
|
-
|
37
|
-
ComponentsContext.prototype = {
|
38
|
-
___initComponents: function (host) {
|
39
|
-
var componentDefs = this.___components;
|
40
|
-
|
41
|
-
ComponentsContext.___initClientRendered(componentDefs, host);
|
42
|
-
|
43
|
-
this.___out.emit("___componentsInitialized");
|
44
|
-
|
45
|
-
// Reset things stored in global since global is retained for
|
46
|
-
// future renders
|
47
|
-
this.___out.global.___components = undefined;
|
48
|
-
|
49
|
-
return componentDefs;
|
50
|
-
},
|
51
|
-
};
|
52
|
-
|
53
|
-
function getComponentsContext(out) {
|
54
|
-
return out.___components || (out.___components = new ComponentsContext(out));
|
55
|
-
}
|
56
|
-
|
57
|
-
module.exports = exports = ComponentsContext;
|
58
|
-
|
59
|
-
exports.___getComponentsContext = getComponentsContext;
|
@@ -1,10 +0,0 @@
|
|
1
|
-
var nextComponentIdProvider =
|
2
|
-
require("@internal/components-util").___nextComponentIdProvider;
|
3
|
-
|
4
|
-
function GlobalComponentsContext(out) {
|
5
|
-
this.___renderedComponentsById = {};
|
6
|
-
this.___rerenderComponent = undefined;
|
7
|
-
this.___nextComponentId = nextComponentIdProvider(out);
|
8
|
-
}
|
9
|
-
|
10
|
-
module.exports = GlobalComponentsContext;
|
@@ -1,16 +0,0 @@
|
|
1
|
-
function KeySequence() {
|
2
|
-
this.___lookup = Object.create(null);
|
3
|
-
}
|
4
|
-
|
5
|
-
KeySequence.prototype.___nextKey = function (key) {
|
6
|
-
var lookup = this.___lookup;
|
7
|
-
|
8
|
-
if (lookup[key]) {
|
9
|
-
return key + "_" + lookup[key]++;
|
10
|
-
}
|
11
|
-
|
12
|
-
lookup[key] = 1;
|
13
|
-
return key;
|
14
|
-
};
|
15
|
-
|
16
|
-
module.exports = KeySequence;
|
@@ -1,73 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
// eslint-disable-next-line no-constant-binary-expression
|
3
|
-
var complain = "MARKO_DEBUG" && require("complain");
|
4
|
-
|
5
|
-
class ServerComponent {
|
6
|
-
constructor(id, input, out, typeName, customEvents, scope) {
|
7
|
-
this.id = id;
|
8
|
-
this.___customEvents = customEvents;
|
9
|
-
this.___scope = scope;
|
10
|
-
this.typeName = typeName;
|
11
|
-
this.___bubblingDomEvents = undefined; // Used to keep track of bubbling DOM events for components rendered on the server
|
12
|
-
this.___bubblingDomEventsExtraArgsCount = 0;
|
13
|
-
|
14
|
-
this.onCreate(input, out);
|
15
|
-
this.___updatedInput = this.onInput(input, out) || input;
|
16
|
-
if (this.___input === undefined) {
|
17
|
-
this.___input = this.___updatedInput;
|
18
|
-
}
|
19
|
-
this.onRender(out);
|
20
|
-
}
|
21
|
-
|
22
|
-
set input(newInput) {
|
23
|
-
this.___input = newInput;
|
24
|
-
}
|
25
|
-
|
26
|
-
get input() {
|
27
|
-
return this.___input;
|
28
|
-
}
|
29
|
-
|
30
|
-
set state(newState) {
|
31
|
-
this.___state = newState;
|
32
|
-
}
|
33
|
-
|
34
|
-
get state() {
|
35
|
-
return this.___state;
|
36
|
-
}
|
37
|
-
|
38
|
-
get ___rawState() {
|
39
|
-
return this.___state;
|
40
|
-
}
|
41
|
-
|
42
|
-
elId(nestedId) {
|
43
|
-
var id = this.id;
|
44
|
-
|
45
|
-
if (nestedId == null) {
|
46
|
-
return id;
|
47
|
-
} else {
|
48
|
-
if (typeof nestedId !== "string") {
|
49
|
-
// eslint-disable-next-line no-constant-condition
|
50
|
-
if ("MARKO_DEBUG") {
|
51
|
-
complain("Using non strings as keys is deprecated.");
|
52
|
-
}
|
53
|
-
|
54
|
-
nestedId = String(nestedId);
|
55
|
-
}
|
56
|
-
|
57
|
-
if (nestedId.indexOf("#") === 0) {
|
58
|
-
id = "#" + id;
|
59
|
-
nestedId = nestedId.substring(1);
|
60
|
-
}
|
61
|
-
|
62
|
-
return id + "-" + nestedId;
|
63
|
-
}
|
64
|
-
}
|
65
|
-
|
66
|
-
onCreate() {}
|
67
|
-
onInput() {}
|
68
|
-
onRender() {}
|
69
|
-
}
|
70
|
-
|
71
|
-
ServerComponent.prototype.getElId = ServerComponent.prototype.elId;
|
72
|
-
|
73
|
-
module.exports = ServerComponent;
|
@@ -1,101 +0,0 @@
|
|
1
|
-
var extend = require("raptor-util/extend");
|
2
|
-
|
3
|
-
function ensure(state, propertyName) {
|
4
|
-
var proto = state.constructor.prototype;
|
5
|
-
if (!(propertyName in proto)) {
|
6
|
-
Object.defineProperty(proto, propertyName, {
|
7
|
-
get: function () {
|
8
|
-
return this.___raw[propertyName];
|
9
|
-
},
|
10
|
-
set: function (value) {
|
11
|
-
this.___set(propertyName, value, false /* ensure:false */);
|
12
|
-
},
|
13
|
-
});
|
14
|
-
}
|
15
|
-
}
|
16
|
-
|
17
|
-
function State(component) {
|
18
|
-
this.___component = component;
|
19
|
-
this.___raw = {};
|
20
|
-
|
21
|
-
this.___dirty = false;
|
22
|
-
this.___old = null;
|
23
|
-
this.___changes = null;
|
24
|
-
this.___forced = null; // An object that we use to keep tracking of state properties that were forced to be dirty
|
25
|
-
|
26
|
-
Object.seal(this);
|
27
|
-
}
|
28
|
-
|
29
|
-
State.prototype = {
|
30
|
-
___reset: function () {
|
31
|
-
this.___dirty = false;
|
32
|
-
this.___old = null;
|
33
|
-
this.___changes = null;
|
34
|
-
this.___forced = null;
|
35
|
-
},
|
36
|
-
|
37
|
-
___replace: function (newState) {
|
38
|
-
var key;
|
39
|
-
var rawState = this.___raw;
|
40
|
-
|
41
|
-
for (key in rawState) {
|
42
|
-
if (!(key in newState)) {
|
43
|
-
this.___set(
|
44
|
-
key,
|
45
|
-
undefined,
|
46
|
-
false /* ensure:false */,
|
47
|
-
false /* forceDirty:false */,
|
48
|
-
);
|
49
|
-
}
|
50
|
-
}
|
51
|
-
|
52
|
-
for (key in newState) {
|
53
|
-
this.___set(
|
54
|
-
key,
|
55
|
-
newState[key],
|
56
|
-
true /* ensure:true */,
|
57
|
-
false /* forceDirty:false */,
|
58
|
-
);
|
59
|
-
}
|
60
|
-
},
|
61
|
-
___set: function (name, value, shouldEnsure, forceDirty) {
|
62
|
-
var rawState = this.___raw;
|
63
|
-
|
64
|
-
if (shouldEnsure) {
|
65
|
-
ensure(this, name);
|
66
|
-
}
|
67
|
-
|
68
|
-
if (forceDirty) {
|
69
|
-
var forcedDirtyState = this.___forced || (this.___forced = {});
|
70
|
-
forcedDirtyState[name] = true;
|
71
|
-
} else if (rawState[name] === value) {
|
72
|
-
return;
|
73
|
-
}
|
74
|
-
|
75
|
-
if (!this.___dirty) {
|
76
|
-
// This is the first time we are modifying the component state
|
77
|
-
// so introduce some properties to do some tracking of
|
78
|
-
// changes to the state
|
79
|
-
this.___dirty = true; // Mark the component state as dirty (i.e. modified)
|
80
|
-
this.___old = rawState;
|
81
|
-
this.___raw = rawState = extend({}, rawState);
|
82
|
-
this.___changes = {};
|
83
|
-
this.___component.___queueUpdate();
|
84
|
-
}
|
85
|
-
|
86
|
-
this.___changes[name] = value;
|
87
|
-
|
88
|
-
if (value === undefined) {
|
89
|
-
// Don't store state properties with an undefined or null value
|
90
|
-
delete rawState[name];
|
91
|
-
} else {
|
92
|
-
// Otherwise, store the new value in the component state
|
93
|
-
rawState[name] = value;
|
94
|
-
}
|
95
|
-
},
|
96
|
-
toJSON: function () {
|
97
|
-
return this.___raw;
|
98
|
-
},
|
99
|
-
};
|
100
|
-
|
101
|
-
module.exports = State;
|
@@ -1,60 +0,0 @@
|
|
1
|
-
var eventDelegation = require("./event-delegation");
|
2
|
-
var delegateEvent = eventDelegation.___delegateEvent;
|
3
|
-
var getEventFromEl = eventDelegation.___getEventFromEl;
|
4
|
-
|
5
|
-
// var componentsUtil = require('@internal/components-util');
|
6
|
-
// var destroyNodeRecursive = componentsUtil.___destroyNodeRecursive;
|
7
|
-
// var destroyComponentForNode = componentsUtil.___destroyComponentForNode;
|
8
|
-
|
9
|
-
function handleNodeAttach(node, componentsContext) {
|
10
|
-
if (node.nodeType === 1) {
|
11
|
-
var eventName = "onattach";
|
12
|
-
var target = getEventFromEl(node, eventName);
|
13
|
-
if (target) {
|
14
|
-
var out = componentsContext.___out;
|
15
|
-
var data = out.data;
|
16
|
-
|
17
|
-
var attachTargets = data.___attachTargets;
|
18
|
-
if (!attachTargets) {
|
19
|
-
attachTargets = data.___attachTargets = [];
|
20
|
-
out.on("___componentsInitialized", function () {
|
21
|
-
for (var i = 0; i < attachTargets.length; i += 2) {
|
22
|
-
var node = attachTargets[i];
|
23
|
-
var target = attachTargets[i + 1];
|
24
|
-
delegateEvent(node, eventName, target, {});
|
25
|
-
}
|
26
|
-
});
|
27
|
-
}
|
28
|
-
|
29
|
-
attachTargets.push(node);
|
30
|
-
attachTargets.push(target);
|
31
|
-
}
|
32
|
-
}
|
33
|
-
}
|
34
|
-
|
35
|
-
function handleNodeDetach(node) {
|
36
|
-
if (node.nodeType === 1) {
|
37
|
-
var eventName = "ondetach";
|
38
|
-
var target = getEventFromEl(node, eventName);
|
39
|
-
if (target) {
|
40
|
-
var allowDetach;
|
41
|
-
|
42
|
-
delegateEvent(node, eventName, target, {
|
43
|
-
preventDefault: function () {
|
44
|
-
allowDetach = false;
|
45
|
-
},
|
46
|
-
detach: function () {
|
47
|
-
var parentNode = node.parentNode;
|
48
|
-
if (parentNode) {
|
49
|
-
parentNode.removeChild(node);
|
50
|
-
}
|
51
|
-
},
|
52
|
-
});
|
53
|
-
|
54
|
-
return allowDetach;
|
55
|
-
}
|
56
|
-
}
|
57
|
-
}
|
58
|
-
|
59
|
-
eventDelegation.___handleNodeAttach = handleNodeAttach;
|
60
|
-
eventDelegation.___handleNodeDetach = handleNodeDetach;
|
@@ -1,60 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var inherit = require("raptor-util/inherit");
|
4
|
-
var BaseComponent = require("./Component");
|
5
|
-
var BaseState = require("./State");
|
6
|
-
|
7
|
-
module.exports = function defineComponent(def, renderer) {
|
8
|
-
if (def.___isComponent) {
|
9
|
-
return def;
|
10
|
-
}
|
11
|
-
|
12
|
-
var ComponentClass = function () {};
|
13
|
-
var proto;
|
14
|
-
|
15
|
-
var type = typeof def;
|
16
|
-
|
17
|
-
if (type == "function") {
|
18
|
-
proto = def.prototype;
|
19
|
-
} else if (type == "object") {
|
20
|
-
proto = def;
|
21
|
-
} else {
|
22
|
-
throw TypeError();
|
23
|
-
}
|
24
|
-
|
25
|
-
ComponentClass.prototype = proto;
|
26
|
-
|
27
|
-
// We don't use the constructor provided by the user
|
28
|
-
// since we don't invoke their constructor until
|
29
|
-
// we have had a chance to do our own initialization.
|
30
|
-
// Instead, we store their constructor in the "initComponent"
|
31
|
-
// property and that method gets called later inside
|
32
|
-
// init-components-browser.js
|
33
|
-
function Component(id) {
|
34
|
-
BaseComponent.call(this, id);
|
35
|
-
}
|
36
|
-
|
37
|
-
if (!proto.___isComponent) {
|
38
|
-
// Inherit from Component if they didn't already
|
39
|
-
inherit(ComponentClass, BaseComponent);
|
40
|
-
}
|
41
|
-
|
42
|
-
// The same prototype will be used by our constructor after
|
43
|
-
// we he have set up the prototype chain using the inherit function
|
44
|
-
proto = Component.prototype = ComponentClass.prototype;
|
45
|
-
|
46
|
-
// proto.constructor = def.constructor = Component;
|
47
|
-
|
48
|
-
// Set a flag on the constructor function to make it clear this is
|
49
|
-
// a component so that we can short-circuit this work later
|
50
|
-
Component.___isComponent = true;
|
51
|
-
|
52
|
-
function State(component) {
|
53
|
-
BaseState.call(this, component);
|
54
|
-
}
|
55
|
-
inherit(State, BaseState);
|
56
|
-
proto.___State = State;
|
57
|
-
proto.___renderer = renderer;
|
58
|
-
|
59
|
-
return Component;
|
60
|
-
};
|
@@ -1,144 +0,0 @@
|
|
1
|
-
var componentsUtil = require("@internal/components-util");
|
2
|
-
var runtimeId = componentsUtil.___runtimeId;
|
3
|
-
var componentLookup = componentsUtil.___componentLookup;
|
4
|
-
var getMarkoPropsFromEl = componentsUtil.___getMarkoPropsFromEl;
|
5
|
-
|
6
|
-
var TEXT_NODE = 3;
|
7
|
-
|
8
|
-
// We make our best effort to allow multiple marko runtimes to be loaded in the
|
9
|
-
// same window. Each marko runtime will get its own unique runtime ID.
|
10
|
-
var listenersAttachedKey = "$MDE" + runtimeId;
|
11
|
-
var delegatedEvents = {};
|
12
|
-
|
13
|
-
function getEventFromEl(el, eventName) {
|
14
|
-
var virtualProps = getMarkoPropsFromEl(el);
|
15
|
-
var eventInfo = virtualProps[eventName];
|
16
|
-
|
17
|
-
if (typeof eventInfo === "string") {
|
18
|
-
eventInfo = eventInfo.split(" ");
|
19
|
-
if (eventInfo[2]) {
|
20
|
-
eventInfo[2] = eventInfo[2] === "true";
|
21
|
-
}
|
22
|
-
if (eventInfo.length == 4) {
|
23
|
-
eventInfo[3] = parseInt(eventInfo[3], 10);
|
24
|
-
}
|
25
|
-
}
|
26
|
-
|
27
|
-
return eventInfo;
|
28
|
-
}
|
29
|
-
|
30
|
-
function delegateEvent(node, eventName, target, event) {
|
31
|
-
var targetMethod = target[0];
|
32
|
-
var targetComponentId = target[1];
|
33
|
-
var isOnce = target[2];
|
34
|
-
var extraArgs = target[3];
|
35
|
-
|
36
|
-
if (isOnce) {
|
37
|
-
var virtualProps = getMarkoPropsFromEl(node);
|
38
|
-
delete virtualProps[eventName];
|
39
|
-
}
|
40
|
-
|
41
|
-
var targetComponent = componentLookup[targetComponentId];
|
42
|
-
|
43
|
-
if (!targetComponent) {
|
44
|
-
return;
|
45
|
-
}
|
46
|
-
|
47
|
-
var targetFunc =
|
48
|
-
typeof targetMethod === "function"
|
49
|
-
? targetMethod
|
50
|
-
: targetComponent[targetMethod];
|
51
|
-
if (!targetFunc) {
|
52
|
-
throw Error("Method not found: " + targetMethod);
|
53
|
-
}
|
54
|
-
|
55
|
-
if (extraArgs != null) {
|
56
|
-
if (typeof extraArgs === "number") {
|
57
|
-
extraArgs = targetComponent.___bubblingDomEvents[extraArgs];
|
58
|
-
}
|
59
|
-
}
|
60
|
-
|
61
|
-
// Invoke the component method
|
62
|
-
if (extraArgs) {
|
63
|
-
targetFunc.apply(targetComponent, extraArgs.concat(event, node));
|
64
|
-
} else {
|
65
|
-
targetFunc.call(targetComponent, event, node);
|
66
|
-
}
|
67
|
-
}
|
68
|
-
|
69
|
-
function addDelegatedEventHandler(eventType) {
|
70
|
-
if (!delegatedEvents[eventType]) {
|
71
|
-
delegatedEvents[eventType] = true;
|
72
|
-
}
|
73
|
-
}
|
74
|
-
|
75
|
-
function addDelegatedEventHandlerToHost(eventType, host) {
|
76
|
-
var listeners = (host[listenersAttachedKey] =
|
77
|
-
host[listenersAttachedKey] || {});
|
78
|
-
if (!listeners[eventType]) {
|
79
|
-
(host.body || host).addEventListener(
|
80
|
-
eventType,
|
81
|
-
(listeners[eventType] = function (event) {
|
82
|
-
var curNode = event.target;
|
83
|
-
if (!curNode) {
|
84
|
-
return;
|
85
|
-
}
|
86
|
-
|
87
|
-
curNode =
|
88
|
-
// event.target of an SVGElementInstance does not have a
|
89
|
-
// `getAttribute` function in IE 11.
|
90
|
-
// See https://github.com/marko-js/marko/issues/796
|
91
|
-
curNode.correspondingUseElement ||
|
92
|
-
// in some browsers the event target can be a text node
|
93
|
-
// one example being dragenter in firefox.
|
94
|
-
(curNode.nodeType === TEXT_NODE ? curNode.parentNode : curNode);
|
95
|
-
|
96
|
-
// Search up the tree looking DOM events mapped to target
|
97
|
-
// component methods
|
98
|
-
var propName = "on" + eventType;
|
99
|
-
var target;
|
100
|
-
|
101
|
-
// Attributes will have the following form:
|
102
|
-
// on<event_type>("<target_method>|<component_id>")
|
103
|
-
|
104
|
-
if (event.bubbles) {
|
105
|
-
var propagationStopped = false;
|
106
|
-
|
107
|
-
// Monkey-patch to fix #97
|
108
|
-
var oldStopPropagation = event.stopPropagation;
|
109
|
-
|
110
|
-
event.stopPropagation = function () {
|
111
|
-
oldStopPropagation.call(event);
|
112
|
-
propagationStopped = true;
|
113
|
-
};
|
114
|
-
|
115
|
-
do {
|
116
|
-
if ((target = getEventFromEl(curNode, propName))) {
|
117
|
-
delegateEvent(curNode, propName, target, event);
|
118
|
-
|
119
|
-
if (propagationStopped) {
|
120
|
-
break;
|
121
|
-
}
|
122
|
-
}
|
123
|
-
} while ((curNode = curNode.parentNode) && curNode.getAttribute);
|
124
|
-
} else if ((target = getEventFromEl(curNode, propName))) {
|
125
|
-
delegateEvent(curNode, propName, target, event);
|
126
|
-
}
|
127
|
-
}),
|
128
|
-
true,
|
129
|
-
);
|
130
|
-
}
|
131
|
-
}
|
132
|
-
|
133
|
-
function noop() {}
|
134
|
-
|
135
|
-
exports.___handleNodeAttach = noop;
|
136
|
-
exports.___handleNodeDetach = noop;
|
137
|
-
exports.___delegateEvent = delegateEvent;
|
138
|
-
exports.___getEventFromEl = getEventFromEl;
|
139
|
-
exports.___addDelegatedEventHandler = addDelegatedEventHandler;
|
140
|
-
exports.___init = function (host) {
|
141
|
-
Object.keys(delegatedEvents).forEach(function (eventType) {
|
142
|
-
addDelegatedEventHandlerToHost(eventType, host);
|
143
|
-
});
|
144
|
-
};
|