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.
Files changed (648) hide show
  1. package/dist/common/attr-tag.d.ts +8 -0
  2. package/dist/common/compat-meta.d.ts +2 -0
  3. package/dist/common/for.d.ts +5 -0
  4. package/dist/common/helpers.d.ts +7 -0
  5. package/dist/common/meta.d.ts +2 -0
  6. package/dist/common/types.d.ts +105 -0
  7. package/dist/debug/dom.js +2111 -0
  8. package/dist/debug/dom.mjs +2088 -0
  9. package/dist/debug/html.js +2740 -0
  10. package/dist/debug/html.mjs +2663 -0
  11. package/dist/dom/abort-signal.d.ts +3 -0
  12. package/dist/dom/compat.d.ts +20 -0
  13. package/dist/dom/control-flow.d.ts +14 -0
  14. package/dist/dom/controllable.d.ts +12 -0
  15. package/dist/dom/dom.d.ts +19 -0
  16. package/dist/dom/event.d.ts +4 -0
  17. package/dist/dom/parse-html.d.ts +5 -0
  18. package/dist/dom/queue.d.ts +10 -0
  19. package/dist/dom/reconcile.d.ts +2 -0
  20. package/dist/dom/renderer.d.ts +21 -0
  21. package/dist/dom/resolve-cursor-position.d.ts +1 -0
  22. package/dist/dom/resume.d.ts +9 -0
  23. package/dist/dom/schedule.d.ts +2 -0
  24. package/dist/dom/scope.d.ts +7 -0
  25. package/dist/dom/signals.d.ts +39 -0
  26. package/dist/dom/template.d.ts +3 -0
  27. package/dist/dom/walker.d.ts +4 -0
  28. package/dist/dom.d.ts +15 -0
  29. package/dist/dom.js +1370 -0
  30. package/dist/dom.mjs +1350 -0
  31. package/dist/html/attrs.d.ts +14 -0
  32. package/dist/html/compat.d.ts +14 -0
  33. package/dist/html/content.d.ts +5 -0
  34. package/dist/html/dynamic-tag.d.ts +12 -0
  35. package/dist/html/for.d.ts +4 -0
  36. package/dist/html/inlined-runtimes.d.ts +2 -0
  37. package/dist/html/serializer.d.ts +14 -0
  38. package/dist/html/template.d.ts +3 -0
  39. package/dist/html/writer.d.ts +114 -0
  40. package/dist/html.d.ts +9 -0
  41. package/dist/html.js +1818 -0
  42. package/dist/html.mjs +1744 -0
  43. package/dist/translator/core/attrs.d.ts +3 -0
  44. package/dist/translator/core/client.d.ts +14 -0
  45. package/dist/translator/core/const.d.ts +3 -0
  46. package/dist/translator/core/debug.d.ts +3 -0
  47. package/dist/translator/core/define.d.ts +3 -0
  48. package/dist/translator/core/effect.d.ts +3 -0
  49. package/dist/translator/core/export.d.ts +3 -0
  50. package/dist/translator/core/for.d.ts +67 -0
  51. package/dist/translator/core/html-comment.d.ts +12 -0
  52. package/dist/translator/core/html-script.d.ts +9 -0
  53. package/dist/translator/core/html-style.d.ts +9 -0
  54. package/dist/translator/core/id.d.ts +3 -0
  55. package/dist/translator/core/if.d.ts +53 -0
  56. package/dist/translator/core/import.d.ts +3 -0
  57. package/dist/translator/core/index.d.ts +152 -0
  58. package/dist/translator/core/let.d.ts +8 -0
  59. package/dist/translator/core/lifecycle.d.ts +10 -0
  60. package/dist/translator/core/log.d.ts +3 -0
  61. package/dist/translator/core/return.d.ts +6 -0
  62. package/dist/translator/core/script.d.ts +3 -0
  63. package/dist/translator/core/server.d.ts +14 -0
  64. package/dist/translator/core/static.d.ts +14 -0
  65. package/dist/translator/core/style.d.ts +3 -0
  66. package/dist/translator/index.d.ts +201 -0
  67. package/dist/translator/index.js +9134 -490
  68. package/dist/translator/util/assert.d.ts +3 -0
  69. package/dist/translator/util/binding-has-downstream-expressions.d.ts +2 -0
  70. package/dist/translator/util/entry-builder.d.ts +19 -0
  71. package/dist/translator/util/evaluate.d.ts +11 -0
  72. package/dist/translator/util/for-each-identifier.d.ts +2 -0
  73. package/dist/translator/util/get-defined-binding-expression.d.ts +3 -0
  74. package/dist/translator/util/get-known-attr-values.d.ts +2 -0
  75. package/dist/translator/util/get-parent-tag.d.ts +2 -0
  76. package/dist/translator/util/get-root.d.ts +7 -0
  77. package/dist/translator/util/get-tag-name.d.ts +2 -0
  78. package/dist/translator/util/is-core-tag.d.ts +10 -0
  79. package/dist/translator/util/is-stateful.d.ts +3 -0
  80. package/dist/translator/util/is-static.d.ts +2 -0
  81. package/dist/translator/util/marko-config.d.ts +4 -0
  82. package/dist/translator/util/nested-attribute-tags.d.ts +17 -0
  83. package/dist/translator/util/normalize-string-expression.d.ts +3 -0
  84. package/dist/translator/util/optional.d.ts +20 -0
  85. package/dist/translator/util/plugin-hooks.d.ts +4 -0
  86. package/dist/translator/util/references.d.ts +84 -0
  87. package/dist/translator/util/runtime-info.d.ts +5 -0
  88. package/dist/translator/util/runtime.d.ts +15 -0
  89. package/dist/translator/util/scope-read.d.ts +6 -0
  90. package/dist/translator/util/sections.d.ts +51 -0
  91. package/dist/translator/util/signals.d.ts +61 -0
  92. package/dist/translator/util/simplify-fn.d.ts +5 -0
  93. package/dist/translator/util/state.d.ts +3 -0
  94. package/dist/translator/util/tag-name-type.d.ts +16 -0
  95. package/dist/translator/util/to-first-expression-or-block.d.ts +3 -0
  96. package/dist/translator/util/to-first-statement-or-block.d.ts +2 -0
  97. package/dist/translator/util/to-property-name.d.ts +7 -0
  98. package/dist/translator/util/translate-attrs.d.ts +12 -0
  99. package/dist/translator/util/translate-var.d.ts +2 -0
  100. package/dist/translator/util/traverse.d.ts +9 -0
  101. package/dist/translator/util/visitors.d.ts +11 -0
  102. package/dist/translator/util/walks.d.ts +15 -0
  103. package/dist/translator/util/with-previous-location.d.ts +2 -0
  104. package/dist/translator/util/writer.d.ts +13 -0
  105. package/dist/translator/visitors/cdata.d.ts +7 -0
  106. package/dist/translator/visitors/comment.d.ts +7 -0
  107. package/dist/translator/visitors/declaration.d.ts +7 -0
  108. package/dist/translator/visitors/document-type.d.ts +7 -0
  109. package/dist/translator/visitors/function.d.ts +19 -0
  110. package/dist/translator/visitors/import-declaration.d.ts +8 -0
  111. package/dist/translator/visitors/placeholder.d.ts +22 -0
  112. package/dist/translator/visitors/program/dom.d.ts +7 -0
  113. package/dist/translator/visitors/program/html.d.ts +8 -0
  114. package/dist/translator/visitors/program/index.d.ts +39 -0
  115. package/dist/translator/visitors/referenced-identifier.d.ts +7 -0
  116. package/dist/translator/visitors/scriptlet.d.ts +8 -0
  117. package/dist/translator/visitors/tag/attribute-tag.d.ts +11 -0
  118. package/dist/translator/visitors/tag/custom-tag.d.ts +19 -0
  119. package/dist/translator/visitors/tag/dynamic-tag.d.ts +18 -0
  120. package/dist/translator/visitors/tag/index.d.ts +15 -0
  121. package/dist/translator/visitors/tag/native-tag.d.ts +25 -0
  122. package/dist/translator/visitors/text.d.ts +7 -0
  123. package/package.json +34 -70
  124. package/tag-types/const.d.marko +7 -0
  125. package/tag-types/debug.d.marko +5 -0
  126. package/tag-types/define.d.marko +5 -0
  127. package/tag-types/do.d.marko +5 -0
  128. package/tag-types/effect.d.marko +5 -0
  129. package/tag-types/id.d.marko +3 -0
  130. package/tag-types/let.d.marko +8 -0
  131. package/tag-types/lifecycle.d.marko +7 -0
  132. package/tag-types/log.d.marko +5 -0
  133. package/tag-types/script.d.marko +5 -0
  134. package/README.md +0 -161
  135. package/bin/markoc +0 -2
  136. package/bin/markoc.js +0 -441
  137. package/browser-refresh.js +0 -5
  138. package/compiler-browser.marko +0 -15
  139. package/compiler.js +0 -7
  140. package/components-browser.marko +0 -15
  141. package/components.js +0 -7
  142. package/dist/build.json +0 -3
  143. package/dist/compiler/config.js +0 -45
  144. package/dist/compiler/index.js +0 -164
  145. package/dist/compiler/modules.js +0 -5
  146. package/dist/core-tags/components/init-components-tag.js +0 -54
  147. package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
  148. package/dist/core-tags/components/preserve-tag.js +0 -1
  149. package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
  150. package/dist/core-tags/core/await/AsyncValue.js +0 -121
  151. package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
  152. package/dist/core-tags/core/await/index.d.marko +0 -10
  153. package/dist/core-tags/core/await/renderer.js +0 -249
  154. package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
  155. package/dist/index.js +0 -4
  156. package/dist/node-require/browser-refresh.js +0 -1
  157. package/dist/node-require/hot-reload.js +0 -45
  158. package/dist/node-require/index.js +0 -103
  159. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  160. package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
  161. package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
  162. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  163. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  164. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  165. package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  166. package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
  167. package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
  168. package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
  169. package/dist/node_modules/@internal/components-entry/index.js +0 -301
  170. package/dist/node_modules/@internal/components-entry/package.json +0 -11
  171. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  172. package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
  173. package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
  174. package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
  175. package/dist/node_modules/@internal/components-registry/index.js +0 -44
  176. package/dist/node_modules/@internal/components-registry/package.json +0 -11
  177. package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
  178. package/dist/node_modules/@internal/components-util/index.js +0 -71
  179. package/dist/node_modules/@internal/components-util/package.json +0 -11
  180. package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
  181. package/dist/node_modules/@internal/create-readable/index.js +0 -57
  182. package/dist/node_modules/@internal/create-readable/package.json +0 -11
  183. package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
  184. package/dist/node_modules/@internal/loader/index-browser.js +0 -2
  185. package/dist/node_modules/@internal/loader/index.js +0 -23
  186. package/dist/node_modules/@internal/loader/package.json +0 -10
  187. package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  188. package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
  189. package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
  190. package/dist/node_modules/@internal/require/index-browser.js +0 -15
  191. package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
  192. package/dist/node_modules/@internal/require/index-webpack.js +0 -16
  193. package/dist/node_modules/@internal/require/index.js +0 -15
  194. package/dist/node_modules/@internal/require/package.json +0 -11
  195. package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
  196. package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
  197. package/dist/node_modules/@internal/set-immediate/index.js +0 -3
  198. package/dist/node_modules/@internal/set-immediate/package.json +0 -11
  199. package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  200. package/dist/runtime/RenderResult.js +0 -112
  201. package/dist/runtime/components/Component.js +0 -663
  202. package/dist/runtime/components/ComponentDef.js +0 -169
  203. package/dist/runtime/components/ComponentsContext.js +0 -59
  204. package/dist/runtime/components/GlobalComponentsContext.js +0 -10
  205. package/dist/runtime/components/KeySequence.js +0 -16
  206. package/dist/runtime/components/ServerComponent.js +0 -73
  207. package/dist/runtime/components/State.js +0 -101
  208. package/dist/runtime/components/attach-detach.js +0 -60
  209. package/dist/runtime/components/defineComponent.js +0 -60
  210. package/dist/runtime/components/dom-data.js +0 -8
  211. package/dist/runtime/components/event-delegation.js +0 -144
  212. package/dist/runtime/components/index.js +0 -1
  213. package/dist/runtime/components/legacy/browser.json +0 -9
  214. package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
  215. package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  216. package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
  217. package/dist/runtime/components/legacy/dependencies/html.js +0 -3
  218. package/dist/runtime/components/legacy/dependencies/index.js +0 -177
  219. package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
  220. package/dist/runtime/components/legacy/index.js +0 -1
  221. package/dist/runtime/components/legacy/jquery.js +0 -52
  222. package/dist/runtime/components/legacy/ready.js +0 -152
  223. package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
  224. package/dist/runtime/components/registry.js +0 -1
  225. package/dist/runtime/components/renderer.js +0 -236
  226. package/dist/runtime/components/update-manager.js +0 -94
  227. package/dist/runtime/createOut.js +0 -13
  228. package/dist/runtime/dom-insert.js +0 -77
  229. package/dist/runtime/events.js +0 -2
  230. package/dist/runtime/helpers/_change-case.js +0 -45
  231. package/dist/runtime/helpers/assign.js +0 -21
  232. package/dist/runtime/helpers/attr-tag.js +0 -43
  233. package/dist/runtime/helpers/class-value.js +0 -30
  234. package/dist/runtime/helpers/dynamic-tag.js +0 -181
  235. package/dist/runtime/helpers/empty-component.js +0 -1
  236. package/dist/runtime/helpers/merge.js +0 -13
  237. package/dist/runtime/helpers/of-fallback.js +0 -4
  238. package/dist/runtime/helpers/render-tag.js +0 -20
  239. package/dist/runtime/helpers/serialize-noop.js +0 -5
  240. package/dist/runtime/helpers/style-value.js +0 -45
  241. package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
  242. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  243. package/dist/runtime/helpers/tags-compat/dom.js +0 -1
  244. package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
  245. package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
  246. package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  247. package/dist/runtime/helpers/tags-compat/html.js +0 -3
  248. package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
  249. package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  250. package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
  251. package/dist/runtime/helpers/to-string.js +0 -5
  252. package/dist/runtime/html/AsyncStream.js +0 -805
  253. package/dist/runtime/html/BufferedWriter.js +0 -52
  254. package/dist/runtime/html/StringWriter.js +0 -73
  255. package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
  256. package/dist/runtime/html/helpers/attr.js +0 -80
  257. package/dist/runtime/html/helpers/attrs.js +0 -26
  258. package/dist/runtime/html/helpers/class-attr.js +0 -8
  259. package/dist/runtime/html/helpers/data-marko.js +0 -36
  260. package/dist/runtime/html/helpers/escape-quotes.js +0 -35
  261. package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
  262. package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
  263. package/dist/runtime/html/helpers/escape-xml.js +0 -21
  264. package/dist/runtime/html/helpers/merge-attrs.js +0 -55
  265. package/dist/runtime/html/helpers/props-script.js +0 -32
  266. package/dist/runtime/html/helpers/style-attr.js +0 -8
  267. package/dist/runtime/html/hot-reload.js +0 -26
  268. package/dist/runtime/html/index.js +0 -33
  269. package/dist/runtime/html/marko-namespace.js +0 -3
  270. package/dist/runtime/renderable.js +0 -194
  271. package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  272. package/dist/runtime/vdom/VComment.js +0 -24
  273. package/dist/runtime/vdom/VComponent.js +0 -17
  274. package/dist/runtime/vdom/VDocumentFragment.js +0 -34
  275. package/dist/runtime/vdom/VElement.js +0 -375
  276. package/dist/runtime/vdom/VFragment.js +0 -26
  277. package/dist/runtime/vdom/VNode.js +0 -100
  278. package/dist/runtime/vdom/VText.js +0 -25
  279. package/dist/runtime/vdom/helpers/attrs.js +0 -62
  280. package/dist/runtime/vdom/helpers/const-element.js +0 -25
  281. package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
  282. package/dist/runtime/vdom/hot-reload.js +0 -115
  283. package/dist/runtime/vdom/index.js +0 -30
  284. package/dist/runtime/vdom/is-text-only.js +0 -10
  285. package/dist/runtime/vdom/marko-namespace.js +0 -3
  286. package/dist/runtime/vdom/morphdom/fragment.js +0 -95
  287. package/dist/runtime/vdom/morphdom/helpers.js +0 -42
  288. package/dist/runtime/vdom/morphdom/index.js +0 -741
  289. package/dist/runtime/vdom/parse-html.js +0 -18
  290. package/dist/runtime/vdom/vdom.js +0 -88
  291. package/dist/taglib/index.js +0 -51
  292. package/dist/translator/cdata/index.js +0 -15
  293. package/dist/translator/cdata/index[html].js +0 -15
  294. package/dist/translator/cdata/index[vdom].js +0 -12
  295. package/dist/translator/class.js +0 -65
  296. package/dist/translator/comment/index.js +0 -15
  297. package/dist/translator/comment/index[html].js +0 -17
  298. package/dist/translator/comment/index[vdom].js +0 -3
  299. package/dist/translator/declaration/index.js +0 -15
  300. package/dist/translator/declaration/index[html].js +0 -12
  301. package/dist/translator/declaration/index[vdom].js +0 -3
  302. package/dist/translator/document-type/index.js +0 -15
  303. package/dist/translator/document-type/index[html].js +0 -12
  304. package/dist/translator/document-type/index[vdom].js +0 -3
  305. package/dist/translator/placeholder/index.js +0 -15
  306. package/dist/translator/placeholder/index[html].js +0 -93
  307. package/dist/translator/placeholder/index[vdom].js +0 -22
  308. package/dist/translator/scriptlet.js +0 -4
  309. package/dist/translator/tag/attribute/directives/class.js +0 -42
  310. package/dist/translator/tag/attribute/directives/index.js +0 -15
  311. package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  312. package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
  313. package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
  314. package/dist/translator/tag/attribute/directives/no-update.js +0 -48
  315. package/dist/translator/tag/attribute/directives/style.js +0 -42
  316. package/dist/translator/tag/attribute/index.js +0 -150
  317. package/dist/translator/tag/attribute/modifiers/index.js +0 -7
  318. package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
  319. package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
  320. package/dist/translator/tag/attribute-tag.js +0 -149
  321. package/dist/translator/tag/custom-tag.js +0 -146
  322. package/dist/translator/tag/dynamic-tag.js +0 -74
  323. package/dist/translator/tag/index.js +0 -287
  324. package/dist/translator/tag/macro-tag.js +0 -7
  325. package/dist/translator/tag/native-tag.js +0 -27
  326. package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
  327. package/dist/translator/tag/native-tag[html]/index.js +0 -221
  328. package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
  329. package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
  330. package/dist/translator/tag/util.js +0 -246
  331. package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
  332. package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
  333. package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
  334. package/dist/translator/taglib/core/conditional/util.js +0 -41
  335. package/dist/translator/taglib/core/index.js +0 -474
  336. package/dist/translator/taglib/core/macro/parse.js +0 -17
  337. package/dist/translator/taglib/core/macro/translate.js +0 -48
  338. package/dist/translator/taglib/core/parse-class.js +0 -79
  339. package/dist/translator/taglib/core/parse-export.js +0 -14
  340. package/dist/translator/taglib/core/parse-import.js +0 -14
  341. package/dist/translator/taglib/core/parse-module-code.js +0 -18
  342. package/dist/translator/taglib/core/parse-static.js +0 -18
  343. package/dist/translator/taglib/core/transform-style.js +0 -66
  344. package/dist/translator/taglib/core/translate-await.js +0 -41
  345. package/dist/translator/taglib/core/translate-body.js +0 -17
  346. package/dist/translator/taglib/core/translate-for.js +0 -156
  347. package/dist/translator/taglib/core/translate-html-comment.js +0 -52
  348. package/dist/translator/taglib/core/translate-include-content.js +0 -53
  349. package/dist/translator/taglib/core/translate-server-only.js +0 -5
  350. package/dist/translator/taglib/core/translate-while.js +0 -32
  351. package/dist/translator/taglib/index.js +0 -6
  352. package/dist/translator/taglib/migrate/all-templates.js +0 -46
  353. package/dist/translator/taglib/migrate/index.js +0 -5
  354. package/dist/translator/text/index.js +0 -10
  355. package/dist/translator/text/index[html].js +0 -12
  356. package/dist/translator/text/index[vdom].js +0 -20
  357. package/dist/translator/util/add-dependencies.js +0 -329
  358. package/dist/translator/util/escape-regexp.js +0 -4
  359. package/dist/translator/util/get-component-files.js +0 -86
  360. package/dist/translator/util/html-out-write.js +0 -15
  361. package/dist/translator/util/key-manager.js +0 -176
  362. package/dist/translator/util/optimize-html-writes.js +0 -52
  363. package/dist/translator/util/optimize-vdom-create.js +0 -164
  364. package/dist/translator/util/plugin-hooks.js +0 -22
  365. package/dist/translator/util/runtime-flags.js +0 -3
  366. package/dist/translator/util/vdom-out-write.js +0 -10
  367. package/dist/translator/util/with-previous-location.js +0 -6
  368. package/docs/10-awesome-marko-features.md +0 -291
  369. package/docs/body-content.md +0 -355
  370. package/docs/class-components.md +0 -1001
  371. package/docs/cloudflare-workers.md +0 -32
  372. package/docs/compiler-hooks.png +0 -0
  373. package/docs/compiler.md +0 -473
  374. package/docs/component-diagram.afdesign +0 -0
  375. package/docs/component-diagram.svg +0 -87
  376. package/docs/concise.md +0 -141
  377. package/docs/conditionals-and-lists.md +0 -72
  378. package/docs/core-tags.md +0 -325
  379. package/docs/custom-tags.md +0 -201
  380. package/docs/editor-plugins.md +0 -45
  381. package/docs/events.md +0 -131
  382. package/docs/express.md +0 -66
  383. package/docs/fastify.md +0 -65
  384. package/docs/getting-started.md +0 -95
  385. package/docs/http.md +0 -34
  386. package/docs/icons/js.svg +0 -4
  387. package/docs/icons/marko.svg +0 -1
  388. package/docs/icons/ts.svg +0 -1
  389. package/docs/installing.md +0 -51
  390. package/docs/koa.md +0 -35
  391. package/docs/lasso.md +0 -196
  392. package/docs/marko-5-upgrade.md +0 -59
  393. package/docs/marko-json.md +0 -248
  394. package/docs/marko-vs-react.md +0 -854
  395. package/docs/redux.md +0 -61
  396. package/docs/rendering.md +0 -268
  397. package/docs/rollup.md +0 -352
  398. package/docs/state.md +0 -105
  399. package/docs/structure.json +0 -49
  400. package/docs/styles.md +0 -29
  401. package/docs/syntax.md +0 -601
  402. package/docs/troubleshooting-streaming.md +0 -68
  403. package/docs/typescript.md +0 -406
  404. package/docs/vite.md +0 -86
  405. package/docs/webpack.md +0 -205
  406. package/docs/why-is-marko-fast.md +0 -239
  407. package/env.js +0 -7
  408. package/helpers/README.md +0 -3
  409. package/helpers/empty.js +0 -4
  410. package/helpers/notEmpty.js +0 -11
  411. package/index-browser.marko +0 -15
  412. package/index.d.ts +0 -375
  413. package/index.js +0 -7
  414. package/legacy-components-browser.marko +0 -15
  415. package/legacy-components.js +0 -7
  416. package/node-require.js +0 -8
  417. package/src/build.json +0 -3
  418. package/src/compiler/config.js +0 -45
  419. package/src/compiler/index.js +0 -164
  420. package/src/compiler/modules.js +0 -5
  421. package/src/core-tags/.eslintrc +0 -5
  422. package/src/core-tags/components/init-components-tag.js +0 -54
  423. package/src/core-tags/components/preferred-script-location-tag.js +0 -25
  424. package/src/core-tags/components/preserve-tag.js +0 -1
  425. package/src/core-tags/core/__flush_here_and_after__.js +0 -44
  426. package/src/core-tags/core/await/AsyncValue.js +0 -121
  427. package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
  428. package/src/core-tags/core/await/index.d.marko +0 -10
  429. package/src/core-tags/core/await/renderer.js +0 -249
  430. package/src/core-tags/core/await/reorderer-renderer.js +0 -156
  431. package/src/index.js +0 -4
  432. package/src/node-require/browser-refresh.js +0 -18
  433. package/src/node-require/hot-reload.js +0 -45
  434. package/src/node-require/index.js +0 -103
  435. package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  436. package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
  437. package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
  438. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  439. package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  440. package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  441. package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  442. package/src/node_modules/@internal/components-endComponent/index.js +0 -11
  443. package/src/node_modules/@internal/components-endComponent/package.json +0 -11
  444. package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
  445. package/src/node_modules/@internal/components-entry/index.js +0 -301
  446. package/src/node_modules/@internal/components-entry/package.json +0 -11
  447. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  448. package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
  449. package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
  450. package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
  451. package/src/node_modules/@internal/components-registry/index.js +0 -44
  452. package/src/node_modules/@internal/components-registry/package.json +0 -11
  453. package/src/node_modules/@internal/components-util/index-browser.js +0 -152
  454. package/src/node_modules/@internal/components-util/index.js +0 -75
  455. package/src/node_modules/@internal/components-util/package.json +0 -11
  456. package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
  457. package/src/node_modules/@internal/create-readable/index.js +0 -57
  458. package/src/node_modules/@internal/create-readable/package.json +0 -11
  459. package/src/node_modules/@internal/loader/fallback-node.js +0 -89
  460. package/src/node_modules/@internal/loader/index-browser.js +0 -2
  461. package/src/node_modules/@internal/loader/index.js +0 -23
  462. package/src/node_modules/@internal/loader/package.json +0 -10
  463. package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  464. package/src/node_modules/@internal/preserve-tag/index.js +0 -34
  465. package/src/node_modules/@internal/preserve-tag/package.json +0 -11
  466. package/src/node_modules/@internal/require/index-browser.js +0 -15
  467. package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
  468. package/src/node_modules/@internal/require/index-webpack.js +0 -16
  469. package/src/node_modules/@internal/require/index.js +0 -15
  470. package/src/node_modules/@internal/require/package.json +0 -11
  471. package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
  472. package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
  473. package/src/node_modules/@internal/set-immediate/index.js +0 -3
  474. package/src/node_modules/@internal/set-immediate/package.json +0 -11
  475. package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  476. package/src/runtime/.eslintrc +0 -5
  477. package/src/runtime/RenderResult.js +0 -112
  478. package/src/runtime/components/Component.js +0 -663
  479. package/src/runtime/components/ComponentDef.js +0 -169
  480. package/src/runtime/components/ComponentsContext.js +0 -59
  481. package/src/runtime/components/GlobalComponentsContext.js +0 -10
  482. package/src/runtime/components/KeySequence.js +0 -16
  483. package/src/runtime/components/ServerComponent.js +0 -73
  484. package/src/runtime/components/State.js +0 -101
  485. package/src/runtime/components/attach-detach.js +0 -60
  486. package/src/runtime/components/defineComponent.js +0 -60
  487. package/src/runtime/components/dom-data.js +0 -8
  488. package/src/runtime/components/event-delegation.js +0 -144
  489. package/src/runtime/components/index.js +0 -1
  490. package/src/runtime/components/legacy/browser.json +0 -9
  491. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
  492. package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  493. package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
  494. package/src/runtime/components/legacy/dependencies/html.js +0 -3
  495. package/src/runtime/components/legacy/dependencies/index.js +0 -177
  496. package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
  497. package/src/runtime/components/legacy/index.js +0 -1
  498. package/src/runtime/components/legacy/jquery.js +0 -52
  499. package/src/runtime/components/legacy/ready.js +0 -152
  500. package/src/runtime/components/legacy/renderer-legacy.js +0 -231
  501. package/src/runtime/components/registry.js +0 -1
  502. package/src/runtime/components/renderer.js +0 -236
  503. package/src/runtime/components/update-manager.js +0 -94
  504. package/src/runtime/createOut.js +0 -13
  505. package/src/runtime/dom-insert.js +0 -77
  506. package/src/runtime/events.js +0 -2
  507. package/src/runtime/helpers/_change-case.js +0 -45
  508. package/src/runtime/helpers/assign.js +0 -21
  509. package/src/runtime/helpers/attr-tag.js +0 -43
  510. package/src/runtime/helpers/class-value.js +0 -30
  511. package/src/runtime/helpers/dynamic-tag.js +0 -181
  512. package/src/runtime/helpers/empty-component.js +0 -1
  513. package/src/runtime/helpers/merge.js +0 -13
  514. package/src/runtime/helpers/of-fallback.js +0 -4
  515. package/src/runtime/helpers/render-tag.js +0 -20
  516. package/src/runtime/helpers/serialize-noop.js +0 -5
  517. package/src/runtime/helpers/style-value.js +0 -45
  518. package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
  519. package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  520. package/src/runtime/helpers/tags-compat/dom.js +0 -1
  521. package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
  522. package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
  523. package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  524. package/src/runtime/helpers/tags-compat/html.js +0 -3
  525. package/src/runtime/helpers/tags-compat/html.mjs +0 -4
  526. package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  527. package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
  528. package/src/runtime/helpers/to-string.js +0 -5
  529. package/src/runtime/html/AsyncStream.js +0 -805
  530. package/src/runtime/html/BufferedWriter.js +0 -52
  531. package/src/runtime/html/StringWriter.js +0 -73
  532. package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
  533. package/src/runtime/html/helpers/attr.js +0 -80
  534. package/src/runtime/html/helpers/attrs.js +0 -26
  535. package/src/runtime/html/helpers/class-attr.js +0 -8
  536. package/src/runtime/html/helpers/data-marko.js +0 -36
  537. package/src/runtime/html/helpers/escape-quotes.js +0 -35
  538. package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
  539. package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
  540. package/src/runtime/html/helpers/escape-xml.js +0 -21
  541. package/src/runtime/html/helpers/merge-attrs.js +0 -55
  542. package/src/runtime/html/helpers/props-script.js +0 -32
  543. package/src/runtime/html/helpers/style-attr.js +0 -8
  544. package/src/runtime/html/hot-reload.js +0 -26
  545. package/src/runtime/html/index.js +0 -33
  546. package/src/runtime/html/marko-namespace.js +0 -3
  547. package/src/runtime/renderable.js +0 -194
  548. package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  549. package/src/runtime/vdom/VComment.js +0 -24
  550. package/src/runtime/vdom/VComponent.js +0 -17
  551. package/src/runtime/vdom/VDocumentFragment.js +0 -34
  552. package/src/runtime/vdom/VElement.js +0 -375
  553. package/src/runtime/vdom/VFragment.js +0 -26
  554. package/src/runtime/vdom/VNode.js +0 -100
  555. package/src/runtime/vdom/VText.js +0 -25
  556. package/src/runtime/vdom/helpers/attrs.js +0 -62
  557. package/src/runtime/vdom/helpers/const-element.js +0 -25
  558. package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
  559. package/src/runtime/vdom/hot-reload.js +0 -115
  560. package/src/runtime/vdom/index.js +0 -30
  561. package/src/runtime/vdom/is-text-only.js +0 -10
  562. package/src/runtime/vdom/marko-namespace.js +0 -3
  563. package/src/runtime/vdom/morphdom/fragment.js +0 -95
  564. package/src/runtime/vdom/morphdom/helpers.js +0 -42
  565. package/src/runtime/vdom/morphdom/index.js +0 -741
  566. package/src/runtime/vdom/parse-html.js +0 -18
  567. package/src/runtime/vdom/vdom.js +0 -88
  568. package/src/taglib/index.js +0 -51
  569. package/src/translator/cdata/index.js +0 -15
  570. package/src/translator/cdata/index[html].js +0 -15
  571. package/src/translator/cdata/index[vdom].js +0 -12
  572. package/src/translator/class.js +0 -65
  573. package/src/translator/comment/index.js +0 -15
  574. package/src/translator/comment/index[html].js +0 -17
  575. package/src/translator/comment/index[vdom].js +0 -3
  576. package/src/translator/declaration/index.js +0 -15
  577. package/src/translator/declaration/index[html].js +0 -12
  578. package/src/translator/declaration/index[vdom].js +0 -3
  579. package/src/translator/document-type/index.js +0 -15
  580. package/src/translator/document-type/index[html].js +0 -12
  581. package/src/translator/document-type/index[vdom].js +0 -3
  582. package/src/translator/index.js +0 -552
  583. package/src/translator/placeholder/index.js +0 -15
  584. package/src/translator/placeholder/index[html].js +0 -93
  585. package/src/translator/placeholder/index[vdom].js +0 -22
  586. package/src/translator/scriptlet.js +0 -4
  587. package/src/translator/tag/attribute/directives/class.js +0 -42
  588. package/src/translator/tag/attribute/directives/index.js +0 -15
  589. package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  590. package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
  591. package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
  592. package/src/translator/tag/attribute/directives/no-update.js +0 -48
  593. package/src/translator/tag/attribute/directives/style.js +0 -42
  594. package/src/translator/tag/attribute/index.js +0 -150
  595. package/src/translator/tag/attribute/modifiers/index.js +0 -7
  596. package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
  597. package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
  598. package/src/translator/tag/attribute-tag.js +0 -149
  599. package/src/translator/tag/custom-tag.js +0 -146
  600. package/src/translator/tag/dynamic-tag.js +0 -74
  601. package/src/translator/tag/index.js +0 -287
  602. package/src/translator/tag/macro-tag.js +0 -7
  603. package/src/translator/tag/native-tag.js +0 -27
  604. package/src/translator/tag/native-tag[html]/attributes.js +0 -151
  605. package/src/translator/tag/native-tag[html]/index.js +0 -221
  606. package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
  607. package/src/translator/tag/native-tag[vdom]/index.js +0 -189
  608. package/src/translator/tag/util.js +0 -246
  609. package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
  610. package/src/translator/taglib/core/conditional/translate-else.js +0 -20
  611. package/src/translator/taglib/core/conditional/translate-if.js +0 -8
  612. package/src/translator/taglib/core/conditional/util.js +0 -41
  613. package/src/translator/taglib/core/index.js +0 -474
  614. package/src/translator/taglib/core/macro/parse.js +0 -17
  615. package/src/translator/taglib/core/macro/translate.js +0 -48
  616. package/src/translator/taglib/core/parse-class.js +0 -79
  617. package/src/translator/taglib/core/parse-export.js +0 -14
  618. package/src/translator/taglib/core/parse-import.js +0 -14
  619. package/src/translator/taglib/core/parse-module-code.js +0 -18
  620. package/src/translator/taglib/core/parse-static.js +0 -18
  621. package/src/translator/taglib/core/transform-style.js +0 -66
  622. package/src/translator/taglib/core/translate-await.js +0 -41
  623. package/src/translator/taglib/core/translate-body.js +0 -17
  624. package/src/translator/taglib/core/translate-for.js +0 -156
  625. package/src/translator/taglib/core/translate-html-comment.js +0 -52
  626. package/src/translator/taglib/core/translate-include-content.js +0 -53
  627. package/src/translator/taglib/core/translate-server-only.js +0 -5
  628. package/src/translator/taglib/core/translate-while.js +0 -32
  629. package/src/translator/taglib/index.js +0 -7
  630. package/src/translator/taglib/migrate/all-templates.js +0 -46
  631. package/src/translator/taglib/migrate/index.js +0 -5
  632. package/src/translator/text/index.js +0 -10
  633. package/src/translator/text/index[html].js +0 -12
  634. package/src/translator/text/index[vdom].js +0 -20
  635. package/src/translator/util/add-dependencies.js +0 -329
  636. package/src/translator/util/escape-regexp.js +0 -4
  637. package/src/translator/util/get-component-files.js +0 -86
  638. package/src/translator/util/html-out-write.js +0 -15
  639. package/src/translator/util/key-manager.js +0 -176
  640. package/src/translator/util/optimize-html-writes.js +0 -52
  641. package/src/translator/util/optimize-vdom-create.js +0 -164
  642. package/src/translator/util/plugin-hooks.js +0 -22
  643. package/src/translator/util/runtime-flags.js +0 -3
  644. package/src/translator/util/vdom-out-write.js +0 -10
  645. package/src/translator/util/with-previous-location.js +0 -6
  646. package/tags-html.d.ts +0 -3855
  647. package/translator/index.d.ts +0 -7
  648. package/translator/package.json +0 -5
@@ -1,375 +0,0 @@
1
- // eslint-disable-next-line no-constant-binary-expression
2
- var complain = "MARKO_DEBUG" && require("complain");
3
- var inherit = require("raptor-util/inherit");
4
- var componentsUtil = require("@internal/components-util");
5
- var domData = require("../components/dom-data");
6
- var vElementByDOMNode = domData.___vElementByDOMNode;
7
- var VNode = require("./VNode");
8
- var isTextOnly = require("./is-text-only");
9
- var ATTR_XLINK_HREF = "xlink:href";
10
- var xmlnsRegExp = /^xmlns(:|$)/;
11
- var hasOwnProperty = Object.prototype.hasOwnProperty;
12
- var NS_XLINK = "http://www.w3.org/1999/xlink";
13
- var NS_HTML = "http://www.w3.org/1999/xhtml";
14
- var NS_MATH = "http://www.w3.org/1998/Math/MathML";
15
- var NS_SVG = "http://www.w3.org/2000/svg";
16
- var DEFAULT_NS = {
17
- svg: NS_SVG,
18
- math: NS_MATH,
19
- };
20
-
21
- var FLAG_SIMPLE_ATTRS = 1;
22
- var FLAG_CUSTOM_ELEMENT = 2;
23
- var FLAG_SPREAD_ATTRS = 4;
24
-
25
- var ATTR_HREF = "href";
26
- var EMPTY_OBJECT = Object.freeze(Object.create(null));
27
- var specialElHandlers = {
28
- option: {
29
- selected: function (fromEl, value) {
30
- fromEl.selected = value !== undefined;
31
- },
32
- },
33
- input: {
34
- value: function (fromEl, value) {
35
- fromEl.value = value === undefined ? "" : value;
36
- },
37
- checked: function (fromEl, value) {
38
- fromEl.checked = value !== undefined;
39
- },
40
- },
41
- };
42
-
43
- function normalizeValue(value) {
44
- if (value === true) {
45
- return "";
46
- }
47
-
48
- if (value == null || value === false) {
49
- return;
50
- }
51
-
52
- switch (typeof value) {
53
- case "string":
54
- return value;
55
- case "object":
56
- switch (value.toString) {
57
- case Object.prototype.toString:
58
- case Array.prototype.toString:
59
- // eslint-disable-next-line no-constant-condition
60
- if ("MARKO_DEBUG") {
61
- complain(
62
- "Relying on JSON.stringify for attribute values is deprecated, in future versions of Marko these will be cast to strings instead.",
63
- );
64
- }
65
- return JSON.stringify(value);
66
- case RegExp.prototype.toString:
67
- return value.source;
68
- }
69
- break;
70
- }
71
-
72
- return value + "";
73
- }
74
-
75
- function assign(a, b) {
76
- for (var key in b) {
77
- if (hasOwnProperty.call(b, key)) {
78
- a[key] = b[key];
79
- }
80
- }
81
- }
82
-
83
- function VElementClone(other) {
84
- this.___firstChildInternal = other.___firstChildInternal;
85
- this.___parentNode = null;
86
- this.___nextSiblingInternal = null;
87
-
88
- this.___key = other.___key;
89
- this.___attributes = other.___attributes;
90
- this.___properties = other.___properties;
91
- this.___nodeName = other.___nodeName;
92
- this.___flags = other.___flags;
93
- this.___textContent = other.___textContent;
94
- this.___constId = other.___constId;
95
- }
96
-
97
- function VElement(
98
- tagName,
99
- attrs,
100
- key,
101
- ownerComponent,
102
- childCount,
103
- flags,
104
- props,
105
- ) {
106
- this.___VNode(childCount, ownerComponent);
107
-
108
- var constId;
109
-
110
- if (props) {
111
- constId = props.i;
112
- }
113
-
114
- this.___key = key;
115
- this.___flags = flags || 0;
116
- this.___attributes = attrs || EMPTY_OBJECT;
117
- this.___properties = props || EMPTY_OBJECT;
118
- this.___nodeName = tagName;
119
- this.___textContent = "";
120
- this.___constId = constId;
121
- this.___preserve = false;
122
- this.___preserveBody = false;
123
- }
124
-
125
- VElement.prototype = {
126
- ___nodeType: 1,
127
-
128
- ___cloneNode: function () {
129
- return new VElementClone(this);
130
- },
131
-
132
- /**
133
- * Shorthand method for creating and appending an HTML element
134
- *
135
- * @param {String} tagName The tag name (e.g. "div")
136
- * @param {int|null} attrCount The number of attributes (or `null` if not known)
137
- * @param {int|null} childCount The number of child nodes (or `null` if not known)
138
- */
139
- e: function (tagName, attrs, key, ownerComponent, childCount, flags, props) {
140
- var child = this.___appendChild(
141
- new VElement(
142
- tagName,
143
- attrs,
144
- key,
145
- ownerComponent,
146
- childCount,
147
- flags,
148
- props,
149
- ),
150
- );
151
-
152
- if (childCount === 0) {
153
- return this.___finishChild();
154
- } else {
155
- return child;
156
- }
157
- },
158
-
159
- /**
160
- * Shorthand method for creating and appending a static node. The provided node is automatically cloned
161
- * using a shallow clone since it will be mutated as a result of setting `nextSibling` and `parentNode`.
162
- *
163
- * @param {String} value The value for the new Comment node
164
- */
165
- n: function (node, ownerComponent) {
166
- node = node.___cloneNode();
167
- node.___ownerComponent = ownerComponent;
168
- this.___appendChild(node);
169
- return this.___finishChild();
170
- },
171
-
172
- ___actualize: function (host, parentNamespaceURI) {
173
- var tagName = this.___nodeName;
174
- var attributes = this.___attributes;
175
- var namespaceURI = DEFAULT_NS[tagName] || parentNamespaceURI || NS_HTML;
176
-
177
- var flags = this.___flags;
178
- var el = (host.ownerDocument || host).createElementNS(
179
- namespaceURI,
180
- tagName,
181
- );
182
-
183
- if (flags & FLAG_CUSTOM_ELEMENT) {
184
- assign(el, attributes);
185
- } else {
186
- for (var attrName in attributes) {
187
- var attrValue = normalizeValue(attributes[attrName]);
188
-
189
- if (attrValue !== undefined) {
190
- if (attrName == ATTR_XLINK_HREF) {
191
- el.setAttributeNS(NS_XLINK, ATTR_HREF, attrValue);
192
- } else {
193
- el.setAttribute(attrName, attrValue);
194
- }
195
- }
196
- }
197
-
198
- if (isTextOnly(tagName)) {
199
- el.textContent = this.___textContent;
200
- }
201
- }
202
-
203
- vElementByDOMNode.set(el, this);
204
-
205
- return el;
206
- },
207
- };
208
-
209
- inherit(VElement, VNode);
210
-
211
- VElementClone.prototype = VElement.prototype;
212
-
213
- function virtualizeElement(node, virtualizeChildNodes, ownerComponent) {
214
- var attributes = node.attributes;
215
- var attrCount = attributes.length;
216
-
217
- var attrs = null;
218
- var props = null;
219
-
220
- if (attrCount) {
221
- attrs = {};
222
- for (var i = 0; i < attrCount; i++) {
223
- var attr = attributes[i];
224
- var attrName = attr.name;
225
- if (!xmlnsRegExp.test(attrName)) {
226
- if (attrName === "data-marko") {
227
- props = componentsUtil.___getMarkoPropsFromEl(node);
228
- } else if (attr.namespaceURI === NS_XLINK) {
229
- attrs[ATTR_XLINK_HREF] = attr.value;
230
- } else {
231
- attrs[attrName] = attr.value;
232
- }
233
- }
234
- }
235
- }
236
-
237
- var tagName = node.nodeName;
238
-
239
- if (node.namespaceURI === NS_HTML) {
240
- tagName = tagName.toLowerCase();
241
- }
242
-
243
- var vdomEl = new VElement(
244
- tagName,
245
- attrs,
246
- null /*key*/,
247
- ownerComponent,
248
- 0 /*child count*/,
249
- 0 /*flags*/,
250
- props,
251
- );
252
-
253
- if (isTextOnly(tagName)) {
254
- vdomEl.___textContent = node.textContent;
255
- } else if (virtualizeChildNodes) {
256
- virtualizeChildNodes(node, vdomEl, ownerComponent);
257
- }
258
-
259
- return vdomEl;
260
- }
261
-
262
- VElement.___virtualize = virtualizeElement;
263
-
264
- VElement.___morphAttrs = function (fromEl, vFromEl, toEl) {
265
- var fromFlags = vFromEl.___flags;
266
- var toFlags = toEl.___flags;
267
- var attrs = toEl.___attributes;
268
-
269
- if (toFlags & FLAG_CUSTOM_ELEMENT) {
270
- return assign(fromEl, attrs);
271
- }
272
-
273
- var props = toEl.___properties;
274
- var attrName;
275
-
276
- // We use expando properties to associate the previous HTML
277
- // attributes provided as part of the VDOM node with the
278
- // real VElement DOM node. When diffing attributes,
279
- // we only use our internal representation of the attributes.
280
- // When diffing for the first time it's possible that the
281
- // real VElement node will not have the expando property
282
- // so we build the attribute map from the expando property
283
-
284
- var oldAttrs = vFromEl.___attributes;
285
-
286
- if (oldAttrs === attrs) {
287
- // For constant attributes the same object will be provided
288
- // every render and we can use that to our advantage to
289
- // not waste time diffing a constant, immutable attribute
290
- // map.
291
- return;
292
- }
293
-
294
- var attrValue;
295
-
296
- if (toFlags & FLAG_SIMPLE_ATTRS && fromFlags & FLAG_SIMPLE_ATTRS) {
297
- if (oldAttrs["class"] !== (attrValue = attrs["class"])) {
298
- if (attrValue) {
299
- fromEl.className = attrValue;
300
- } else {
301
- fromEl.removeAttribute("class");
302
- }
303
- }
304
- if (oldAttrs.id !== (attrValue = attrs.id)) {
305
- if (attrValue) {
306
- fromEl.id = attrValue;
307
- } else {
308
- fromEl.removeAttribute("id");
309
- }
310
- }
311
- if (oldAttrs.style !== (attrValue = attrs.style)) {
312
- if (attrValue) {
313
- fromEl.style.cssText = attrValue;
314
- } else {
315
- fromEl.removeAttribute("style");
316
- }
317
- }
318
- return;
319
- }
320
-
321
- var preserve = (props && props.pa) || EMPTY_OBJECT;
322
- var specialAttrs = specialElHandlers[toEl.___nodeName] || EMPTY_OBJECT;
323
- var specialAttr;
324
-
325
- // Loop over all of the attributes in the attribute map and compare
326
- // them to the value in the old map. However, if the value is
327
- // null/undefined/false then we want to remove the attribute
328
- for (attrName in attrs) {
329
- if (
330
- !preserve[attrName] &&
331
- normalizeValue(oldAttrs[attrName]) !==
332
- (attrValue = normalizeValue(attrs[attrName]))
333
- ) {
334
- if ((specialAttr = specialAttrs[attrName])) {
335
- specialAttr(fromEl, attrValue);
336
- } else if (attrName === ATTR_XLINK_HREF) {
337
- if (attrValue === undefined) {
338
- fromEl.removeAttributeNS(NS_XLINK, ATTR_HREF);
339
- } else {
340
- fromEl.setAttributeNS(NS_XLINK, ATTR_HREF, attrValue);
341
- }
342
- } else if (attrValue === undefined) {
343
- fromEl.removeAttribute(attrName);
344
- } else {
345
- fromEl.setAttribute(attrName, attrValue);
346
- }
347
- }
348
- }
349
-
350
- // If there are any old attributes that are not in the new set of attributes
351
- // then we need to remove those attributes from the target node
352
- //
353
- // NOTE: We can skip this if the the element is keyed and didn't have spread attributes
354
- // because we know we already processed all of the attributes for
355
- // both the target and original element since target VElement nodes will
356
- // have all attributes declared. However, we can only skip if the node
357
- // was not a virtualized node (i.e., a node that was not rendered by a
358
- // Marko template, but rather a node that was created from an HTML
359
- // string or a real DOM node).
360
- if (toEl.___key === null || fromFlags & FLAG_SPREAD_ATTRS) {
361
- for (attrName in oldAttrs) {
362
- if (!(attrName in attrs)) {
363
- if ((specialAttr = specialAttrs[attrName])) {
364
- specialAttr(fromEl, undefined);
365
- } else if (attrName === ATTR_XLINK_HREF) {
366
- fromEl.removeAttributeNS(ATTR_XLINK_HREF, ATTR_HREF);
367
- } else {
368
- fromEl.removeAttribute(attrName);
369
- }
370
- }
371
- }
372
- }
373
- };
374
-
375
- module.exports = VElement;
@@ -1,26 +0,0 @@
1
- var inherit = require("raptor-util/inherit");
2
- var domData = require("../components/dom-data");
3
- var keysByDOMNode = domData.___keyByDOMNode;
4
- var vElementByDOMNode = domData.___vElementByDOMNode;
5
- var createFragmentNode = require("./morphdom/fragment").___createFragmentNode;
6
- var VNode = require("./VNode");
7
-
8
- function VFragment(key, ownerComponent, preserve) {
9
- this.___VNode(null /* childCount */, ownerComponent);
10
- this.___key = key;
11
- this.___preserve = preserve;
12
- }
13
-
14
- VFragment.prototype = {
15
- ___nodeType: 12,
16
- ___actualize: function () {
17
- var fragment = createFragmentNode();
18
- keysByDOMNode.set(fragment, this.___key);
19
- vElementByDOMNode.set(fragment, this);
20
- return fragment;
21
- },
22
- };
23
-
24
- inherit(VFragment, VNode);
25
-
26
- module.exports = VFragment;
@@ -1,100 +0,0 @@
1
- var hasTextContent = require("./is-text-only");
2
-
3
- function VNode() {}
4
-
5
- VNode.prototype = {
6
- ___VNode: function (finalChildCount, ownerComponent) {
7
- this.___finalChildCount = finalChildCount;
8
- this.___childCount = 0;
9
- this.___firstChildInternal = null;
10
- this.___lastChild = null;
11
- this.___parentNode = null;
12
- this.___nextSiblingInternal = null;
13
- this.___ownerComponent = ownerComponent;
14
- },
15
-
16
- get ___firstChild() {
17
- var firstChild = this.___firstChildInternal;
18
-
19
- if (firstChild && firstChild.___DocumentFragment) {
20
- var nestedFirstChild = firstChild.___firstChild;
21
- // The first child is a DocumentFragment node.
22
- // If the DocumentFragment node has a first child then we will return that.
23
- // Otherwise, the DocumentFragment node is not *really* the first child and
24
- // we need to skip to its next sibling
25
- return nestedFirstChild || firstChild.___nextSibling;
26
- }
27
-
28
- return firstChild;
29
- },
30
-
31
- get ___nextSibling() {
32
- var nextSibling = this.___nextSiblingInternal;
33
-
34
- if (nextSibling) {
35
- if (nextSibling.___DocumentFragment) {
36
- var firstChild = nextSibling.___firstChild;
37
- return firstChild || nextSibling.___nextSibling;
38
- }
39
- } else {
40
- var parentNode = this.___parentNode;
41
- if (parentNode && parentNode.___DocumentFragment) {
42
- return parentNode.___nextSibling;
43
- }
44
- }
45
-
46
- return nextSibling;
47
- },
48
-
49
- ___appendChild: function (child) {
50
- this.___childCount++;
51
-
52
- if (hasTextContent(this.___nodeName)) {
53
- if (child.___Text) {
54
- this.___textContent += child.___nodeValue;
55
- } else {
56
- throw TypeError();
57
- }
58
- } else {
59
- var lastChild = this.___lastChild;
60
-
61
- child.___parentNode = this;
62
-
63
- if (lastChild) {
64
- lastChild.___nextSiblingInternal = child;
65
- } else {
66
- this.___firstChildInternal = child;
67
- }
68
-
69
- this.___lastChild = child;
70
- }
71
-
72
- return child;
73
- },
74
-
75
- ___finishChild: function finishChild() {
76
- if (this.___childCount === this.___finalChildCount && this.___parentNode) {
77
- return this.___parentNode.___finishChild();
78
- } else {
79
- return this;
80
- }
81
- },
82
-
83
- // ,toJSON: function() {
84
- // var clone = Object.assign({
85
- // nodeType: this.nodeType
86
- // }, this);
87
- //
88
- // for (var k in clone) {
89
- // if (k.startsWith('_')) {
90
- // delete clone[k];
91
- // }
92
- // }
93
- // delete clone._nextSibling;
94
- // delete clone._lastChild;
95
- // delete clone.parentNode;
96
- // return clone;
97
- // }
98
- };
99
-
100
- module.exports = VNode;
@@ -1,25 +0,0 @@
1
- var inherit = require("raptor-util/inherit");
2
- var VNode = require("./VNode");
3
-
4
- function VText(value, ownerComponent) {
5
- this.___VNode(-1 /* no children */, ownerComponent);
6
- this.___nodeValue = value;
7
- }
8
-
9
- VText.prototype = {
10
- ___Text: true,
11
-
12
- ___nodeType: 3,
13
-
14
- ___actualize: function (host) {
15
- return (host.ownerDocument || host).createTextNode(this.___nodeValue);
16
- },
17
-
18
- ___cloneNode: function () {
19
- return new VText(this.___nodeValue);
20
- },
21
- };
22
-
23
- inherit(VText, VNode);
24
-
25
- module.exports = VText;
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- // eslint-disable-next-line no-constant-binary-expression
4
- var complain = "MARKO_DEBUG" && require("complain");
5
- var classHelper = require("../../helpers/class-value");
6
- var styleHelper = require("../../helpers/style-value");
7
- var parseHTML = require("../parse-html");
8
-
9
- /**
10
- * Helper for processing dynamic attributes
11
- */
12
- module.exports = function (attributes) {
13
- if (typeof attributes === "string") {
14
- // eslint-disable-next-line no-constant-condition
15
- if ("MARKO_DEBUG") {
16
- complain(
17
- "Passing a string as a dynamic attribute value is deprecated - More details: https://github.com/marko-js/marko/wiki/Deprecation:-String-as-dynamic-attribute-value",
18
- );
19
- }
20
- return parseAttrs(attributes);
21
- }
22
-
23
- if (attributes) {
24
- var newAttributes = {};
25
-
26
- for (var attrName in attributes) {
27
- var val = attributes[attrName];
28
- if (attrName === "renderBody") {
29
- continue;
30
- }
31
-
32
- if (attrName === "class") {
33
- val = classHelper(val);
34
- } else if (attrName === "style") {
35
- val = styleHelper(val);
36
- }
37
-
38
- newAttributes[attrName] = val;
39
- }
40
-
41
- return newAttributes;
42
- }
43
-
44
- return attributes;
45
- };
46
-
47
- function parseAttrs(str) {
48
- if (str === "") {
49
- return {};
50
- }
51
-
52
- var attrs = parseHTML("<a " + str + ">").attributes;
53
- var result = {};
54
- var attr;
55
-
56
- for (var len = attrs.length, i = 0; i < len; i++) {
57
- attr = attrs[i];
58
- result[attr.name] = attr.value;
59
- }
60
-
61
- return result;
62
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- var VElement = require("../vdom").___VElement;
4
- var i = 0;
5
-
6
- module.exports = function (tagName, attrs, childCount) {
7
- return new ConstVElement(tagName, attrs, childCount);
8
- };
9
-
10
- function ConstVElement(tagName, attrs, childCount) {
11
- VElement.call(this, tagName, attrs, null, null, childCount, null, { i: i++ });
12
- }
13
-
14
- ConstVElement.prototype = Object.create(VElement.prototype);
15
- ConstVElement.prototype.e = function (tagName, attrs, childCount) {
16
- var child = this.___appendChild(
17
- new ConstVElement(tagName, attrs, childCount),
18
- );
19
-
20
- if (childCount === 0) {
21
- return this.___finishChild();
22
- } else {
23
- return child;
24
- }
25
- };
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- var attrs = require("./attrs");
4
-
5
- /**
6
- * Merges attribute objects into a object.
7
- */
8
- module.exports = function mergeAttrs() {
9
- var len = arguments.length;
10
- var result = {};
11
- for (var i = 0; i < len; i++) {
12
- Object.assign(result, attrs(arguments[i]));
13
- }
14
-
15
- return result;
16
- };