@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,161 @@
1
+ # xutils - XTend Utility Module
2
+
3
+ ## Overview
4
+
5
+ `x-utils` is a manifest-managed utility module, not its own Custom Element
6
+ surface. The module exports `XUtils` and additionally exposes `window.XUtils`
7
+ in the browser. It collects small DOM, event, a11y, format, and low-code
8
+ helpers for XTend components and demos.
9
+
10
+ ## Import
11
+
12
+ ```js
13
+ import { XUtils } from './components/xutils.js';
14
+
15
+ const button = XUtils.create('button', {
16
+ textContent: 'Save'
17
+ });
18
+ ```
19
+
20
+ In the browser, after loading the module:
21
+
22
+ ```js
23
+ window.XUtils.find('[data-action="save"]');
24
+ ```
25
+
26
+ ## DOM and Event API
27
+
28
+ | Method | Description |
29
+ |--------|-------------|
30
+ | `find(selector, root?)` | returns the first matching element |
31
+ | `findAll(selector, root?)` | returns all matching elements as an array |
32
+ | `create(tag, props?)` | creates an element and assigns properties |
33
+ | `on(el, type, handler, opts?)` | registers a listener and returns a cleanup function |
34
+ | `delegate(root, selector, type, handler)` | delegates events within a container |
35
+
36
+ ## A11y and UI Helpers
37
+
38
+ | Method | Description |
39
+ |--------|-------------|
40
+ | `setAria(el, attrs)` | sets `aria-*` attributes from an object |
41
+ | `focusTrap(container)` | focuses the first focusable element in the container |
42
+ | `fadeIn(el, duration?)` | simple opacity animation |
43
+ | `fadeOut(el, duration?)` | simple opacity animation |
44
+ | `resolveUiEffects(input?)` | normalizes opt-in UI effects from body attribute, loader option, or RMT |
45
+ | `prepareUiEffects(input?)` | prepares an opt-in UI effect, for example body fade |
46
+ | `releaseUiEffects(input?)` | releases a prepared UI effect |
47
+ | `isMobile()` | checks the local mobile breakpoint |
48
+
49
+ ## Format and Data Helpers
50
+
51
+ | Method | Description |
52
+ |--------|-------------|
53
+ | `hexToRgb(hex)` | converts hex colors to RGB values |
54
+ | `contrastColor(hex)` | returns black or white as contrast color |
55
+ | `formatDate(date, locale?)` | formats a date |
56
+ | `formatNumber(num, locale?)` | formats a number |
57
+ | `uniqueId(prefix?)` | creates a simple runtime ID |
58
+ | `deepClone(obj)` | creates a JSON-based copy |
59
+
60
+ ## XTemplate Recipes
61
+
62
+ `XUtils.XTemplate` contains small low-code recipes for simple DOM fragments:
63
+
64
+ ```js
65
+ const card = XUtils.XTemplate.card({
66
+ title: 'Status',
67
+ content: 'All systems ready'
68
+ });
69
+
70
+ const action = XUtils.XTemplate.button({
71
+ label: 'Refresh',
72
+ onClick: () => window.location.reload()
73
+ });
74
+ ```
75
+
76
+ Current recipes:
77
+
78
+ | Recipe | Description |
79
+ |--------|-------------|
80
+ | `card(opts)` | creates a simple card structure |
81
+ | `button(opts)` | creates a button |
82
+ | `modal(opts)` | creates a simple modal structure |
83
+
84
+ ## Contract
85
+
86
+ - `x-utils` exists as a manifest entry, but remains a utility module.
87
+ - It does not register `customElements.define()`.
88
+ - `docs/components/xutils.md` is the canonical docs slug for the source
89
+ basename `xutils.js`.
90
+ - Runtime tag and manifest key remain `x-utils` for the Catalog Matrix.
91
+
92
+ ## Utility Boundary Contract
93
+
94
+ Since `WP-E12-09`, `x-utils` is gateable as a non-visual utility boundary:
95
+
96
+ - Utility Schema: `xtend.utility.module-contract.v1`
97
+ - Import Policy Schema: `xtend.utility.import-policy.v1`
98
+ - Import Policy Result Schema: `xtend.utility.import-policy-result.v1`
99
+ - Boundary Probe Schema: `xtend.utility.boundary-probe.v1`
100
+ - Kernel Boundary: `no-rmt-kernel-import-of-xtend-types`
101
+
102
+ The runtime provides three explicit contract APIs:
103
+
104
+ | Method | Description |
105
+ |--------|-------------|
106
+ | `getUtilityContract()` | returns categories, exports, globals, and methods of the utility surface |
107
+ | `snapshotUtilityContract()` | returns a stable boundary snapshot for fixtures and catalog gates |
108
+ | `assertLocalImport(specifier)` | checks whether an import specifier is local and policy-compliant |
109
+
110
+ ```js
111
+ const local = XUtils.assertLocalImport('/components/xbutton.js');
112
+ const blocked = XUtils.assertLocalImport('https://cdn.ccs-networks.de/xtend/components/xstate.js');
113
+
114
+ console.log(local.allowed); // true
115
+ console.log(blocked.allowed); // false
116
+ ```
117
+
118
+ `assertLocalImport()` also dispatches `xutils:import-policy-check` in the
119
+ browser. The event is intended for test, Fabric, and security harnesses; the
120
+ RMT kernel still does not import `x-utils`.
121
+
122
+ ## UI Effects Boundary
123
+
124
+ Since `xtend.utility.ui-effects.v1`, `x-utils` encapsulates opt-in effects that
125
+ can influence the app shell. The global loader no longer hides the body by
126
+ default. Fade-in must be explicitly enabled:
127
+
128
+ ```html
129
+ <body xt-ui-effects="fade-in">
130
+ ```
131
+
132
+ RMT hosts can describe the same effect as a non-visual intent:
133
+
134
+ ```json
135
+ {
136
+ "id": "app.ui-effects",
137
+ "kind": "ui_effects",
138
+ "tag": "ui-effects",
139
+ "props": {
140
+ "effect": "fade-in"
141
+ }
142
+ }
143
+ ```
144
+
145
+ The host side remains the place of execution. RMT describes only the intent;
146
+ `XUtils.prepareUiEffects()` and `XUtils.releaseUiEffects()` set the DOM
147
+ attributes `data-xt-ui-effects`, `data-xt-ui-effects-state`, and
148
+ `data-xt-ui-effects-ready`. For environments without RMT, the body attribute is
149
+ enough. For shell-first apps that want no effect, no attribute is needed, or
150
+ `xt-ui-effects="none"` can be set explicitly.
151
+
152
+ ## Notes
153
+
154
+ - New components should prefer their own component APIs and XTend-Fabric gates
155
+ for productive UI contracts.
156
+ - `x-utils` remains a small helper-module path for existing code, demos, and
157
+ simple DOM work.
158
+ - Suite, fixture, and utility typing have existed since `WP-E12-09`.
159
+ - Since `WP-E13-05`, `x-utils` is classified as `closed-as-utility-boundary`.
160
+ A separate visual performance profile is not an open RC1 task for this
161
+ utility boundary.
@@ -0,0 +1,106 @@
1
+ # xwriter - XTend Component
2
+
3
+ > **See also:** [xcode](./xcode.md), [xinput](./xinput.md)
4
+
5
+ ## Overview
6
+
7
+ `<x-writer>` is a component for rich-text editing and simple WYSIWYG editors.
8
+ It supports formatting, theming, state integration, autosave, export, and API
9
+ integration.
10
+
11
+ ---
12
+
13
+ ## Features
14
+
15
+ - Rich-text editing (bold, italic, lists, links, colors, sizes)
16
+ - State integration through xstate
17
+ - Theming through CSS custom properties
18
+ - Autosave (local or API)
19
+ - Export as Markdown/HTML
20
+ - Drag and drop for images/text
21
+ - API integration (save to server)
22
+
23
+ ---
24
+
25
+ ## Usage
26
+
27
+ ```html
28
+ <x-writer></x-writer>
29
+ ```
30
+
31
+ ---
32
+
33
+ ## Attributes
34
+
35
+ | Attribute | Type | Description |
36
+ |-----------|------|-------------|
37
+ | `value` | String | initial text content (property, not attribute) |
38
+ | `api` | String | API endpoint for saving, for example `/api/save` or `local` for LocalStorage |
39
+ | `method` | String | HTTP method for API (default: `POST`) |
40
+ | `autosave` | Number | autosave interval in ms, for example `10000` for 10s |
41
+ | `storage-key` | String | key for LocalStorage (default: `xwriter-content`) |
42
+
43
+ ---
44
+
45
+ ## Events
46
+
47
+ | Event | Description |
48
+ |-------|-------------|
49
+ | `writer:change` | emitted on text change, detail: `{html, markdown, plain}` |
50
+ | `writer:save` | after save (local/API), detail: `{status, response}` |
51
+ | `writer:autosave` | after autosave |
52
+ | `writer:export` | after export, detail: `{filename, success}` |
53
+ | `writer:error` | on errors, detail: `{error}` |
54
+
55
+ ---
56
+
57
+ ## API
58
+
59
+ - **Set/read text:** `element.value = 'Text'` (property, not attribute)
60
+ - **State integration:** automatic through xstate
61
+ - **Save:**
62
+ - Local: `<x-writer api="local"></x-writer>`
63
+ - API: `<x-writer api="/api/save" method="POST"></x-writer>`
64
+ - **Export:** through export button (Markdown/HTML)
65
+
66
+ ## Form Controls UX from WP-E11-08
67
+
68
+ `<x-writer>` exposes `xtendFormControlUxProfile` with
69
+ `xtend.component.form-control-ux-profile.v1`. The profile describes rich text
70
+ as a form-control-adjacent UX surface with `writer:change`, `writer:error`,
71
+ `xwriter-content`, `component.idle.hydrate`, Fabric lane `idle`, and RMT shell
72
+ authoring. `x-form` can consume `writer:change` and aggregate the value into
73
+ `xform-data-<id>`.
74
+
75
+ ---
76
+
77
+ ## Example: Dynamic JS
78
+
79
+ ```js
80
+ const writer = document.createElement('x-writer');
81
+ writer.value = 'Hello world!';
82
+ document.body.appendChild(writer);
83
+ ```
84
+
85
+ ---
86
+
87
+ ## Styling and Theming
88
+
89
+ ```css
90
+ x-writer {
91
+ --writer-bg: #fff;
92
+ --writer-color: #222;
93
+ /* See CSS for more custom properties */
94
+ }
95
+ ```
96
+
97
+ ---
98
+
99
+ ## Accessibility
100
+
101
+ - Semantic HTML, ARIA
102
+ - Keyboard operation
103
+
104
+ ---
105
+
106
+ *Last updated: July 16, 2025*
@@ -0,0 +1,151 @@
1
+ # Component Development with XTend
2
+
3
+ XTend components are reusable Web Components. In RMT-first apps they are not
4
+ the app architecture itself: RMT describes the shell, state, actions, events,
5
+ surfaces, and scheduling; XTend Components materialize the visible UI.
6
+
7
+ See also [x-router](./components/xrouter.md), [x-link](./components/xlink.md),
8
+ and the [RMT vNext Authoring Guide](./rmt-vnext-authoring.md).
9
+
10
+ ## Core Principles
11
+
12
+ - Every visual component is an ES module and is loaded through the manifest.
13
+ - The manifest key is the canonical runtime and catalog name.
14
+ - For Custom Elements, the tag name matches the manifest key, for example
15
+ `x-button`, `x-input`, `x-summary`.
16
+ - Existing source files follow the module basename without the hyphen, for
17
+ example `xbutton.js` for `x-button`.
18
+ - Components remain independent, configurable, and host-neutral.
19
+ - RMT can reference, mount, hydrate, and connect components to events, but it
20
+ does not import them into the kernel.
21
+
22
+ ## Role in RMT-Authored Apps
23
+
24
+ | Layer | Responsibility |
25
+ | --- | --- |
26
+ | RMT vNext | describes app shell, surfaces, state, actions, events, and lanes |
27
+ | XTend Component | renders UI and encapsulates Shadow DOM, attributes, properties, and events |
28
+ | Host Adapter | connects RMT records to real Custom Elements and browser DOM |
29
+ | Fabric | runs hydration, render, user-blocking, and idle work as fibers |
30
+
31
+ An RMT surface can, for example, declare `component x-cards`. The host adapter
32
+ loads `x-cards` through the manifest, mounts the Custom Element, and wires event
33
+ payloads into RMT actions.
34
+
35
+ The RMT vNext Component Capability Registry makes this adapter path generic. It
36
+ reads the manifest, Component Contracts, `xtendRmtMetadata`,
37
+ `observedAttributes`, events, slots, parts, form association, accessibility
38
+ profiles, and performance profiles, then exposes capabilities for every public
39
+ manifest component. New components remain normal Web Components; RMT
40
+ compatibility depends on stable public contracts instead of host monkeypatching.
41
+
42
+ ## Component Structure
43
+
44
+ A typical component contains:
45
+
46
+ - a class that extends `HTMLElement` or a local base class
47
+ - Shadow DOM or controlled Light DOM
48
+ - styles through CSS custom properties, parts, or local Shadow DOM rules
49
+ - attributes and properties for configuration
50
+ - custom events for communication
51
+ - registration through `customElements.define(...)`
52
+
53
+ ### Minimal Example
54
+
55
+ ```js
56
+ class XButton extends HTMLElement {
57
+ constructor() {
58
+ super();
59
+ this.attachShadow({ mode: 'open' });
60
+ this.shadowRoot.innerHTML = `
61
+ <button part="button"><slot></slot></button>
62
+ <style>
63
+ :host { display: inline-flex; }
64
+ button { padding: 0.5rem 0.75rem; }
65
+ </style>
66
+ `;
67
+ }
68
+ }
69
+
70
+ customElements.define('x-button', XButton);
71
+ ```
72
+
73
+ ## Naming Rules
74
+
75
+ | Layer | Rule | Example |
76
+ | --- | --- | --- |
77
+ | Manifest key | canonical runtime and catalog name | `x-summary` |
78
+ | Custom Element tag | identical to the manifest key | `<x-summary>` |
79
+ | Source file | module basename from the manifest path | `xsummary.js` |
80
+ | Component docs | source basename plus `.md` | `docs/components/xsummary.md` |
81
+ | Docs menu slug | `components-` plus source basename | `components-xsummary` |
82
+
83
+ Exceptions stay intentionally small: `xstate` is a platform state module,
84
+ `x-utils` is a utility module without a Custom Element, and `x-theme` provides
85
+ the theme facade.
86
+
87
+ ## Best Practices
88
+
89
+ - Use Shadow DOM, parts, and CSS custom properties for encapsulation and
90
+ theming.
91
+ - Keep attributes, properties, and events stable and documented.
92
+ - Dispatch events with clear `detail` payloads so RMT actions can consume them
93
+ safely.
94
+ - Avoid global DOM assumptions in components; app structure belongs in RMT.
95
+ - Use `x-icon` for local icons, icon packs, and controlled URL sources.
96
+ - Plan hydration deliberately: visible UI belongs in visible lanes, less urgent
97
+ work belongs in idle or lazy paths.
98
+
99
+ ## Example with Attribute and Event
100
+
101
+ ```js
102
+ class XCounterButton extends HTMLElement {
103
+ static get observedAttributes() {
104
+ return ['value'];
105
+ }
106
+
107
+ constructor() {
108
+ super();
109
+ this.attachShadow({ mode: 'open' });
110
+ this.shadowRoot.innerHTML = `
111
+ <button part="button" type="button"></button>
112
+ `;
113
+ this.shadowRoot.querySelector('button').addEventListener('click', () => {
114
+ const value = Number(this.getAttribute('value') || 0) + 1;
115
+ this.setAttribute('value', String(value));
116
+ this.dispatchEvent(new CustomEvent('counter-change', {
117
+ bubbles: true,
118
+ detail: { value }
119
+ }));
120
+ });
121
+ }
122
+
123
+ attributeChangedCallback() {
124
+ const button = this.shadowRoot && this.shadowRoot.querySelector('button');
125
+ if (button) button.textContent = `Counter ${this.getAttribute('value') || 0}`;
126
+ }
127
+ }
128
+
129
+ customElements.define('x-counter-button', XCounterButton);
130
+ ```
131
+
132
+ In RMT, this event can be bound to an action as
133
+ `on counter-change -> action ...`.
134
+
135
+ ## Testing and Debugging
136
+
137
+ - Components can be tested directly in HTML.
138
+ - Use `xtend-loader.js` and the local dev server for manual tests.
139
+ - Use RMT surfaces when you want to test component behavior in the app
140
+ lifecycle.
141
+ - For API and typing questions, see [Public Component Types](./public-component-types.md).
142
+
143
+ ## Related Topics
144
+
145
+ - [Manifest Format](./manifest.md)
146
+ - [XTend Loader](./xtend-loader.md)
147
+ - [RMT vNext Authoring Guide](./rmt-vnext-authoring.md)
148
+ - [RMT vNext Component Primitives and XTend UI](./rmt-vnext-component-primitives.md)
149
+ - [Component Platform](./component-platform.md)
150
+ - [Component UX Authoring](./component-ux-authoring.md)
151
+ - [API Integration](./api.md)
@@ -0,0 +1,38 @@
1
+ # Conditional Network Evidence CI
2
+
3
+ Contract: `xtend.epic13.conditional-network-evidence-ci.v1`
4
+
5
+ Status: `accepted-conditional-network-evidence-ci`
6
+
7
+ Workpackage: `DPF-WP-03-conditional-network-evidence-ci`
8
+
9
+ ## Goal
10
+
11
+ This package productizes audit and SBOM evidence for CI and release owners. The local gate remains network-free; the CI job can run `npm audit --audit-level=moderate` and `npm sbom --sbom-format=cyclonedx --json`, or write an owner deferral in the `xtend.epic13.conditional-network-deferral.v1` format when network access is unavailable.
12
+
13
+ ## Local Gate
14
+
15
+ ```bash
16
+ node scripts/run_xtend_tests.js epic13-conditional-network-evidence-ci --json
17
+ npm run test:epic13-conditional-network-evidence-ci
18
+ ```
19
+
20
+ ## Capture
21
+
22
+ ```bash
23
+ npm run conditional-network:evidence
24
+ ```
25
+
26
+ Without `XTEND_CONDITIONAL_NETWORK_EXECUTE=1`, the capture writes local deferral artifacts. In CI, `.github/workflows/xtend-default-gates.yml` sets `XTEND_CONDITIONAL_NETWORK_EXECUTE=1`, installs workspace links via `npm ci --ignore-scripts --no-audit --fund=false`, uses `XTEND_CONDITIONAL_NETWORK_USE_NPX_NPM10=1` for stable SBOM output and uploads the artifacts:
27
+
28
+ - `.xtend-test-results/xtend-npm-audit-report.json`
29
+ - `.xtend-test-results/xtend-npm-sbom.json`
30
+ - `.xtend-test-results/xtend-conditional-network-evidence-report.json`
31
+
32
+ ## Boundaries
33
+
34
+ Dependency upgrades, vulnerability fixes and public publish are not included. Publish remains blocked by `private-until-release-owner-acceptance` until audit/SBOM has been executed or accepted as deferred by the owner.
35
+
36
+ The separate GitHub Actions job `npm-publish-next` runs through `workflow_dispatch` with `publish_to_npm=true` or after `release: published` and allows no deferrals: it sets `XTEND_CONDITIONAL_NETWORK_ALLOW_DEFERRAL=0`, repeats `release:report`, pack and audit/SBOM evidence, and then runs `npm publish --tag next --provenance --access public`.
37
+
38
+ The next step is `DPF-WP-04-visual-pixel-evidence-storage`.
@@ -0,0 +1,50 @@
1
+ # Conditional Network Evidence
2
+
3
+ `xtend.epic13.conditional-network-evidence.v1` describes how RC1 handles network gates without blocking local development.
4
+
5
+ Local gate:
6
+
7
+ ```bash
8
+ node scripts/run_xtend_tests.js epic13-conditional-network-evidence --json
9
+ ```
10
+
11
+ or:
12
+
13
+ ```bash
14
+ npm run test:epic13-conditional-network-evidence
15
+ ```
16
+
17
+ ## Commands
18
+
19
+ | Command | Artifact |
20
+ |---------|----------|
21
+ | `npm audit --audit-level=moderate` | `.xtend-test-results/xtend-npm-audit-report.json` |
22
+ | `npm sbom --sbom-format=cyclonedx --json` | `.xtend-test-results/xtend-npm-sbom.json` |
23
+
24
+ The aggregated report is stored at `.xtend-test-results/xtend-conditional-network-evidence-report.json`.
25
+
26
+ ## Local Behavior
27
+
28
+ The local gate does not automatically execute the network commands. Instead, it verifies that XTend has a stable evidence/deferral format for offline, sandbox and CI environments.
29
+
30
+ As of `DPF-WP-03`, [Conditional Network Evidence CI](./conditional-network-evidence-ci.md) productizes the CI job and capture command `npm run conditional-network:evidence` under `xtend.epic13.conditional-network-evidence-ci.v1`. The job can execute the audit/SBOM commands or place owner deferrals in the same artifact paths.
31
+
32
+ Default reason for local deferrals:
33
+
34
+ ```text
35
+ network-restricted-local-default
36
+ ```
37
+
38
+ Other allowed reasons:
39
+
40
+ - `sandbox-network-unavailable`
41
+ - `registry-auth-unavailable`
42
+ - `owner-approved-offline-run`
43
+
44
+ ## Publish Boundary
45
+
46
+ `private-until-release-owner-acceptance` remains active. Deferred network evidence is a review signal, but not a publish approval.
47
+
48
+ `WP-E13-04` is complete. [Package Export Lock](./package-export-lock.md) describes how `npm run pack:dry-run` and the export surface are locked for RC1. `WP-E13-05` is complete; `WP-E13-06` completed the [Hydration Performance Closure](./hydration-performance-closure.md). `WP-E13-07` prepared the [PROD Browser CSP Smokes](./prod-browser-csp-smokes.md). `WP-E13-08` normalized [Visual Owner Artifacts](./visual-owner-artifacts.md). `WP-E13-09` can now start.
49
+
50
+ Further reading: [Release Owner Acceptance](./release-owner-acceptance.md).
@@ -0,0 +1,110 @@
1
+ # XTend Core Migration Guide
2
+
3
+ ## Overview
4
+
5
+ This guide summarizes the production Core standards from Epic 01. It serves as a migration aid for legacy call sites and as a reference for new XTend Core changes.
6
+
7
+ ## Verification
8
+
9
+ The current Core contract can be verified automatically:
10
+
11
+ ```bash
12
+ node scripts/verify_xtend_core_contracts.js
13
+ ```
14
+
15
+ ## Runtime Standards
16
+
17
+ - `window.XTend.compliance` provides the checklist, contract overview and theme tokens.
18
+ - central design tokens are registered per theme through `xtheme` and mirrored onto `document.documentElement`.
19
+ - overlay and feedback components respect `prefers-reduced-motion`, focus standards and canonical XTend state keys.
20
+
21
+ ## RMT Templating Migration Starting with Epic 04
22
+
23
+ RMT templating is additive and opt-in. Existing XTend apps, classic HTML/JS integrations and existing Web Component usage remain valid. An app only uses XTendRMT when it deliberately registers an `.rmt` document, an RMT root handshake, a template record or a host adapter.
24
+
25
+ The binding migration note is in `development/XTendRMT-Migrations-und-Framework-Agnostik-Leitplanken.md`.
26
+ The current product overview is in `docs/xtendrmt-overview.md`. The production native authoring model starting with Epic 05 is in `docs/xtendrmt-native-authoring.md`; the App DSL reference is in `docs/xtendrmt-app-dsl.md`; Runtime Bridge and adapters are described in `docs/xtendrmt-runtime-bridge.md`. The migration from metadata paths to top-level domains is in `docs/xtendrmt-migration-guide.md`.
27
+
28
+ | Starting Point | Migration Path |
29
+ |----------------|----------------|
30
+ | XTend-only app | keep running unchanged; activate RMT only for new roots or template pilots |
31
+ | XTend with XRouter | prepare route records, production adapter execution in Epic 05 |
32
+ | XTend next to React/Vue | use RMT as scheduler or template transport, keep host adapters separate |
33
+ | Vanilla or custom host | declare custom scheduler endpoints, assume no XTend capabilities |
34
+ | Legacy demo | classify and verify, do not silently turn it into the RMT product contract |
35
+
36
+ Review rules for RMT-compatible changes:
37
+
38
+ - no XTend runtime imports in the RMT kernel
39
+ - no forced migration for existing apps
40
+ - no new XTend template language beside RMT
41
+ - `kernelVisible: false` for XTend-specific adapter data
42
+ - use production bridge factories instead of private demo bridge logic
43
+ - historical scaffold artifacts with `bridgeRuntime: reserved-for-Epic-05` remain readable as the Epic 04 handoff, but are no longer the operative bridge status
44
+ - `node scripts/run_xtend_tests.js rmt-compatibility --json` and `node scripts/run_xtend_tests.js references --json` as minimum gates
45
+
46
+ ## Native RMT Routes and Components Starting with Epic 05
47
+
48
+ New App DSL documents should keep operative routing, component and scheduling data in native top-level domains:
49
+
50
+ - `manifest.metadata.routes -> routes`
51
+ - `manifest.metadata.components -> components`
52
+ - `manifest.metadata.schedules -> schedules`
53
+ - `xtend.xrouter` remains the router adapter
54
+ - `xtend.component` remains the component adapter
55
+ - `rmt.state-scheduler-diagnostics` remains the bridge adapter
56
+
57
+ `manifest.metadata` remains valid for description, handoff and historical demo notes, but should not carry new operative route or component bridges. Template-only documents remain compatible.
58
+
59
+ Production execution uses:
60
+
61
+ - `createRmtFormat().normalizeDocument(...)`
62
+ - `createRmtFormat().createRuntimeRegistries(...)`
63
+ - `createRmtXRouterAdapter(...)`
64
+ - `createRmtXtendComponentAdapter(...)`
65
+ - `createRmtStateSchedulerDiagnosticsBridge(...)`
66
+
67
+ The Docs App itself remains Parsedown-based, but now renders its app shell shell-first from RMT. The scheduling and shell path has been described as the official pilot since `ER-WP-40` in `docs/xtendrmt-parsedown-scheduling.md` and `docs/xtendrmt-parsedown-docs.rmt`.
68
+
69
+ ## Legacy to Canonical
70
+
71
+ | Area | Legacy | Canonical | Status |
72
+ |------|--------|-----------|--------|
73
+ | Dialog Open | `dialog-open-<id>` | `xtend.component.x-dialog.<id>.open` | Legacy remains compatible |
74
+ | Dialog Open | `xdialog-open-<id>` | `xtend.component.x-dialog.<id>.open` | Legacy remains compatible |
75
+ | Modal Open | `modal-open-<id>` | `xtend.component.x-modal.<id>.open` | Legacy remains compatible |
76
+ | Theme Current | `theme` | `xtend.theme.current` | both are mirrored |
77
+ | Theme List | `themes` | `xtend.theme.available` | both are mirrored |
78
+ | Router Last Navigation | `router-navigated` | `xtend.router.lastNavigated` | both are mirrored |
79
+ | Alert State | `xalert-state-<id>` | `xtend.component.x-alert.<id>` | Legacy remains compatible |
80
+
81
+ ## What New Core Changes Must Consider
82
+
83
+ - new UI flows need an explicit `xstate` twin
84
+ - docs, API, type definitions and runtime must use the same contract
85
+ - new components or larger Core changes must run against the compliance checklist and the verification script
86
+
87
+ ## Design Tokens
88
+
89
+ The central tokens come from `xtheme` and can be adjusted per theme:
90
+
91
+ - `--xtend-color-primary`
92
+ - `--xtend-color-primary-dark`
93
+ - `--xtend-color-accent`
94
+ - `--xtend-glass-bg`
95
+ - `--xtend-glass-blur`
96
+ - `--xtend-shadow`
97
+ - `--xtend-border`
98
+ - `--xtend-radius`
99
+ - `--xtend-font-family`
100
+ - `--xtend-focus-outline`
101
+ - `--xtend-surface`
102
+ - `--xtend-surface-muted`
103
+ - `--xtend-text`
104
+ - `--xtend-overlay-bg`
105
+
106
+ ## Notes for Existing Integrations
107
+
108
+ - Existing legacy open flags for dialog and modal do not have to be removed immediately, but should no longer be introduced in new code.
109
+ - New API-near integrations should prefer `window.XTend.*` over unnamespaced helpers.
110
+ - For Core reviews, the checklist in `development/XTend-Core-Compliance-Checklist.md` is the operative source.