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,32 +0,0 @@
1
- # Marko + Cloudflare Workers
2
-
3
- See the [the cloudflare sample](https://github.com/marko-js/examples/tree/master/examples/vite-cloudflare)
4
- project for a working example.
5
-
6
- ## Usage
7
-
8
- When using Marko with [Cloudflare Workers](https://workers.cloudflare.com/), make sure that Marko is loaded with a `worker` [export condition](https://nodejs.org/api/packages.html#conditional-exports). Most bundlers support defining export conditions.
9
-
10
- After that point, imported `.marko` files will export a `.stream` method that returns a worker compatible [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream). You can then respond with that returned stream:
11
-
12
- ```js
13
- import Template from "./index.marko";
14
-
15
- addEventListener("fetch", (event) => {
16
- event.respondWith(handleRequest(event.request));
17
- });
18
-
19
- async function handleRequest(request) {
20
- return new Response(Template.stream(), {
21
- headers: {
22
- status: 200,
23
- headers: { "content-type": "text/html;charset=UTF-8" },
24
- },
25
- });
26
- }
27
- ```
28
-
29
- ### BYOB (Bring your own bundler)
30
-
31
- For the large portion of Marko's API a bundler is required. The example code above assumes that Marko templates can be loaded in your environment.
32
- Marko supports a number of bundlers, [take a look through our supported bundlers](https://markojs.com/docs/bundler-integrations-overview/) and pick what works best for you.
Binary file
package/docs/compiler.md DELETED
@@ -1,473 +0,0 @@
1
- # Compiler
2
-
3
- > **Warning**:
4
- > The compiler API and hooks are not terribly stable. They’re intended for advanced integrations or userland experimentation with new language features.
5
- >
6
- > Prefer existing official plugins and the standard tag library when possible.
7
-
8
- ## Compile API
9
-
10
- > **Warning**:
11
- > The Compile API is intended for advanced integration with build tools, like Webpack and Rollup. Unless you’re doing that, you probably instead want [`build`/`serve` in the Marko CLI](https://github.com/marko-js/cli#readme), or one of [Marko’s bundler integrations](https://markojs.com/docs/bundler-integrations-overview/).
12
-
13
- ### Compile Functions
14
-
15
- Compile functions take two arguments:
16
-
17
- 1. A source Marko template
18
- 2. [`CompileOptions`](#options)
19
-
20
- Then, they return a `CompileResult`:
21
-
22
- ```ts
23
- type CompileResult = {
24
- code: string;
25
- map?: SourceMap;
26
- meta: Record<string, unknown>;
27
- };
28
- ```
29
-
30
- - `code`: The compiled output of executable JavaScript code.
31
- - `map`: [A source map, used for debugging.](https://firefox-source-docs.mozilla.org/devtools-user/debugger/how_to/use_a_source_map/index.html)
32
- - `meta`: Metadata gathered while compiling — nothing terribly useful, probably going to get deprecated.
33
- - Data about child dependencies. Was useful back when it was primarily the bundlers that handled tree-shaking out server components. Now that happens in the compiler, so we don’t use this anymore and therefore might become inaccurate in the future.
34
- - A list of `watchFiles`: files that were used to compile the template (e.g. `marko.json`). Used to tell bundlers which files should be watched in dev mode.
35
-
36
- #### `compileFile()` and `compileFileSync`
37
-
38
- ```ts
39
- compiler.compileFile(filename: string, options?: CompileOptions): Promise<CompileResult>
40
- compiler.compileFileSync(filename: string, options?: CompileOptions): CompileResult
41
- ```
42
-
43
- `compileFile` and `compileFileSync` load `filename` from disk to use as a source template, then translate it into JavaScript.
44
-
45
- ```js
46
- import * as compiler from "@marko/compiler";
47
-
48
- const asyncResult = await compiler.compileFile("./src/index.marko", {
49
- modules: "cjs",
50
- });
51
- const syncResult = compiler.compileFileSync("./src/index.marko", {
52
- modules: "cjs",
53
- });
54
- ```
55
-
56
- #### `compile()` and `compileSync()`
57
-
58
- ```ts
59
- compiler.compile(src: string, filename: string, options?: CompileOptions): Promise<CompileResult>
60
- compiler.compileSync(src: string, filename: string, options?: CompileOptions): CompileResult
61
- ```
62
-
63
- `compile` and `compileSync` accept source templates as a string, rather than loading from disk.
64
-
65
- The `filename` location is used for resolving taglibs and imports, but does not have to be an actually existing file. <!-- TODO: should it be renamed to baseFile or importBase or something? -->
66
-
67
- ```js
68
- import * as compiler from "@marko/compiler";
69
-
70
- const asyncResult = await compiler.compile(
71
- "<h1>Hello!</>",
72
- "./src/index.marko",
73
- { modules: "cjs" },
74
- );
75
- const syncResult = compiler.compileSync("<h1>Hello!</>", "./src/index.marko", {
76
- modules: "cjs",
77
- });
78
- ```
79
-
80
- ### Options
81
-
82
- The compiler may be configured globally to change its default options:
83
-
84
- ```js
85
- import * as compiler from "@marko/compiler";
86
- compiler.configure({ output: "dom" });
87
- ```
88
-
89
- Or you can pass options objects when calling compile functions. Each property will override individual properties set by `configure()`:
90
-
91
- ```js
92
- import * as compiler from "@marko/compiler";
93
- compiler.configure({
94
- output: "dom",
95
- sourceMaps: true,
96
- });
97
- const result = compiler.compileFileSync("./example.marko", {
98
- output: "html",
99
- });
100
- ```
101
-
102
- In the above example, `result` would be compiled with the options of `{ output: "html", sourceMaps: true }`.
103
-
104
- #### `output`
105
-
106
- Type: `string`<br>
107
- Default: `"html"`
108
-
109
- - `"html"`: compiles templates to JavaScript that generates HTML strings for server HTTP responses, writing `.html` files, or maybe even constructing `Response`s in Web Workers.
110
- - `"dom"`: compiles templates to JavaScript that generates DOM nodes for client-side rendering in browsers.
111
- - `"hydrate"`: like `"dom"`, but only includes assets & components needed in-browser, assuming the page was rendered on the server.
112
- - `"migrate"`: only runs migrations (no transforms or translation) and returns the migrated template code.
113
- - `"source"`: parses templates without running any migrations or transforms. (Useful with `ast: true`)
114
-
115
- > **Note**:
116
- > For `dom` or `hydrate` outputs, you should also specify a [`resolveVirtualDependency`](#resolvevirtualdependency) function.
117
-
118
- #### `code`
119
-
120
- Type: `boolean`<br>
121
- Default: `true`
122
-
123
- If `false`, will not generate or return the compiled `code` string.
124
-
125
- #### `ast`
126
-
127
- Type: `boolean`<br>
128
- Default: `false`
129
-
130
- If `true`, the compiler will provide the `ast` in its output.
131
-
132
- #### `stripTypes`
133
-
134
- Type: `boolean|undefined`<br>
135
- Default: `undefined`
136
-
137
- If `true`, removes all TypeScript types from the output.
138
- If the value is `undefined` (the default), the compiler will remove types if the `output` option is not `source` or `migrate`.
139
-
140
- For example, to run migrations _and_ strip types, you can set both `output: "migrate"` and `stripTypes: true`.
141
-
142
- #### `runtimeId`
143
-
144
- Type: `string`<br>
145
- Default: `undefined`
146
-
147
- Optionally use to override the runtime ID used to differentiate multiple copies of Marko on the same page, which is passed to `marko/components.init(runtimeId)` when compiling in the `hydrate` output.
148
-
149
- #### `writeVersionComment`
150
-
151
- Type: `boolean`<br>
152
- Default: `true`
153
-
154
- Whether the Marko version should be written to the template in a comment, like so:
155
-
156
- ```js
157
- // Compiled using marko@x.x.x - DO NOT EDIT
158
- ```
159
-
160
- #### `ignoreUnrecognizedTags`
161
-
162
- Type: `boolean`<br>
163
- Default: `false`
164
-
165
- Whether unrecognized tags should be silently ignored or throw a compile error. Ignored tags will be output as native elements.
166
-
167
- > **ProTip**:
168
- > Some test setups use this alongside `@marko/compiler/taglib`'s `excludeDir` and `excludePackage` to simulate "shallow" rendering.
169
-
170
- #### `sourceMaps`
171
-
172
- Type: `boolean` or `string`<br>
173
- Default: `false`
174
-
175
- Whether source maps should be output with the compiled templates.
176
-
177
- - When `true` a `map` property will be available on the compile result.
178
- - When `"inline"` the sourcemap will be inlined as a comment in the output code.
179
- - When `"both"` both of the above will be used.
180
-
181
- #### `meta`
182
-
183
- Type: `boolean`<br>
184
- Default: `false`
185
-
186
- _Deprecated_. This option inlines the metadata in the output Javascript code. Metadata should be accessed instead from the `CompileResult`.
187
-
188
- #### `fileSystem`
189
-
190
- Type: typeof [`fs`](https://nodejs.org/api/fs.html) (specifically read APIs)<br>
191
- Default: Cached `fs`
192
-
193
- Use a different file system object (eg. webpack's [CachedInputFileSystem](https://github.com/webpack/enhanced-resolve/blob/f08fe3f1a22c90c722eca14b38a9300ad00c62e8/lib/CachedInputFileSystem.js) or [`arc-fs`](https://github.com/eBay/arc/tree/master/packages/arc-fs))
194
-
195
- #### `modules`
196
-
197
- Type: `string` (`"esm"` or `"cjs"`)<br>
198
- Default: `"esm"`
199
-
200
- By default Marko outputs ES Modules. You can optionally specify `"cjs"` for CommonJS/`require()`.
201
-
202
- #### `optimize`
203
-
204
- Type: `boolean`<br>
205
- Default: [environment based](https://github.com/marko-js/marko/blob/0f212897d2d3ec30b12c2f18ba950818bccb83b4/packages/compiler/src/babel-plugin/index.js#L277-L284) (`false` in development, `true` in production)
206
-
207
- Enables production mode optimizations.
208
-
209
- #### `optimizeKnownTemplates`
210
-
211
- Type: `string[]`<br>
212
- Default: `undefined`
213
-
214
- If `optimize` is enabled you can provide an array of template paths which the compiler will use to generate shorter registry/template ids using incrementing ids. This can only be used if the same `optimizeKnownTemplates` are used for both server and client compilations.
215
-
216
- #### `resolveVirtualDependency`
217
-
218
- Type:
219
-
220
- ```ts
221
- (
222
- filename: string,
223
- dep: {
224
- code: string;
225
- virtualPath: string;
226
- map?: SourceMap;
227
- },
228
- ) => string;
229
- ```
230
-
231
- Default: `undefined`
232
-
233
- This option should be set for `dom` or `hydrate` outputs. Since Marko templates can represent multiple output files (eg. JS renderer and CSS styles), a single source `.marko` file must be treated as potentially multiple virtual files.
234
-
235
- Different build tools have different mechanisms for handling virtual files. You should pass a function that returns a virtual path that can be handled by your build tool.
236
-
237
- ##### Example based on `@marko/webpack/loader`:
238
-
239
- ```js
240
- // lookup is shared between resolveVirtualDependency and markoLoader
241
- const virtualSources = new Map();
242
-
243
- function resolveVirtualDependency(filename, { virtualPath, code, map }) {
244
- const virtualFilename = `${filename}?virtual=${virtualPath}`;
245
-
246
- // Add virtual source to the lookup to be later accessed by the loader
247
- virtualSources.set(virtualFilename, { code, map });
248
-
249
- // Generate the webpack path, from right to left...
250
- // 1. Pass the virtualFilename so webpack can find the real file
251
- // located at sourceFilename, but the virtualPath is also present
252
- // (eg. "./index.marko?virtual=./index.marko.css")
253
- // 2. Use an inline loader to run this file through @marko/webpack/loader
254
- // https://webpack.js.org/concepts/loaders/#inline
255
- // 3. Use an inline matchResource to redefine this as the virtualPath
256
- // which allows the appropriate loaders to match the virtual dependency
257
- // https://webpack.js.org/api/loaders/#inline-matchresource
258
- return `${virtualPath}!=!@marko/webpack/loader!${virtualFilename}`;
259
- }
260
-
261
- export default function markoLoader(source) {
262
- let code, map;
263
-
264
- if (virtualSources.has(this.resource)) {
265
- // If the resource has a ?virtual query param, we should
266
- // find it in the lookup and then return the virtual code
267
- // rather than performing the normal compilation
268
- { code, map } = virtualSources.get(this.resource);
269
- virtualSources.delete(this.resource);
270
- } else {
271
- // The default behavior is to compile the template in dom output mode
272
- { code, map } = markoCompiler.compileSync(source, this.resourcePath, {
273
- output: "dom",
274
- resolveVirtualDependency
275
- });
276
- }
277
-
278
- return this.callback(null, code, map);
279
- }
280
- ```
281
-
282
- #### `hydrateIncludeImports`
283
-
284
- This option is only used for `output: "hydrate"`. By default, `import`s in server-only files are not included in the hydrate output. However, for some assets, like stylesheets, it is useful to have them included in hydrate mode.
285
-
286
- The `hydrateIncludeImports` option allows you to provide a function which receives an import path, or a regexp to match against that path which tells Marko to include that import in the hydrate mode output.
287
-
288
- The default regexp includes a list of common known asset file extensions, and is as follows:
289
-
290
- ```js
291
- /\.(css|less|s[ac]ss|styl|png|jpe?g|gif|svg|ico|webp|avif|mp4|webm|ogg|mp3|wav|flac|aac|woff2?|eot|[ot]tf)$/;
292
- ```
293
-
294
- Looking at a partial Marko file such as:
295
-
296
- ```marko
297
- import "./bar"
298
- import "./foo.css";
299
- import "./baz.wasm";
300
-
301
- <div/>
302
- ```
303
-
304
- For `hydrate` output, with the default `hydrateIncludeImports`, would only cause `./foo.css` to be loaded in the browser.
305
-
306
- #### `hydrateInit`
307
-
308
- This option is only used for `output: "hydrate"`. It defaults to `true` and causes the hydrate output to include code which tells the Marko runtime to begin hydrating any registered components.
309
-
310
- Setting to false will disable that `init` call and allow you to generate code which _just_ imports any hydrate dependencies for a template.
311
-
312
- #### `cache`
313
-
314
- Type: typeof [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) (specifically, `.get()` is required)<br>
315
- Default: `new Map()`
316
-
317
- Compiling a Marko template may require other (used) Marko templates to compile. To prevent compiling templates more than once, most of the compilation is cached.
318
-
319
- The default cache strategy is to clear the cache each macrotask. If the default cache is overwritten, it is up to the user to determine when the cache is cleared.
320
-
321
- #### `babelConfig`
322
-
323
- Type: see [babel options](https://babeljs.io/docs/en/options)<br>
324
- Default: babel defaults, plus
325
-
326
- ```js
327
- {
328
- filename,
329
- sourceType: "module",
330
- sourceMaps: config.sourceMaps
331
- }
332
- ```
333
-
334
- #### `translator`
335
-
336
- Type: `{ analyze: Visitor, transform:Visitor }`<br>
337
- Default: [autodiscovers](https://github.com/marko-js/marko/blob/0f212897d2d3ec30b12c2f18ba950818bccb83b4/packages/compiler/src/config.js#L46-L89) a translator package starting with `@marko/translator-` or `marko-translator-`
338
-
339
- The translator is a collection of transforms that translates the Marko AST into a valid JavaScript AST based on the `output` option. There is a default translator in Marko, but this option may be used to switch to experimental translators for alternate runtimes.
340
-
341
- The translator is an object with `analyze` and `transform` [Babel Visitors](https://github.com/jamiebuilds/babel-handbook/blob/master/translations/en/plugin-handbook.md#visitors):
342
-
343
- - The result of the `analyze` visitor is cached and may be requested by other templates.
344
- - The `transform` visitor transforms the AST to its final JavaScript AST.
345
-
346
- See [`@marko/translator-default`](https://github.com/marko-js/marko/blob/11a10f82cdb5389880e6deca5f77d17727acb831/packages/translator-default/src/index.js) for a reference implementation.
347
-
348
- ## Hooks
349
-
350
- > **Note**:
351
- > These compiler hooks aren’t terribly stable either. Using hooks for one-time migrations, like a codemod, is the best-supported way to use the compiler hooks, since you won’t have to worry about the code changing underneath you in the future.
352
-
353
- ![1. Parse (angle bracket source code) 2. Migrate (old Marko to new Marko) 3. Transform (objects to different objects) 4. Translate (Marko to JavaScript.)](./compiler-hooks.png)
354
-
355
- The Marko compiler runs a series of stages to produce its final JavaScript output. These stages handle different steps of template processing, and can be tweaked, extended, and hooked into with [`marko.json` configuration files](./marko-json.md).
356
-
357
- - All compiler hooks must have a default export of a [Babel-style visitor function](https://github.com/jamiebuilds/babel-handbook/blob/master/translations/en/plugin-handbook.md#toc-visitors), which will receive a [babel `NodePath`](https://github.com/jamiebuilds/babel-handbook/blob/master/translations/en/plugin-handbook.md#paths) with a `MarkoTag` node.
358
-
359
- - Hooks will also receive a `types` object that matches the [`@babel/types`](https://babeljs.io/docs/en/babel-types) API extended with the [Marko AST types](#marko-ast). (You may also reference the types by importing `{ types } from "@marko/compiler"`.)
360
-
361
- - Hooks may alternatively export an `enter` function (alias of `default`), and optionally an `exit` function. These map to [`@babel/traverse`’s `enter` and `exit` methods](https://github.com/jamiebuilds/babel-handbook/blob/master/translations/en/plugin-handbook.md#babel-traverse).
362
-
363
- Here is an example hook:
364
-
365
- ```js
366
- export default (tag, types) => {
367
- if (types.isStringLiteral(tag.node.name)) {
368
- console.log(`Found a tag called ${tag.node.name.value}`);
369
- tag.remove();
370
- }
371
- };
372
- ```
373
-
374
- ### Parse
375
-
376
- Marko compilation starts by converting the raw text of your Marko template into an [AST (Abstract Syntax Tree)](https://en.wikipedia.org/wiki/Abstract_syntax_tree) — an object representation of your code.
377
-
378
- ```marko
379
- <h1>Hello!</h1>
380
- ```
381
-
382
- …will roughly become:
383
-
384
- ```json
385
- {
386
- "type": "MarkoTag",
387
- "name": {
388
- "type": "StringLiteral",
389
- "value": "h1"
390
- },
391
- "body": {
392
- "type": "MarkoTagBody",
393
- "body": [
394
- {
395
- "type": "MarkoText",
396
- "value": "Hello!"
397
- }
398
- ]
399
- }
400
- }
401
- ```
402
-
403
- This might look a bit verbose, but ASTs aim for completeness, not terseness.
404
-
405
- Marko parses in two steps to stay flexible with the ever-changing syntax of JavaScript:
406
-
407
- 1. The first parsing pass happens in our [`htmljs-parser`](https://github.com/marko-js/htmljs-parser), which understands the HTML and HTML-like parts of your template.
408
-
409
- 2. For JavaScript expressions, Marko defers to [`@babel/parser`](https://babeljs.io/docs/en/babel-parser). The resulting [Marko AST](#marko-ast) is a superset of what `@babel/parser` would return.
410
-
411
- To hook into the `parse` stage, use [the `parse` option in the `marko.json` file](https://markojs.com/docs/marko-json/#paths).
412
-
413
- > **Note**: The `parse` hook deviates from the other compiler hooks:
414
- >
415
- > - It does not support the `enter` & `exit` API.
416
- > - You _must return_ a replacement AST node.
417
-
418
- ### Migrate
419
-
420
- That’s right, Marko has _first-class_ support for migrations. The **migration stage** can translate outdated APIs into modern counterparts, leaving the rest of the compilation none the wiser.
421
-
422
- Migrations run automatically in the background, and can be written to disk when users are ready by running the [`@marko/migrate` CLI command](https://github.com/marko-js/cli/blob/master/packages/migrate/README.md).
423
-
424
- To hook into the `migrate` stage, [use the `migrate` option in the `marko.json` file](https://markojs.com/docs/marko-json/#paths).
425
-
426
- > **Note:**
427
- > To make the compiler stop at this point and output the migrated template, rather than continuing to produce the JavaScript output, [set `output: "migrate"`](#output) in the [compilation options](#options).
428
-
429
- ### Transform
430
-
431
- The **transform stage** is meant for userland transformations of Marko code into different Marko code. Think of it like [`babel.transform`](https://babeljs.io/docs/en/babel-core#transform) for Marko templates.
432
- At this stage, you are given a fully parsed and migrated AST to do what you will with.
433
-
434
- To hook into the `transform` stage, [use the `transform` option in the `marko.json` file](https://markojs.com/docs/marko-json/#paths).
435
-
436
- ### Analyze
437
-
438
- Next is the **analyze stage**, intended for non-mutative analysis of the entire AST in a way that can be cached in RAM.
439
-
440
- > **Note**:
441
- > “Non-mutative analysis” means that if you modify the AST during this stage, _you’ll probably regret it_ someday.
442
-
443
- Metadata should be stored on nodes’ `.extra` property. These `.extra` properties are typically read in [the translate stage](#translate), or when using the child template analysis helpers.
444
-
445
- To hook into the `analyze` stage, [use the `analyze` option in the `marko.json` file](https://markojs.com/docs/marko-json/#paths).
446
-
447
- ### Translate
448
-
449
- Finally, we have the **translation stage**. This stage is Marko’s “Rosetta Stone”, and is responsible for turning your beautiful `.marko` code into different versions of optimized JavaScript you’d rather not write yourself.
450
-
451
- To hook into the `translate` stage, [use the `translate` option in the `marko.json` file](https://markojs.com/docs/marko-json/#paths).
452
-
453
- ## Utilities
454
-
455
- [The `@marko/babel-utils` package](https://github.com/marko-js/marko/tree/master/packages/babel-utils/index.d.ts) exposes a handful of utilities for various tasks on [Marko ASTs](#marko-ast).
456
-
457
- ### Marko AST
458
-
459
- Marko extends Babel’s AST types to add nodes for `MarkoTag`, `MarkoAttribute`, etc.
460
-
461
- For AST creation and assertion utilities, you can import Marko’s `@babel/types` superset from the compiler package:
462
-
463
- ```js
464
- import { types } from "@marko/compiler";
465
- ```
466
-
467
- The [`@babel/types` documentation](https://babeljs.io/docs/en/babel-types) shows all utility methods available for Babel AST nodes. When importing `types` from `@marko/compiler`, you also get the same types of utilities for Marko nodes: `types.markoTag`, `types.isMarkoTag`, `types.assertMarkoTag`, and so on.
468
-
469
- For full definitions, view the source code for Babel and Marko:
470
-
471
- - [Babel’s Core Definitions](https://github.com/babel/babel/blob/master/packages/babel-types/src/definitions/core.js)
472
- - [Babel’s Extended Definitions](https://github.com/babel/babel/tree/master/packages/babel-types/src/definitions)
473
- - [Marko’s Definitions](https://github.com/marko-js/marko/blob/main/packages/compiler/src/babel-types/types/definitions.js)
Binary file
@@ -1,87 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg width="100%" height="100%" viewBox="0 0 768 262" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
4
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
5
- <path d="M152,81L336.779,81L336.779,67L368,95L336.779,123L336.779,109L152,109L152,81Z" style="fill:rgb(129,211,26);fill-rule:nonzero;"/>
6
- </g>
7
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
8
- <path d="M622,81.25L755.221,81.25L755.221,67L787,95.5L755.221,124L755.221,109.75L622,109.75L622,81.25Z" style="fill:rgb(0,176,240);fill-rule:nonzero;"/>
9
- </g>
10
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
11
- <path d="M588.294,148L629.609,179L607.814,179C622.247,233.748 672.666,272 730.397,272L699.397,272C641.667,272 591.247,233.748 576.815,179L555.02,179L588.294,148Z" style="fill:rgb(255,192,0);fill-rule:nonzero;"/>
12
- </g>
13
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
14
- <path d="M714.897,271.067C778.343,263.401 826,210.612 826,148L857,148C857,216.483 800.318,272 730.397,272C725.216,272 720.04,271.688 714.897,271.067L714.897,271.067Z" style="fill:rgb(205,154,0);fill-rule:nonzero;"/>
15
- </g>
16
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
17
- <path d="M427,116L427,197.232C427,232.509 398.402,261.107 363.125,261.107L144.5,261.107L144.5,276L108,247.653L144.5,219.305L144.5,234.198L363.125,234.198C383.541,234.198 400.091,217.648 400.091,197.232L400.091,116L427,116Z" style="fill:rgb(255,192,0);fill-rule:nonzero;"/>
18
- </g>
19
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
20
- <path d="M457,10.5C457,5.253 461.253,1 466.5,1L536.5,1C541.747,1 546,5.253 546,10.5L546,48.5C546,53.747 541.747,58 536.5,58L466.5,58C461.253,58 457,53.747 457,48.5L457,10.5Z" style="fill:rgb(154,37,39);fill-rule:nonzero;"/>
21
- </g>
22
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
23
- <path d="M371,10C371,4.477 375.477,0 381,0L442,0C447.523,0 452,4.477 452,10L452,50C452,55.523 447.523,60 442,60L381,60C375.477,60 371,55.523 371,50L371,10Z" style="fill:rgb(166,166,166);fill-rule:nonzero;"/>
24
- </g>
25
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
26
- <path d="M551,9.5C551,4.253 555.253,0 560.5,0L612.5,0C617.747,0 622,4.253 622,9.5L622,47.5C622,52.747 617.747,57 612.5,57L560.5,57C555.253,57 551,52.747 551,47.5L551,9.5Z" style="fill:rgb(154,37,39);fill-rule:nonzero;"/>
27
- </g>
28
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
29
- <rect x="371" y="42" width="251" height="106" style="fill:rgb(223,46,47);fill-rule:nonzero;"/>
30
- </g>
31
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
32
- <text x="59.321px" y="107.159px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(167,234,82);">I</text>
33
- <text x="69.523px" y="107.159px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(167,234,82);">n</text>
34
- <text x="89.695px" y="107.159px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(167,234,82);">p</text>
35
- <text x="109.516px" y="107.159px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(167,234,82);">u<tspan x="129.738px " y="107.159px ">t</tspan></text>
36
- </g>
37
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
38
- <text x="794.64px" y="87.768px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(94,204,243);">D</text>
39
- <text x="821.038px" y="87.768px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(94,204,243);">O</text>
40
- <text x="849.29px" y="87.768px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(94,204,243);">M</text>
41
- <text x="878.828px" y="87.768px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(94,204,243);">/</text>
42
- </g>
43
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
44
- <text x="794.64px" y="130.768px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(94,204,243);">H</text>
45
- <text x="821.488px" y="130.768px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(94,204,243);">T</text>
46
- <text x="842.978px" y="130.768px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(94,204,243);">M</text>
47
- <text x="872.567px" y="130.768px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(94,204,243);">L</text>
48
- </g>
49
- <g transform="matrix(0.782468,0,0,0.782468,116.639,45.2145)">
50
- <text x="21.538px" y="256.769px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">C</text>
51
- <text x="47.086px" y="256.769px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">u</text>
52
- <text x="67.307px" y="256.769px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">s</text>
53
- <text x="85.757px" y="256.769px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">t</text>
54
- <text x="96.309px" y="256.769px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">o</text>
55
- <text x="116.781px" y="256.769px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">m</text>
56
- <text x="156.321px" y="256.769px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">E</text>
57
- <text x="180.333px" y="256.769px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">v</text>
58
- <text x="198.083px" y="256.769px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">e</text>
59
- <text x="218.104px" y="256.769px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">n</text>
60
- <text x="238.226px" y="256.769px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">t</text>
61
- <text x="248.428px" y="256.769px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">s</text>
62
- </g>
63
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
64
- <text x="604.892px" y="309.269px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">D</text>
65
- <text x="631.291px" y="309.269px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">O</text>
66
- <text x="659.542px" y="309.269px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">M</text>
67
- <text x="699.178px" y="309.269px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">E</text>
68
- <text x="723.19px" y="309.269px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">v</text>
69
- <text x="740.94px" y="309.269px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">en</text>
70
- <text x="780.983px" y="309.269px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">t</text>
71
- <text x="791.335px" y="309.269px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:36px;fill:rgb(255,192,0);">s</text>
72
- </g>
73
- <g transform="matrix(0.782468,0,0,0.782468,10.8862,9.86586)">
74
- <text x="396.157px" y="25.805px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:20px;fill:white;">A</text>
75
- <text x="409.496px" y="25.805px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:20px;fill:white;">P</text>
76
- <text x="423.186px" y="25.805px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:20px;fill:white;">I</text>
77
- </g>
78
- <g transform="matrix(0.782468,0,0,0.782468,75.1354,10.0187)">
79
- <text x="396.157px" y="25.805px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:20px;fill:white;">State</text>
80
- </g>
81
- <g transform="matrix(0.782468,0,0,0.782468,138.925,9.41815)">
82
- <text x="396.157px" y="25.805px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:20px;fill:white;">Styles</text>
83
- </g>
84
- <g transform="matrix(0.782468,0,0,0.782468,75.5188,-35.8631)">
85
- <text x="311.649px" y="161.723px" style="font-family:'ArialMT', 'Arial', sans-serif;font-size:32px;fill:white;">UI Component</text>
86
- </g>
87
- </svg>