marko 5.37.1 → 6.0.0-3.4

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 (638) 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 +2112 -0
  8. package/dist/debug/dom.mjs +2089 -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 +9143 -489
  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 +32 -74
  124. package/README.md +0 -161
  125. package/bin/markoc +0 -2
  126. package/bin/markoc.js +0 -441
  127. package/browser-refresh.js +0 -5
  128. package/compiler-browser.marko +0 -15
  129. package/compiler.js +0 -7
  130. package/components-browser.marko +0 -15
  131. package/components.js +0 -7
  132. package/dist/build.json +0 -3
  133. package/dist/compiler/config.js +0 -45
  134. package/dist/compiler/index.js +0 -164
  135. package/dist/compiler/modules.js +0 -5
  136. package/dist/core-tags/components/init-components-tag.js +0 -54
  137. package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
  138. package/dist/core-tags/components/preserve-tag.js +0 -1
  139. package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
  140. package/dist/core-tags/core/await/AsyncValue.js +0 -121
  141. package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
  142. package/dist/core-tags/core/await/index.d.marko +0 -10
  143. package/dist/core-tags/core/await/renderer.js +0 -249
  144. package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
  145. package/dist/index.js +0 -4
  146. package/dist/node-require/browser-refresh.js +0 -18
  147. package/dist/node-require/hot-reload.js +0 -45
  148. package/dist/node-require/index.js +0 -103
  149. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  150. package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
  151. package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
  152. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  153. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  154. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  155. package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  156. package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
  157. package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
  158. package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
  159. package/dist/node_modules/@internal/components-entry/index.js +0 -301
  160. package/dist/node_modules/@internal/components-entry/package.json +0 -11
  161. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  162. package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
  163. package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
  164. package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
  165. package/dist/node_modules/@internal/components-registry/index.js +0 -44
  166. package/dist/node_modules/@internal/components-registry/package.json +0 -11
  167. package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
  168. package/dist/node_modules/@internal/components-util/index.js +0 -75
  169. package/dist/node_modules/@internal/components-util/package.json +0 -11
  170. package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
  171. package/dist/node_modules/@internal/create-readable/index.js +0 -57
  172. package/dist/node_modules/@internal/create-readable/package.json +0 -11
  173. package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
  174. package/dist/node_modules/@internal/loader/index-browser.js +0 -2
  175. package/dist/node_modules/@internal/loader/index.js +0 -23
  176. package/dist/node_modules/@internal/loader/package.json +0 -10
  177. package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  178. package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
  179. package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
  180. package/dist/node_modules/@internal/require/index-browser.js +0 -15
  181. package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
  182. package/dist/node_modules/@internal/require/index-webpack.js +0 -16
  183. package/dist/node_modules/@internal/require/index.js +0 -15
  184. package/dist/node_modules/@internal/require/package.json +0 -11
  185. package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
  186. package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
  187. package/dist/node_modules/@internal/set-immediate/index.js +0 -3
  188. package/dist/node_modules/@internal/set-immediate/package.json +0 -11
  189. package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  190. package/dist/runtime/RenderResult.js +0 -112
  191. package/dist/runtime/components/Component.js +0 -663
  192. package/dist/runtime/components/ComponentDef.js +0 -169
  193. package/dist/runtime/components/ComponentsContext.js +0 -59
  194. package/dist/runtime/components/GlobalComponentsContext.js +0 -10
  195. package/dist/runtime/components/KeySequence.js +0 -16
  196. package/dist/runtime/components/ServerComponent.js +0 -73
  197. package/dist/runtime/components/State.js +0 -101
  198. package/dist/runtime/components/attach-detach.js +0 -60
  199. package/dist/runtime/components/defineComponent.js +0 -60
  200. package/dist/runtime/components/dom-data.js +0 -8
  201. package/dist/runtime/components/event-delegation.js +0 -144
  202. package/dist/runtime/components/index.js +0 -1
  203. package/dist/runtime/components/legacy/browser.json +0 -9
  204. package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
  205. package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  206. package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
  207. package/dist/runtime/components/legacy/dependencies/html.js +0 -3
  208. package/dist/runtime/components/legacy/dependencies/index.js +0 -177
  209. package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
  210. package/dist/runtime/components/legacy/index.js +0 -1
  211. package/dist/runtime/components/legacy/jquery.js +0 -52
  212. package/dist/runtime/components/legacy/ready.js +0 -152
  213. package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
  214. package/dist/runtime/components/registry.js +0 -1
  215. package/dist/runtime/components/renderer.js +0 -236
  216. package/dist/runtime/components/update-manager.js +0 -94
  217. package/dist/runtime/createOut.js +0 -13
  218. package/dist/runtime/dom-insert.js +0 -77
  219. package/dist/runtime/events.js +0 -2
  220. package/dist/runtime/helpers/_change-case.js +0 -45
  221. package/dist/runtime/helpers/assign.js +0 -21
  222. package/dist/runtime/helpers/attr-tag.js +0 -43
  223. package/dist/runtime/helpers/class-value.js +0 -30
  224. package/dist/runtime/helpers/dynamic-tag.js +0 -181
  225. package/dist/runtime/helpers/empty-component.js +0 -1
  226. package/dist/runtime/helpers/merge.js +0 -13
  227. package/dist/runtime/helpers/of-fallback.js +0 -4
  228. package/dist/runtime/helpers/render-tag.js +0 -20
  229. package/dist/runtime/helpers/serialize-noop.js +0 -5
  230. package/dist/runtime/helpers/style-value.js +0 -45
  231. package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
  232. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  233. package/dist/runtime/helpers/tags-compat/dom.js +0 -1
  234. package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
  235. package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
  236. package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  237. package/dist/runtime/helpers/tags-compat/html.js +0 -3
  238. package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
  239. package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  240. package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
  241. package/dist/runtime/helpers/to-string.js +0 -5
  242. package/dist/runtime/html/AsyncStream.js +0 -805
  243. package/dist/runtime/html/BufferedWriter.js +0 -52
  244. package/dist/runtime/html/StringWriter.js +0 -73
  245. package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
  246. package/dist/runtime/html/helpers/attr.js +0 -80
  247. package/dist/runtime/html/helpers/attrs.js +0 -26
  248. package/dist/runtime/html/helpers/class-attr.js +0 -8
  249. package/dist/runtime/html/helpers/data-marko.js +0 -36
  250. package/dist/runtime/html/helpers/escape-quotes.js +0 -35
  251. package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
  252. package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
  253. package/dist/runtime/html/helpers/escape-xml.js +0 -21
  254. package/dist/runtime/html/helpers/merge-attrs.js +0 -55
  255. package/dist/runtime/html/helpers/props-script.js +0 -32
  256. package/dist/runtime/html/helpers/style-attr.js +0 -8
  257. package/dist/runtime/html/hot-reload.js +0 -26
  258. package/dist/runtime/html/index.js +0 -33
  259. package/dist/runtime/html/marko-namespace.js +0 -3
  260. package/dist/runtime/renderable.js +0 -194
  261. package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  262. package/dist/runtime/vdom/VComment.js +0 -24
  263. package/dist/runtime/vdom/VComponent.js +0 -17
  264. package/dist/runtime/vdom/VDocumentFragment.js +0 -34
  265. package/dist/runtime/vdom/VElement.js +0 -375
  266. package/dist/runtime/vdom/VFragment.js +0 -26
  267. package/dist/runtime/vdom/VNode.js +0 -100
  268. package/dist/runtime/vdom/VText.js +0 -25
  269. package/dist/runtime/vdom/helpers/attrs.js +0 -62
  270. package/dist/runtime/vdom/helpers/const-element.js +0 -25
  271. package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
  272. package/dist/runtime/vdom/hot-reload.js +0 -115
  273. package/dist/runtime/vdom/index.js +0 -30
  274. package/dist/runtime/vdom/is-text-only.js +0 -10
  275. package/dist/runtime/vdom/marko-namespace.js +0 -3
  276. package/dist/runtime/vdom/morphdom/fragment.js +0 -95
  277. package/dist/runtime/vdom/morphdom/helpers.js +0 -42
  278. package/dist/runtime/vdom/morphdom/index.js +0 -741
  279. package/dist/runtime/vdom/parse-html.js +0 -18
  280. package/dist/runtime/vdom/vdom.js +0 -88
  281. package/dist/taglib/index.js +0 -51
  282. package/dist/translator/cdata/index.js +0 -15
  283. package/dist/translator/cdata/index[html].js +0 -15
  284. package/dist/translator/cdata/index[vdom].js +0 -12
  285. package/dist/translator/class.js +0 -65
  286. package/dist/translator/comment/index.js +0 -15
  287. package/dist/translator/comment/index[html].js +0 -17
  288. package/dist/translator/comment/index[vdom].js +0 -3
  289. package/dist/translator/declaration/index.js +0 -15
  290. package/dist/translator/declaration/index[html].js +0 -12
  291. package/dist/translator/declaration/index[vdom].js +0 -3
  292. package/dist/translator/document-type/index.js +0 -15
  293. package/dist/translator/document-type/index[html].js +0 -12
  294. package/dist/translator/document-type/index[vdom].js +0 -3
  295. package/dist/translator/placeholder/index.js +0 -15
  296. package/dist/translator/placeholder/index[html].js +0 -93
  297. package/dist/translator/placeholder/index[vdom].js +0 -22
  298. package/dist/translator/scriptlet.js +0 -4
  299. package/dist/translator/tag/attribute/directives/class.js +0 -42
  300. package/dist/translator/tag/attribute/directives/index.js +0 -15
  301. package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  302. package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
  303. package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
  304. package/dist/translator/tag/attribute/directives/no-update.js +0 -48
  305. package/dist/translator/tag/attribute/directives/style.js +0 -42
  306. package/dist/translator/tag/attribute/index.js +0 -150
  307. package/dist/translator/tag/attribute/modifiers/index.js +0 -7
  308. package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
  309. package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
  310. package/dist/translator/tag/attribute-tag.js +0 -149
  311. package/dist/translator/tag/custom-tag.js +0 -146
  312. package/dist/translator/tag/dynamic-tag.js +0 -74
  313. package/dist/translator/tag/index.js +0 -287
  314. package/dist/translator/tag/macro-tag.js +0 -7
  315. package/dist/translator/tag/native-tag.js +0 -27
  316. package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
  317. package/dist/translator/tag/native-tag[html]/index.js +0 -221
  318. package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
  319. package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
  320. package/dist/translator/tag/util.js +0 -246
  321. package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
  322. package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
  323. package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
  324. package/dist/translator/taglib/core/conditional/util.js +0 -41
  325. package/dist/translator/taglib/core/index.js +0 -474
  326. package/dist/translator/taglib/core/macro/parse.js +0 -17
  327. package/dist/translator/taglib/core/macro/translate.js +0 -48
  328. package/dist/translator/taglib/core/parse-class.js +0 -79
  329. package/dist/translator/taglib/core/parse-export.js +0 -14
  330. package/dist/translator/taglib/core/parse-import.js +0 -14
  331. package/dist/translator/taglib/core/parse-module-code.js +0 -18
  332. package/dist/translator/taglib/core/parse-static.js +0 -18
  333. package/dist/translator/taglib/core/transform-style.js +0 -66
  334. package/dist/translator/taglib/core/translate-await.js +0 -41
  335. package/dist/translator/taglib/core/translate-body.js +0 -17
  336. package/dist/translator/taglib/core/translate-for.js +0 -156
  337. package/dist/translator/taglib/core/translate-html-comment.js +0 -52
  338. package/dist/translator/taglib/core/translate-include-content.js +0 -53
  339. package/dist/translator/taglib/core/translate-server-only.js +0 -5
  340. package/dist/translator/taglib/core/translate-while.js +0 -32
  341. package/dist/translator/taglib/index.js +0 -6
  342. package/dist/translator/taglib/migrate/all-templates.js +0 -46
  343. package/dist/translator/taglib/migrate/index.js +0 -5
  344. package/dist/translator/text/index.js +0 -10
  345. package/dist/translator/text/index[html].js +0 -12
  346. package/dist/translator/text/index[vdom].js +0 -20
  347. package/dist/translator/util/add-dependencies.js +0 -329
  348. package/dist/translator/util/escape-regexp.js +0 -4
  349. package/dist/translator/util/get-component-files.js +0 -86
  350. package/dist/translator/util/html-out-write.js +0 -15
  351. package/dist/translator/util/key-manager.js +0 -176
  352. package/dist/translator/util/optimize-html-writes.js +0 -52
  353. package/dist/translator/util/optimize-vdom-create.js +0 -164
  354. package/dist/translator/util/plugin-hooks.js +0 -22
  355. package/dist/translator/util/runtime-flags.js +0 -3
  356. package/dist/translator/util/vdom-out-write.js +0 -10
  357. package/dist/translator/util/with-previous-location.js +0 -6
  358. package/docs/10-awesome-marko-features.md +0 -291
  359. package/docs/body-content.md +0 -355
  360. package/docs/class-components.md +0 -1001
  361. package/docs/cloudflare-workers.md +0 -32
  362. package/docs/compiler-hooks.png +0 -0
  363. package/docs/compiler.md +0 -473
  364. package/docs/component-diagram.afdesign +0 -0
  365. package/docs/component-diagram.svg +0 -87
  366. package/docs/concise.md +0 -141
  367. package/docs/conditionals-and-lists.md +0 -72
  368. package/docs/core-tags.md +0 -325
  369. package/docs/custom-tags.md +0 -201
  370. package/docs/editor-plugins.md +0 -45
  371. package/docs/events.md +0 -131
  372. package/docs/express.md +0 -66
  373. package/docs/fastify.md +0 -65
  374. package/docs/getting-started.md +0 -95
  375. package/docs/http.md +0 -34
  376. package/docs/icons/js.svg +0 -4
  377. package/docs/icons/marko.svg +0 -1
  378. package/docs/icons/ts.svg +0 -1
  379. package/docs/installing.md +0 -51
  380. package/docs/koa.md +0 -35
  381. package/docs/lasso.md +0 -196
  382. package/docs/marko-5-upgrade.md +0 -59
  383. package/docs/marko-json.md +0 -248
  384. package/docs/marko-vs-react.md +0 -854
  385. package/docs/redux.md +0 -61
  386. package/docs/rendering.md +0 -268
  387. package/docs/rollup.md +0 -352
  388. package/docs/state.md +0 -105
  389. package/docs/structure.json +0 -49
  390. package/docs/styles.md +0 -29
  391. package/docs/syntax.md +0 -601
  392. package/docs/troubleshooting-streaming.md +0 -68
  393. package/docs/typescript.md +0 -406
  394. package/docs/vite.md +0 -86
  395. package/docs/webpack.md +0 -205
  396. package/docs/why-is-marko-fast.md +0 -239
  397. package/env.js +0 -7
  398. package/helpers/README.md +0 -3
  399. package/helpers/empty.js +0 -4
  400. package/helpers/notEmpty.js +0 -11
  401. package/index-browser.marko +0 -15
  402. package/index.d.ts +0 -375
  403. package/index.js +0 -7
  404. package/legacy-components-browser.marko +0 -15
  405. package/legacy-components.js +0 -7
  406. package/node-require.js +0 -8
  407. package/src/build.json +0 -3
  408. package/src/compiler/config.js +0 -45
  409. package/src/compiler/index.js +0 -164
  410. package/src/compiler/modules.js +0 -5
  411. package/src/core-tags/.eslintrc +0 -5
  412. package/src/core-tags/components/init-components-tag.js +0 -54
  413. package/src/core-tags/components/preferred-script-location-tag.js +0 -25
  414. package/src/core-tags/components/preserve-tag.js +0 -1
  415. package/src/core-tags/core/__flush_here_and_after__.js +0 -44
  416. package/src/core-tags/core/await/AsyncValue.js +0 -121
  417. package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
  418. package/src/core-tags/core/await/index.d.marko +0 -10
  419. package/src/core-tags/core/await/renderer.js +0 -249
  420. package/src/core-tags/core/await/reorderer-renderer.js +0 -156
  421. package/src/index.js +0 -4
  422. package/src/node-require/browser-refresh.js +0 -18
  423. package/src/node-require/hot-reload.js +0 -45
  424. package/src/node-require/index.js +0 -103
  425. package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  426. package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
  427. package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
  428. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  429. package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  430. package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  431. package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  432. package/src/node_modules/@internal/components-endComponent/index.js +0 -11
  433. package/src/node_modules/@internal/components-endComponent/package.json +0 -11
  434. package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
  435. package/src/node_modules/@internal/components-entry/index.js +0 -301
  436. package/src/node_modules/@internal/components-entry/package.json +0 -11
  437. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  438. package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
  439. package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
  440. package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
  441. package/src/node_modules/@internal/components-registry/index.js +0 -44
  442. package/src/node_modules/@internal/components-registry/package.json +0 -11
  443. package/src/node_modules/@internal/components-util/index-browser.js +0 -152
  444. package/src/node_modules/@internal/components-util/index.js +0 -75
  445. package/src/node_modules/@internal/components-util/package.json +0 -11
  446. package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
  447. package/src/node_modules/@internal/create-readable/index.js +0 -57
  448. package/src/node_modules/@internal/create-readable/package.json +0 -11
  449. package/src/node_modules/@internal/loader/fallback-node.js +0 -89
  450. package/src/node_modules/@internal/loader/index-browser.js +0 -2
  451. package/src/node_modules/@internal/loader/index.js +0 -23
  452. package/src/node_modules/@internal/loader/package.json +0 -10
  453. package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  454. package/src/node_modules/@internal/preserve-tag/index.js +0 -34
  455. package/src/node_modules/@internal/preserve-tag/package.json +0 -11
  456. package/src/node_modules/@internal/require/index-browser.js +0 -15
  457. package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
  458. package/src/node_modules/@internal/require/index-webpack.js +0 -16
  459. package/src/node_modules/@internal/require/index.js +0 -15
  460. package/src/node_modules/@internal/require/package.json +0 -11
  461. package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
  462. package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
  463. package/src/node_modules/@internal/set-immediate/index.js +0 -3
  464. package/src/node_modules/@internal/set-immediate/package.json +0 -11
  465. package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  466. package/src/runtime/.eslintrc +0 -5
  467. package/src/runtime/RenderResult.js +0 -112
  468. package/src/runtime/components/Component.js +0 -663
  469. package/src/runtime/components/ComponentDef.js +0 -169
  470. package/src/runtime/components/ComponentsContext.js +0 -59
  471. package/src/runtime/components/GlobalComponentsContext.js +0 -10
  472. package/src/runtime/components/KeySequence.js +0 -16
  473. package/src/runtime/components/ServerComponent.js +0 -73
  474. package/src/runtime/components/State.js +0 -101
  475. package/src/runtime/components/attach-detach.js +0 -60
  476. package/src/runtime/components/defineComponent.js +0 -60
  477. package/src/runtime/components/dom-data.js +0 -8
  478. package/src/runtime/components/event-delegation.js +0 -144
  479. package/src/runtime/components/index.js +0 -1
  480. package/src/runtime/components/legacy/browser.json +0 -9
  481. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
  482. package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  483. package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
  484. package/src/runtime/components/legacy/dependencies/html.js +0 -3
  485. package/src/runtime/components/legacy/dependencies/index.js +0 -177
  486. package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
  487. package/src/runtime/components/legacy/index.js +0 -1
  488. package/src/runtime/components/legacy/jquery.js +0 -52
  489. package/src/runtime/components/legacy/ready.js +0 -152
  490. package/src/runtime/components/legacy/renderer-legacy.js +0 -231
  491. package/src/runtime/components/registry.js +0 -1
  492. package/src/runtime/components/renderer.js +0 -236
  493. package/src/runtime/components/update-manager.js +0 -94
  494. package/src/runtime/createOut.js +0 -13
  495. package/src/runtime/dom-insert.js +0 -77
  496. package/src/runtime/events.js +0 -2
  497. package/src/runtime/helpers/_change-case.js +0 -45
  498. package/src/runtime/helpers/assign.js +0 -21
  499. package/src/runtime/helpers/attr-tag.js +0 -43
  500. package/src/runtime/helpers/class-value.js +0 -30
  501. package/src/runtime/helpers/dynamic-tag.js +0 -181
  502. package/src/runtime/helpers/empty-component.js +0 -1
  503. package/src/runtime/helpers/merge.js +0 -13
  504. package/src/runtime/helpers/of-fallback.js +0 -4
  505. package/src/runtime/helpers/render-tag.js +0 -20
  506. package/src/runtime/helpers/serialize-noop.js +0 -5
  507. package/src/runtime/helpers/style-value.js +0 -45
  508. package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
  509. package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  510. package/src/runtime/helpers/tags-compat/dom.js +0 -1
  511. package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
  512. package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
  513. package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  514. package/src/runtime/helpers/tags-compat/html.js +0 -3
  515. package/src/runtime/helpers/tags-compat/html.mjs +0 -4
  516. package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  517. package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
  518. package/src/runtime/helpers/to-string.js +0 -5
  519. package/src/runtime/html/AsyncStream.js +0 -805
  520. package/src/runtime/html/BufferedWriter.js +0 -52
  521. package/src/runtime/html/StringWriter.js +0 -73
  522. package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
  523. package/src/runtime/html/helpers/attr.js +0 -80
  524. package/src/runtime/html/helpers/attrs.js +0 -26
  525. package/src/runtime/html/helpers/class-attr.js +0 -8
  526. package/src/runtime/html/helpers/data-marko.js +0 -36
  527. package/src/runtime/html/helpers/escape-quotes.js +0 -35
  528. package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
  529. package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
  530. package/src/runtime/html/helpers/escape-xml.js +0 -21
  531. package/src/runtime/html/helpers/merge-attrs.js +0 -55
  532. package/src/runtime/html/helpers/props-script.js +0 -32
  533. package/src/runtime/html/helpers/style-attr.js +0 -8
  534. package/src/runtime/html/hot-reload.js +0 -26
  535. package/src/runtime/html/index.js +0 -33
  536. package/src/runtime/html/marko-namespace.js +0 -3
  537. package/src/runtime/renderable.js +0 -194
  538. package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  539. package/src/runtime/vdom/VComment.js +0 -24
  540. package/src/runtime/vdom/VComponent.js +0 -17
  541. package/src/runtime/vdom/VDocumentFragment.js +0 -34
  542. package/src/runtime/vdom/VElement.js +0 -375
  543. package/src/runtime/vdom/VFragment.js +0 -26
  544. package/src/runtime/vdom/VNode.js +0 -100
  545. package/src/runtime/vdom/VText.js +0 -25
  546. package/src/runtime/vdom/helpers/attrs.js +0 -62
  547. package/src/runtime/vdom/helpers/const-element.js +0 -25
  548. package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
  549. package/src/runtime/vdom/hot-reload.js +0 -115
  550. package/src/runtime/vdom/index.js +0 -30
  551. package/src/runtime/vdom/is-text-only.js +0 -10
  552. package/src/runtime/vdom/marko-namespace.js +0 -3
  553. package/src/runtime/vdom/morphdom/fragment.js +0 -95
  554. package/src/runtime/vdom/morphdom/helpers.js +0 -42
  555. package/src/runtime/vdom/morphdom/index.js +0 -741
  556. package/src/runtime/vdom/parse-html.js +0 -18
  557. package/src/runtime/vdom/vdom.js +0 -88
  558. package/src/taglib/index.js +0 -51
  559. package/src/translator/cdata/index.js +0 -15
  560. package/src/translator/cdata/index[html].js +0 -15
  561. package/src/translator/cdata/index[vdom].js +0 -12
  562. package/src/translator/class.js +0 -65
  563. package/src/translator/comment/index.js +0 -15
  564. package/src/translator/comment/index[html].js +0 -17
  565. package/src/translator/comment/index[vdom].js +0 -3
  566. package/src/translator/declaration/index.js +0 -15
  567. package/src/translator/declaration/index[html].js +0 -12
  568. package/src/translator/declaration/index[vdom].js +0 -3
  569. package/src/translator/document-type/index.js +0 -15
  570. package/src/translator/document-type/index[html].js +0 -12
  571. package/src/translator/document-type/index[vdom].js +0 -3
  572. package/src/translator/index.js +0 -551
  573. package/src/translator/placeholder/index.js +0 -15
  574. package/src/translator/placeholder/index[html].js +0 -93
  575. package/src/translator/placeholder/index[vdom].js +0 -22
  576. package/src/translator/scriptlet.js +0 -4
  577. package/src/translator/tag/attribute/directives/class.js +0 -42
  578. package/src/translator/tag/attribute/directives/index.js +0 -15
  579. package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  580. package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
  581. package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
  582. package/src/translator/tag/attribute/directives/no-update.js +0 -48
  583. package/src/translator/tag/attribute/directives/style.js +0 -42
  584. package/src/translator/tag/attribute/index.js +0 -150
  585. package/src/translator/tag/attribute/modifiers/index.js +0 -7
  586. package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
  587. package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
  588. package/src/translator/tag/attribute-tag.js +0 -149
  589. package/src/translator/tag/custom-tag.js +0 -146
  590. package/src/translator/tag/dynamic-tag.js +0 -74
  591. package/src/translator/tag/index.js +0 -287
  592. package/src/translator/tag/macro-tag.js +0 -7
  593. package/src/translator/tag/native-tag.js +0 -27
  594. package/src/translator/tag/native-tag[html]/attributes.js +0 -151
  595. package/src/translator/tag/native-tag[html]/index.js +0 -221
  596. package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
  597. package/src/translator/tag/native-tag[vdom]/index.js +0 -189
  598. package/src/translator/tag/util.js +0 -246
  599. package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
  600. package/src/translator/taglib/core/conditional/translate-else.js +0 -20
  601. package/src/translator/taglib/core/conditional/translate-if.js +0 -8
  602. package/src/translator/taglib/core/conditional/util.js +0 -41
  603. package/src/translator/taglib/core/index.js +0 -474
  604. package/src/translator/taglib/core/macro/parse.js +0 -17
  605. package/src/translator/taglib/core/macro/translate.js +0 -48
  606. package/src/translator/taglib/core/parse-class.js +0 -79
  607. package/src/translator/taglib/core/parse-export.js +0 -14
  608. package/src/translator/taglib/core/parse-import.js +0 -14
  609. package/src/translator/taglib/core/parse-module-code.js +0 -18
  610. package/src/translator/taglib/core/parse-static.js +0 -18
  611. package/src/translator/taglib/core/transform-style.js +0 -66
  612. package/src/translator/taglib/core/translate-await.js +0 -41
  613. package/src/translator/taglib/core/translate-body.js +0 -17
  614. package/src/translator/taglib/core/translate-for.js +0 -156
  615. package/src/translator/taglib/core/translate-html-comment.js +0 -52
  616. package/src/translator/taglib/core/translate-include-content.js +0 -53
  617. package/src/translator/taglib/core/translate-server-only.js +0 -5
  618. package/src/translator/taglib/core/translate-while.js +0 -32
  619. package/src/translator/taglib/index.js +0 -7
  620. package/src/translator/taglib/migrate/all-templates.js +0 -46
  621. package/src/translator/taglib/migrate/index.js +0 -5
  622. package/src/translator/text/index.js +0 -10
  623. package/src/translator/text/index[html].js +0 -12
  624. package/src/translator/text/index[vdom].js +0 -20
  625. package/src/translator/util/add-dependencies.js +0 -329
  626. package/src/translator/util/escape-regexp.js +0 -4
  627. package/src/translator/util/get-component-files.js +0 -86
  628. package/src/translator/util/html-out-write.js +0 -15
  629. package/src/translator/util/key-manager.js +0 -176
  630. package/src/translator/util/optimize-html-writes.js +0 -52
  631. package/src/translator/util/optimize-vdom-create.js +0 -164
  632. package/src/translator/util/plugin-hooks.js +0 -22
  633. package/src/translator/util/runtime-flags.js +0 -3
  634. package/src/translator/util/vdom-out-write.js +0 -10
  635. package/src/translator/util/with-previous-location.js +0 -6
  636. package/tags-html.d.ts +0 -3855
  637. package/translator/index.d.ts +0 -7
  638. package/translator/package.json +0 -5
@@ -1,335 +0,0 @@
1
- "use strict";
2
- /* jshint newcap:false */
3
-
4
- var BaseState;
5
- var BaseComponent;
6
- var inherit;
7
- var req = require("@internal/require");
8
- var registry = require("@internal/components-registry");
9
- var jQuery = require("../../../runtime/components/legacy/jquery");
10
- var ready = require("../../../runtime/components/legacy/ready");
11
- // eslint-disable-next-line no-constant-binary-expression
12
- var complain = "MARKO_DEBUG" && require("complain");
13
- var hasHowOwnProperty = {}.hasOwnProperty;
14
- var stateToJSONDef = {
15
- enumerable: false,
16
- value: function returnSelf() {
17
- return this;
18
- },
19
- };
20
- function noop() {}
21
-
22
- module.exports = function defineWidget(def, renderer) {
23
- def = def.Widget || def;
24
-
25
- if (def.___isComponent) {
26
- return def;
27
- }
28
-
29
- var ComponentClass = function () {};
30
- var proto;
31
- var legacyInit;
32
-
33
- if (typeof def === "function") {
34
- proto = def.prototype;
35
- legacyInit = def;
36
- } else if (typeof def === "object") {
37
- proto = def;
38
- legacyInit = def.init;
39
- } else {
40
- throw TypeError();
41
- }
42
-
43
- ComponentClass.prototype = proto;
44
-
45
- // We don't use the constructor provided by the user
46
- // since we don't invoke their constructor until
47
- // we have had a chance to do our own initialization.
48
- // Instead, we store their constructor in the "initComponent"
49
- // property and that method gets called later inside
50
- // init-components-browser.js
51
- function Component(id, doc) {
52
- BaseComponent.call(this, id, doc);
53
- }
54
-
55
- if (!proto.___isComponent) {
56
- // Inherit from Component if they didn't already
57
- ComponentClass.prototype = Object.create(BaseComponent.prototype);
58
- for (var propName in proto) {
59
- if (hasOwnProperty.call(proto, propName)) {
60
- ComponentClass.prototype[propName] = proto[propName];
61
- }
62
- }
63
- }
64
-
65
- // The same prototype will be used by our constructor after
66
- // we he have set up the prototype chain using the inherit function
67
- proto = Component.prototype = ComponentClass.prototype;
68
- proto.___isLegacy = true;
69
-
70
- proto.constructor = def.constructor = Component;
71
-
72
- Object.defineProperty(proto, "state", {
73
- get: function () {
74
- var raw = this.___state && this.___state.___raw;
75
-
76
- if (raw && !raw.toJSON) {
77
- Object.defineProperty(this.___state.___raw, "toJSON", stateToJSONDef);
78
- }
79
-
80
- return raw;
81
- },
82
- set: function (newState) {
83
- newState = newState || {};
84
- // eslint-disable-next-line no-constant-condition
85
- if ("MARKO_DEBUG") {
86
- if (
87
- Object.keys(newState).sort().join("") !==
88
- Object.keys((this.___state && this.___state.___raw) || {})
89
- .sort()
90
- .join("")
91
- )
92
- complain(
93
- "'widget.state = newState' has changed from merging the newState to replacing the old state."
94
- );
95
- }
96
-
97
- this.setState(newState);
98
- },
99
- });
100
-
101
- Object.defineProperty(proto, "__document", {
102
- get: function () {
103
- // eslint-disable-next-line no-constant-condition
104
- if ("MARKO_DEBUG") {
105
- complain("__document is deprecated");
106
- }
107
- return this.___host;
108
- },
109
- });
110
-
111
- Object.defineProperty(proto, "el", {
112
- get: function () {
113
- // eslint-disable-next-line no-constant-condition
114
- if ("MARKO_DEBUG") {
115
- if (
116
- this.___currentLegacyBindEl !==
117
- (this.___rootNode && this.___rootNode.firstChild)
118
- ) {
119
- complain(
120
- "this.el no longer returns the `w-bind` element and instead returns the first node in the template. Assign a key to the w-bind element and use getEl(key) instead."
121
- );
122
- }
123
- }
124
-
125
- return this.___currentLegacyBindEl;
126
- },
127
- });
128
-
129
- // get legacy methods
130
-
131
- proto.___legacyOnRender = proto.onRender;
132
- Object.defineProperty(proto, "onRender", {
133
- get: noop,
134
- set: function (v) {
135
- proto.___legacyOnRender = v;
136
- },
137
- });
138
-
139
- proto.___legacyOnUpdate = proto.onUpdate;
140
- Object.defineProperty(proto, "onUpdate", {
141
- get: function () {
142
- return modernMountOrUpdate;
143
- },
144
- set: function (v) {
145
- proto.___legacyOnUpdate = v;
146
- },
147
- });
148
-
149
- proto.___legacyOnDestroy = proto.onDestroy;
150
- Object.defineProperty(proto, "onDestroy", {
151
- get: function () {
152
- return modernOnDestory;
153
- },
154
- set: function (v) {
155
- proto.___legacyOnDestroy = v;
156
- },
157
- });
158
-
159
- proto.getWidget = proto.getComponent;
160
- proto.getWidgets = proto.getComponents;
161
- proto.onMount = modernMountOrUpdate;
162
-
163
- if (legacyInit) {
164
- proto.___legacyInit = legacyInit;
165
- }
166
-
167
- // convert legacy to modern
168
- proto.___modernUpdate = proto.update;
169
- proto.update = function () {
170
- if (this.___destroyed) {
171
- // eslint-disable-next-line no-constant-condition
172
- if ("MARKO_DEBUG") {
173
- complain(
174
- "widget was updated after it was destroyed, if this widget is migrated to a modern component this will become a noop.",
175
- {
176
- location: this.___type,
177
- }
178
- );
179
- }
180
-
181
- this.destroy = modernOnDestory;
182
- this.___destroyed = false;
183
- }
184
- this.___legacyExplicitUpdate = true;
185
- if (this.___currentLegacyBindEl) {
186
- this.onBeforeUpdate && this.onBeforeUpdate();
187
- }
188
-
189
- this.___modernUpdate();
190
- this.___legacyExplicitUpdate = false;
191
- };
192
-
193
- function modernMountOrUpdate() {
194
- // eslint-disable-next-line @typescript-eslint/no-this-alias
195
- var self = this;
196
- var el = this.___keyedElements["@_wbind"];
197
- var prevEl = this.___currentLegacyBindEl;
198
-
199
- if (prevEl !== el) {
200
- this.___currentLegacyBindEl = el;
201
-
202
- if (prevEl) {
203
- this.onBeforeDestroy && this.onBeforeDestroy();
204
- this.___legacyOnDestroy && this.___legacyOnDestroy();
205
- this.___legacyRender = undefined;
206
- this.removeAllListeners();
207
- }
208
-
209
- if (el) {
210
- this.___legacyInit && this.___legacyInit(this.widgetConfig || {});
211
- this.___legacyOnRender && this.___legacyOnRender({ firstRender: true });
212
- this.___legacyRender = legacyRender;
213
-
214
- // eslint-disable-next-line no-constant-condition
215
- if ("MARKO_DEBUG") {
216
- Object.defineProperty(el, "__widget", {
217
- configurable: true,
218
- get: function () {
219
- complain("__widget is deprecated");
220
- return self;
221
- },
222
- });
223
- } else {
224
- el.__widget = this;
225
- }
226
- }
227
- } else if (el) {
228
- if (prevEl) {
229
- this.___legacyOnUpdate && this.___legacyOnUpdate();
230
- }
231
-
232
- if (this.___didUpdate) {
233
- this.___legacyOnRender &&
234
- this.___legacyOnRender({ firstRender: false });
235
- }
236
- }
237
-
238
- this.___widgetProps = this.___input;
239
- this.___input = null;
240
- this.___didUpdate = false;
241
- }
242
-
243
- function legacyRender() {
244
- if (!this.___legacyExplicitUpdate) {
245
- this.onBeforeUpdate && this.onBeforeUpdate();
246
- }
247
-
248
- this.___didUpdate = true;
249
- }
250
-
251
- function modernOnDestory() {
252
- if (this.___currentLegacyBindEl) {
253
- this.onBeforeDestroy && this.onBeforeDestroy();
254
- this.___legacyOnDestroy && this.___legacyOnDestroy();
255
- this.___currentLegacyBindEl = null;
256
- }
257
- }
258
-
259
- // Set a flag on the constructor function to make it clear this is
260
- // a component so that we can short-circuit this work later
261
- Component.___isComponent = true;
262
-
263
- function State() {
264
- BaseState.apply(this, arguments);
265
- }
266
- inherit(State, BaseState);
267
- proto.___State = State;
268
-
269
- jQuery.patchComponent(
270
- window.$,
271
- proto,
272
- true /* don't throw error until used if `$` is missing*/
273
- );
274
-
275
- ready.patchComponent(proto);
276
-
277
- if (!renderer) {
278
- renderer = ComponentClass.renderer || ComponentClass.prototype.renderer;
279
- if (renderer) {
280
- // Legacy support
281
- var createOut = renderer.createOut;
282
- if (typeof renderer !== "function") {
283
- var rendererObject = renderer;
284
- renderer = function (input, out) {
285
- var rendererFunc = rendererObject.renderer || rendererObject.render;
286
- rendererFunc(input, out);
287
- };
288
- renderer.createOut = createOut;
289
- }
290
-
291
- renderer.render = function (input) {
292
- var out = createOut();
293
- renderer(input, out);
294
- return out.end();
295
- };
296
- }
297
- }
298
-
299
- if (renderer) {
300
- // Add the rendering related methods as statics on the
301
- // new component constructor function
302
- Component.renderer = proto.___renderer = renderer;
303
- Component.render = renderer.render;
304
- Component.renderSync = renderer.renderSync;
305
- }
306
-
307
- // eslint-disable-next-line no-constant-condition
308
- if ("MARKO_DEBUG") {
309
- Object.defineProperty(Component, "_isWidget", {
310
- get: function () {
311
- complain("_isWidget is deprecated");
312
- return true;
313
- },
314
- });
315
- } else {
316
- Component._isWidget = true;
317
- }
318
-
319
- var template = def.template;
320
- if (template) {
321
- if (typeof template === "string") {
322
- template = req(template);
323
- }
324
-
325
- registry.r((template.default || template).___typeName, function () {
326
- return Component;
327
- });
328
- }
329
-
330
- return Component;
331
- };
332
-
333
- BaseState = require("../../../runtime/components/State");
334
- BaseComponent = require("../../../runtime/components/Component");
335
- inherit = require("raptor-util/inherit");
@@ -1,18 +0,0 @@
1
- module.exports = function defineWidget(def, renderer) {
2
- if (def.___isComponent) {
3
- return def;
4
- }
5
-
6
- if (renderer) {
7
- return {
8
- ___isComponent: true,
9
- _isWidget: true,
10
- renderer: renderer,
11
- render: renderer.render,
12
- renderSync: renderer.renderSync,
13
- template: renderer.template,
14
- };
15
- } else {
16
- return { ___isComponent: true, _isWidget: true };
17
- }
18
- };
@@ -1,11 +0,0 @@
1
- {
2
- "main": "./index.js",
3
- "browser": "./index-browser.js",
4
- "exports": {
5
- ".": {
6
- "worker": "./index.js",
7
- "browser": "./index-browser.js",
8
- "default": "./index.js"
9
- }
10
- }
11
- }
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- module.exports = function endComponent(out) {
4
- out.ee(); // endElement() (also works for VComponent nodes pushed on to the stack)
5
- };
@@ -1,11 +0,0 @@
1
- "use strict";
2
-
3
- var ComponentsContext = require("../../../runtime/components/ComponentsContext");
4
- var getComponentsContext = ComponentsContext.___getComponentsContext;
5
-
6
- module.exports = function endComponent(out, componentDef) {
7
- if (componentDef.___renderBoundary) {
8
- out.w("<!--" + out.global.runtimeId + "/-->");
9
- getComponentsContext(out).___isPreserved = componentDef.___parentPreserved;
10
- }
11
- };
@@ -1,11 +0,0 @@
1
- {
2
- "main": "./index.js",
3
- "browser": "./index-browser.js",
4
- "exports": {
5
- ".": {
6
- "worker": "./index.js",
7
- "browser": "./index-browser.js",
8
- "default": "./index.js"
9
- }
10
- }
11
- }
@@ -1,11 +0,0 @@
1
- require("../../../runtime/vdom/marko-namespace");
2
- var registry = require("@internal/components-registry");
3
-
4
- exports.getComponentForEl =
5
- require("@internal/components-util").___getComponentForEl;
6
- exports.init = registry.___initServerRendered;
7
- exports.register = function (id, component) {
8
- registry.r(id, function () {
9
- return component;
10
- });
11
- };
@@ -1,301 +0,0 @@
1
- "use strict";
2
- require("../../../runtime/html/marko-namespace");
3
-
4
- var warp10 = require("warp10");
5
- var w10ToJSON = require("../../../runtime/helpers/serialize-noop").___toJSON;
6
- var safeJSONRegExp = /<\/|\u2028|\u2029/g;
7
- var IGNORE_GLOBAL_TYPES = new Set(["undefined", "function", "symbol"]);
8
- var DEFAULT_RUNTIME_ID = "M";
9
-
10
- var FLAG_WILL_RERENDER_IN_BROWSER = 1;
11
- var FLAG_HAS_RENDER_BODY = 2;
12
- var FLAG_IS_LEGACY = 4;
13
- var FLAG_OLD_HYDRATE_NO_CREATE = 8;
14
-
15
- function safeJSONReplacer(match) {
16
- if (match === "</") {
17
- return "\\u003C/";
18
- } else {
19
- return "\\u" + match.charCodeAt(0).toString(16);
20
- }
21
- }
22
-
23
- function isNotEmpty(obj) {
24
- var keys = Object.keys(obj);
25
- for (var i = keys.length; i--; ) {
26
- if (obj[keys[i]] !== undefined) {
27
- return true;
28
- }
29
- }
30
-
31
- return false;
32
- }
33
- function safeStringify(data) {
34
- return JSON.stringify(warp10.stringifyPrepare(data)).replace(
35
- safeJSONRegExp,
36
- safeJSONReplacer
37
- );
38
- }
39
-
40
- function getSerializedGlobals($global) {
41
- let serializedGlobalsLookup = $global.serializedGlobals;
42
- if (serializedGlobalsLookup) {
43
- let serializedGlobals;
44
- let keys = Object.keys(serializedGlobalsLookup);
45
- for (let i = keys.length; i--; ) {
46
- let key = keys[i];
47
- if (serializedGlobalsLookup[key]) {
48
- let value = $global[key];
49
- if (!IGNORE_GLOBAL_TYPES.has(typeof value)) {
50
- if (serializedGlobals === undefined) {
51
- serializedGlobals = {};
52
- }
53
- serializedGlobals[key] = value;
54
- }
55
- }
56
- }
57
-
58
- return serializedGlobals;
59
- }
60
- }
61
-
62
- function addComponentsFromContext(componentsContext, componentsToHydrate) {
63
- var components = componentsContext.___components;
64
-
65
- var len = components.length;
66
-
67
- for (var i = 0; i < len; i++) {
68
- var componentDef = components[i];
69
- var id = componentDef.id;
70
- var component = componentDef.___component;
71
- var flags = componentDef.___flags;
72
- var isLegacy = componentDef.___isLegacy;
73
-
74
- var state = component.state;
75
- var input = component.input || 0;
76
- var typeName = component.typeName;
77
- var customEvents = component.___customEvents;
78
- var scope = component.___scope;
79
- var bubblingDomEvents = component.___bubblingDomEvents;
80
-
81
- var needsState;
82
- var serializedProps;
83
- var renderBody;
84
-
85
- if (isLegacy) {
86
- flags |= FLAG_IS_LEGACY;
87
- renderBody = component.___widgetBody;
88
-
89
- if (component.widgetConfig && isNotEmpty(component.widgetConfig)) {
90
- serializedProps = component.widgetConfig;
91
- }
92
-
93
- needsState = true;
94
- } else {
95
- if (
96
- !(flags & FLAG_WILL_RERENDER_IN_BROWSER) ||
97
- flags & FLAG_OLD_HYDRATE_NO_CREATE
98
- ) {
99
- component.___state = undefined; // We don't use `delete` to avoid V8 deoptimization
100
- component.___input = undefined; // We don't use `delete` to avoid V8 deoptimization
101
- component.typeName = undefined;
102
- component.id = undefined;
103
- component.___customEvents = undefined;
104
- component.___scope = undefined;
105
- component.___bubblingDomEvents = undefined;
106
- component.___bubblingDomEventsExtraArgsCount = undefined;
107
- component.___updatedInput = undefined;
108
- component.___updateQueued = undefined;
109
-
110
- needsState = true;
111
-
112
- if (isNotEmpty(component)) {
113
- serializedProps = component;
114
- }
115
- } else {
116
- renderBody = input.renderBody;
117
- }
118
- }
119
-
120
- var undefinedPropNames = undefined;
121
-
122
- if (needsState && state) {
123
- // Update state properties with an `undefined` value to have a `null`
124
- // value so that the property name will be serialized down to the browser.
125
- // This ensures that we add the proper getter/setter for the state property.
126
- const stateKeys = Object.keys(state);
127
- for (let i = stateKeys.length; i--; ) {
128
- const stateKey = stateKeys[i];
129
-
130
- if (state[stateKey] === undefined) {
131
- if (undefinedPropNames) {
132
- undefinedPropNames.push(stateKey);
133
- } else {
134
- undefinedPropNames = [stateKey];
135
- }
136
- }
137
- }
138
- }
139
-
140
- if (typeof renderBody === "function" && renderBody.toJSON === w10ToJSON) {
141
- flags |= FLAG_HAS_RENDER_BODY;
142
- renderBody = undefined;
143
- if (input) input.renderBody = undefined;
144
- }
145
-
146
- var extra = {
147
- b: bubblingDomEvents,
148
- d: componentDef.___domEvents,
149
- e: customEvents,
150
- f: flags || undefined,
151
- p: customEvents && scope, // Only serialize scope if we need to attach custom events
152
- s: needsState && state,
153
- u: undefinedPropNames,
154
- w: serializedProps,
155
- r: renderBody,
156
- };
157
-
158
- var parts = [id, typeName];
159
- var hasExtra = isNotEmpty(extra);
160
-
161
- if (input) {
162
- parts.push(input);
163
-
164
- if (hasExtra) {
165
- parts.push(extra);
166
- }
167
- } else if (hasExtra) {
168
- parts.push(0, extra); // empty input;
169
- }
170
-
171
- componentsToHydrate.push(parts);
172
- }
173
-
174
- components.length = 0;
175
-
176
- // Also add any components from nested contexts
177
- var nestedContexts = componentsContext.___nestedContexts;
178
- if (nestedContexts !== undefined) {
179
- nestedContexts.forEach(function (nestedContext) {
180
- addComponentsFromContext(nestedContext, componentsToHydrate);
181
- });
182
- }
183
- }
184
-
185
- function getInitComponentsData(out, componentDefs) {
186
- const len = componentDefs.length;
187
- const $global = out.global;
188
- const isLast = $global.___isLastFlush;
189
- const didSerializeComponents = $global.___didSerializeComponents;
190
- const prefix = $global.componentIdPrefix || $global.widgetIdPrefix;
191
-
192
- if (len === 0) {
193
- if (isLast && didSerializeComponents) {
194
- return { p: prefix, l: 1 };
195
- }
196
-
197
- return;
198
- }
199
-
200
- const TYPE_INDEX = 1;
201
- const typesLookup =
202
- $global.___typesLookup || ($global.___typesLookup = new Map());
203
- let newTypes;
204
-
205
- for (let i = 0; i < len; i++) {
206
- const componentDef = componentDefs[i];
207
- const typeName = componentDef[TYPE_INDEX];
208
- let typeIndex = typesLookup.get(typeName);
209
-
210
- if (typeIndex === undefined) {
211
- typeIndex = typesLookup.size;
212
- typesLookup.set(typeName, typeIndex);
213
-
214
- if (newTypes) {
215
- newTypes.push(typeName);
216
- } else {
217
- newTypes = [typeName];
218
- }
219
- }
220
-
221
- componentDef[TYPE_INDEX] = typeIndex;
222
- }
223
-
224
- let serializedGlobals;
225
-
226
- if (!didSerializeComponents) {
227
- $global.___didSerializeComponents = true;
228
- serializedGlobals = getSerializedGlobals($global);
229
- }
230
-
231
- return {
232
- p: prefix,
233
- l: isLast && 1,
234
- g: serializedGlobals,
235
- w: componentDefs,
236
- t: newTypes,
237
- };
238
- }
239
-
240
- function getInitComponentsDataFromOut(out) {
241
- const componentsContext = out.___components;
242
-
243
- if (componentsContext === null) {
244
- return;
245
- }
246
-
247
- const $global = out.global;
248
- const runtimeId = $global.runtimeId;
249
- const componentsToHydrate = [];
250
- addComponentsFromContext(componentsContext, componentsToHydrate);
251
-
252
- $global.___isLastFlush = true;
253
- const data = getInitComponentsData(out, componentsToHydrate);
254
- $global.___isLastFlush = undefined;
255
-
256
- if (runtimeId !== DEFAULT_RUNTIME_ID && data) {
257
- data.r = runtimeId;
258
- }
259
-
260
- return data;
261
- }
262
-
263
- function writeInitComponentsCode(out) {
264
- out.script(exports.___getInitComponentsCode(out));
265
- }
266
-
267
- exports.___getInitComponentsCode = function getInitComponentsCode(
268
- out,
269
- componentDefs
270
- ) {
271
- const initComponentsData =
272
- arguments.length === 2
273
- ? getInitComponentsData(out, componentDefs)
274
- : getInitComponentsDataFromOut(out);
275
-
276
- if (initComponentsData === undefined) {
277
- return "";
278
- }
279
-
280
- const runtimeId = out.global.runtimeId;
281
- const componentGlobalKey =
282
- runtimeId === DEFAULT_RUNTIME_ID ? "MC" : runtimeId + "_C";
283
-
284
- return `$${componentGlobalKey}=(window.$${componentGlobalKey}||[]).concat(${safeStringify(
285
- initComponentsData
286
- )})`;
287
- };
288
-
289
- exports.___addComponentsFromContext = addComponentsFromContext;
290
- exports.writeInitComponentsCode = writeInitComponentsCode;
291
-
292
- /**
293
- * Returns an object that can be sent to the browser using JSON.stringify. The parsed object should be
294
- * passed to require('marko-components').initComponents(...);
295
- *
296
- * @param {ComponentsContext|AsyncWriter} componentsContext A ComponentsContext or an AsyncWriter
297
- * @return {Object} An object with information about the rendered components that can be serialized to JSON. The object should be treated as opaque
298
- */
299
- exports.getRenderedComponents = function (out) {
300
- return warp10.stringifyPrepare(getInitComponentsDataFromOut(out));
301
- };