@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,221 @@
1
+ # XTend Architecture Decision Record
2
+
3
+ - Status: Accepted
4
+ - Date: May 8, 2026
5
+ - Contract: `xtend.docs.architecture-decision-record.v2`
6
+ - Type: product architecture baseline for XTend UI, XTend-Fabric and XTendRMT
7
+
8
+ ## Purpose
9
+
10
+ This ADR replaces the earlier architecture snapshot from the first epics. The old version still described a platform in transition: Core consolidation, loader rename, RMT fusion, test harness and component coverage were partly still target states at that time.
11
+
12
+ Today's decision describes the current architecture contract for XTend as an enterprise web framework:
13
+
14
+ - XTend UI is the Web Component and UI Builder product.
15
+ - XTendRMT is scheduler, runtime kernel, templating engine and native `.rmt` authoring language.
16
+ - XTend-Fabric is the host-near protection, telemetry, lane and reporter layer.
17
+ - The Docs App is an XTend app with an RMT-generated shell and Parsedown as a scheduled content component.
18
+ - RMT tooling, linter and language server are part of the authoring platform.
19
+
20
+ ## Decision
21
+
22
+ XTend continues as a **manifest- and state-centered Web Components framework** with RMT-first app authoring, Fabric boundary and TypeScript-first Component Platform.
23
+
24
+ Documentation, manifest and runtime APIs must be maintained as one connected contract going forward.
25
+
26
+ The architecture deliberately separates five responsibilities:
27
+
28
+ | Layer | Responsibility | May know about | Must not do |
29
+ |-------|----------------|----------------|-------------|
30
+ | XTend UI | Custom Elements, shells, styling, a11y, UX and host components | Manifest, Loader, Component Contracts, Fabric Context | implement RMT kernel semantics |
31
+ | XTend Loader | local ESM imports, manifest policy, bootstrap, component loading | Manifest, Import Policy, Runtime API | force CDN fallbacks or silently load external sources |
32
+ | XTend-Fabric | error boundaries, telemetry, reporter adapters, fibers, lanes, backpressure | XTend Runtime, optional RMT Adapter Results | parse RMT documents or replace XTendRMT |
33
+ | XTendRMT | `.rmt` source, DSL domains, scheduling, templates, routes, diagnostics | neutral adapter records and host capabilities | directly import XTend, XRouter, DOM, React, Vue or `xstate` |
34
+ | Tooling | linter, LSP, snippets, reports, editor bridges | RMT Source Model, Parser, Rule Engine, Schema | maintain separate semantics beside the RMT language core |
35
+
36
+ ## Architecture Principles
37
+
38
+ ### 1. Native Web Standards Remain the Core
39
+
40
+ XTend is based on Custom Elements, Shadow DOM, slots, CSS Custom Properties and ES modules. Build and TypeScript artifacts must not hide this runtime behind a proprietary abstraction model.
41
+
42
+ Components remain real Web Components. Integrations for React, Vue or custom hosts are adapters or host conventions, not replacements for the native surface.
43
+
44
+ ### 2. State-Centered UI
45
+
46
+ `xstate` remains the host-near state boundary for XTend UI. State is the observable truth for UI states, route mirrors, theme context, feedback, component states and diagnostics.
47
+
48
+ The **Digital Twin Principle** remains binding: relevant UI actions must write back into a traceable state, event or diagnostic record. Local flags may only be derived render caches.
49
+
50
+ ### 3. RMT-First, but Framework-Agnostic
51
+
52
+ New app shells, routes, templates and scheduling policies should primarily be described in native `.rmt` documents. `.rmt.json` remains only an edge-case fallback for hosts without a suitable MIME type or for legacy paths.
53
+
54
+ RMT is still not an XTend submodule. XTend is a first-class host, but not a required host. The RMT kernel sees adapter records such as `xtend.component` or `xtend.xrouter`, but imports no XTend components and performs no DOM work itself.
55
+
56
+ ### 4. Shell-First Rendering
57
+
58
+ App shells should render stably first. Content, Markdown, rich HTML, media and heavy components are scheduled or lazily loaded afterward.
59
+
60
+ The Docs App is the reference path: RMT creates the shell, Parsedown is a scheduled content component. Later content such as XPlayer tutorials or rich-content blocks can be added to the same scheduling structure.
61
+
62
+ ### 5. Fabric as Safety and Telemetry Layer
63
+
64
+ XTend-Fabric is the global host safety layer for error boundaries, reporter adapters, telemetry, lane/fiber context, backpressure and quality signals.
65
+
66
+ Fabric may ingest RMT adapter results and scheduler signals, but it must not replace the RMT kernel. This keeps the boundary clear:
67
+
68
+ ```text
69
+ RMT Kernel -> Adapter / Bridge Result -> XTend-Fabric -> XTend UI / Reporter
70
+ ```
71
+
72
+ ### 6. Performance by Design
73
+
74
+ Performance is not a later optimization step. Components must declare their hydration, visibility, idle, busy and measurement profiles. Loader, Fabric and RMT may use these profiles for scheduling and diagnostics.
75
+
76
+ The accepted baselines are:
77
+
78
+ - local ESM instead of CDN dependency
79
+ - manifest-based import policy
80
+ - lazy, idle and visible hydration policies
81
+ - performance regression gates
82
+ - component-level performance profiles
83
+ - shell-first rendering for initial app setup
84
+
85
+ ### 7. A11y by Design
86
+
87
+ A11y is part of the Component Contract. New components must treat keyboard behavior, focus, ARIA, screen-reader signals, reduced motion, contrast and visible states as product surface.
88
+
89
+ RMT may describe a11y-relevant shell and component metadata. Concrete execution remains with XTend UI and the host adapters.
90
+
91
+ ### 8. Tooling Is Part of the Product
92
+
93
+ RMT is not only a runtime format, but an authoring language. Therefore linter, AI-agent repair report, snippets, LSP, editor bridges and release gates belong to the platform.
94
+
95
+ The language server uses the same semantics as `xt rmt lint`; editor integrations must not maintain a second RMT rule world.
96
+
97
+ ## System View
98
+
99
+ ```text
100
+ App / Host
101
+ |
102
+ | local ESM + manifest policy
103
+ v
104
+ XTend Loader
105
+ |
106
+ +-- XTend UI Components
107
+ | +-- x-router / x-link
108
+ | +-- x-header / x-menu / x-icon / x-hero / ...
109
+ | +-- form, feedback, overlay, media and layout components
110
+ |
111
+ +-- xstate / xtheme / api.js
112
+ |
113
+ +-- XTend-Fabric
114
+ |
115
+ +-- telemetry, fibers, lanes, reporter adapters
116
+ |
117
+ +-- optional RMT adapter results
118
+
119
+ XTendRMT
120
+ |
121
+ +-- .rmt source model
122
+ +-- templates, routes, components, schedules, adapters
123
+ +-- linter, language server, snippets, diagnostics
124
+ |
125
+ +-- host adapters: xtend.component, xtend.xrouter, docs.parsedown, custom hosts
126
+ ```
127
+
128
+ ## Runtime Decisions
129
+
130
+ ### Loader and Manifest
131
+
132
+ The canonical loader is `xtend-loader.js`. It is local, ESM-based and manifest-driven. External CDNs are not the normal path. Manifest URLs and component imports are subject to the import policy.
133
+
134
+ ### Components
135
+
136
+ Components follow Component Contract v2 and the Epic 11 UX shell line:
137
+
138
+ - TypeScript-first source when new components are created
139
+ - public types
140
+ - RMT metadata
141
+ - Fabric boundary
142
+ - a11y and performance profile
143
+ - component fixture
144
+ - component suite
145
+ - docs page
146
+
147
+ `x-icon` is the reference case for a framework-agnostic extension: internal Core icon pack, local Lucide extension, pack registry and RMT-compatible adapter without a CDN requirement.
148
+
149
+ ### Routing
150
+
151
+ `x-router` remains the XTend UI routing component. RMT can declare routes and pass them to XRouter through the `xtend.xrouter` adapter. Page titles, route metadata and shell-near navigation may be described in RMT.
152
+
153
+ ### Docs App
154
+
155
+ The Docs App is not only documentation, but a product example. It should show:
156
+
157
+ - shell-first rendering with RMT
158
+ - Parsedown as a scheduled content component
159
+ - stable navigation with `x-router`
160
+ - Quick Start, RMT Authoring, linter and LSP as the official developer journey
161
+ - no app-specific parallel logic when a missing capability belongs in XTend components
162
+
163
+ ## Non-Goals
164
+
165
+ This decision explicitly does not mean:
166
+
167
+ - XTend becomes a React/Vue replacement with its own virtual DOM.
168
+ - RMT becomes bound to XTend.
169
+ - Fabric becomes the parser, router or scheduler kernel.
170
+ - `.rmt.json` is promoted as the preferred authoring format.
171
+ - Editor plugins may introduce their own RMT semantics.
172
+ - Components may treat a11y or performance as optional polish for later.
173
+
174
+ ## Consequences
175
+
176
+ 1. New architecture work must first be assigned to a layer: Loader, XTend UI, Fabric, RMT, Tooling or Docs.
177
+ 2. When XTend-specific behavior is needed in RMT, an adapter contract is created, not a kernel special case.
178
+ 3. When an app needs special logic, first check whether a generic Component, Fabric or RMT capability is missing.
179
+ 4. New documentation must recommend native `.rmt` files. `.rmt.json` may only be described as a fallback.
180
+ 5. Every new first-class component needs RMT, Fabric, a11y, performance, type and test coverage.
181
+ 6. Release and reference gates remain part of the architecture contract.
182
+
183
+ ## Binding Gates
184
+
185
+ The architecture baseline is protected by local gates:
186
+
187
+ ```bash
188
+ node scripts/run_xtend_tests.js architecture
189
+ node scripts/run_xtend_tests.js references --json
190
+ node scripts/run_xtend_tests.js rmt-compatibility --json
191
+ node scripts/run_xtend_tests.js epic14-lsp-handoff --json
192
+ npm run test:release:full:report
193
+ ```
194
+
195
+ For focused work, the specialized gates remain authoritative:
196
+
197
+ | Area | Gate |
198
+ |------|------|
199
+ | Core architecture | `node scripts/run_xtend_tests.js architecture` |
200
+ | Component Catalog | `npm run test:catalog-coverage` |
201
+ | RMT Tooling | `npm run test:rmt-tooling` |
202
+ | LSP Handoff | `npm run test:epic14-lsp-handoff` |
203
+ | Docs references | `node scripts/run_xtend_tests.js references --json` |
204
+
205
+ ## Accepted Follow-up Decisions
206
+
207
+ This ADR integrates the results of the previous individual decisions:
208
+
209
+ - Loader and local development: `xtend.loader.local-development.adr.v1`
210
+ - XTend-Fabric: `xtend.fabric.adr.v1`
211
+ - Security Trust Boundaries: `xtend.security.trust-boundaries.adr.v1`
212
+ - XTendRMT First-Class Fusion: `development/ADR-XTendRMT-First-Class-Fusion.md`
213
+ - RMT Tooling and LSP Handoff: `xtend.epic14.lsp-handoff.v1`
214
+
215
+ The individual ADRs remain valid as detail sources. This document is the current Docs App baseline for the overall picture.
216
+
217
+ ## Conclusion
218
+
219
+ XTend is no longer a loose component package, but a connected platform made of Web Components, loader, state, Fabric, RMT and authoring tooling.
220
+
221
+ The most important product path is no longer just broadening the surface, but consistently maturing this platform: native `.rmt` authoring experience, better editor support, stable component shells, a11y, performance, security and traceable release gates.
@@ -0,0 +1,68 @@
1
+ # A11y Keyboard Smokes
2
+
3
+ Contract:
4
+
5
+ ```text
6
+ xtend.docs.a11y-keyboard-smokes.v1
7
+ xtend.a11y.browser-keyboard-smoke.v1
8
+ ```
9
+
10
+ Starting with `ER-WP-24`, XTend verifies central accessibility interactions in
11
+ a browser-near way. The gate does not replace manual screen reader reviews, but
12
+ it prevents focus and keyboard paths from silently dropping out of core
13
+ components.
14
+
15
+ ## Fixture
16
+
17
+ The self-checking browser fixture lives here:
18
+
19
+ ```text
20
+ tests/browser/fixtures/a11y-focus-keyboard-smoke.html
21
+ ```
22
+
23
+ It uses:
24
+
25
+ - `xtend-loader.js`
26
+ - `data-manifest="/tests/browser/fixtures/components/manifest.json"`
27
+ - local component modules
28
+ - `window.__xtendA11yKeyboardSmokeResult`
29
+
30
+ ## Covered Paths
31
+
32
+ | Area | Component | Expectation |
33
+ |------|-----------|-------------|
34
+ | Routing | `x-link` + `x-router` | `Enter` and `Space` navigate, `aria-current` follows the route |
35
+ | Form | `x-input` + `x-form` | focus is delegated, input syncs `xstate` and form data |
36
+ | Tabs | `x-tabs` | `ArrowRight`, `ArrowLeft`, and `Enter` remain operable |
37
+ | Overlay | `x-modal` | initial focus, focus trap, `Escape`, and focus restore work |
38
+
39
+ `x-dialog` uses the same overlay contract and is checked source-side for focus
40
+ trap, `Escape`, and focus restore.
41
+
42
+ ## Local Gates
43
+
44
+ ```bash
45
+ node scripts/run_xtend_tests.js browser --json
46
+ node scripts/run_xtend_tests.js a11y-hydration --json
47
+ ```
48
+
49
+ Optionally, the browser smoke can be run with Safari WebDriver:
50
+
51
+ ```bash
52
+ XTEND_BROWSER_SMOKE_DRIVER=safari node scripts/run_xtend_tests.js browser
53
+ ```
54
+
55
+ The default run stays deterministic and does not require an external browser.
56
+
57
+ ## Component Authors
58
+
59
+ New or modernized components should derive their a11y path from the profile:
60
+
61
+ - Routing and commands: `Enter`, optional `Space`, active ARIA state.
62
+ - Overlays: initial focus, focus trap, `Escape`, focus restore.
63
+ - Form controls: delegated focus, input events, state/form synchronization.
64
+ - Composite widgets: arrow keys and current ARIA state.
65
+
66
+ Scaffolded components receive an `xtend.a11y.profile.v1` starting with
67
+ `ER-WP-23`. ER-WP-24 provides the browser-near gate that such profiles can
68
+ later attach to component-by-component.
@@ -0,0 +1,25 @@
1
+ # About This Documentation Web App
2
+
3
+ This web application provides interactive documentation for the XTend Web
4
+ Framework and is built entirely on modern Web Components. It offers a modular,
5
+ fast, and developer-friendly interface for engineers and users.
6
+
7
+ ## Open Source Projects Used
8
+
9
+ ### Parsedown
10
+
11
+ This application uses **Parsedown** by Emanuil Rusev for Markdown processing.
12
+
13
+ > (c) Emanuil Rusev
14
+ > http://erusev.com
15
+
16
+ ### XRouter PHP
17
+
18
+ Routing and server-side logic are based on a PHP implementation of XRouter,
19
+ developed by **CCS Networks**. The project is now available under the name
20
+ **xrouter.php**.
21
+
22
+ ---
23
+
24
+ Further information and credits are available in the respective component
25
+ documentation.
package/docs/en/api.md ADDED
@@ -0,0 +1,171 @@
1
+ # XTend API
2
+
3
+ ## Overview
4
+
5
+ `api.js` is the orchestration layer between the loader, core components, and
6
+ global helper APIs. It initializes the XTend APIs idempotently, hardens the
7
+ shared UI state, and loads API-relevant components from the manifest.
8
+
9
+ ## Initialization
10
+
11
+ The loader imports `api.js` after loading the manifest and then calls
12
+ `initXTendAPI(manifest)`.
13
+
14
+ ```js
15
+ const api = await import('./api.js');
16
+ await api.initXTendAPI(manifest);
17
+ ```
18
+
19
+ ## Contract of `initXTendAPI(manifest)`
20
+
21
+ - initializes `ui` in `xstate` defensively and does not destroy existing UI
22
+ state on repeated calls
23
+ - provides theme state (`theme`, `themes`) only when it does not already exist
24
+ - loads API-relevant core modules through manifest URLs as ES modules
25
+ - rebinds the global helpers to the `window.XTend` namespace if the API is
26
+ initialized again
27
+
28
+ ## Global APIs
29
+
30
+ After successful initialization, these APIs are available:
31
+
32
+ - `window.XTheme`
33
+ - `window.XToast`
34
+ - `window.XAlert`
35
+ - `window.XDialog`
36
+ - `window.XModal`
37
+
38
+ The APIs are also mirrored under `window.XTend`:
39
+
40
+ - `window.XTend.theme`
41
+ - `window.XTend.toast`
42
+ - `window.XTend.alert`
43
+ - `window.XTend.dialog`
44
+ - `window.XTend.modal`
45
+ - `window.XTend.compliance`
46
+
47
+ Legacy helpers remain available:
48
+
49
+ - `window.showToast`
50
+ - `window.showAlert`
51
+ - `window.showDialog`
52
+ - `window.showModal`
53
+
54
+ ## Compliance API
55
+
56
+ `window.XTend.compliance` describes the productive core review contract.
57
+ Available methods:
58
+
59
+ - `getChecklist()`
60
+ - `getCoreContracts()`
61
+ - `getThemeTokens(themeName?)`
62
+
63
+ The runtime also mirrors this metadata into `xstate`:
64
+
65
+ - `xtend.compliance.version`
66
+ - `xtend.compliance.checklist`
67
+ - `xtend.compliance.contracts`
68
+
69
+ ## UI State
70
+
71
+ The API manages the shared UI state under `xstate.get('ui')`.
72
+
73
+ ```js
74
+ {
75
+ toasts: [],
76
+ alerts: [],
77
+ dialogs: [],
78
+ modals: []
79
+ }
80
+ ```
81
+
82
+ The API updates this state incrementally. Re-initialization no longer resets
83
+ active UI entries.
84
+
85
+ ## Theme API
86
+
87
+ `window.XTheme` is the public theme facade. Important methods:
88
+
89
+ - `getCurrentTheme()`
90
+ - `getAvailableThemes()`
91
+ - `setTheme(themeName)`
92
+ - `set(name, value)`
93
+ - `get(name)`
94
+ - `subscribe(fn)`
95
+ - `registerTheme(name, properties)`
96
+ - `loadExternalTheme(themeName, cssUrl)`
97
+ - `toggleDarkMode()`
98
+
99
+ `set(name, value)` is the compatibility facade:
100
+
101
+ - `set('dark')` switches to a theme
102
+ - `set('--primary-color', '#0e4e81')` sets a CSS variable for the current theme
103
+
104
+ ## Dialog and Modal Flags
105
+
106
+ The API writes open state compatibly for existing call sites:
107
+
108
+ - Dialog: `dialog-open-<id>`, `xdialog-open-<id>`
109
+ - Modal: `modal-open-<id>`
110
+
111
+ The canonical target path from the contract matrix remains relevant for new
112
+ work:
113
+
114
+ - `xtend.component.x-dialog.<id>.open`
115
+ - `xtend.component.x-modal.<id>.open`
116
+
117
+ ## XTendRMT Runtime API
118
+
119
+ XTendRMT is not part of `api.js`, but the public XTend developer docs include
120
+ the productive integration path. Runtime factories live in artifacts under
121
+ `xtendrmt/`:
122
+
123
+ - `createRmtFormat`
124
+ - `createRmtXRouterAdapter`
125
+ - `createRmtXtendComponentAdapter`
126
+ - `createRmtStateSchedulerDiagnosticsBridge`
127
+
128
+ ESM:
129
+
130
+ ```js
131
+ import {
132
+ createRmtFormat,
133
+ createRmtXRouterAdapter,
134
+ createRmtXtendComponentAdapter,
135
+ createRmtStateSchedulerDiagnosticsBridge
136
+ } from './xtendrmt/rmt-runtime.esm.js';
137
+ ```
138
+
139
+ Browser classic:
140
+
141
+ ```html
142
+ <script src="/xtendrmt/rmt-runtime.browser.js"></script>
143
+ <script type="module">
144
+ const format = window.AppModules.createRmtFormat();
145
+ const rmt = window.xtend.rmt;
146
+ </script>
147
+ ```
148
+
149
+ RMT-adjacent XTend integrations should use these factories instead of private
150
+ demo bridges or direct kernel coupling. Details are in
151
+ [XTendRMT Runtime Bridge](./xtendrmt-runtime-bridge.md).
152
+
153
+ ## Notes
154
+
155
+ - `api.js` is runtime orchestration, not a static component list.
156
+ - The API expects a consistent manifest and already available `xstate`
157
+ bootstrap infrastructure.
158
+ - Components should still preferably be used declaratively; the API is meant
159
+ for dynamic flows.
160
+ - After core changes, run `node scripts/verify_xtend_core_contracts.js`.
161
+
162
+ ## Related Topics
163
+
164
+ - [Manifest Format](./manifest.md)
165
+ - [XTend Loader](./xtend-loader.md)
166
+ - [xrouter](./components/xrouter.md)
167
+ - [xlink](./components/xlink.md)
168
+ - [xtheme](./components/xtheme.md)
169
+ - [Core Migration Guide](./core-migration-guide.md)
170
+ - [XTendRMT Developer Overview](./xtendrmt-overview.md)
171
+ - [XTendRMT Runtime Bridge](./xtendrmt-runtime-bridge.md)
@@ -0,0 +1,125 @@
1
+ # Best Practices for XTend
2
+
3
+ These recommendations help you build XTend projects that are robust,
4
+ performant, and maintainable for human developers and AI coding agents alike.
5
+
6
+ ---
7
+
8
+ ## Component Usage
9
+
10
+ - **Prefer declarative usage:** Use XTend components directly in HTML whenever
11
+ possible, not only dynamically through JavaScript.
12
+ - **Lazy loading:** Build pages so components load only when needed
13
+ (viewport, user interaction).
14
+ - **Shadow DOM:** Use Shadow DOM for style encapsulation and conflict
15
+ prevention.
16
+ - **Slots and attributes:** Use slots and attributes for flexible, reusable
17
+ components.
18
+
19
+ ---
20
+
21
+ ## State Management
22
+
23
+ - **Use xstate:** Share global and local state through the central state
24
+ management module.
25
+ - **Subscriptions:** React to state changes with `xstate.subscribe` instead of
26
+ expensive DOM queries.
27
+
28
+ ---
29
+
30
+ ## Theming and Styling
31
+
32
+ - **CSS custom properties:** Use variables for colors, spacing, and similar
33
+ values so design stays flexible.
34
+ - **Use xtheme:** Apply global styles and theme changes centrally through the
35
+ theme module.
36
+ - **Dark/light mode:** Support both modes and respect system preferences.
37
+
38
+ ---
39
+
40
+ ## Accessibility
41
+
42
+ - **ARIA roles:** Use meaningful ARIA attributes and roles.
43
+ - **Keyboard navigation:** Ensure every interactive component is operable by
44
+ keyboard.
45
+ - **Focus management:** Dialogs, modals, and menus should place and restore
46
+ focus correctly.
47
+
48
+ ---
49
+
50
+ ## Performance
51
+
52
+ - **Minimized manifest:** Remove unused components from the manifest for
53
+ production builds.
54
+ - **Small bundles:** Keep components modular and small to optimize load time.
55
+ - **IntersectionObserver:** Use lazy loading for large or rarely used
56
+ components.
57
+
58
+ ---
59
+
60
+ ## Development and Maintenance
61
+
62
+ - **Documentation:** Every component should have its own current Markdown
63
+ documentation.
64
+ - **Naming conventions:** Keep the `x` prefix and use descriptive names.
65
+ - **Testing:** Test components in isolation and together.
66
+ - **Cross references:** Maintain cross-links in the docs for better orientation.
67
+
68
+ ---
69
+
70
+ ## Testing Requirement for New Components
71
+
72
+ - **Choose a profile:** Assign every new or modernized component to a profile
73
+ from `development/XTend-Component-Level-Teststandard.md`.
74
+ - **Keep artifacts complete:** Component, docs, component suite, fixture, type
75
+ definition, and manifest entry are required unless an exception is explicitly
76
+ justified.
77
+ - **Use scaffold as the default path:** `XTend-Scaffold` must use the testing
78
+ requirement from `development/XTend-Testpflicht-und-Scaffold-Anschluss.md` as
79
+ its blueprint.
80
+ - **Run local gates:** Use at least `node scripts/run_xtend_tests.js components`,
81
+ `a11y-hydration`, `references`, and for RMT-compatible scaffold artifacts
82
+ `rmt-compatibility`; when core behavior is involved, also run `core`,
83
+ `architecture`, and `browser`.
84
+ - **No placeholder tests:** Test files without real assertions do not satisfy
85
+ the testing requirement.
86
+
87
+ ## XTendRMT-Compatible Development
88
+
89
+ - **Prefer native domains:** New RMT-adjacent work uses `adapters`,
90
+ `components`, `routes`, `schedules`, and `templates` instead of operational
91
+ `manifest.metadata` blocks.
92
+ - **Keep the kernel boundary:** XTend, XRouter, DOM, `window.XTend`, and
93
+ `xstate` belong in adapters or host code, not in the RMT kernel.
94
+ - **Use productive factories:** Use `createRmtXRouterAdapter`,
95
+ `createRmtXtendComponentAdapter`, and
96
+ `createRmtStateSchedulerDiagnosticsBridge` instead of private demo bridge
97
+ logic.
98
+ - **Check multi-host behavior:** XTend is a first-class host, but not a required
99
+ host. A non-XTend path such as `vanilla.component` should be considered for
100
+ framework-adjacent changes.
101
+ - **Respect Trusted DOM:** RMT `dom_descriptor` is preferred. RMT
102
+ `html_fragment` and Parsedown HTML need
103
+ `xtend.security.sanitizing-boundary.v1`; raw `innerHTML` sinks do not belong
104
+ in components or adapters.
105
+ - **Respect the Docs App:** The official docs use Parsedown as parser host, but
106
+ render their shell shell-first through RMT. New docs convenience features
107
+ should use `docs/xtendrmt-parsedown-scheduling.md`, `docs.app.shell`, and the
108
+ existing RMT schedules instead of building a second SPA layer next to the host
109
+ adapter.
110
+ - **Run gates:** For RMT-adjacent changes, run at least
111
+ `node scripts/run_xtend_tests.js rmt-compatibility --json`,
112
+ `node scripts/run_xtend_tests.js references --json`, and, for browser paths,
113
+ `node scripts/run_xtend_tests.js browser --json`.
114
+
115
+ ---
116
+
117
+ ## AI Optimization
118
+
119
+ - **Consistent API:** Keep methods and attributes consistent and descriptive.
120
+ - **Example code:** Add concrete code examples to every doc.
121
+ - **Semantic structure:** Use clear headings, tables, and lists for AI parsing.
122
+
123
+ ---
124
+
125
+ *Last updated: May 5, 2026*