@ccslabs/xtend 0.1.0-rc.1 → 0.1.2

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 (566) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +4 -0
  3. package/catalog/component-catalog-coverage.js +2 -0
  4. package/catalog/epic13-package-export-lock.js +11 -1
  5. package/catalog/epic13-rmt-production-readiness.js +0 -1
  6. package/catalog/epic18-rmt-action-effect-runtime.d.ts +36 -0
  7. package/catalog/epic18-rmt-action-effect-runtime.js +249 -0
  8. package/catalog/epic18-rmt-app-platform-authoring.d.ts +39 -0
  9. package/catalog/epic18-rmt-app-platform-authoring.js +319 -0
  10. package/catalog/epic18-rmt-app-platform-fixture.d.ts +33 -0
  11. package/catalog/epic18-rmt-app-platform-fixture.js +221 -0
  12. package/catalog/epic18-rmt-app-platform-release-handoff.d.ts +30 -0
  13. package/catalog/epic18-rmt-app-platform-release-handoff.js +231 -0
  14. package/catalog/epic18-rmt-app-platform-tooling.d.ts +38 -0
  15. package/catalog/epic18-rmt-app-platform-tooling.js +242 -0
  16. package/catalog/epic18-rmt-component-template-primitives.d.ts +33 -0
  17. package/catalog/epic18-rmt-component-template-primitives.js +240 -0
  18. package/catalog/epic18-rmt-dom-descriptor-renderer.d.ts +35 -0
  19. package/catalog/epic18-rmt-dom-descriptor-renderer.js +232 -0
  20. package/catalog/epic18-rmt-event-routing-runtime.d.ts +35 -0
  21. package/catalog/epic18-rmt-event-routing-runtime.js +234 -0
  22. package/catalog/epic18-rmt-state-selector-runtime.d.ts +34 -0
  23. package/catalog/epic18-rmt-state-selector-runtime.js +216 -0
  24. package/catalog/epic18-rmt-surface-resource-graph-runtime.d.ts +36 -0
  25. package/catalog/epic18-rmt-surface-resource-graph-runtime.js +256 -0
  26. package/catalog/surface-manager-controller.js +5 -1
  27. package/catalog/surface-manager-materialization.js +7 -1
  28. package/catalog/surface-manager-overlay-bridge.js +41 -6
  29. package/catalog/surface-manager-workbench-fixture.js +1 -1
  30. package/catalog/surface-type-capability-matrix.d.ts +61 -0
  31. package/catalog/surface-type-capability-matrix.js +183 -0
  32. package/catalog/type-exports-rmt.js +37 -1
  33. package/catalog/type-exports.js +3 -3
  34. package/components/icon-packs/lucide.js +4 -0
  35. package/components/manifest.json +2 -0
  36. package/components/prism-rmt.d.ts +34 -0
  37. package/components/prism-rmt.js +130 -0
  38. package/components/xcards.js +15 -0
  39. package/components/xcode.d.ts +36 -1
  40. package/components/xcode.js +215 -20
  41. package/components/xfooter.js +17 -0
  42. package/components/xheader.js +14 -0
  43. package/components/xhero.js +16 -1
  44. package/components/xlink.js +97 -14
  45. package/components/xmasonry.js +15 -0
  46. package/components/xplayer.d.ts +44 -2
  47. package/components/xplayer.js +242 -15
  48. package/components/xrouter.js +27 -2
  49. package/components/xsection.js +15 -0
  50. package/components/xsidepanel.js +10 -2
  51. package/components/xsurfacemanager-controller.d.ts +2 -1
  52. package/components/xsurfacemanager-controller.js +27 -3
  53. package/components/xsurfacemanager.d.ts +2 -0
  54. package/components/xsurfacemanager.js +20 -8
  55. package/components/xsurfaceoverlay-bridge.d.ts +20 -5
  56. package/components/xsurfaceoverlay-bridge.js +114 -18
  57. package/components/xsurfaceportal.d.ts +29 -0
  58. package/components/xsurfaceportal.js +122 -0
  59. package/components/xsurfaceregion.d.ts +50 -0
  60. package/components/xsurfaceregion.js +285 -0
  61. package/components/xsurfacewindow.js +2 -1
  62. package/components/xtooltip.js +89 -23
  63. package/docs/README.md +222 -298
  64. package/docs/changelog.md +107 -0
  65. package/docs/component-catalog-coverage.md +9 -9
  66. package/docs/component-platform.md +19 -1
  67. package/docs/component-ux-app-authoring.md +56 -63
  68. package/docs/components/xcode.md +83 -53
  69. package/docs/components/xsurfaceportal.md +32 -0
  70. package/docs/components/xsurfaceregion.md +37 -0
  71. package/docs/components.md +105 -69
  72. package/docs/de/README.md +264 -0
  73. package/docs/de/XTend-ADR.md +221 -0
  74. package/docs/de/a11y-keyboard-smokes.md +62 -0
  75. package/docs/de/about.md +18 -0
  76. package/docs/de/api.md +157 -0
  77. package/docs/de/best-practices.md +76 -0
  78. package/docs/de/changelog.md +107 -0
  79. package/docs/de/component-catalog-coverage.md +58 -0
  80. package/docs/de/component-lab.md +103 -0
  81. package/docs/de/component-long-tail-migration.md +41 -0
  82. package/docs/de/component-platform.md +177 -0
  83. package/docs/de/component-ux-app-authoring.md +123 -0
  84. package/docs/de/component-ux-authoring.md +96 -0
  85. package/docs/de/component-ux-gates.md +45 -0
  86. package/docs/de/components/x-rmt-lifecycle-demo-build.md +60 -0
  87. package/docs/de/components/xalert.md +81 -0
  88. package/docs/de/components/xbutton.md +103 -0
  89. package/docs/de/components/xcalendar.md +82 -0
  90. package/docs/de/components/xcards.md +128 -0
  91. package/docs/de/components/xcheckbox.md +102 -0
  92. package/docs/de/components/xcode.md +156 -0
  93. package/docs/de/components/xdialog.md +92 -0
  94. package/docs/de/components/xdrawer.md +84 -0
  95. package/docs/de/components/xfooter.md +126 -0
  96. package/docs/de/components/xform.md +128 -0
  97. package/docs/de/components/xheader.md +308 -0
  98. package/docs/de/components/xhero.md +142 -0
  99. package/docs/de/components/xicon.md +125 -0
  100. package/docs/de/components/xinput.md +129 -0
  101. package/docs/de/components/xlightbox.md +98 -0
  102. package/docs/de/components/xlink.md +109 -0
  103. package/docs/de/components/xmasonry.md +124 -0
  104. package/docs/de/components/xmenu.md +158 -0
  105. package/docs/de/components/xmodal.md +82 -0
  106. package/docs/de/components/xplayer.md +104 -0
  107. package/docs/de/components/xpopover.md +67 -0
  108. package/docs/de/components/xprogress.md +56 -0
  109. package/docs/de/components/xradio.md +103 -0
  110. package/docs/de/components/xrouter.md +260 -0
  111. package/docs/de/components/xsection.md +125 -0
  112. package/docs/de/components/xselect.md +105 -0
  113. package/docs/de/components/xsidepanel.md +30 -0
  114. package/docs/de/components/xspinner.md +102 -0
  115. package/docs/de/components/xstate.md +148 -0
  116. package/docs/de/components/xstatus.md +55 -0
  117. package/docs/de/components/xsummary.md +78 -0
  118. package/docs/de/components/xsurfacemanager.md +27 -0
  119. package/docs/de/components/xsurfacewindow.md +21 -0
  120. package/docs/de/components/xtabs.md +160 -0
  121. package/docs/de/components/xtextarea.md +98 -0
  122. package/docs/de/components/xtheme.md +167 -0
  123. package/docs/de/components/xtoast.md +62 -0
  124. package/docs/de/components/xtooltip.md +66 -0
  125. package/docs/de/components/xtype.md +82 -0
  126. package/docs/de/components/xutils.md +144 -0
  127. package/docs/de/components/xwriter.md +94 -0
  128. package/docs/de/components.md +153 -0
  129. package/docs/de/conditional-network-evidence-ci.md +38 -0
  130. package/docs/de/conditional-network-evidence.md +50 -0
  131. package/docs/de/core-migration-guide.md +110 -0
  132. package/docs/de/design-tokens.md +116 -0
  133. package/docs/de/docs-rmt-production-hardening.md +31 -0
  134. package/docs/de/enterprise-adoption.md +413 -0
  135. package/docs/de/enterprise-component-flex-release-handoff.md +129 -0
  136. package/docs/de/epic10-platform-gates.md +62 -0
  137. package/docs/de/epic10-release-handoff.md +81 -0
  138. package/docs/de/epic11-enterprise-ux-handoff.md +70 -0
  139. package/docs/de/epic12-rc0-handoff.md +61 -0
  140. package/docs/de/epic18-media-manager-vendor-upstream.md +318 -0
  141. package/docs/de/epic18-rmt-app-platform-release-handoff.md +67 -0
  142. package/docs/de/epic18-vendor-bugfixes.md +34 -0
  143. package/docs/de/existing-component-metadata.md +67 -0
  144. package/docs/de/hydration-performance-closure.md +34 -0
  145. package/docs/de/hydration-policies.md +71 -0
  146. package/docs/de/known-residual-triage.md +22 -0
  147. package/docs/de/manifest-import-policy.md +79 -0
  148. package/docs/de/manifest.md +112 -0
  149. package/docs/de/motion-contrast.md +67 -0
  150. package/docs/de/package-export-lock.md +44 -0
  151. package/docs/de/performance-measurements.md +106 -0
  152. package/docs/de/performance-regression.md +89 -0
  153. package/docs/de/performance.md +94 -0
  154. package/docs/de/previews/README.md +17 -0
  155. package/docs/de/prod-browser-csp-smokes.md +40 -0
  156. package/docs/de/public-component-types.md +79 -0
  157. package/docs/de/quick-start-guide.md +220 -0
  158. package/docs/de/rc0-adoption-guide.md +102 -0
  159. package/docs/de/rc0-gate-matrix.md +58 -0
  160. package/docs/de/rc1-gate-matrix-ci-handoff.md +56 -0
  161. package/docs/de/rc1-migration-notes.md +69 -0
  162. package/docs/de/rc1-readiness.md +46 -0
  163. package/docs/de/release-owner-acceptance.md +56 -0
  164. package/docs/de/release-report-pack-dry-run-evidence.md +39 -0
  165. package/docs/de/rmt-action-effect-runtime.md +81 -0
  166. package/docs/de/rmt-app-platform-authoring.md +54 -0
  167. package/docs/de/rmt-app-platform-fixture.md +46 -0
  168. package/docs/de/rmt-app-platform-migration-guide.md +88 -0
  169. package/docs/de/rmt-app-platform-tooling.md +79 -0
  170. package/docs/de/rmt-component-template-primitives.md +57 -0
  171. package/docs/de/rmt-dom-descriptor-renderer.md +64 -0
  172. package/docs/de/rmt-dsl-authoring-polish.md +145 -0
  173. package/docs/de/rmt-event-routing-runtime.md +81 -0
  174. package/docs/de/rmt-first-demo-app.md +77 -0
  175. package/docs/de/rmt-first-xtend-apps.md +129 -0
  176. package/docs/de/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
  177. package/docs/de/rmt-kernel-security-hardening-migration.md +50 -0
  178. package/docs/de/rmt-kernel-trusted-output-authoring.md +69 -0
  179. package/docs/de/rmt-language-server.md +234 -0
  180. package/docs/de/rmt-lifecycle-demo.md +24 -0
  181. package/docs/de/rmt-linter.md +140 -0
  182. package/docs/de/rmt-node-ssr-adapter.md +100 -0
  183. package/docs/de/rmt-php-ssr-adapter.md +120 -0
  184. package/docs/de/rmt-production-readiness.md +63 -0
  185. package/docs/de/rmt-state-selector-runtime.md +47 -0
  186. package/docs/de/rmt-surface-resource-graph-runtime.md +92 -0
  187. package/docs/de/rmt-tooling-release-gates.md +77 -0
  188. package/docs/de/rmt-vnext-authoring.md +170 -0
  189. package/docs/de/rmt-vnext-component-primitives.md +188 -0
  190. package/docs/de/rmt-vnext-cross-surface-events.md +68 -0
  191. package/docs/de/rmt-vnext-enterprise-mfe-handoff.md +70 -0
  192. package/docs/de/rmt-vnext-fabric-bridge-evidence.md +81 -0
  193. package/docs/de/rmt-vnext-migration-notes.md +62 -0
  194. package/docs/de/rmt-vnext-primitive-authoring-tooling.md +247 -0
  195. package/docs/de/rmt-vnext-primitive-grammar-design.md +289 -0
  196. package/docs/de/rmt-vnext-primitive-lowering.md +108 -0
  197. package/docs/de/rmt-vnext-primitive-migration.md +119 -0
  198. package/docs/de/rmt-vnext-primitive-parser-ast.md +76 -0
  199. package/docs/de/rmt-vnext-primitive-semantic-graph.md +118 -0
  200. package/docs/de/rmt-vnext-primitives-compiler-backlog.md +739 -0
  201. package/docs/de/rmt-vnext-release-handoff.md +83 -0
  202. package/docs/de/rmt-vnext-remote-surfaces.md +90 -0
  203. package/docs/de/rmt-vnext-source-to-sea-gate.md +612 -0
  204. package/docs/de/rmt-vnext-surface-registry-enterprise.md +76 -0
  205. package/docs/de/screenreader-signals.md +56 -0
  206. package/docs/de/supply-chain-gates.md +100 -0
  207. package/docs/de/surface-manager-authoring-guide.md +94 -0
  208. package/docs/de/surface-manager-browser-lab.md +45 -0
  209. package/docs/de/surface-manager-component-lab.md +43 -0
  210. package/docs/de/surface-manager-controller.md +66 -0
  211. package/docs/de/surface-manager-layout-engines.md +32 -0
  212. package/docs/de/surface-manager-lazy-hydration.md +63 -0
  213. package/docs/de/surface-manager-migration-guide.md +122 -0
  214. package/docs/de/surface-manager-native-rmt-surfaces.md +38 -0
  215. package/docs/de/surface-manager-overlay-bridge.md +53 -0
  216. package/docs/de/surface-manager-persistence.md +30 -0
  217. package/docs/de/surface-manager-quality-gates.md +51 -0
  218. package/docs/de/surface-manager-release-handoff.md +68 -0
  219. package/docs/de/surface-manager-remote-policy.md +54 -0
  220. package/docs/de/surface-manager-rmt-authoring.md +102 -0
  221. package/docs/de/surface-manager-route-lifecycle.md +59 -0
  222. package/docs/de/surface-manager-runtime-release-handoff.md +69 -0
  223. package/docs/de/surface-manager-side-panel-runtime.md +36 -0
  224. package/docs/de/surface-manager-stack-policy.md +39 -0
  225. package/docs/de/surface-manager-window-runtime.md +47 -0
  226. package/docs/de/surface-manager-workbench-fixture.md +43 -0
  227. package/docs/de/third-party-design-authoring.md +406 -0
  228. package/docs/de/trusted-dom-boundary-browser-proof.md +32 -0
  229. package/docs/de/trusted-dom-sanitizing.md +110 -0
  230. package/docs/de/type-exports.md +61 -0
  231. package/docs/de/typescript-components.md +63 -0
  232. package/docs/de/visual-browser-regression.md +83 -0
  233. package/docs/de/visual-owner-artifacts.md +46 -0
  234. package/docs/de/visual-snapshot-automation.md +87 -0
  235. package/docs/de/xtend-api-types.md +55 -0
  236. package/docs/de/xtend-builder-types.md +55 -0
  237. package/docs/de/xtend-catalog-types.md +44 -0
  238. package/docs/de/xtend-fabric-rmt-lane-mapping.md +143 -0
  239. package/docs/de/xtend-fabric.md +474 -0
  240. package/docs/de/xtend-loader-types.md +58 -0
  241. package/docs/de/xtend-loader.md +265 -0
  242. package/docs/de/xtend-policy-types.md +38 -0
  243. package/docs/de/xtend-rmt-types.md +40 -0
  244. package/docs/de/xtend-vendor-types.md +36 -0
  245. package/docs/de/xtendrmt-app-dsl.md +334 -0
  246. package/docs/de/xtendrmt-migration-guide.md +266 -0
  247. package/docs/de/xtendrmt-native-authoring.md +333 -0
  248. package/docs/de/xtendrmt-overview.md +109 -0
  249. package/docs/de/xtendrmt-parsedown-scheduling.md +301 -0
  250. package/docs/de/xtendrmt-runtime-bridge.md +155 -0
  251. package/docs/en/README.md +163 -0
  252. package/docs/en/XTend-ADR.md +221 -0
  253. package/docs/en/a11y-keyboard-smokes.md +68 -0
  254. package/docs/en/about.md +25 -0
  255. package/docs/en/api.md +171 -0
  256. package/docs/en/best-practices.md +125 -0
  257. package/docs/en/changelog.md +104 -0
  258. package/docs/en/component-catalog-coverage.md +104 -0
  259. package/docs/en/component-lab.md +103 -0
  260. package/docs/en/component-long-tail-migration.md +41 -0
  261. package/docs/en/component-platform.md +243 -0
  262. package/docs/en/component-ux-app-authoring.md +118 -0
  263. package/docs/en/component-ux-authoring.md +96 -0
  264. package/docs/en/component-ux-gates.md +45 -0
  265. package/docs/en/components/x-rmt-lifecycle-demo-build.md +75 -0
  266. package/docs/en/components/xalert.md +94 -0
  267. package/docs/en/components/xbutton.md +118 -0
  268. package/docs/en/components/xcalendar.md +95 -0
  269. package/docs/en/components/xcards.md +139 -0
  270. package/docs/en/components/xcheckbox.md +118 -0
  271. package/docs/en/components/xcode.md +153 -0
  272. package/docs/en/components/xdialog.md +108 -0
  273. package/docs/en/components/xdrawer.md +110 -0
  274. package/docs/en/components/xfooter.md +138 -0
  275. package/docs/en/components/xform.md +147 -0
  276. package/docs/en/components/xheader.md +308 -0
  277. package/docs/en/components/xhero.md +157 -0
  278. package/docs/en/components/xicon.md +149 -0
  279. package/docs/en/components/xinput.md +147 -0
  280. package/docs/en/components/xlightbox.md +113 -0
  281. package/docs/en/components/xlink.md +130 -0
  282. package/docs/en/components/xmasonry.md +136 -0
  283. package/docs/en/components/xmenu.md +185 -0
  284. package/docs/en/components/xmodal.md +102 -0
  285. package/docs/en/components/xplayer.md +114 -0
  286. package/docs/en/components/xpopover.md +87 -0
  287. package/docs/en/components/xprogress.md +73 -0
  288. package/docs/en/components/xradio.md +119 -0
  289. package/docs/en/components/xrouter.md +260 -0
  290. package/docs/en/components/xsection.md +136 -0
  291. package/docs/en/components/xselect.md +122 -0
  292. package/docs/en/components/xsidepanel.md +48 -0
  293. package/docs/en/components/xspinner.md +118 -0
  294. package/docs/en/components/xstate.md +163 -0
  295. package/docs/en/components/xstatus.md +71 -0
  296. package/docs/en/components/xsummary.md +90 -0
  297. package/docs/en/components/xsurfacemanager.md +42 -0
  298. package/docs/en/components/xsurfacewindow.md +31 -0
  299. package/docs/en/components/xtabs.md +187 -0
  300. package/docs/en/components/xtextarea.md +115 -0
  301. package/docs/en/components/xtheme.md +203 -0
  302. package/docs/en/components/xtoast.md +78 -0
  303. package/docs/en/components/xtooltip.md +85 -0
  304. package/docs/en/components/xtype.md +91 -0
  305. package/docs/en/components/xutils.md +161 -0
  306. package/docs/en/components/xwriter.md +106 -0
  307. package/docs/en/components.md +151 -0
  308. package/docs/en/conditional-network-evidence-ci.md +38 -0
  309. package/docs/en/conditional-network-evidence.md +50 -0
  310. package/docs/en/core-migration-guide.md +110 -0
  311. package/docs/en/design-tokens.md +137 -0
  312. package/docs/en/docs-rmt-production-hardening.md +31 -0
  313. package/docs/en/enterprise-adoption.md +413 -0
  314. package/docs/en/enterprise-component-flex-release-handoff.md +129 -0
  315. package/docs/en/epic10-platform-gates.md +62 -0
  316. package/docs/en/epic10-release-handoff.md +81 -0
  317. package/docs/en/epic11-enterprise-ux-handoff.md +70 -0
  318. package/docs/en/epic12-rc0-handoff.md +61 -0
  319. package/docs/en/epic18-media-manager-vendor-upstream.md +232 -0
  320. package/docs/en/epic18-rmt-app-platform-release-handoff.md +60 -0
  321. package/docs/en/epic18-vendor-bugfixes.md +29 -0
  322. package/docs/en/existing-component-metadata.md +67 -0
  323. package/docs/en/hydration-performance-closure.md +34 -0
  324. package/docs/en/hydration-policies.md +75 -0
  325. package/docs/en/known-residual-triage.md +22 -0
  326. package/docs/en/manifest-import-policy.md +81 -0
  327. package/docs/en/manifest.md +135 -0
  328. package/docs/en/motion-contrast.md +67 -0
  329. package/docs/en/package-export-lock.md +44 -0
  330. package/docs/en/performance-measurements.md +106 -0
  331. package/docs/en/performance-regression.md +89 -0
  332. package/docs/en/performance.md +132 -0
  333. package/docs/en/previews/README.md +17 -0
  334. package/docs/en/prod-browser-csp-smokes.md +40 -0
  335. package/docs/en/public-component-types.md +79 -0
  336. package/docs/en/quick-start-guide.md +189 -0
  337. package/docs/en/rc0-adoption-guide.md +102 -0
  338. package/docs/en/rc0-gate-matrix.md +58 -0
  339. package/docs/en/rc1-gate-matrix-ci-handoff.md +56 -0
  340. package/docs/en/rc1-migration-notes.md +69 -0
  341. package/docs/en/rc1-readiness.md +46 -0
  342. package/docs/en/release-owner-acceptance.md +56 -0
  343. package/docs/en/release-report-pack-dry-run-evidence.md +39 -0
  344. package/docs/en/rmt-action-effect-runtime.md +101 -0
  345. package/docs/en/rmt-app-platform-authoring.md +47 -0
  346. package/docs/en/rmt-app-platform-fixture.md +35 -0
  347. package/docs/en/rmt-app-platform-migration-guide.md +75 -0
  348. package/docs/en/rmt-app-platform-tooling.md +58 -0
  349. package/docs/en/rmt-component-template-primitives.md +49 -0
  350. package/docs/en/rmt-dom-descriptor-renderer.md +54 -0
  351. package/docs/en/rmt-dsl-authoring-polish.md +143 -0
  352. package/docs/en/rmt-event-routing-runtime.md +98 -0
  353. package/docs/en/rmt-first-demo-app.md +87 -0
  354. package/docs/en/rmt-first-xtend-apps.md +127 -0
  355. package/docs/en/rmt-kernel-panic-recovery-incident-handoff.md +60 -0
  356. package/docs/en/rmt-kernel-security-hardening-migration.md +49 -0
  357. package/docs/en/rmt-kernel-trusted-output-authoring.md +68 -0
  358. package/docs/en/rmt-language-server.md +243 -0
  359. package/docs/en/rmt-lifecycle-demo.md +23 -0
  360. package/docs/en/rmt-linter.md +146 -0
  361. package/docs/en/rmt-node-ssr-adapter.md +99 -0
  362. package/docs/en/rmt-php-ssr-adapter.md +118 -0
  363. package/docs/en/rmt-production-readiness.md +63 -0
  364. package/docs/en/rmt-state-selector-runtime.md +34 -0
  365. package/docs/en/rmt-surface-resource-graph-runtime.md +68 -0
  366. package/docs/en/rmt-tooling-release-gates.md +77 -0
  367. package/docs/en/rmt-vnext-authoring.md +102 -0
  368. package/docs/en/rmt-vnext-component-primitives.md +185 -0
  369. package/docs/en/rmt-vnext-cross-surface-events.md +59 -0
  370. package/docs/en/rmt-vnext-enterprise-mfe-handoff.md +62 -0
  371. package/docs/en/rmt-vnext-fabric-bridge-evidence.md +64 -0
  372. package/docs/en/rmt-vnext-migration-notes.md +62 -0
  373. package/docs/en/rmt-vnext-primitive-authoring-tooling.md +174 -0
  374. package/docs/en/rmt-vnext-primitive-grammar-design.md +268 -0
  375. package/docs/en/rmt-vnext-primitive-lowering.md +91 -0
  376. package/docs/en/rmt-vnext-primitive-migration.md +93 -0
  377. package/docs/en/rmt-vnext-primitive-parser-ast.md +59 -0
  378. package/docs/en/rmt-vnext-primitive-semantic-graph.md +103 -0
  379. package/docs/en/rmt-vnext-primitives-compiler-backlog.md +327 -0
  380. package/docs/en/rmt-vnext-release-handoff.md +83 -0
  381. package/docs/en/rmt-vnext-remote-surfaces.md +81 -0
  382. package/docs/en/rmt-vnext-source-to-sea-gate.md +482 -0
  383. package/docs/en/rmt-vnext-surface-registry-enterprise.md +68 -0
  384. package/docs/en/screenreader-signals.md +56 -0
  385. package/docs/en/supply-chain-gates.md +106 -0
  386. package/docs/en/surface-manager-authoring-guide.md +94 -0
  387. package/docs/en/surface-manager-browser-lab.md +45 -0
  388. package/docs/en/surface-manager-component-lab.md +43 -0
  389. package/docs/en/surface-manager-controller.md +66 -0
  390. package/docs/en/surface-manager-layout-engines.md +32 -0
  391. package/docs/en/surface-manager-lazy-hydration.md +63 -0
  392. package/docs/en/surface-manager-migration-guide.md +113 -0
  393. package/docs/en/surface-manager-native-rmt-surfaces.md +38 -0
  394. package/docs/en/surface-manager-overlay-bridge.md +53 -0
  395. package/docs/en/surface-manager-persistence.md +30 -0
  396. package/docs/en/surface-manager-quality-gates.md +51 -0
  397. package/docs/en/surface-manager-release-handoff.md +68 -0
  398. package/docs/en/surface-manager-remote-policy.md +54 -0
  399. package/docs/en/surface-manager-rmt-authoring.md +89 -0
  400. package/docs/en/surface-manager-route-lifecycle.md +59 -0
  401. package/docs/en/surface-manager-runtime-release-handoff.md +69 -0
  402. package/docs/en/surface-manager-side-panel-runtime.md +36 -0
  403. package/docs/en/surface-manager-stack-policy.md +39 -0
  404. package/docs/en/surface-manager-window-runtime.md +47 -0
  405. package/docs/en/surface-manager-workbench-fixture.md +43 -0
  406. package/docs/en/third-party-design-authoring.md +406 -0
  407. package/docs/en/trusted-dom-boundary-browser-proof.md +32 -0
  408. package/docs/en/trusted-dom-sanitizing.md +124 -0
  409. package/docs/en/type-exports.md +61 -0
  410. package/docs/en/typescript-components.md +63 -0
  411. package/docs/en/visual-browser-regression.md +83 -0
  412. package/docs/en/visual-owner-artifacts.md +46 -0
  413. package/docs/en/visual-snapshot-automation.md +87 -0
  414. package/docs/en/xtend-api-types.md +55 -0
  415. package/docs/en/xtend-builder-types.md +55 -0
  416. package/docs/en/xtend-catalog-types.md +44 -0
  417. package/docs/en/xtend-fabric-rmt-lane-mapping.md +143 -0
  418. package/docs/en/xtend-fabric.md +474 -0
  419. package/docs/en/xtend-loader-types.md +58 -0
  420. package/docs/en/xtend-loader.md +265 -0
  421. package/docs/en/xtend-policy-types.md +38 -0
  422. package/docs/en/xtend-rmt-types.md +40 -0
  423. package/docs/en/xtend-vendor-types.md +36 -0
  424. package/docs/en/xtendrmt-app-dsl.md +331 -0
  425. package/docs/en/xtendrmt-migration-guide.md +256 -0
  426. package/docs/en/xtendrmt-native-authoring.md +336 -0
  427. package/docs/en/xtendrmt-overview.md +63 -0
  428. package/docs/en/xtendrmt-parsedown-scheduling.md +301 -0
  429. package/docs/en/xtendrmt-runtime-bridge.md +155 -0
  430. package/docs/enterprise-adoption.md +4 -2
  431. package/docs/epic18-media-manager-vendor-upstream.md +318 -0
  432. package/docs/epic18-rmt-app-platform-release-handoff.md +67 -0
  433. package/docs/epic18-vendor-bugfixes.md +34 -0
  434. package/docs/index.php +1056 -109
  435. package/docs/manifest.md +8 -2
  436. package/docs/menu.json +986 -133
  437. package/docs/package-export-lock.md +2 -2
  438. package/docs/public-component-types.md +2 -2
  439. package/docs/quick-start-guide.md +126 -58
  440. package/docs/rmt-action-effect-runtime.md +101 -0
  441. package/docs/rmt-app-platform-authoring.md +54 -0
  442. package/docs/rmt-app-platform-fixture.md +46 -0
  443. package/docs/rmt-app-platform-migration-guide.md +88 -0
  444. package/docs/rmt-app-platform-tooling.md +79 -0
  445. package/docs/rmt-component-template-primitives.md +57 -0
  446. package/docs/rmt-dom-descriptor-renderer.md +64 -0
  447. package/docs/rmt-dsl-authoring-polish.md +67 -44
  448. package/docs/rmt-event-routing-runtime.md +98 -0
  449. package/docs/rmt-first-demo-app.md +2 -2
  450. package/docs/rmt-first-xtend-apps.md +70 -46
  451. package/docs/rmt-language-server.md +61 -4
  452. package/docs/rmt-lifecycle-demo.md +1 -2
  453. package/docs/rmt-node-ssr-adapter.md +144 -0
  454. package/docs/rmt-php-ssr-adapter.md +158 -0
  455. package/docs/rmt-state-selector-runtime.md +47 -0
  456. package/docs/rmt-surface-resource-graph-runtime.md +92 -0
  457. package/docs/rmt-vnext-authoring.md +128 -18
  458. package/docs/rmt-vnext-component-primitives.md +188 -0
  459. package/docs/rmt-vnext-fabric-bridge-evidence.md +81 -0
  460. package/docs/rmt-vnext-primitive-authoring-tooling.md +247 -0
  461. package/docs/rmt-vnext-primitive-grammar-design.md +289 -0
  462. package/docs/rmt-vnext-primitive-lowering.md +108 -0
  463. package/docs/rmt-vnext-primitive-migration.md +119 -0
  464. package/docs/rmt-vnext-primitive-parser-ast.md +76 -0
  465. package/docs/rmt-vnext-primitive-semantic-graph.md +118 -0
  466. package/docs/rmt-vnext-primitives-compiler-backlog.md +742 -0
  467. package/docs/rmt-vnext-release-handoff.md +14 -0
  468. package/docs/rmt-vnext-source-to-sea-gate.md +629 -0
  469. package/docs/surface-manager-migration-guide.md +34 -6
  470. package/docs/surface-manager-overlay-bridge.md +9 -4
  471. package/docs/surface-manager-rmt-authoring.md +50 -34
  472. package/docs/surface-manager-workbench-fixture.md +1 -2
  473. package/docs/third-party-design-authoring.md +1 -1
  474. package/docs/type-exports.md +3 -3
  475. package/docs/utils/pageloader.js +811 -62
  476. package/docs/visual-browser-regression.md +1 -1
  477. package/docs/xtend-rmt-types.md +3 -2
  478. package/docs/xtendrmt-app-dsl.md +187 -122
  479. package/docs/xtendrmt-docs-shell-vnext.rmt +165 -0
  480. package/docs/xtendrmt-migration-guide.md +48 -17
  481. package/docs/xtendrmt-native-authoring.md +213 -217
  482. package/docs/xtendrmt-overview.md +81 -61
  483. package/docs/xtendrmt-parsedown-scheduling.md +23 -8
  484. package/fabric/package.json +1 -1
  485. package/package.json +684 -21
  486. package/tools/package.json +5 -1
  487. package/tools/rmt-editor/vscode/README.md +72 -5
  488. package/tools/rmt-editor/vscode/XTend-Logo.png +0 -0
  489. package/tools/rmt-editor/vscode/extension.d.ts +33 -0
  490. package/tools/rmt-editor/vscode/extension.js +1816 -7
  491. package/tools/rmt-editor/vscode/language-configuration.json +2 -1
  492. package/tools/rmt-editor/vscode/package.json +193 -2
  493. package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +41 -0
  494. package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +103 -1
  495. package/tools/rmt-editor/vscode/templates/launch.json +70 -0
  496. package/tools/rmt-editor/vscode/templates/tasks.json +172 -0
  497. package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
  498. package/tools/rmt-language/app-platform-tooling.d.ts +128 -0
  499. package/tools/rmt-language/app-platform-tooling.js +677 -0
  500. package/tools/rmt-language/completions.d.ts +5 -0
  501. package/tools/rmt-language/completions.js +185 -3
  502. package/tools/rmt-language/diagnostics.js +54 -0
  503. package/tools/rmt-language/hover.js +36 -0
  504. package/tools/rmt-language/rmt-tooling-public-types.d.ts +7 -0
  505. package/tools/rmt-language/rules/app-platform-policy.js +39 -0
  506. package/tools/rmt-language/rules/index.js +5 -1
  507. package/tools/rmt-language/semantic-graph.d.ts +6 -0
  508. package/tools/rmt-language/semantic-graph.js +928 -0
  509. package/tools/rmt-language/snippets/index.js +44 -0
  510. package/tools/rmt-language/snippets/rmt.code-snippets +41 -0
  511. package/tools/rmt-language/vnext-compatibility.d.ts +10 -0
  512. package/tools/rmt-language/vnext-compatibility.js +642 -0
  513. package/tools/rmt-language/vnext-compiler.d.ts +5 -0
  514. package/tools/rmt-language/vnext-compiler.js +863 -17
  515. package/tools/rmt-language/vnext-parser.js +725 -9
  516. package/tools/rmt-language/vnext-release.d.ts +1 -0
  517. package/tools/rmt-language/vnext-release.js +20 -0
  518. package/tools/rmt-language/vnext-source-to-sea.d.ts +33 -0
  519. package/tools/rmt-language/vnext-source-to-sea.js +2227 -0
  520. package/tools/rmt-language/vnext-surfaces.js +111 -52
  521. package/tools/rmt-language/vnext-tooling.d.ts +19 -1
  522. package/tools/rmt-language/vnext-tooling.js +1247 -5
  523. package/tools/rmt-language-server/protocol.js +3 -0
  524. package/tools/rmt-language-server/server.d.ts +2 -0
  525. package/tools/rmt-language-server/server.js +176 -22
  526. package/tools/rmt-linter/cli.d.ts +2 -0
  527. package/tools/rmt-linter/cli.js +62 -0
  528. package/xtend-builder/generators/registry.js +11 -0
  529. package/xtend-builder/generators/rmt-app-platform.js +239 -0
  530. package/xtend-builder/generators/rmt-lifecycle-demo.js +3 -11
  531. package/xtend-builder/lib/cli.js +38 -0
  532. package/xtend-builder/package.json +3 -3
  533. package/xtend-builder/scaffold.config.js +29 -2
  534. package/xtend.css +49 -2
  535. package/xtendrmt/package.json +49 -1
  536. package/xtendrmt/rmt-action-effect-runtime.d.ts +126 -0
  537. package/xtendrmt/rmt-action-effect-runtime.js +494 -0
  538. package/xtendrmt/rmt-component-capability-registry.d.ts +180 -0
  539. package/xtendrmt/rmt-component-capability-registry.js +636 -0
  540. package/xtendrmt/rmt-core.d.ts +6 -0
  541. package/xtendrmt/rmt-core.esm.js +32 -6
  542. package/xtendrmt/rmt-dom-descriptor-renderer.d.ts +107 -0
  543. package/xtendrmt/rmt-dom-descriptor-renderer.js +1066 -0
  544. package/xtendrmt/rmt-event-routing-runtime.d.ts +144 -0
  545. package/xtendrmt/rmt-event-routing-runtime.js +666 -0
  546. package/xtendrmt/rmt-lifecycle-demo.app.js +2 -2
  547. package/xtendrmt/rmt-lifecycle-demo.core.json +4 -0
  548. package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +1 -1
  549. package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +2 -2
  550. package/xtendrmt/rmt-lifecycle-demo.scaffold.json +4 -4
  551. package/xtendrmt/rmt-native-shell-runtime.d.ts +77 -0
  552. package/xtendrmt/rmt-native-shell-runtime.js +309 -0
  553. package/xtendrmt/rmt-node-ssr-adapter.d.ts +197 -0
  554. package/xtendrmt/rmt-node-ssr-adapter.js +1006 -0
  555. package/xtendrmt/rmt-php-ssr-adapter.php +976 -0
  556. package/xtendrmt/rmt-runtime.browser.js +32 -6
  557. package/xtendrmt/rmt-runtime.esm.js +32 -6
  558. package/xtendrmt/rmt-state-selector-runtime.d.ts +166 -0
  559. package/xtendrmt/rmt-state-selector-runtime.js +866 -0
  560. package/xtendrmt/rmt-surface-resource-graph-runtime.d.ts +224 -0
  561. package/xtendrmt/rmt-surface-resource-graph-runtime.js +932 -0
  562. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +3 -0
  563. package/xtendrmt/rmt-vnext-reference-demo.core.json +3 -0
  564. package/xtendrmt/xtendrmt-bestcase-demo.core.json +3420 -372
  565. package/xtendrmt/xtendrmt-bestcase-demo.js +424 -8
  566. package/xtendrmt/xtendrmt-bestcase-demo.rmt +214 -6
@@ -0,0 +1,79 @@
1
+ # RMT App Platform Tooling
2
+
3
+ - Contract: `xtend.epic18.rmt-app-platform-tooling.v1`
4
+ - Gate: `node scripts/run_xtend_tests.js rmt-app-platform-tooling --json`
5
+ - Workpackage: `WP-E18-11`
6
+ - Handoff: `WP-E18-12`
7
+
8
+ ## Ziel
9
+
10
+ RMT App Sources sind jetzt vor der Runtime pruefbar und buildfaehig. Das
11
+ Tooling erzeugt Diagnostics, Source Maps und Scaffold Reports fuer generische
12
+ App-Platform-Primitives wie Surfaces, Overlays, Portale, Resources, Actions,
13
+ Events, DataSources und State.
14
+
15
+ Der Slice ist bewusst keine Media-Manager-Shell. Er liefert Werkzeuge, mit
16
+ denen Entwickler eigene App-Strukturen in XTend/RMT nativ anlegen koennen,
17
+ ohne produktseitige `innerHTML`-Renderer oder eigene Mini-Frameworks.
18
+
19
+ ## Diagnostics
20
+
21
+ Der App-Platform-Linter blockiert typische spaete Runtime-Fehler bereits beim
22
+ Authoring:
23
+
24
+ - `rmt.app.no-manual-shell.html-sink` fuer `innerHTML`, `outerHTML`,
25
+ `insertAdjacentHTML` oder `document.write` in normaler App-UI.
26
+ - `rmt.app.unsafe-html.boundary-missing` fuer HTML-Fragmente ohne explizite
27
+ Trusted-DOM-Boundary.
28
+ - `rmt.app.repeat.key.missing` fuer wiederholte Surfaces ohne stabilen Key.
29
+ - `rmt.app.event.payload-contract.missing` fuer Events mit Action-Ziel ohne
30
+ Payload Contract.
31
+ - `rmt.app.resource.ownership.missing` fuer nicht klar besessene Ressourcen.
32
+ - `rmt.app.resource.unresolved`, `rmt.app.portal.unresolved` und
33
+ `rmt.app.surface.source.unresolved` fuer fehlerhafte App-Graph-Referenzen.
34
+
35
+ Die Regeln laufen als eigener App-Platform-Policy-Rule im bestehenden
36
+ RMT-Linter und als direkter Analyzer in
37
+ `./rmt-language/app-platform-tooling`.
38
+
39
+ ## LSP
40
+
41
+ Completion und Hover kennen die neuen Primitives:
42
+
43
+ - Portal-IDs und Portal-Policies wie `stacked`, `toast-region` und
44
+ `clipping-escape`.
45
+ - Overlay-Kinds wie `tooltip`, `toast`, `popover`, `lightbox`, `menu` und
46
+ `dialog`.
47
+ - Resource-Kinds wie `object-url`, `stream`, `observer`, `timer` und
48
+ `lazy-import`.
49
+ - Event-Kinds und Surface-Initialstates.
50
+
51
+ Damit koennen App-Autoren RMT-Dokumente ohne Produkt-Surface-Taxonomie und ohne
52
+ externe Hilfslisten bearbeiten.
53
+
54
+ ## Scaffold Build
55
+
56
+ Der Builder registriert den Befehl `rmt-app-platform`. Er liest eine `.rmt`
57
+ App Source und erzeugt unter `.xtend-build`:
58
+
59
+ - `*.app-platform-diagnostics.json`
60
+ - `*.app-platform-source-map.json`
61
+ - `*.app-platform-build.json`
62
+
63
+ Die Artefakte laufen ueber den Epic-17 WritePlan und tragen Scaffold-
64
+ Ownership. `--check` kann damit pruefen, ob lokale Build-Artefakte aktuell
65
+ sind.
66
+
67
+ ```bash
68
+ node scripts/run_xtend_tests.js rmt-app-platform-tooling --json
69
+ node xtend-builder/lib/cli.js rmt-app-platform --source tests/fixtures/rmt-app-platform-tooling.rmt
70
+ ```
71
+
72
+ ## Grenzen
73
+
74
+ - Keine Produkt-Surface-Liste und kein Media-Manager-spezifischer Registry-
75
+ Repaint.
76
+ - Keine normalen UI-HTML-Sinks ausserhalb einer Trusted-DOM-Boundary.
77
+ - Keine Imports aus XTend-Komponenten in den RMT Kernel.
78
+ - Das Tooling baut Reports, Diagnostics und Source Maps; die produktnahe
79
+ generische App-Fixture folgt in `WP-E18-12`.
@@ -0,0 +1,57 @@
1
+ # RMT Component Template Primitives
2
+
3
+ - Contract: `xtend.epic18.rmt-component-template-primitives.v1`
4
+ - Fixture: `tests/fixtures/rmt-component-template-primitives.rmt`
5
+ - Runtime Basis: `xtendrmt/rmt-dom-descriptor-renderer.js`
6
+ - Local Gate: `node scripts/run_xtend_tests.js rmt-component-template-primitives --json`
7
+ - Workpackage: `WP-E18-06`
8
+ - Handoff: `WP-E18-07`
9
+
10
+ RMT kann XTend-Komponenten jetzt nativ komponieren, ohne dass Host-Apps
11
+ HTML-Strings zusammenbauen. Der Slice erweitert den DOM Descriptor Renderer um
12
+ component-nahe Primitives fuer App-Shells, Listen, Formulare, Tooltips, Icons,
13
+ leere Zustaende und Fehlerzustaende.
14
+
15
+ ## Primitives
16
+
17
+ | Primitive | Zweck |
18
+ |-----------|-------|
19
+ | `component` | Loest eine Component-ID auf ein Custom Element wie `x-section`, `x-card`, `x-tooltip` oder beliebige Entwickler-Tags auf. |
20
+ | `props` | Setzt sichere DOM Properties und spiegelt primitive Werte als Attribute. |
21
+ | `attributes` | Setzt sichere Attribute ohne Inline-Event- oder URL-Sinks. |
22
+ | `parts` | Schreibt CSS Parts fuer themingfaehige Komponenten. |
23
+ | `slots` | Fuellt Slots mit Text, Templates, Komponenten oder Fragmenten. |
24
+ | `text` | Erzeugt Textknoten ueber `createTextNode`. |
25
+ | `when` | Rendert bedingte Teilbaeume. |
26
+ | `repeat` | Rendert Listen und nutzt `key` fuer stabile Knoten. |
27
+ | `empty` | Rendert einen expliziten leeren Zustand. |
28
+ | `fallback` | Rendert deklarative Ersatzinhalte. |
29
+ | `key` | Markiert wiederverwendbare Listenelemente mit `data-rmt-key`. |
30
+ | `ref` | Schreibt `data-rmt-ref` und legt die Elementreferenz in `refs` ab. |
31
+ | `class` | Mappt Klassen aus Strings, Arrays oder bedingten Objekten. |
32
+ | `style-token` | Spiegelt Design Tokens als `data-style-token-*` und `--xtend-*`. |
33
+
34
+ ## Component-Familien
35
+
36
+ Die Fixture beweist generische Familien statt Produkt-Surfaces:
37
+ Icons, Tooltips, Form Controls (`x-input`, `x-select`, `x-checkbox`),
38
+ Navigation, Listen, Selection, Empty State, Error State und freie Custom
39
+ Elements. Die Komponenten bleiben Entwickler-definiert; RMT kennt nur
40
+ Descriptoren und Adapterfaehigkeiten.
41
+
42
+ ## Component Capability Registry
43
+
44
+ Die vNext-Schicht fuehrt diese Primitives ueber
45
+ `xtendrmt/rmt-component-capability-registry.js` mit dem ganzen XTend-
46
+ Component-Stack zusammen. Die Registry normalisiert alle 44 public
47
+ Manifest-Eintraege, klassifiziert 40 renderbare UI-Komponenten und verbindet
48
+ Component Contracts, `xtendRmtMetadata`, `observedAttributes`, Events, Slots,
49
+ Parts, Form-State und Lazy Import mit den generischen DOM Descriptoren.
50
+
51
+ Damit bleiben `component`, `props`, `attributes`, `parts`, `slots`, `repeat`
52
+ und `key` dieselben Primitives, aber sie bekommen eine stack-weite
53
+ Kompatibilitaetsmatrix. Produktcode braucht keine Shadow-DOM-Patches, keine
54
+ privaten Component-Maps und keine komponentenspezifischen Renderer.
55
+
56
+ Details stehen in
57
+ [RMT vNext Component Primitives und XTend UI](./rmt-vnext-component-primitives.md).
@@ -0,0 +1,64 @@
1
+ # RMT DOM Descriptor Renderer
2
+
3
+ - Contract: `xtend.epic18.rmt-dom-descriptor-renderer.v1`
4
+ - Fixture: `tests/fixtures/rmt-dom-descriptor-renderer.rmt`
5
+ - Runtime: `xtendrmt/rmt-dom-descriptor-renderer.js`
6
+ - Local Gate: `node scripts/run_xtend_tests.js rmt-dom-descriptor-renderer --json`
7
+ - Workpackage: `WP-E18-05`
8
+
9
+ Der Renderer fuehrt das `WP-E18-04` Authoring-Modell als generische App
10
+ Platform aus. Normale App-UI wird aus strukturierten Deskriptoren gebaut:
11
+ `createElement`, `createTextNode`, `createDocumentFragment`,
12
+ `replaceChildren`, sichere Attribute/Properties und keyed Child-Reuse.
13
+
14
+ ## Descriptor-Regeln
15
+
16
+ | Bereich | Regel |
17
+ |---------|-------|
18
+ | Shell | Root-Render-Units verwenden `replaceChildren` und markieren den Root mit `data-rmt-rendered-shell`. |
19
+ | Elemente | Tags muessen einfache Custom-Element- oder HTML-Tagnamen sein. |
20
+ | Attribute | Inline-Handler, `srcdoc` und unsichere URL-Werte werden abgelehnt. |
21
+ | Properties | HTML-Sink-Properties sind fuer normale UI gesperrt. |
22
+ | Listen | `renderKeyed` erhaelt Knoten ueber `data-rmt-key` und patcht Attribute/Children. |
23
+ | Events | Events laufen ueber `addEventListener`, nicht ueber String-Attribute. |
24
+ | Diagnostics | Runtimefehler enthalten RMT-Source-Informationen wie `documentId`, `templateId` und `pointer`. |
25
+
26
+ ## Component Registry Option
27
+
28
+ `render(...)` und `renderKeyed(...)` akzeptieren `componentRegistry`. Wenn ein
29
+ Descriptor `type: "component"` nutzt, normalisiert der Renderer Tag,
30
+ Attribute, Properties, Slots, Parts und Event-Bindings ueber die RMT vNext
31
+ Component Capability Registry:
32
+
33
+ ```js
34
+ renderer.renderKeyed(root, descriptors, {
35
+ componentRegistry: registry,
36
+ dispatchEvent,
37
+ stateBridge
38
+ });
39
+ ```
40
+
41
+ Die Registry bindet XTend-Komponenten ueber public DOM APIs. Sie liest
42
+ Component Contracts und RMT-Metadaten, fuehrt lazy Import ueber Manifest-Pfade
43
+ aus und schreibt sichere Capability-Marker wie
44
+ `data-rmt-component-capability`. Der Renderer bleibt dadurch generisch: keine
45
+ Shadow-DOM-Patches, keine privaten Component-Maps und keine HTML-Sinks fuer
46
+ normale RMT-App-UI.
47
+
48
+ ## Trusted Boundary
49
+
50
+ HTML-Fragmente sind kein normaler Template-Pfad. Sie duerfen nur als
51
+ `trusted_html` mit `xtend.rmt.trusted-dom-boundary.explicit` und einem
52
+ externen `trustedDomRenderer` gerendert werden. Der Standard-Renderer erzeugt
53
+ keine HTML-Fragmente aus Strings.
54
+
55
+ ## No-Manual-HTML
56
+
57
+ Das Gate `createNoManualHtmlGate()` blockiert normale App-Shells mit
58
+ manuellen HTML-Sinks wie `root.innerHTML`, `element.innerHTML`,
59
+ `template.innerHTML`, `outerHTML`, `insertAdjacentHTML`, `document.write` und
60
+ `createContextualFragment`.
61
+
62
+ `WP-E18-06` und die vNext Component Capability Registry bauen auf diesem Slice
63
+ component-native Template-Primitives auf, ohne externe HTML-Hilfsrenderer
64
+ vorauszusetzen.
@@ -1,6 +1,8 @@
1
1
  # RMT DSL Authoring Polish
2
2
 
3
- Der Contract `xtend.rmt.dsl-authoring-polish.v1` bereitet eine freundlichere RMT-DSL fuer XTend Component Shells vor. Er macht RMT Authoring kuerzer, ohne XTend in den RMT Kernel einzubetten.
3
+ Der Contract `xtend.rmt.dsl-authoring-polish.v1` bereitet eine freundlichere
4
+ RMT-DSL fuer XTend Component Shells vor. Er macht RMT Authoring kuerzer, ohne
5
+ XTend in den RMT Kernel einzubetten.
4
6
 
5
7
  Lokaler Gate:
6
8
 
@@ -10,7 +12,10 @@ node scripts/run_xtend_tests.js rmt-dsl-authoring-polish --json
10
12
 
11
13
  ## Warum dieses Paket existiert
12
14
 
13
- Nach `WP-E12-12` besitzt XTend ein produktives Design-Token-Vokabular. `WP-E12-13` nutzt diese Tokens, damit Shells, Slots, Styles, A11y, Events, Commands, Hydration, Fabric-Lanes und XRouter-Routen in RMT einfacher beschrieben werden koennen.
15
+ Nach `WP-E12-12` besitzt XTend ein produktives Design-Token-Vokabular.
16
+ `WP-E12-13` nutzt diese Tokens, damit Shells, Slots, Styles, A11y, Events,
17
+ Commands, Hydration, Fabric-Lanes und XRouter-Routen in RMT einfacher
18
+ beschrieben werden koennen.
14
19
 
15
20
  RMT bleibt dabei host-neutral:
16
21
 
@@ -41,58 +46,71 @@ RMT bleibt dabei host-neutral:
41
46
 
42
47
  ## Beispiel
43
48
 
44
- ```json
45
- {
46
- "component": "settings.shell",
47
- "tag": "x-section",
48
- "shell": {
49
- "slot": {
50
- "header": "settings.header.template",
51
- "feedback": "feedback.toast"
49
+ ```rmt
50
+ template settings.shell {
51
+ state settings.theme type string initial "dark"
52
+ state settings.density type string initial "comfortable"
53
+
54
+ portal surface.root root "#settings-root" layer surface
55
+
56
+ surface settings.shell kind page component x-section {
57
+ portal surface.root
58
+
59
+ lane visible weight 80 {
60
+ hydrate settings-header {
61
+ slot header hydrate settings.header.template
62
+ }
63
+
64
+ hydrate feedback-toast from endpoint xtendrmt.component.hydrate {
65
+ slot feedback hydrate feedback.toast
66
+ }
52
67
  }
53
- },
54
- "style": {
55
- "theme": "dark",
56
- "density": "comfortable",
57
- "token": {
58
- "--xtend-surface": "var(--xtend-surface)",
59
- "--xtend-color-primary": "var(--xtend-color-primary)"
68
+
69
+ lane idle weight 20 {
70
+ hydrate settings-shell-style from endpoint xtendrmt.component.hydrate {
71
+ trust boundary "xtend.security.sanitizing-boundary.v1"
72
+ }
60
73
  }
61
- },
62
- "a11y": {
63
- "role": "region",
64
- "label": "Settings"
65
- },
66
- "hydrate": {
67
- "policy": "visible",
68
- "schedule": "component.visible.mount"
69
- },
70
- "lane": {
71
- "lane": "visible",
72
- "fiber": "component.render"
73
74
  }
74
75
  }
75
76
  ```
76
77
 
77
- Der normalisierte Output wird zu `components[]`, `templates[]` und `schedules[]`. RMT beschreibt die Struktur; XTend fuehrt die Component-Hydration aus.
78
+ Token-Aliase bleiben Teil des Contracts: produktive Styles referenzieren
79
+ weiterhin stabile Custom Properties wie `--xtend-surface` und
80
+ `--xtend-color-primary`, waehrend vNext die Struktur, Slots und Hydration
81
+ beschreibt.
82
+
83
+ Der normalisierte Output wird zu `components[]`, `templates[]` und
84
+ `schedules[]`. RMT beschreibt die Struktur; XTend fuehrt die
85
+ Component-Hydration aus.
78
86
 
79
87
  ## Routing-Sugar
80
88
 
81
- Routen koennen spaeter authoringfreundlich als `route`, `link` und `outlet` beschrieben werden:
82
-
83
- ```json
84
- {
85
- "route": "/settings",
86
- "component": "settings.shell",
87
- "link": {
88
- "label": "Settings",
89
- "href": "/settings"
90
- },
91
- "outlet": "primary"
89
+ Routen koennen authoringfreundlich als Surface-, Link- und Outlet-Struktur
90
+ beschrieben werden:
91
+
92
+ ```rmt
93
+ template settings.routing {
94
+ portal surface.root root "#app-root" layer surface
95
+
96
+ surface settings.route kind page component x-section {
97
+ portal surface.root
98
+
99
+ lane visible weight 80 {
100
+ hydrate settings-shell from endpoint xtendrmt.route.render
101
+ hydrate settings-link from endpoint xtendrmt.component.hydrate
102
+ slot outlet hydrate primary
103
+ }
104
+
105
+ on click target settings-link -> action route.navigate {
106
+ payload href from "/settings"
107
+ }
108
+ }
92
109
  }
93
110
  ```
94
111
 
95
- Das wird zu `routes[]`, `components[]` und `templates[]` mit Adapter `xtend.xrouter`. XRouter bleibt Host Adapter, nicht RMT-Kernel-Abhaengigkeit.
112
+ Das wird zu `routes[]`, `components[]` und `templates[]` mit Adapter
113
+ `xtend.xrouter`. XRouter bleibt Host Adapter, nicht RMT-Kernel-Abhaengigkeit.
96
114
 
97
115
  ## Diagnostik
98
116
 
@@ -108,7 +126,8 @@ Der Polish-Plan definiert diese Diagnosecodes:
108
126
  - `rmt.dsl.inline-runtime-code-refused`
109
127
  - `rmt.dsl.kernel-boundary.refused`
110
128
 
111
- Damit kann XTendRMT upstream freundlichere Parserfehler und Editor-Hints bauen, ohne die XTend Runtime zu importieren.
129
+ Damit kann XTendRMT upstream freundlichere Parserfehler und Editor-Hints bauen,
130
+ ohne die XTend Runtime zu importieren.
112
131
 
113
132
  ## Artefakte
114
133
 
@@ -119,4 +138,8 @@ Damit kann XTendRMT upstream freundlichere Parserfehler und Editor-Hints bauen,
119
138
 
120
139
  ## RC0 Adoption Update
121
140
 
122
- Seit `WP-E12-15` beschreibt der [RC0 Adoption Guide](./rc0-adoption-guide.md), wie App Authors diese DSL-Polish-Schicht fuer Shell-first XTend Apps nutzen. Die wichtigste Migrationsregel bleibt: RMT darf XTend-Komponenten, XRouter-Routen und Content Slots konstruieren und schedulen, ohne XTend-Typen in den RMT Kernel einzubetten.
141
+ Seit `WP-E12-15` beschreibt der [RC0 Adoption Guide](./rc0-adoption-guide.md),
142
+ wie App Authors diese DSL-Polish-Schicht fuer Shell-first XTend Apps nutzen.
143
+ Die wichtigste Migrationsregel bleibt: RMT darf XTend-Komponenten,
144
+ XRouter-Routen und Content Slots konstruieren und schedulen, ohne XTend-Typen
145
+ in den RMT Kernel einzubetten.
@@ -0,0 +1,98 @@
1
+ # RMT Event Routing Runtime
2
+
3
+ - Contract: `xtend.epic18.rmt-event-routing-runtime.v1`
4
+ - Workpackage: `WP-E18-09`
5
+ - Runtime: `xtendrmt/rmt-event-routing-runtime.js`
6
+ - Types: `xtendrmt/rmt-event-routing-runtime.d.ts`
7
+ - Fixture: `tests/fixtures/rmt-event-routing-runtime.rmt`
8
+ - Local gate: `node scripts/run_xtend_tests.js rmt-event-routing-runtime --json`
9
+ - Next: `WP-E18-10`
10
+
11
+ ## Purpose
12
+
13
+ The Event Routing Runtime makes DOM and custom events first-class RMT app
14
+ platform primitives. Apps can bind events to actions declaratively, validate
15
+ payloads before action execution, apply governance policies and clean up
16
+ listeners by owner scope.
17
+
18
+ The runtime delegates execution to the Action Effect Runtime from `WP-E18-08`.
19
+ It does not create a second action framework and does not import XTend UI
20
+ components.
21
+
22
+ ## Event Bindings
23
+
24
+ An event binding can declare:
25
+
26
+ - `event`
27
+ - `target`
28
+ - `component`
29
+ - `owner`
30
+ - `action`
31
+ - `actionMode`
32
+ - `payload`
33
+ - `payloadContract`
34
+ - `governance`
35
+ - `condition`
36
+
37
+ Targets are resolved through explicit refs, a passed `targets` map, a custom
38
+ target resolver or a DOM query from a provided root. Product-local
39
+ `event.target.closest(...)` delegation chains are not required for normal app
40
+ flows.
41
+
42
+ ## Payload Contracts
43
+
44
+ Payloads are built from event data with expressions such as:
45
+
46
+ - `$event.target.value`
47
+ - `$detail.id`
48
+ - `$target.dataset.id`
49
+ - `$source.dataset.path`
50
+
51
+ Contracts use a small structural shape:
52
+
53
+ ```json
54
+ {
55
+ "type": "object",
56
+ "required": ["id"],
57
+ "properties": {
58
+ "id": "string"
59
+ }
60
+ }
61
+ ```
62
+
63
+ Invalid payloads are blocked before the action runtime is called and emit
64
+ `rmt.event.payload_contract.invalid` diagnostics.
65
+
66
+ ## Event Governance
67
+
68
+ Supported policies:
69
+
70
+ - `preventDefault`
71
+ - `stopPropagation`
72
+ - `stopImmediatePropagation`
73
+ - `capture`
74
+ - `passive`
75
+ - `once`
76
+ - `retarget`
77
+
78
+ Retargeting can use `target`, `current-target` or `composed-path`. This keeps
79
+ component interaction explicit without product-specific DOM walking.
80
+
81
+ ## Ownership
82
+
83
+ `attach()` registers listeners and records their owner. `detachOwner(ownerId)`
84
+ removes only the listeners for that scope, while `detachAll()` removes the
85
+ remaining listeners. This is the bridge to the surface and resource lifecycle
86
+ work in `WP-E18-10`.
87
+
88
+ ## Diagnostics
89
+
90
+ Diagnostics use `xtend.epic18.rmt-event-routing-diagnostic.v1` on
91
+ `rmt.app_platform.event_routing`. Route diagnostics include event id, component,
92
+ payload and action target so build and runtime reports can show why a user
93
+ interaction did or did not execute.
94
+
95
+ ## Handoff
96
+
97
+ `WP-E18-10` can now harden surface, overlay, portal and resource graphs using
98
+ owner-scoped events plus the resource ownership model from `WP-E18-08`.
@@ -6,7 +6,7 @@ Die RMT-first Demo-App zeigt den Zielpfad fuer Epic 10: Eine XTend App wird nich
6
6
 
7
7
  ## Startpunkt
8
8
 
9
- - Demo: `xtendrmt-rmt-first-demo.html`
9
+ - Demo / Browser Smoke: `tests/browser/fixtures/rmt-first-demo-app-smoke.html`
10
10
  - RMT Document: `xtendrmt/rmt-first-demo-app.rmt`
11
11
  - Runtime: `xtendrmt/rmt-first-demo-app.js`
12
12
  - Browser Smoke: `tests/browser/fixtures/rmt-first-demo-app-smoke.html`
@@ -17,7 +17,7 @@ Die Hostseite enthaelt nur den RMT Root:
17
17
  <div
18
18
  id="rmt-first-demo-root"
19
19
  data-rmt-host="rmt-first-demo"
20
- data-rmt-document-src="xtendrmt/rmt-first-demo-app.rmt"></div>
20
+ data-rmt-document-src="/xtendrmt/rmt-first-demo-app.rmt"></div>
21
21
  ```
22
22
 
23
23
  Die Shell selbst kommt aus `app.shell.template`.
@@ -2,7 +2,10 @@
2
2
 
3
3
  Docs Contract: `xtend.docs.rmt-first-xtend-apps.v1`
4
4
 
5
- Dieser Guide beschreibt den Zielpfad aus Epic 10: Eine vollstaendige XTend App wird als RMT-Dokument beschrieben. XTend liefert lokale Web Components, RMT liefert Shell, Routes, Templates, Components, Schedules, Hydration Policies, Fabric-Lanes und Diagnostics.
5
+ Dieser Guide beschreibt den Zielpfad aus Epic 10: Eine vollstaendige XTend App
6
+ wird als RMT-vNext-Dokument beschrieben. XTend liefert lokale Web Components,
7
+ RMT liefert Shell, Routes, Templates, Components, Schedules, Hydration
8
+ Policies, Fabric-Lanes und Diagnostics.
6
9
 
7
10
  Der zugrunde liegende Authoring Contract ist:
8
11
 
@@ -12,12 +15,13 @@ xtend.rmt.first-class-app-authoring.v1
12
15
 
13
16
  ## Grundregeln
14
17
 
15
- - RMT ist App-Authoring-Modell.
16
- - XTend-Komponenten sind `xtend.component` Records.
18
+ - RMT vNext ist App-Authoring-Modell.
19
+ - XTend-Komponenten werden ueber Surfaces mit `component x-*` beschrieben und
20
+ in `xtend.component` Records kompiliert.
17
21
  - XRouter wird ueber `xtend.xrouter` angebunden.
18
- - Templates nutzen bevorzugt `dom_descriptor`.
19
- - Event Bindings laufen als `dom-event-to-rmt-command`.
20
- - Fabric-, Lane- und Fiber-Hints bleiben Metadata.
22
+ - Templates nutzen bevorzugt `dom_descriptor` als generierten Output.
23
+ - Event Bindings laufen als `on ... -> action ...`.
24
+ - Fabric-, Lane- und Fiber-Hints kommen aus `lane`- und Lifecycle-Klauseln.
21
25
  - Der RMT Kernel importiert keine XTend-Klassen oder XTend-Typen.
22
26
 
23
27
  Die Boundary bleibt:
@@ -28,44 +32,42 @@ no-rmt-kernel-import-of-xtend-types
28
32
 
29
33
  ## Minimalstruktur
30
34
 
31
- ```json
32
- {
33
- "manifest": {
34
- "metadata": {
35
- "contractVersion": "xtend.rmt.first-class-app-authoring.v1",
36
- "renderMode": "shell-first"
37
- }
38
- },
39
- "adapters": [
40
- { "id": "xtend.component", "kind": "component" },
41
- { "id": "xtend.xrouter", "kind": "router" }
42
- ],
43
- "components": [
44
- {
45
- "id": "settings.status",
46
- "kind": "custom_element",
47
- "adapter": "xtend.component",
48
- "tag": "x-status",
49
- "props": { "tone": "success" },
50
- "schedule": "component.visible.mount",
51
- "fabric": { "lane": "visible", "fiber": "component.mount" }
35
+ ```rmt
36
+ template settings.app {
37
+ state settings.status type string initial "ready"
38
+
39
+ selector settings.feedback from state settings.status {
40
+ output StatusView
41
+ }
42
+
43
+ action settings.refresh {
44
+ reduce state.settings.status = "refreshing"
45
+ emit settings.refresh.requested with action settings.refresh
46
+ }
47
+
48
+ portal surface.root root "#app-root" layer surface
49
+
50
+ surface settings.status kind card component x-status {
51
+ source selector settings.feedback
52
+ portal surface.root
53
+
54
+ lane visible weight 80 {
55
+ mount x-status
56
+ hydrate settings-status from selector settings.feedback
52
57
  }
53
- ],
54
- "routes": [
55
- { "id": "settings", "path": "/settings", "template": "settings.page" }
56
- ],
57
- "templates": [
58
- {
59
- "id": "settings.page",
60
- "mode": "dom_descriptor",
61
- "children": [
62
- { "component": "settings.status" }
63
- ]
58
+
59
+ on click target refresh-button -> action settings.refresh {
60
+ payload source from target.dataset.action
64
61
  }
65
- ]
62
+ }
66
63
  }
67
64
  ```
68
65
 
66
+ Der Compiler erzeugt daraus `xtend.component`, `xtend.xrouter`,
67
+ `rmt.state-scheduler-diagnostics`, `dom_descriptor` Templates und
68
+ Schedule-/Lane-Records. Diese JSON-Records sind Runtime-Mirror, nicht der
69
+ primaere Authoring-Pfad.
70
+
69
71
  ## Referenzpfade
70
72
 
71
73
  - Contract: `development/XTend-RMT-First-Class-App-Authoring.md`
@@ -77,25 +79,47 @@ no-rmt-kernel-import-of-xtend-types
77
79
 
78
80
  ## Fabric und Telemetry
79
81
 
80
- Komponenten erhalten Fabric-Kontext ueber Adapter Injection. Die kanonische Boundary ist:
82
+ Komponenten erhalten Fabric-Kontext ueber Adapter Injection. Die kanonische
83
+ Boundary ist:
81
84
 
82
85
  ```text
83
86
  adapter-injection-via-xtend-component-resolveFabricContext
84
87
  ```
85
88
 
86
- `window.XTendFabric` kann durch Hosts genutzt werden, ist aber nicht die Contract-Oberflaeche einer Komponente.
89
+ `window.XTendFabric` kann durch Hosts genutzt werden, ist aber nicht die
90
+ Contract-Oberflaeche einer Komponente.
87
91
 
88
92
  ## Release-Handoff
89
93
 
90
- Der Abschluss von Epic 10 wird in [Epic 10 Release Handoff](./epic10-release-handoff.md) dokumentiert. Die dortige Gate-Kette entscheidet, ob ein RMT-first XTend App-Pfad releasefaehig genug fuer einen Kandidaten ist.
91
-
92
- Seit `WP-E13-09` buendelt [RMT Production Readiness](./rmt-production-readiness.md) diesen Pfad unter `xtend.epic13.rmt-production-readiness.v1`: Shell-first App Shell, Routing, Components, Fabric/Lanes, Lifecycle Telemetry, Diagnostics und Artifact Parity sind als RC1-Gate verbunden. `WP-E13-10` hat [Docs RMT Production Hardening](./docs-rmt-production-hardening.md) abgeschlossen; `WP-E13-11` hat [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md) und `xtend.epic13.trusted-dom-boundary.v1` abgeschlossen. `WP-E13-12` hat [RC1 Migration Notes](./rc1-migration-notes.md) und `xtend.epic13.rc1-migration-notes-semver.v1` abgeschlossen. `WP-E13-13` hat [RC1 Gate Matrix und CI-Handoff](./rc1-gate-matrix-ci-handoff.md) und `xtend.epic13.rc1-gate-matrix-ci-handoff.v1` abgeschlossen.
94
+ Der Abschluss von Epic 10 wird in [Epic 10 Release
95
+ Handoff](./epic10-release-handoff.md) dokumentiert. Die dortige Gate-Kette
96
+ entscheidet, ob ein RMT-first XTend App-Pfad releasefaehig genug fuer einen
97
+ Kandidaten ist.
98
+
99
+ Seit `WP-E13-09` buendelt [RMT Production
100
+ Readiness](./rmt-production-readiness.md) diesen Pfad unter
101
+ `xtend.epic13.rmt-production-readiness.v1`: Shell-first App Shell, Routing,
102
+ Components, Fabric/Lanes, Lifecycle Telemetry, Diagnostics und Artifact Parity
103
+ sind als RC1-Gate verbunden. `WP-E13-10` hat [Docs RMT Production
104
+ Hardening](./docs-rmt-production-hardening.md) abgeschlossen; `WP-E13-11` hat
105
+ [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md)
106
+ und `xtend.epic13.trusted-dom-boundary.v1` abgeschlossen. `WP-E13-12` hat [RC1
107
+ Migration Notes](./rc1-migration-notes.md) und
108
+ `xtend.epic13.rc1-migration-notes-semver.v1` abgeschlossen. `WP-E13-13` hat
109
+ [RC1 Gate Matrix und CI-Handoff](./rc1-gate-matrix-ci-handoff.md) und
110
+ `xtend.epic13.rc1-gate-matrix-ci-handoff.v1` abgeschlossen.
93
111
 
94
112
  ## Component UX Authoring
95
113
 
96
- Seit `WP-E11-16` ergaenzt [Component UX App Authoring](./component-ux-app-authoring.md) diesen Guide um sichtbare UX-Regeln fuer RMT-first Apps. Dazu gehoeren Theme, Motion, Density, Viewports, Browser-Smokes und die Component Shell Theme Matrix `xtend.epic11.component-shell-theme-matrix.v1`.
114
+ Seit `WP-E11-16` ergaenzt [Component UX App Authoring](./component-ux-app-authoring.md)
115
+ diesen Guide um sichtbare UX-Regeln fuer RMT-first Apps. Dazu gehoeren Theme,
116
+ Motion, Density, Viewports, Browser-Smokes und die Component Shell Theme Matrix
117
+ `xtend.epic11.component-shell-theme-matrix.v1`.
97
118
 
98
- Seit `WP-E11-17` beschreibt [Component Long-Tail Migration](./component-long-tail-migration.md), welche Legacy- und Infrastrukturkomponenten zuerst fuer RMT-first App-Kompatibilitaet nachgehaertet werden.
119
+ Seit `WP-E11-17` beschreibt [Component Long-Tail
120
+ Migration](./component-long-tail-migration.md), welche Legacy- und
121
+ Infrastrukturkomponenten zuerst fuer RMT-first App-Kompatibilitaet
122
+ nachgehaertet werden.
99
123
 
100
124
  Der lokale Docs-Gate lautet:
101
125