@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,139 @@
1
+ # xcards - XTend Component
2
+
3
+ > **See also:** [xmasonry](./xmasonry.md), [xcalendar](./xcalendar.md), [xstate](./xstate.md)
4
+
5
+ ## Overview
6
+
7
+ `<x-cards>` is a flexible grid layout for arbitrary content. It supports
8
+ responsive design, theming, and state integration.
9
+
10
+ ---
11
+
12
+ ## Features
13
+
14
+ - Grid layout with variable column count
15
+ - Responsive behavior (one column on mobile)
16
+ - Theming through CSS custom properties
17
+ - State integration through xstate
18
+
19
+ ---
20
+
21
+ ## Usage
22
+
23
+ ```html
24
+ <x-cards columns="4" gap="2rem">
25
+ <div>Card 1</div>
26
+ <div>Card 2</div>
27
+ </x-cards>
28
+ ```
29
+
30
+ ---
31
+
32
+ ## Attributes
33
+
34
+ | Attribute | Type | Description |
35
+ |-----------|------|-------------|
36
+ | `columns` | Number | number of columns (default: 3) |
37
+ | `gap` | String | spacing between cards (default: 1.5rem) |
38
+
39
+ ---
40
+
41
+ ## Events
42
+
43
+ | Event | Description |
44
+ |-------|-------------|
45
+ | - | - |
46
+
47
+ ---
48
+
49
+ ## API
50
+
51
+ - **Set columns dynamically:** `element.setAttribute('columns', 2)`
52
+ - **State integration:** automatic through xstate
53
+
54
+ ---
55
+
56
+ ## Example: Dynamic JS
57
+
58
+ ```js
59
+ const cards = document.createElement('x-cards');
60
+ cards.setAttribute('columns', 2);
61
+ document.body.appendChild(cards);
62
+ ```
63
+
64
+ ---
65
+
66
+ ## Styling and Theming
67
+
68
+ ```css
69
+ x-cards {
70
+ --card-columns: 4;
71
+ --card-gap: 2rem;
72
+ }
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Accessibility
78
+
79
+ - Grid role, semantic HTML
80
+
81
+ ---
82
+
83
+ *Last updated: July 16, 2025*
84
+
85
+ ## Layout Display Media UX Profile
86
+
87
+ Starting with `WP-E11-12`, `x-cards` exposes the profile
88
+ `xtend.component.layout-display-media-ux-profile.v1`. The component describes a
89
+ responsive card grid for RMT shell authoring and uses the state key
90
+ `xcards-state-<id>`.
91
+
92
+ - Profile getter: `xtendLayoutDisplayMediaUxProfile`
93
+ - Schedule: `layout.reflow.commit`
94
+ - Event: `cards-layout`
95
+ - Snapshot: `snapshot()`
96
+ - CSS parts: `root`, `grid`, `item`
97
+
98
+ ## ECH-WP-07 Token Table and signatureDesign
99
+
100
+ `signatureDesign`: independent enterprise card rhythm with tokenized glass,
101
+ edge, depth, and typography. The default grid should not look like a generic
102
+ SaaS card grid while still remaining fully themeable.
103
+
104
+ | Token | Purpose |
105
+ | --- | --- |
106
+ | `--xtend-layout-surface` | card surface |
107
+ | `--xtend-layout-text` | card text color |
108
+ | `--xtend-layout-border-color` | card edge |
109
+ | `--xtend-layout-radius` | card radius |
110
+ | `--xtend-layout-elevation` | card shadow |
111
+ | `--xtend-layout-spacing` | card padding |
112
+ | `--xtend-layout-gap` | grid spacing |
113
+ | `--xtend-layout-font-family` | card typography |
114
+ | `--xtend-layout-font-size` | card text size |
115
+ | `--xtend-layout-media-radius` | image/media radius |
116
+ | `--xtend-layout-focus-ring` | card focus |
117
+ | `--xtend-layout-grid-min` | grid lower bound |
118
+ | `--xtend-layout-content-max` | grid max width |
119
+
120
+ ## ECH-WP-07 External Theme
121
+
122
+ ```css
123
+ [data-xtend-layout-theme="enterprise-foreign"] x-cards,
124
+ [data-xtend-layout-theme="enterprise-foreign"] x-card {
125
+ --xtend-layout-surface: #f8f4ef;
126
+ --xtend-layout-text: #1b2823;
127
+ --xtend-layout-border-color: rgba(27, 40, 35, 0.18);
128
+ --xtend-layout-radius: 0.3rem;
129
+ --xtend-layout-elevation: 0 12px 30px rgba(27, 40, 35, 0.12);
130
+ --xtend-layout-spacing: 1.35rem;
131
+ --xtend-layout-gap: 1.1rem;
132
+ --xtend-layout-font-family: "Aptos", "Segoe UI", sans-serif;
133
+ --xtend-layout-font-size: 1rem;
134
+ --xtend-layout-media-radius: 0.25rem;
135
+ --xtend-layout-focus-ring: 3px solid #8f4f2a;
136
+ --xtend-layout-grid-min: minmax(15rem, 1fr);
137
+ --xtend-layout-content-max: 74rem;
138
+ }
139
+ ```
@@ -0,0 +1,118 @@
1
+ # xcheckbox - XTend Component
2
+
3
+ > **See also:** [xform](./xform.md), [xinput](./xinput.md), [xstate](./xstate.md)
4
+
5
+ ## Overview
6
+
7
+ `<x-checkbox>` is the TypeScript-first binary control from `WP-E10-09`. It is
8
+ form-associated, supports `checked` and `indeterminate`, reports changes
9
+ through XTend events, and can be scheduled by RMT as a framework-agnostic UI
10
+ component.
11
+
12
+ ## Usage
13
+
14
+ ```html
15
+ <x-checkbox id="terms" name="terms" required checked>
16
+ <span slot="label">Accept terms of service</span>
17
+ <span slot="error">Consent is required.</span>
18
+ </x-checkbox>
19
+ ```
20
+
21
+ ## Attributes
22
+
23
+ | Attribute | Type | Description |
24
+ |-----------|------|-------------|
25
+ | `name` | String | form name |
26
+ | `value` | String | form value when active, default `on` |
27
+ | `checked` | Boolean | current selected state |
28
+ | `indeterminate` | Boolean | visual mixed state |
29
+ | `required` | Boolean | activates validation |
30
+ | `disabled` | Boolean | disables the control |
31
+ | `label` | String | ARIA/text label without slot |
32
+
33
+ ## Slots
34
+
35
+ | Slot | Purpose |
36
+ |------|---------|
37
+ | `label` | visible label |
38
+ | `hint` | additional helper text |
39
+ | `error` | validation error |
40
+
41
+ ## Events
42
+
43
+ | Event | Detail |
44
+ |-------|--------|
45
+ | `checkbox-changed` | `{ checked, value, source: 'x-checkbox' }` |
46
+ | `checkbox-invalid` | `{ checked, value, message, source: 'x-checkbox' }` |
47
+
48
+ ## API
49
+
50
+ - `element.checked`
51
+ - `element.value`
52
+ - `element.indeterminate`
53
+ - `element.toggle()`
54
+ - `element.checkValidity()`
55
+ - `element.reportValidity()`
56
+ - `element.validate()`
57
+ - `element.reset()`
58
+ - `element.focus()`
59
+
60
+ ## State, RMT, and Fabric
61
+
62
+ `<x-checkbox>` writes to `xcheckbox-checked-<id>`. RMT sees the component
63
+ through `xtend.rmt.component-contract.v1` as a DOM descriptor, not as an XTend
64
+ kernel dependency. Fabric metadata binds events to the `user-blocking` lane and
65
+ keeps the boundary string `no-rmt-kernel-import-of-xtend-types` visible.
66
+
67
+ ## A11y and Performance
68
+
69
+ The control mirrors `aria-checked`, `aria-describedby`, `required`, and
70
+ `disabled` to the native checkbox. The performance profile uses
71
+ `xtend.performance.component-profile.v1` with `budgetClass:
72
+ 'interactive-small'`, `lane: 'user-blocking'`, and `hydrationPolicy:
73
+ 'visible'`.
74
+
75
+ ## Form Controls UX from WP-E11-08
76
+
77
+ `<x-checkbox>` exposes `xtendFormControlUxProfile` with
78
+ `xtend.component.form-control-ux-profile.v1`. The profile connects label, hint,
79
+ error, `checkbox-changed`, `checkbox-invalid`, `xcheckbox-checked-<id>`,
80
+ `ui.user-blocking.input`, Fabric lane `user-blocking`, and RMT shell authoring.
81
+
82
+ ## ECH-WP-08 Form Theme/A11y Hardening
83
+
84
+ `signatureDesign`: tactile enterprise checkbox with native reliability,
85
+ separately themeable selection affordance, and status-stable helper/error
86
+ rhythm.
87
+
88
+ | Token | Purpose |
89
+ | --- | --- |
90
+ | `--xtend-form-text` | host text color |
91
+ | `--xtend-form-control-surface` | native control surface |
92
+ | `--xtend-form-control-text` | control text fallback |
93
+ | `--xtend-form-label-text` | label |
94
+ | `--xtend-form-helper-text` | helper |
95
+ | `--xtend-form-error-text` | error text |
96
+ | `--xtend-form-error-surface` | error surface |
97
+ | `--xtend-form-error-border` | error edge and marker |
98
+ | `--xtend-form-focus-ring` | focus outline |
99
+ | `--xtend-form-radius` | native control/error radius |
100
+ | `--xtend-form-gap` | label/helper spacing |
101
+ | `--xtend-form-font-family` | form typography |
102
+ | `--xtend-form-control-font-size` | label font |
103
+ | `--xtend-form-helper-font-size` | helper/error font |
104
+ | `--xtend-form-icon-color` | checkbox accent |
105
+
106
+ Density profiles: `comfortable`, `compact`, `dense`. Invalid state is visible
107
+ through outline and error marker in addition to color.
108
+
109
+ ```css
110
+ [data-xtend-form-theme="enterprise-foreign"] x-checkbox {
111
+ --xtend-form-icon-color: #8f4f2a;
112
+ --xtend-form-label-text: #22312c;
113
+ --xtend-form-helper-text: #596861;
114
+ --xtend-form-error-text: #7d231c;
115
+ --xtend-form-error-border: #a64036;
116
+ --xtend-form-focus-ring: 3px solid #8f4f2a;
117
+ }
118
+ ```
@@ -0,0 +1,153 @@
1
+ # xcode - XTend Component
2
+
3
+ > See also: [xwriter](./xwriter.md), [xstate](./xstate.md)
4
+
5
+ ## Overview
6
+
7
+ `<x-code>` renders code examples as an XTend Web Component with copy control,
8
+ state integration, theming, and optional Prism.js syntax highlighting. The
9
+ component is Shadow DOM based, so it can be used in any app or Developer Center
10
+ surface without global `pre code` selectors leaking into the host.
11
+
12
+ Prism remains optional and host-neutral. When `window.Prism` or a registered
13
+ XCode highlighter is available, XCode renders token spans. When no grammar is
14
+ available, the code remains safely escaped and visible as plain text.
15
+
16
+ ## Usage
17
+
18
+ ```html
19
+ <x-code lang="js">
20
+ <template data-x-code-mode="text">console.log('Hello XTend!');</template>
21
+ </x-code>
22
+ ```
23
+
24
+ The alias attribute `language` is supported for existing fixtures and external
25
+ hosts:
26
+
27
+ ```html
28
+ <x-code language="rmt">
29
+ <template data-x-code-mode="text">template docs.demo { surface root { lane visible { hydrate page } } }</template>
30
+ </x-code>
31
+ ```
32
+
33
+ ## Prism and RMT
34
+
35
+ The Developer Center loads `components/prism.js` followed by
36
+ `components/prism-rmt.js`. The RMT middleware registers `Prism.languages.rmt`
37
+ and the aliases `rmt-vnext` and `xtendrmt`. This lets every XCode instance
38
+ highlight RMT vNext app shells, primitives, lanes, events, and boundary rules:
39
+
40
+ - `template`, `state`, `selector`, `datasource`, `action`, `portal`,
41
+ `overlay`, `resource`, `surface`, `remote surface`
42
+ - `lane`, lifecycle operations, `when`, `slot`, `trust boundary`, `sanitize`
43
+ - event bindings, payloads, reducer, effects, dotted primitive IDs, and
44
+ component tags
45
+
46
+ Hosts can register their own highlighter:
47
+
48
+ ```js
49
+ customElements.get('x-code')?.registerHighlighter({
50
+ highlight({ code, language }) {
51
+ return { html: code, highlighted: false, engine: 'plain-text', language };
52
+ }
53
+ });
54
+ ```
55
+
56
+ ## Developer Center
57
+
58
+ Markdown code fences from Parsedown are converted to `<x-code>` after Trusted
59
+ DOM sanitizing. Every code surface in the Developer Center therefore uses the
60
+ same path:
61
+
62
+ - copy control and a11y signals from XCode
63
+ - `docs.syntax.highlight` as an RMT schedule
64
+ - Prism highlighting in Shadow DOM
65
+ - plain-text fallback without a raw HTML sink
66
+
67
+ ## Attributes
68
+
69
+ | Attribute | Type | Description |
70
+ | --- | --- | --- |
71
+ | `lang` | String | primary language, for example `js`, `html`, `rmt` |
72
+ | `language` | String | compatibility alias when `lang` is not set |
73
+
74
+ ## Events
75
+
76
+ | Event | Description |
77
+ | --- | --- |
78
+ | `code-copied` | emitted after successful copy control |
79
+
80
+ ## API
81
+
82
+ - `hydrate()` rerenders code and highlighting.
83
+ - `snapshot()` returns language, code length, and highlighting metadata.
84
+ - `customElements.get('x-code').registerHighlighter(provider)` registers an
85
+ optional host highlighter.
86
+
87
+ The snapshot adds these non-breaking fields:
88
+
89
+ - `highlighted`
90
+ - `highlightEngine`
91
+ - `highlightLanguage`
92
+ - `languageAlias`
93
+
94
+ ## Layout Display Media UX Profile
95
+
96
+ `x-code` exposes the profile
97
+ `xtend.component.layout-display-media-ux-profile.v1`. Code blocks can therefore
98
+ be authored in RMT as idle-hydratable display shells and use the state key
99
+ `xcode-state-<id>`.
100
+
101
+ - Profile getter: `xtendLayoutDisplayMediaUxProfile`
102
+ - Schedule: `component.idle.hydrate`
103
+ - Event: `code-copied`
104
+ - Snapshot: `snapshot()`
105
+ - CSS parts: `root`, `copy`, `pre`, `code`
106
+
107
+ ## Token Table
108
+
109
+ ECH-WP-07 remains visible as the tokenization contract. `signatureDesign`:
110
+ readable enterprise code surface with clear copy control, internal overflow,
111
+ Prism-compatible token coloring, and an independent themeable monospace
112
+ personality.
113
+
114
+ | Token | Purpose |
115
+ | --- | --- |
116
+ | `--xtend-layout-surface` | code surface |
117
+ | `--xtend-layout-text` | code text color |
118
+ | `--xtend-layout-border-color` | code and copy edge |
119
+ | `--xtend-layout-radius` | code and copy radius |
120
+ | `--xtend-layout-elevation` | code shadow |
121
+ | `--xtend-layout-spacing` | code padding |
122
+ | `--xtend-layout-gap` | theme spacing for tooling |
123
+ | `--xtend-layout-font-family` | monospace/code typography |
124
+ | `--xtend-layout-font-size` | code font size |
125
+ | `--xtend-layout-media-radius` | copy-control radius |
126
+ | `--xtend-layout-focus-ring` | copy-control focus |
127
+ | `--xtend-layout-grid-min` | code layout minimum |
128
+ | `--xtend-layout-content-max` | code max width |
129
+ | `--x-code-token-keyword` | Prism keyword and RMT primitive |
130
+ | `--x-code-token-string` | Prism string |
131
+ | `--x-code-token-property` | Prism property and RMT IDs |
132
+ | `--x-code-token-class` | component tags |
133
+ | `--x-code-token-comment` | comments |
134
+
135
+ ## External Theme
136
+
137
+ ```css
138
+ [data-xtend-layout-theme="enterprise-foreign"] x-code {
139
+ --xtend-layout-surface: #151b19;
140
+ --xtend-layout-text: #f7f1e7;
141
+ --xtend-layout-border-color: rgba(247, 241, 231, 0.18);
142
+ --xtend-layout-radius: 0.35rem;
143
+ --xtend-layout-elevation: 0 16px 40px rgba(21, 27, 25, 0.22);
144
+ --xtend-layout-spacing: 1.25rem 1.4rem;
145
+ --xtend-layout-gap: 0.75rem;
146
+ --xtend-layout-font-family: "Cascadia Code", "Fira Mono", monospace;
147
+ --xtend-layout-font-size: 0.95rem;
148
+ --xtend-layout-media-radius: 999px;
149
+ --xtend-layout-focus-ring: 3px solid #d48b57;
150
+ --xtend-layout-grid-min: minmax(0, 1fr);
151
+ --xtend-layout-content-max: 68rem;
152
+ }
153
+ ```
@@ -0,0 +1,108 @@
1
+ # xdialog - XTend Component
2
+
3
+ ## Overview
4
+
5
+ `<x-dialog>` is XTend's state-driven dialog component. It combines attribute
6
+ control, `xstate` open flags, and aggregated `ui.dialogs` state into a shared
7
+ overlay contract.
8
+
9
+ ## Usage
10
+
11
+ ```html
12
+ <x-dialog overlay title="Example dialog" width="400px">
13
+ <p>Content</p>
14
+ <div slot="actions">
15
+ <button onclick="this.closest('x-dialog').close()">Close</button>
16
+ </div>
17
+ </x-dialog>
18
+ ```
19
+
20
+ ## Attributes
21
+
22
+ | Attribute | Type | Description |
23
+ |-----------|------|-------------|
24
+ | `open` | boolean | dialog is open |
25
+ | `overlay` | boolean | shows an overlay background |
26
+ | `title` | string | dialog title line |
27
+ | `width` | string | target width of the dialog |
28
+ | `height` | string | target height of the dialog |
29
+
30
+ ## Slots
31
+
32
+ | Slot | Description |
33
+ |------|-------------|
34
+ | default | main dialog content |
35
+ | `actions` | actions in the footer |
36
+
37
+ ## Events
38
+
39
+ | Event | Description |
40
+ |-------|-------------|
41
+ | `dialog-opened` | after successful opening |
42
+ | `dialog-closed` | after successful closing |
43
+
44
+ Events provide:
45
+
46
+ ```js
47
+ {
48
+ id: 'dialog-abc123',
49
+ open: false,
50
+ source: 'button'
51
+ }
52
+ ```
53
+
54
+ ## API
55
+
56
+ - `element.open()`
57
+ - `element.close()`
58
+
59
+ API- and XState-controlled dialogs use the same open flags:
60
+
61
+ - `xtend.component.x-dialog.<id>.open`
62
+ - `dialog-open-<id>`
63
+ - `xdialog-open-<id>`
64
+
65
+ ## Runtime Contract
66
+
67
+ - API-managed dialogs read title, content, and actions from
68
+ `xstate.get('ui').dialogs`.
69
+ - User interactions such as Escape, overlay click, and close button write open
70
+ state back.
71
+ - API-managed dialogs remove themselves from `ui.dialogs` and the DOM after
72
+ closing.
73
+
74
+ ## Notes
75
+
76
+ - Direct DOM usage through slots remains supported.
77
+ - `window.XDialog.show()` is the preferred entry point for API-managed dialogs.
78
+ - Focus trap, focus return, and ARIA roles are part of the default behavior.
79
+
80
+ ## Overlay Interaction UX Profile
81
+
82
+ Since `WP-E11-11`, `<x-dialog>` declares the runtime profile
83
+ `xtend.component.overlay-interaction-ux-profile.v1` through
84
+ `xtendOverlayInteractionUxProfile`.
85
+
86
+ | Field | Value |
87
+ |-------|-------|
88
+ | Family | `dialog` |
89
+ | State Key | `dialog-open-<id>` |
90
+ | Schedule | `overlay.stack.open` |
91
+ | Commands | `open`, `close`, `focus-trap`, `apply-inert`, `lock-scroll`, `snapshot` |
92
+
93
+ The profile standardizes focus trap, focus return, Escape topmost rule,
94
+ background inert, balanced scroll lock, and host-local portal semantics. RMT
95
+ can plan the dialog in shell-first templates while the RMT kernel remains
96
+ framework-agnostic through `no-rmt-kernel-import-of-xtend-types`.
97
+
98
+ ## ECH-WP-06 Overlay Parity
99
+
100
+ `x-dialog` exposes `surface`, `backdrop`, `close`, and `content` as shared
101
+ overlay parts. `overlay` remains as an alias for `backdrop`. Surface, text,
102
+ backdrop, elevation, radius, z-index, action colors, close surface, and focus
103
+ ring can be overridden through `--xtend-overlay-*`, `--dialog-*`, or
104
+ `--xdialog-*` tokens.
105
+
106
+ `x-dialog` is modal: focus trap, background inert, scroll lock, Escape, and
107
+ focus return remain active in the default path. Dialogs without `overlay` keep
108
+ the surface parts but omit the visual backdrop.
@@ -0,0 +1,110 @@
1
+ # xdrawer - XTend Component
2
+
3
+ > **See also:** [xpopover](./xpopover.md), [xtooltip](./xtooltip.md), [xrouter](./xrouter.md), [xlink](./xlink.md)
4
+
5
+ ## Overview
6
+
7
+ `<x-drawer>` is the shell and navigation component from `WP-E10-11`. It
8
+ provides side panels and navigation drawers for RMT-first apps, supports focus
9
+ trap, Escape close, outside click, and optional route-aware behavior.
10
+
11
+ ## Usage
12
+
13
+ ```html
14
+ <x-drawer id="app-nav" placement="left" modal label="App navigation" route-aware>
15
+ <button slot="trigger" type="button">Open navigation</button>
16
+ <strong slot="header">Navigation</strong>
17
+ <a href="#/overview">Overview</a>
18
+ <small slot="footer">Signed in</small>
19
+ </x-drawer>
20
+ ```
21
+
22
+ ## Attributes
23
+
24
+ | Attribute | Type | Description |
25
+ |-----------|------|-------------|
26
+ | `open` | Boolean | opens the drawer in controlled mode |
27
+ | `placement` | String | `left`, `right`, or `bottom` |
28
+ | `modal` | Boolean | activates focus trap and `aria-modal` |
29
+ | `label` | String | accessible name for the drawer |
30
+ | `route-aware` | Boolean | closes after XRouter route changes and emits route signal |
31
+
32
+ ## Events
33
+
34
+ | Event | Detail |
35
+ |-------|--------|
36
+ | `drawer-opened` | `{ id, open, source, placement, modal }` |
37
+ | `drawer-closed` | `{ id, open, source, placement, modal }` |
38
+ | `drawer-route-selected` | `{ id, routeRef, source: 'x-router' }` |
39
+
40
+ ## API
41
+
42
+ - `openDrawer()`
43
+ - `closeDrawer()`
44
+ - `toggle()`
45
+
46
+ ## Theme and Tokens
47
+
48
+ `<x-drawer>` synchronizes `data-theme` from `document.documentElement` and
49
+ automatically uses the global XTend tokens from `x-theme`. Without custom
50
+ drawer tokens, background, text, border, and overlay fall back to
51
+ `--xtend-surface`, `--xtend-text`, `--xtend-border-color`, and
52
+ `--xtend-overlay-bg`. Navigation drawers therefore remain readable in bright
53
+ mode and dark mode even when an app shell provides no custom drawer colors.
54
+
55
+ | Token | Purpose |
56
+ |-------|---------|
57
+ | `--drawer-bg` / `--drawer-bg-dark` | surface background |
58
+ | `--drawer-color` / `--drawer-color-dark` | text color |
59
+ | `--drawer-border` / `--drawer-border-dark` | borders and separators |
60
+ | `--drawer-overlay-bg` / `--drawer-overlay-bg-dark` | backdrop color |
61
+ | `--drawer-focus` | focus ring |
62
+ | `--drawer-close-size` | size of the close icon button |
63
+ | `--drawer-close-border` / `--drawer-close-color` | border and icon color of the close button |
64
+ | `--drawer-close-hover-bg` / `--drawer-close-hover-bg-dark` | hover surface of the close button |
65
+
66
+ ## State, RMT, and Fabric
67
+
68
+ `<x-drawer>` writes to `xdrawer-open-<id>`. The RMT contract is
69
+ `xtend.rmt.component-contract.v1` and uses `component.lazy.hydrate`,
70
+ `route.visible.render`, and `overlay.drawer.transition`. The kernel boundary
71
+ remains `no-rmt-kernel-import-of-xtend-types`.
72
+
73
+ ## A11y and Performance
74
+
75
+ The component uses `role="dialog"`, `aria-modal`, `aria-hidden`,
76
+ `aria-expanded`, `inert`, focus trap, and focus return. On close, focus is
77
+ returned to the trigger or last active element before the drawer surface is
78
+ hidden from assistive technology. The screen reader signal
79
+ `route-change-announcement` is intended for app-shell navigation. The
80
+ performance profile is `xtend.performance.component-profile.v1` with
81
+ `budgetClass: 'overlay-large'`, `lane: 'visible'`, and
82
+ `hydrationPolicy: 'lazy'`.
83
+
84
+ ## Overlay Interaction UX Profile
85
+
86
+ Since `WP-E11-11`, `<x-drawer>` declares the runtime profile
87
+ `xtend.component.overlay-interaction-ux-profile.v1` through
88
+ `xtendOverlayInteractionUxProfile`.
89
+
90
+ | Field | Value |
91
+ |-------|-------|
92
+ | Family | `drawer` |
93
+ | State Key | `xdrawer-open-<id>` |
94
+ | Schedule | `overlay.stack.open` |
95
+ | Commands | `open`, `close`, `toggle`, `focus-trap`, `apply-inert`, `lock-scroll`, `snapshot` |
96
+
97
+ The profile describes drawers as route-aware overlays: modal behavior is
98
+ optional, focus trap is active only in modal operation, Escape closes the
99
+ topmost overlay, and XRouter route changes may close the drawer in a controlled
100
+ way.
101
+
102
+ ## ECH-WP-06 Overlay Parity
103
+
104
+ `x-drawer` uses the shared overlay part aliases `surface`, `backdrop`, `close`,
105
+ and `content`. `overlay` remains as a legacy alias for `backdrop`. Host themes
106
+ can control surface, text, border, elevation, backdrop, z-index, and focus ring
107
+ through `--xtend-overlay-*` or compatible `--drawer-*` tokens.
108
+
109
+ Modality is optional: `modal` activates focus trap, background inert, and
110
+ scroll lock; non-modal drawers remain controllable for app-shell navigation.