@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,118 @@
1
+ # Component UX App Authoring
2
+
3
+ Docs Contract: `xtend.docs.component-ux-app-authoring.v1`
4
+
5
+ This guide is for app authors who use XTend components in RMT-first apps. The app can be written completely in RMT vNext; XTend provides local Web Components and XTendRMT orchestrates shell, routes, templates, schedules and diagnostics.
6
+
7
+ ## Ground Rules
8
+
9
+ - The app shell renders `shell-first`.
10
+ - XTend components are described in vNext as `surface ... component x-*` and compiled into `xtend.component` records.
11
+ - XRouter is connected through the router adapter.
12
+ - Templates preferably use `dom_descriptor` as generated output.
13
+ - Events are bound with `on ... -> action ...`.
14
+ - Hydration, Fabric lane, fiber and diagnostics remain schedulable metadata.
15
+ - The RMT kernel imports no XTend classes or XTend types.
16
+
17
+ Boundary:
18
+
19
+ ```text
20
+ no-rmt-kernel-import-of-xtend-types
21
+ ```
22
+
23
+ ## Minimal Component Surface
24
+
25
+ ```rmt
26
+ template settings.feedback {
27
+ state settings.feedback.status type string initial "ready"
28
+
29
+ selector settings.feedback.view from state settings.feedback.status {
30
+ output StatusView
31
+ }
32
+
33
+ portal surface.root root "#settings-root" layer surface
34
+
35
+ surface settings.feedback.status kind card component x-status {
36
+ source selector settings.feedback.view
37
+ portal surface.root
38
+
39
+ lane visible weight 80 {
40
+ mount x-status
41
+ hydrate feedback-status from selector settings.feedback.view
42
+ }
43
+ }
44
+ }
45
+ ```
46
+
47
+ The output still contains `xtend.component`, accessibility, style, schedule and Fabric metadata. The source you write is the vNext source.
48
+
49
+ ## App Shell Pattern
50
+
51
+ ```rmt
52
+ template dashboard.app {
53
+ state dashboard.theme type string initial "dark"
54
+ state dashboard.density type string initial "compact"
55
+ state dashboard.motion type string initial "reduced-motion"
56
+
57
+ action dashboard.refresh {
58
+ emit dashboard.refresh.requested with action dashboard.refresh
59
+ }
60
+
61
+ portal surface.root root "#app-root" layer surface
62
+
63
+ surface dashboard.page kind page component x-section {
64
+ source state dashboard.theme
65
+ portal surface.root
66
+
67
+ lane visible weight 80 {
68
+ hydrate dashboard-shell from endpoint xtendrmt.route.render
69
+ hydrate settings-feedback-status from endpoint xtendrmt.component.mount
70
+ }
71
+
72
+ on click target refresh-button -> action dashboard.refresh {
73
+ payload theme from state.dashboard.theme
74
+ payload density from state.dashboard.density
75
+ payload motion from state.dashboard.motion
76
+ }
77
+ }
78
+ }
79
+ ```
80
+
81
+ ## UX Rules for Apps
82
+
83
+ | Dimension | App Rule |
84
+ | --- | --- |
85
+ | Shell | Host page provides only the root, loader, manifest and RMT runtime |
86
+ | Routing | Routes come from RMT and are activated through XRouter |
87
+ | Theme | `light`, `dark`, `high-contrast` and `forced-colors` remain app states |
88
+ | Motion | `reduced-motion` must be visible all the way into overlays, feedback and media |
89
+ | Density | `comfortable`, `compact` and `dense` must not break layout |
90
+ | A11y | Route announcements, live regions, error regions and focus restore are part of the app |
91
+ | Performance | Hydration policies and Fabric lanes are schedule data, not host-specific logic |
92
+
93
+ ## Gates for App Authors
94
+
95
+ ```bash
96
+ node scripts/run_xtend_tests.js rmt-first-class-app --json
97
+ node scripts/run_xtend_tests.js rmt-shell-authoring-ux --json
98
+ node scripts/run_xtend_tests.js component-ux-browser-smokes --json
99
+ node scripts/run_xtend_tests.js component-shell-theme-matrix --json
100
+ node scripts/run_xtend_tests.js browser --json
101
+ ```
102
+
103
+ For PRs, the shared fast path is:
104
+
105
+ ```bash
106
+ npm run test:pr
107
+ ```
108
+
109
+ ## When an App Path Is Ready
110
+
111
+ An RMT-first XTend app path is considered ready when:
112
+
113
+ - the shell is not assembled manually from static XTend markup,
114
+ - components come through `xtend.component` records,
115
+ - route, theme, motion, density and hydration are visible in RMT,
116
+ - browser smokes cover the core journeys,
117
+ - the Component Shell Theme Matrix does not break,
118
+ - no external CDN or import-map dependencies are introduced.
@@ -0,0 +1,96 @@
1
+ # Component UX Authoring
2
+
3
+ Docs contract: `xtend.docs.component-ux-authoring.v1`
4
+
5
+ This guide is the canonical working guide for XTend component authors after `WP-E11-16`. It turns the Epic 11 contracts into concrete rules for new and modernized web components.
6
+
7
+ ## Principle
8
+
9
+ An XTend component is UX-ready only when its visible shell, styling, a11y, performance, component network, RMT authorability and browser-close smokes fit together. Individual components may stay small, but their contracts must be complete.
10
+
11
+ The technical boundary remains:
12
+
13
+ ```text
14
+ no-rmt-kernel-import-of-xtend-types
15
+ ```
16
+
17
+ RMT may schedule, render and configure XTend components. The RMT kernel, however, imports no XTend classes or XTend types.
18
+
19
+ ## Required Contracts
20
+
21
+ | Contract | Purpose | Gate |
22
+ | --- | --- | --- |
23
+ | `xtend.component.shell.v1` | root, DOM mode, states, slots, parts, focus and lifecycle | `component-shell-contract` |
24
+ | `xtend.component.styling.v1` | tokens, CSS parts, variants, size, density and theme bridges | `component-styling-contract` |
25
+ | `xtend.component.runtime-a11y.v1` | keyboard, focus, ARIA, screenreader and high contrast | `runtime-a11y-contract` |
26
+ | `xtend.component.ux-performance.v1` | shell, hydration, render, event and interaction budgets | `component-ux-performance` |
27
+ | `xtend.component.network.v1` | events, commands, form association, router context and feedback | `component-network-contract` |
28
+ | `xtend.rmt.shell-authoring.v1` | shell, style, a11y, variants, commands and events in RMT | `rmt-shell-authoring-ux` |
29
+ | `xtend.epic11.component-lab-ux-inspector.v1` | preview, RMT inspector, state, a11y, performance and source links | `component-lab-ux-inspector` |
30
+ | `xtend.epic11.component-ux-browser-smokes.v1` | real UX journeys for prioritized families | `component-ux-browser-smokes` |
31
+ | `xtend.epic11.component-shell-theme-matrix.v1` | theme, motion, density, viewport and visual states | `component-shell-theme-matrix` |
32
+
33
+ ## Authoring Order
34
+
35
+ 1. Choose a family: `form-controls`, `feedback-status`, `navigation-routing`, `overlay-interaction` or `layout-display-media`.
36
+ 2. Define the shell contract: root, slots, states, parts, focus and lifecycle.
37
+ 3. Treat styling as API: document tokens, parts, variants, size and density.
38
+ 4. Model a11y first: define keyboard, labels, ARIA, live regions, focus restore and screenreader signals.
39
+ 5. Set the performance profile: lane, hydration policy, critical measurement points and budget class.
40
+ 6. Describe the component network: define events, commands, form association, router context or feedback channels.
41
+ 7. Add RMT authoring: maintain `xtend.component` record, `dom_descriptor`, schedules, commands and events.
42
+ 8. Accept Fabric context: ingest lane, fiber and telemetry through adapter data.
43
+ 9. Make Component Lab visible: link preview, docs, types, fixture, state, a11y and performance.
44
+ 10. Check browser and theme matrix: run local smokes and shell matrix.
45
+
46
+ ## Family Rules
47
+
48
+ | Family | Minimum |
49
+ | --- | --- |
50
+ | Form controls | label, help text, error region, required/invalid, form association, value event, keyboard entry |
51
+ | Feedback/status | live region, role, tone, dismiss/timeout, non-color status, reduced motion |
52
+ | Navigation/routing | active state, `aria-current`, keyboard activation, route announcement, focus restore, tablist ARIA and roving `tabindex` |
53
+ | Overlay/interaction | initial focus, focus trap, Escape, focus restore, scroll lock, reduced motion |
54
+ | Layout/display/media | responsive slots, stable layout, lazy/visible hydration, media shell, code/display semantics |
55
+
56
+ ## Theme Matrix
57
+
58
+ Every prioritized shell must remain representable in the Component Shell Theme Matrix:
59
+
60
+ - Themes: `light`, `dark`, `high-contrast`, `forced-colors`
61
+ - Motion: `default-motion`, `reduced-motion`
62
+ - Density: `comfortable`, `compact`, `dense`
63
+ - Viewports: `desktop-1280`, `tablet-768`, `mobile-390`
64
+
65
+ The gate currently checks `360` shell combinations:
66
+
67
+ Since `WP-E12-03`, `x-tabs` is part of the navigation/routing matrix and must preserve arrow key, `Home`, `End`, `aria-controls`, `role=tabpanel`, `aria-selected` and visible focus in browser smokes and theme matrix.
68
+
69
+ ```bash
70
+ node scripts/run_xtend_tests.js component-shell-theme-matrix --json
71
+ ```
72
+
73
+ ## Local Gates
74
+
75
+ ```bash
76
+ node scripts/run_xtend_tests.js component-shell-contract --json
77
+ node scripts/run_xtend_tests.js component-styling-contract --json
78
+ node scripts/run_xtend_tests.js runtime-a11y-contract --json
79
+ node scripts/run_xtend_tests.js component-ux-performance --json
80
+ node scripts/run_xtend_tests.js component-network-contract --json
81
+ node scripts/run_xtend_tests.js rmt-shell-authoring-ux --json
82
+ node scripts/run_xtend_tests.js component-lab-ux-inspector --json
83
+ node scripts/run_xtend_tests.js component-ux-browser-smokes --json
84
+ node scripts/run_xtend_tests.js component-shell-theme-matrix --json
85
+ node scripts/run_xtend_tests.js references --json
86
+ ```
87
+
88
+ ## Definition of Done
89
+
90
+ - Docs, `.d.ts`, fixture, component suite and RMT metadata exist.
91
+ - Shell, styling, a11y, performance and network contracts are visible.
92
+ - Events are `bubbles: true` and `composed: true` when hosts or RMT should consume them.
93
+ - Commands are declarable and not only private methods.
94
+ - Theme, density and motion are not hard-hidden in Shadow DOM.
95
+ - Browser smoke or theme matrix covers the relevant visible path.
96
+ - No new path introduces a hard XTend dependency into the RMT kernel.
@@ -0,0 +1,45 @@
1
+ # Component UX Gates
2
+
3
+ Docs contract: `xtend.docs.component-ux-gates.v1`
4
+
5
+ This page describes the local gate chain for Epic 11. It connects authoring guides, browser smokes, theme matrix, RMT shell authoring, Component Lab and reference gates.
6
+
7
+ ## Gate Groups
8
+
9
+ | Group | Gate | Purpose |
10
+ | --- | --- | --- |
11
+ | Foundation | `component-shell-contract` | Component Shell Contract `xtend.component.shell.v1` |
12
+ | Foundation | `component-styling-contract` | Styling Contract `xtend.component.styling.v1` |
13
+ | Foundation | `runtime-a11y-contract` | Runtime A11y `xtend.component.runtime-a11y.v1` |
14
+ | Foundation | `component-ux-performance` | Performance Profile `xtend.component.ux-performance.v1` |
15
+ | Foundation | `component-network-contract` | Component Network `xtend.component.network.v1` |
16
+ | RMT | `rmt-shell-authoring-ux` | RMT Shell Authoring `xtend.rmt.shell-authoring.v1` |
17
+ | Lab | `component-lab-ux-inspector` | Component Lab UX Inspector `xtend.epic11.component-lab-ux-inspector.v1` |
18
+ | Browser | `component-ux-browser-smokes` | Browser UX Smokes `xtend.epic11.component-ux-browser-smokes.v1` |
19
+ | Visual | `component-shell-theme-matrix` | Component Shell Theme Matrix `xtend.epic11.component-shell-theme-matrix.v1` |
20
+ | Docs | `component-ux-authoring-docs` | Component UX Authoring Docs `xtend.epic11.component-ux-authoring-docs.v1` |
21
+ | Migration | `component-long-tail-migration` | Legacy Long-Tail Migration `xtend.epic11.legacy-long-tail-migration.v1` |
22
+ | Handoff | `epic11-enterprise-ux-handoff` | Epic 11 Enterprise UX Handoff `xtend.epic11.enterprise-ux-handoff.v1` |
23
+ | References | `references` | Documentation and demo reference paths |
24
+
25
+ ## Quick Epic 11 Check
26
+
27
+ ```bash
28
+ node scripts/run_xtend_tests.js component-network-contract rmt-shell-authoring-ux form-controls-ux feedback-status-ux navigation-routing-ux overlay-interaction-ux layout-display-media-ux component-lab-ux-inspector component-ux-browser-smokes component-shell-theme-matrix component-ux-authoring-docs component-long-tail-migration epic11-enterprise-ux-handoff references --json
29
+ ```
30
+
31
+ ## PR Gate
32
+
33
+ The PR gate includes the Component UX docs so new guides do not drift away from the productive gate chain:
34
+
35
+ ```bash
36
+ npm run test:pr
37
+ ```
38
+
39
+ ## Release Note
40
+
41
+ `component-shell-theme-matrix` is not a screenshot diff runner yet. It is the deterministic local contract for later visual snapshot automation. Until real snapshots are connected, this matrix remains the binding source for theme, motion, density and viewport obligations.
42
+
43
+ ## Handoff
44
+
45
+ After `WP-E11-18`, Epic 11 is complete in `completed-with-accepted-long-tail-handoff` mode. The legacy long-tail migration is gateable as a plan; open implementations intentionally remain prioritized in waves.
@@ -0,0 +1,75 @@
1
+ # x-rmt-lifecycle-demo-build - XTend Component
2
+
3
+ ## Overview
4
+
5
+ `<x-rmt-lifecycle-demo-build>` is the RC1 test-build component generated from
6
+ `xtendrmt/rmt-lifecycle-demo.rmt`. It serves as local, manifested evidence for
7
+ the RMT vNext app build path and combines root lifecycle, template extension,
8
+ scheduler handshake, a11y profile, and performance profile in one Custom
9
+ Element.
10
+
11
+ ## Usage
12
+
13
+ ```html
14
+ <x-rmt-lifecycle-demo-build
15
+ variant="rc1"
16
+ aria-label="RMT Lifecycle Demo Build">
17
+ Lifecycle Demo
18
+ </x-rmt-lifecycle-demo-build>
19
+ <script type="module" src="/components/x-rmt-lifecycle-demo-build.js"></script>
20
+ ```
21
+
22
+ ## Attributes
23
+
24
+ | Attribute | Type | Description |
25
+ |-----------|------|-------------|
26
+ | `variant` | String | marks the local demo variant for fixtures and browser smokes |
27
+ | `aria-label` | String | required name for the semantic `region` in Shadow DOM |
28
+
29
+ ## Scaffold Contracts
30
+
31
+ The generated component exposes these static contracts:
32
+
33
+ - `xtendScaffoldWiring` with `xtend.scaffold.feature-wiring.v1`
34
+ - `xtendScaffoldExtensionPoints` with
35
+ `xtend.scaffold.component-extension-points.v1`
36
+ - `xtendScaffoldA11yProfile` with `xtend.a11y.profile.v1`
37
+ - `xtendScaffoldPerformanceProfile` with
38
+ `xtend.performance.component-profile.v1`
39
+
40
+ The root lifecycle uses `xtend.rmt.root-handshake.v1` and stays connected to
41
+ the XTend host adapter through scheduler endpoint hints. The RMT kernel does
42
+ not read the XTend component directly; it treats component refs, templates, and
43
+ events as data.
44
+
45
+ ## Events
46
+
47
+ | Event | Description |
48
+ |-------|-------------|
49
+ | `rmt-lifecycle-demo-build-ready` | ready channel declared in scaffold wiring for host adapters |
50
+ | `rmt-lifecycle-demo-build-changed` | state-change channel declared in scaffold wiring for host adapters |
51
+
52
+ ## A11y Profile
53
+
54
+ The a11y profile sets `role="region"`, requires an `aria-label`, describes
55
+ screen reader signals for semantic region and status changes, and carries
56
+ reduced-motion/forced-colors rules in Shadow DOM.
57
+
58
+ ## Performance Profile
59
+
60
+ The performance profile uses `xtend.performance.component-profile.v1`,
61
+ `budgetClass: critical`, `lane: user-blocking`, and
62
+ `hydrationPolicy: visible`. Critical measurement points are loader, mount,
63
+ hydration, render, update, state sync, and event action.
64
+
65
+ ## RC1 Build Boundary
66
+
67
+ The component is intentionally a build artifact from the RMT vNext path:
68
+
69
+ - Source: `xtendrmt/rmt-lifecycle-demo.rmt`
70
+ - Generator: `xtend-builder/generators/rmt-build.js`
71
+ - Build component: `components/x-rmt-lifecycle-demo-build.js`
72
+ - Browser smoke: `tests/browser/fixtures/rmt-lifecycle-demo-rmt-build-smoke.html`
73
+
74
+ It is therefore part of RC1 test-build recovery: manifest, docs, suite,
75
+ fixture, and public types remain visible in the Component Catalog.
@@ -0,0 +1,94 @@
1
+ # xalert - XTend Component
2
+
3
+ ## Overview
4
+
5
+ `<x-alert>` is the prominent feedback component for longer-lived notices,
6
+ warnings, and errors. Unlike toasts, an alert can be blocking or explicitly
7
+ closable.
8
+
9
+ ## Usage
10
+
11
+ ```html
12
+ <x-alert type="error" closable overlay aria-label="Error notice">
13
+ An error occurred
14
+ </x-alert>
15
+ ```
16
+
17
+ ## Attributes
18
+
19
+ | Attribute | Type | Description |
20
+ |-----------|------|-------------|
21
+ | `type` | string | `info`, `success`, `warning`, `error` |
22
+ | `closable` | boolean | shows a close button |
23
+ | `duration` | number | optional auto-close duration |
24
+ | `overlay` | boolean | shows the alert as a centered overlay |
25
+ | `aria-label` | string | screen reader label |
26
+
27
+ ## Events
28
+
29
+ | Event | Description |
30
+ |-------|-------------|
31
+ | `alert-shown` | after the alert is shown |
32
+ | `alert-dismissed` | after the alert is closed |
33
+
34
+ ## State Contract
35
+
36
+ The instance mirrors its state compatibly into `xstate`:
37
+
38
+ - `xtend.component.x-alert.<id>`
39
+ - `xalert-state-<id>`
40
+
41
+ The event detail includes:
42
+
43
+ ```js
44
+ {
45
+ id: 'alert-abc123',
46
+ type: 'error',
47
+ closable: true,
48
+ overlay: true,
49
+ dismissed: false,
50
+ reason: 'connected'
51
+ }
52
+ ```
53
+
54
+ ## Runtime Contract
55
+
56
+ - API-managed alerts are aggregated in `xstate.get('ui').alerts`.
57
+ - The instance itself exposes its lifecycle through `alert-shown` and
58
+ `alert-dismissed`.
59
+ - API and component no longer maintain separate close paths.
60
+
61
+ ## Feedback Status UX from WP-E11-09
62
+
63
+ `<x-alert>` exposes `xtendFeedbackStatusUxProfile` with
64
+ `xtend.component.feedback-status-ux-profile.v1`. The profile describes
65
+ `x-alert` as a longer-lived feedback shell with `alert-shown`,
66
+ `alert-dismissed`, `xalert-state-<id>`, `a11y.announce`, Fabric lane `a11y`,
67
+ and RMT shell authoring.
68
+
69
+ Errors and warnings use assertive live regions; neutral and success notices
70
+ remain polite. Event details include `source: 'x-alert'` and `stateKey`, so
71
+ form, router, or RMT adapters can schedule and diagnose alerts consistently.
72
+
73
+ ## Contrast Colors
74
+
75
+ `<x-alert>` uses solid contrast colors without gradients. The variants `info`,
76
+ `success`, `warning`, and `error` each set dedicated tokens for background,
77
+ text, border, and accent so alerts remain readable in light and dark mode while
78
+ preserving their signal value.
79
+
80
+ The most important theme tokens are:
81
+
82
+ - `--xtend-alert-info-bg`, `--xtend-alert-info-fg`, `--xtend-alert-info-border`, `--xtend-alert-info-accent`
83
+ - `--xtend-alert-success-bg`, `--xtend-alert-success-fg`, `--xtend-alert-success-border`, `--xtend-alert-success-accent`
84
+ - `--xtend-alert-warning-bg`, `--xtend-alert-warning-fg`, `--xtend-alert-warning-border`, `--xtend-alert-warning-accent`
85
+ - `--xtend-alert-error-bg`, `--xtend-alert-error-fg`, `--xtend-alert-error-border`, `--xtend-alert-error-accent`
86
+
87
+ For dark mode, the same tokens can be overridden with the `-dark` suffix, for
88
+ example `--xtend-alert-error-bg-dark`.
89
+
90
+ ## Notes
91
+
92
+ - Alerts are intended for more important, longer-lived, or blocking feedback.
93
+ - `window.XAlert.show()` is the preferred entry point for API-managed alerts.
94
+ - For short, non-blocking notices, `x-toast` is the better component.
@@ -0,0 +1,118 @@
1
+ # xbutton - XTend Component
2
+
3
+ > **See also:** [xalert](./xalert.md), [xstate](./xstate.md), [xtheme](./xtheme.md)
4
+
5
+ ## Overview
6
+
7
+ `<x-button>` is the interactive base button for XTend apps. The component
8
+ provides variants, sizes, loading state, decorative icons, focus-visible
9
+ styles, reduced-motion/forced-colors paths, and, since `WP-E12-06`, an explicit
10
+ performance and interaction budget.
11
+
12
+ ## Features
13
+
14
+ - Variants: `primary`, `secondary`, `danger`
15
+ - Sizes: `small`, normal, `large`
16
+ - Loading state through `loading` and `aria-busy`
17
+ - Disabled/busy guards for click and keyboard activation
18
+ - Touch target token `--xtend-button-min-touch-target`
19
+ - State integration through `xbutton-state-<id>`
20
+ - Fabric-compatible events `button-interaction` and
21
+ `button-performance-measured`
22
+ - Slot fallback remains intact so late content such as `x-icon` hydrates cleanly
23
+
24
+ ## Usage
25
+
26
+ ```html
27
+ <x-button variant="primary" size="large" icon="/icons/save.svg">Save</x-button>
28
+ <x-button loading aria-label="Saving">Please wait...</x-button>
29
+ <x-button aria-label="Switch theme"><x-icon name="sun" decorative></x-icon></x-button>
30
+ ```
31
+
32
+ ## Attributes
33
+
34
+ | Attribute | Type | Description |
35
+ |-----------|------|-------------|
36
+ | `disabled` | Boolean | disables interaction and sets `aria-disabled` |
37
+ | `label` | String | fallback text when no slot content exists |
38
+ | `variant` | String | `primary`, `secondary`, `danger`, or custom class |
39
+ | `size` | String | `small`, normal, or `large` |
40
+ | `icon` | String | SVG string or icon URL |
41
+ | `loading` | Boolean | shows spinner, blocks interaction, and sets busy state |
42
+ | `aria-label` | String | accessible name for screen readers |
43
+ | `aria-busy` | Boolean | explicit busy state without requiring a loading spinner |
44
+
45
+ ## Events
46
+
47
+ | Event | Description |
48
+ |-------|-------------|
49
+ | `click` | forwarded click from the internal button shell |
50
+ | `focus` / `blur` | forwarded focus events |
51
+ | `loading-start` | `loading` was activated |
52
+ | `loading-end` | `loading` was deactivated |
53
+ | `button-interaction` | Fabric-compatible interaction measurement for click/keyboard |
54
+ | `button-performance-measured` | performance measurement after hydration, update, or interaction |
55
+
56
+ ## API
57
+
58
+ | Method | Purpose |
59
+ |--------|---------|
60
+ | `setLoading(loading, options?)` | toggles loading state programmatically |
61
+ | `getPerformanceBudget()` | returns the millisecond budgets of the performance profile |
62
+ | `getInteractionBudget()` | returns click, keyboard, busy, and touch-target budgets |
63
+ | `snapshotPerformance()` | returns the current `xtend.component.performance-snapshot.v1` snapshot |
64
+
65
+ ## Performance Profile
66
+
67
+ `x-button` has the runtime profile `xtend.performance.component-profile.v1`:
68
+
69
+ - `budgetClass`: `interactive-small`
70
+ - `lane`: `user-blocking`
71
+ - `hydrationPolicy`: `visible`
72
+ - `criticalMeasurements`: `xtend.component.hydrate`, `xtend.component.render`,
73
+ `xtend.component.update`, `xtend.event.handler`,
74
+ `xtend.interaction.click`, `xtend.interaction.keyboard`
75
+ - `budgetsMs`: `hydrate`, `renderUpdate`, `eventAction`, `keyboardAction`,
76
+ `busyToggle`, `stateSync`
77
+
78
+ Fabric, regression gates, and later RMT shells can therefore schedule the
79
+ button as a small user-blocking interaction.
80
+
81
+ ## RMT and Fabric
82
+
83
+ The component declares `xtendRmtMetadata` with `adapter: 'xtend.component'`,
84
+ `templateMode: 'dom_descriptor'`, `eventBindingMode:
85
+ 'dom-event-to-rmt-command'`, and the boundary
86
+ `no-rmt-kernel-import-of-xtend-types`. RMT can author and schedule the button
87
+ without importing XTend types into the kernel.
88
+
89
+ Fabric consumes:
90
+
91
+ - `button-interaction`
92
+ - `button-performance-measured`
93
+ - `snapshotPerformance()`
94
+ - State key `xbutton-state-<id>`
95
+
96
+ ## Styling and Theming
97
+
98
+ ```css
99
+ x-button {
100
+ --primary-color: #007bff;
101
+ --focus-color: #80bfff;
102
+ --xtend-button-min-touch-target: 44px;
103
+ }
104
+ ```
105
+
106
+ The button respects `prefers-reduced-motion` and `forced-colors`. In
107
+ forced-colors mode it uses system colors, visible focus, and a textual busy
108
+ signal.
109
+
110
+ ## Accessibility
111
+
112
+ - native button in Shadow DOM with `role="button"`
113
+ - visible `:focus-visible` state
114
+ - `aria-disabled` and `aria-busy`
115
+ - decorative icons with empty `alt`
116
+ - minimum touch target through token
117
+ - keyboard activation through native button semantics plus measurement point
118
+ for `Enter` and `Space`
@@ -0,0 +1,95 @@
1
+ # xcalendar - XTend Component
2
+
3
+ > **See also:** [xcards](./xcards.md), [xform](./xform.md), [xstate](./xstate.md)
4
+
5
+ ## Overview
6
+
7
+ `<x-calendar>` is a modern, accessible calendar with form integration, state
8
+ management, and theming. It is suitable for date selection and appointment
9
+ management.
10
+
11
+ ---
12
+
13
+ ## Features
14
+
15
+ - Form-associated (HTML5 Form API)
16
+ - State integration through xstate
17
+ - Theming through CSS custom properties
18
+ - Responsive design
19
+
20
+ ---
21
+
22
+ ## Usage
23
+
24
+ ```html
25
+ <x-calendar></x-calendar>
26
+ ```
27
+
28
+ ---
29
+
30
+ ## Attributes
31
+
32
+ | Attribute | Type | Description |
33
+ |-----------|------|-------------|
34
+ | `value` | String | selected date in ISO format |
35
+
36
+ ---
37
+
38
+ ## Events
39
+
40
+ | Event | Description |
41
+ |-------|-------------|
42
+ | `change` | emitted when a date is selected |
43
+ | `date-select` | current XTend contract for date selection, detail: `{ value, date }` |
44
+
45
+ ---
46
+
47
+ ## API
48
+
49
+ - **Set/read value:** `element.value = '2025-07-16'`
50
+ - **State integration:** automatic through xstate
51
+
52
+ ## Component-Level Contract from ER-WP-33
53
+
54
+ `<x-calendar>` is form-associated, writes selection and view date to
55
+ `xcalendar-state-<id>`, and renders the month view as an ARIA grid. Day cells
56
+ use `role="gridcell"` and `aria-selected`; month navigation is exposed through
57
+ labeled buttons.
58
+
59
+ ## Form Controls UX from WP-E11-08
60
+
61
+ `<x-calendar>` exposes `xtendFormControlUxProfile` with
62
+ `xtend.component.form-control-ux-profile.v1`. The profile connects date
63
+ selection, `date-select`, `xcalendar-state-<id>`, `ui.user-blocking.input`,
64
+ grid a11y, Fabric lane `user-blocking`, and RMT shell authoring.
65
+
66
+ ---
67
+
68
+ ## Example: Dynamic JS
69
+
70
+ ```js
71
+ const cal = document.createElement('x-calendar');
72
+ cal.value = '2025-07-16';
73
+ document.body.appendChild(cal);
74
+ ```
75
+
76
+ ---
77
+
78
+ ## Styling and Theming
79
+
80
+ ```css
81
+ x-calendar {
82
+ --border-color: #ccc;
83
+ --background-color: #fff;
84
+ }
85
+ ```
86
+
87
+ ---
88
+
89
+ ## Accessibility
90
+
91
+ - ARIA roles, keyboard navigation
92
+
93
+ ---
94
+
95
+ *Last updated: July 16, 2025*