@ccslabs/xtend 0.1.0-rc.1

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 (664) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/LICENSE +201 -0
  3. package/README.md +184 -0
  4. package/a11y/motion-contrast-policy.d.ts +32 -0
  5. package/a11y/motion-contrast-policy.js +261 -0
  6. package/a11y/runtime-a11y-contract.d.ts +44 -0
  7. package/a11y/runtime-a11y-contract.js +385 -0
  8. package/a11y/screenreader-signals.d.ts +32 -0
  9. package/a11y/screenreader-signals.js +372 -0
  10. package/api.d.ts +168 -0
  11. package/api.js +864 -0
  12. package/catalog/catalog-public-types.d.ts +66 -0
  13. package/catalog/component-catalog-coverage.d.ts +20 -0
  14. package/catalog/component-catalog-coverage.js +377 -0
  15. package/catalog/component-long-tail-migration.d.ts +18 -0
  16. package/catalog/component-long-tail-migration.js +305 -0
  17. package/catalog/component-regression-priority.d.ts +20 -0
  18. package/catalog/component-regression-priority.js +305 -0
  19. package/catalog/enterprise-component-flex-release-handoff.d.ts +32 -0
  20. package/catalog/enterprise-component-flex-release-handoff.js +437 -0
  21. package/catalog/enterprise-component-style-audit.d.ts +22 -0
  22. package/catalog/enterprise-component-style-audit.js +353 -0
  23. package/catalog/enterprise-form-control-theme-a11y.d.ts +19 -0
  24. package/catalog/enterprise-form-control-theme-a11y.js +220 -0
  25. package/catalog/enterprise-icon-control-audit.d.ts +21 -0
  26. package/catalog/enterprise-icon-control-audit.js +258 -0
  27. package/catalog/enterprise-layout-display-media-tokenization.d.ts +20 -0
  28. package/catalog/enterprise-layout-display-media-tokenization.js +237 -0
  29. package/catalog/enterprise-navigation-routing-state-hardening.d.ts +20 -0
  30. package/catalog/enterprise-navigation-routing-state-hardening.js +255 -0
  31. package/catalog/enterprise-overlay-mode-token-parity.d.ts +15 -0
  32. package/catalog/enterprise-overlay-mode-token-parity.js +178 -0
  33. package/catalog/enterprise-third-party-authoring-guide.d.ts +23 -0
  34. package/catalog/enterprise-third-party-authoring-guide.js +310 -0
  35. package/catalog/enterprise-visual-dom-snapshot-matrix.d.ts +31 -0
  36. package/catalog/enterprise-visual-dom-snapshot-matrix.js +357 -0
  37. package/catalog/epic10-existing-component-metadata.d.ts +25 -0
  38. package/catalog/epic10-existing-component-metadata.js +534 -0
  39. package/catalog/epic10-p0-component-wave.d.ts +28 -0
  40. package/catalog/epic10-p0-component-wave.js +688 -0
  41. package/catalog/epic10-platform-gates.d.ts +31 -0
  42. package/catalog/epic10-platform-gates.js +425 -0
  43. package/catalog/epic10-release-handoff.d.ts +30 -0
  44. package/catalog/epic10-release-handoff.js +195 -0
  45. package/catalog/epic11-enterprise-ux-handoff.d.ts +29 -0
  46. package/catalog/epic11-enterprise-ux-handoff.js +403 -0
  47. package/catalog/epic12-docs-adoption.d.ts +29 -0
  48. package/catalog/epic12-docs-adoption.js +183 -0
  49. package/catalog/epic12-rc0-gate-matrix.d.ts +36 -0
  50. package/catalog/epic12-rc0-gate-matrix.js +439 -0
  51. package/catalog/epic12-rc0-handoff.d.ts +30 -0
  52. package/catalog/epic12-rc0-handoff.js +385 -0
  53. package/catalog/epic13-conditional-network-evidence-ci.d.ts +35 -0
  54. package/catalog/epic13-conditional-network-evidence-ci.js +278 -0
  55. package/catalog/epic13-conditional-network-evidence.d.ts +34 -0
  56. package/catalog/epic13-conditional-network-evidence.js +280 -0
  57. package/catalog/epic13-docs-rmt-production-hardening.d.ts +39 -0
  58. package/catalog/epic13-docs-rmt-production-hardening.js +286 -0
  59. package/catalog/epic13-hydration-performance-closure.d.ts +33 -0
  60. package/catalog/epic13-hydration-performance-closure.js +234 -0
  61. package/catalog/epic13-known-residual-triage.d.ts +32 -0
  62. package/catalog/epic13-known-residual-triage.js +339 -0
  63. package/catalog/epic13-package-export-lock.d.ts +41 -0
  64. package/catalog/epic13-package-export-lock.js +604 -0
  65. package/catalog/epic13-prod-browser-csp-smoke.d.ts +35 -0
  66. package/catalog/epic13-prod-browser-csp-smoke.js +218 -0
  67. package/catalog/epic13-rc1-gate-matrix-ci-handoff.d.ts +36 -0
  68. package/catalog/epic13-rc1-gate-matrix-ci-handoff.js +418 -0
  69. package/catalog/epic13-rc1-migration-notes.d.ts +36 -0
  70. package/catalog/epic13-rc1-migration-notes.js +271 -0
  71. package/catalog/epic13-rc1-readiness.d.ts +33 -0
  72. package/catalog/epic13-rc1-readiness.js +487 -0
  73. package/catalog/epic13-release-owner-acceptance.d.ts +33 -0
  74. package/catalog/epic13-release-owner-acceptance.js +354 -0
  75. package/catalog/epic13-release-report-pack-dry-run-evidence.d.ts +36 -0
  76. package/catalog/epic13-release-report-pack-dry-run-evidence.js +253 -0
  77. package/catalog/epic13-rmt-production-readiness.d.ts +35 -0
  78. package/catalog/epic13-rmt-production-readiness.js +314 -0
  79. package/catalog/epic13-trusted-dom-boundary.d.ts +36 -0
  80. package/catalog/epic13-trusted-dom-boundary.js +230 -0
  81. package/catalog/epic13-visual-owner-artifact.d.ts +35 -0
  82. package/catalog/epic13-visual-owner-artifact.js +233 -0
  83. package/catalog/epic14-lsp-handoff.d.ts +28 -0
  84. package/catalog/epic14-lsp-handoff.js +312 -0
  85. package/catalog/epic14-rmt-tooling.d.ts +33 -0
  86. package/catalog/epic14-rmt-tooling.js +282 -0
  87. package/catalog/surface-manager-adapter-runtime.d.ts +37 -0
  88. package/catalog/surface-manager-adapter-runtime.js +203 -0
  89. package/catalog/surface-manager-browser-lab.d.ts +39 -0
  90. package/catalog/surface-manager-browser-lab.js +225 -0
  91. package/catalog/surface-manager-controller.d.ts +43 -0
  92. package/catalog/surface-manager-controller.js +290 -0
  93. package/catalog/surface-manager-layout-engines.d.ts +32 -0
  94. package/catalog/surface-manager-layout-engines.js +161 -0
  95. package/catalog/surface-manager-lazy-loading.d.ts +35 -0
  96. package/catalog/surface-manager-lazy-loading.js +173 -0
  97. package/catalog/surface-manager-materialization.d.ts +37 -0
  98. package/catalog/surface-manager-materialization.js +202 -0
  99. package/catalog/surface-manager-native-rmt-surfaces.d.ts +48 -0
  100. package/catalog/surface-manager-native-rmt-surfaces.js +325 -0
  101. package/catalog/surface-manager-overlay-bridge.d.ts +42 -0
  102. package/catalog/surface-manager-overlay-bridge.js +247 -0
  103. package/catalog/surface-manager-persistence.d.ts +37 -0
  104. package/catalog/surface-manager-persistence.js +178 -0
  105. package/catalog/surface-manager-quality-gates.d.ts +48 -0
  106. package/catalog/surface-manager-quality-gates.js +324 -0
  107. package/catalog/surface-manager-release-handoff.d.ts +47 -0
  108. package/catalog/surface-manager-release-handoff.js +274 -0
  109. package/catalog/surface-manager-remote-policy.d.ts +34 -0
  110. package/catalog/surface-manager-remote-policy.js +199 -0
  111. package/catalog/surface-manager-rmt-authoring.d.ts +44 -0
  112. package/catalog/surface-manager-rmt-authoring.js +368 -0
  113. package/catalog/surface-manager-route-lifecycle.d.ts +32 -0
  114. package/catalog/surface-manager-route-lifecycle.js +162 -0
  115. package/catalog/surface-manager-runtime-release-handoff.d.ts +36 -0
  116. package/catalog/surface-manager-runtime-release-handoff.js +245 -0
  117. package/catalog/surface-manager-side-panel-runtime.d.ts +46 -0
  118. package/catalog/surface-manager-side-panel-runtime.js +307 -0
  119. package/catalog/surface-manager-stack-policy.d.ts +32 -0
  120. package/catalog/surface-manager-stack-policy.js +169 -0
  121. package/catalog/surface-manager-window-runtime.d.ts +45 -0
  122. package/catalog/surface-manager-window-runtime.js +285 -0
  123. package/catalog/surface-manager-workbench-fixture.d.ts +50 -0
  124. package/catalog/surface-manager-workbench-fixture.js +315 -0
  125. package/catalog/type-exports-api.js +236 -0
  126. package/catalog/type-exports-builder.js +405 -0
  127. package/catalog/type-exports-catalog.js +394 -0
  128. package/catalog/type-exports-loader.js +266 -0
  129. package/catalog/type-exports-policy.js +461 -0
  130. package/catalog/type-exports-rmt.js +407 -0
  131. package/catalog/type-exports-vendor.js +365 -0
  132. package/catalog/type-exports.js +574 -0
  133. package/components/icon-packs/core.js +154 -0
  134. package/components/icon-packs/lucide.js +136 -0
  135. package/components/manifest.json +44 -0
  136. package/components/prism.d.ts +73 -0
  137. package/components/prism.js +300 -0
  138. package/components/turndown.d.ts +34 -0
  139. package/components/turndown.js +107 -0
  140. package/components/x-rmt-lifecycle-demo-build.d.ts +78 -0
  141. package/components/x-rmt-lifecycle-demo-build.js +1175 -0
  142. package/components/x-rmt-lifecycle-demo.d.ts +83 -0
  143. package/components/x-rmt-lifecycle-demo.js +1175 -0
  144. package/components/xalert.d.ts +42 -0
  145. package/components/xalert.js +538 -0
  146. package/components/xbutton.d.ts +127 -0
  147. package/components/xbutton.js +612 -0
  148. package/components/xcalendar.d.ts +39 -0
  149. package/components/xcalendar.js +338 -0
  150. package/components/xcards.d.ts +34 -0
  151. package/components/xcards.js +253 -0
  152. package/components/xcheckbox.d.ts +48 -0
  153. package/components/xcheckbox.js +448 -0
  154. package/components/xcode.d.ts +35 -0
  155. package/components/xcode.js +370 -0
  156. package/components/xdialog.d.ts +48 -0
  157. package/components/xdialog.js +763 -0
  158. package/components/xdrawer.d.ts +61 -0
  159. package/components/xdrawer.js +654 -0
  160. package/components/xfooter.d.ts +41 -0
  161. package/components/xfooter.js +351 -0
  162. package/components/xform.d.ts +43 -0
  163. package/components/xform.js +456 -0
  164. package/components/xheader.d.ts +68 -0
  165. package/components/xheader.js +1253 -0
  166. package/components/xhero.d.ts +42 -0
  167. package/components/xhero.js +475 -0
  168. package/components/xicon.d.ts +146 -0
  169. package/components/xicon.js +688 -0
  170. package/components/xinput.d.ts +37 -0
  171. package/components/xinput.js +444 -0
  172. package/components/xlightbox.d.ts +48 -0
  173. package/components/xlightbox.js +571 -0
  174. package/components/xlink.d.ts +63 -0
  175. package/components/xlink.js +565 -0
  176. package/components/xmasonry.d.ts +35 -0
  177. package/components/xmasonry.js +666 -0
  178. package/components/xmenu.d.ts +118 -0
  179. package/components/xmenu.js +1005 -0
  180. package/components/xmodal.d.ts +64 -0
  181. package/components/xmodal.js +831 -0
  182. package/components/xplayer.d.ts +57 -0
  183. package/components/xplayer.js +1748 -0
  184. package/components/xpopover.d.ts +54 -0
  185. package/components/xpopover.js +466 -0
  186. package/components/xprogress.d.ts +40 -0
  187. package/components/xprogress.js +345 -0
  188. package/components/xradio.d.ts +50 -0
  189. package/components/xradio.js +474 -0
  190. package/components/xrouter.d.ts +244 -0
  191. package/components/xrouter.js +1841 -0
  192. package/components/xsection.d.ts +34 -0
  193. package/components/xsection.js +253 -0
  194. package/components/xselect.d.ts +46 -0
  195. package/components/xselect.js +463 -0
  196. package/components/xsidepanel.d.ts +56 -0
  197. package/components/xsidepanel.js +728 -0
  198. package/components/xspinner.d.ts +38 -0
  199. package/components/xspinner.js +388 -0
  200. package/components/xstate.d.ts +137 -0
  201. package/components/xstate.js +493 -0
  202. package/components/xstatus.d.ts +41 -0
  203. package/components/xstatus.js +381 -0
  204. package/components/xsummary.d.ts +43 -0
  205. package/components/xsummary.js +293 -0
  206. package/components/xsurfacemanager-controller.d.ts +130 -0
  207. package/components/xsurfacemanager-controller.js +699 -0
  208. package/components/xsurfacemanager.d.ts +452 -0
  209. package/components/xsurfacemanager.js +3775 -0
  210. package/components/xsurfaceoverlay-bridge.d.ts +43 -0
  211. package/components/xsurfaceoverlay-bridge.js +238 -0
  212. package/components/xsurfacewindow.d.ts +50 -0
  213. package/components/xsurfacewindow.js +576 -0
  214. package/components/xtabs.d.ts +73 -0
  215. package/components/xtabs.js +611 -0
  216. package/components/xtend-public-types.d.ts +208 -0
  217. package/components/xtextarea.d.ts +46 -0
  218. package/components/xtextarea.js +451 -0
  219. package/components/xtheme.d.ts +253 -0
  220. package/components/xtheme.js +1438 -0
  221. package/components/xtoast.d.ts +39 -0
  222. package/components/xtoast.js +389 -0
  223. package/components/xtooltip.d.ts +53 -0
  224. package/components/xtooltip.js +432 -0
  225. package/components/xtype.d.ts +42 -0
  226. package/components/xtype.js +244 -0
  227. package/components/xutils.d.ts +164 -0
  228. package/components/xutils.js +496 -0
  229. package/components/xwriter.d.ts +67 -0
  230. package/components/xwriter.js +854 -0
  231. package/design-tokens/themes/enterprise-light.json +40 -0
  232. package/design-tokens/themes/xtend-signature.json +126 -0
  233. package/design-tokens/xtend-design-tokens.d.ts +95 -0
  234. package/design-tokens/xtend-design-tokens.js +395 -0
  235. package/design-tokens/xtheme-token-alias-layer.d.ts +84 -0
  236. package/design-tokens/xtheme-token-alias-layer.js +423 -0
  237. package/docs/.htaccess +51 -0
  238. package/docs/README.md +340 -0
  239. package/docs/XTend-ADR.md +221 -0
  240. package/docs/a11y-keyboard-smokes.md +62 -0
  241. package/docs/about.md +18 -0
  242. package/docs/api.md +157 -0
  243. package/docs/best-practices.md +76 -0
  244. package/docs/component-catalog-coverage.md +58 -0
  245. package/docs/component-lab.md +103 -0
  246. package/docs/component-long-tail-migration.md +41 -0
  247. package/docs/component-platform.md +159 -0
  248. package/docs/component-ux-app-authoring.md +130 -0
  249. package/docs/component-ux-authoring.md +96 -0
  250. package/docs/component-ux-gates.md +45 -0
  251. package/docs/components/x-rmt-lifecycle-demo-build.md +60 -0
  252. package/docs/components/xalert.md +81 -0
  253. package/docs/components/xbutton.md +103 -0
  254. package/docs/components/xcalendar.md +82 -0
  255. package/docs/components/xcards.md +128 -0
  256. package/docs/components/xcheckbox.md +102 -0
  257. package/docs/components/xcode.md +126 -0
  258. package/docs/components/xdialog.md +92 -0
  259. package/docs/components/xdrawer.md +84 -0
  260. package/docs/components/xfooter.md +126 -0
  261. package/docs/components/xform.md +128 -0
  262. package/docs/components/xheader.md +308 -0
  263. package/docs/components/xhero.md +142 -0
  264. package/docs/components/xicon.md +125 -0
  265. package/docs/components/xinput.md +129 -0
  266. package/docs/components/xlightbox.md +98 -0
  267. package/docs/components/xlink.md +109 -0
  268. package/docs/components/xmasonry.md +124 -0
  269. package/docs/components/xmenu.md +158 -0
  270. package/docs/components/xmodal.md +82 -0
  271. package/docs/components/xplayer.md +104 -0
  272. package/docs/components/xpopover.md +67 -0
  273. package/docs/components/xprogress.md +56 -0
  274. package/docs/components/xradio.md +103 -0
  275. package/docs/components/xrouter.md +260 -0
  276. package/docs/components/xsection.md +125 -0
  277. package/docs/components/xselect.md +105 -0
  278. package/docs/components/xsidepanel.md +30 -0
  279. package/docs/components/xspinner.md +102 -0
  280. package/docs/components/xstate.md +148 -0
  281. package/docs/components/xstatus.md +55 -0
  282. package/docs/components/xsummary.md +78 -0
  283. package/docs/components/xsurfacemanager.md +27 -0
  284. package/docs/components/xsurfacewindow.md +21 -0
  285. package/docs/components/xtabs.md +160 -0
  286. package/docs/components/xtextarea.md +98 -0
  287. package/docs/components/xtheme.md +167 -0
  288. package/docs/components/xtoast.md +62 -0
  289. package/docs/components/xtooltip.md +66 -0
  290. package/docs/components/xtype.md +82 -0
  291. package/docs/components/xutils.md +144 -0
  292. package/docs/components/xwriter.md +94 -0
  293. package/docs/components.md +117 -0
  294. package/docs/conditional-network-evidence-ci.md +38 -0
  295. package/docs/conditional-network-evidence.md +50 -0
  296. package/docs/core-migration-guide.md +110 -0
  297. package/docs/design-tokens.md +116 -0
  298. package/docs/docs-rmt-production-hardening.md +31 -0
  299. package/docs/enterprise-adoption.md +411 -0
  300. package/docs/enterprise-component-flex-release-handoff.md +129 -0
  301. package/docs/epic10-platform-gates.md +62 -0
  302. package/docs/epic10-release-handoff.md +81 -0
  303. package/docs/epic11-enterprise-ux-handoff.md +70 -0
  304. package/docs/epic12-rc0-handoff.md +61 -0
  305. package/docs/existing-component-metadata.md +67 -0
  306. package/docs/hydration-performance-closure.md +34 -0
  307. package/docs/hydration-policies.md +71 -0
  308. package/docs/index.php +1625 -0
  309. package/docs/known-residual-triage.md +22 -0
  310. package/docs/manifest-import-policy.md +79 -0
  311. package/docs/manifest.md +106 -0
  312. package/docs/menu.json +1190 -0
  313. package/docs/motion-contrast.md +67 -0
  314. package/docs/package-export-lock.md +44 -0
  315. package/docs/performance-measurements.md +106 -0
  316. package/docs/performance-regression.md +89 -0
  317. package/docs/performance.md +94 -0
  318. package/docs/previews/README.md +17 -0
  319. package/docs/prod-browser-csp-smokes.md +40 -0
  320. package/docs/public-component-types.md +79 -0
  321. package/docs/quick-start-guide.md +152 -0
  322. package/docs/rc0-adoption-guide.md +102 -0
  323. package/docs/rc0-gate-matrix.md +58 -0
  324. package/docs/rc1-gate-matrix-ci-handoff.md +56 -0
  325. package/docs/rc1-migration-notes.md +69 -0
  326. package/docs/rc1-readiness.md +46 -0
  327. package/docs/release-owner-acceptance.md +56 -0
  328. package/docs/release-report-pack-dry-run-evidence.md +39 -0
  329. package/docs/rmt-dsl-authoring-polish.md +122 -0
  330. package/docs/rmt-first-demo-app.md +77 -0
  331. package/docs/rmt-first-xtend-apps.md +105 -0
  332. package/docs/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
  333. package/docs/rmt-kernel-security-hardening-migration.md +50 -0
  334. package/docs/rmt-kernel-trusted-output-authoring.md +69 -0
  335. package/docs/rmt-language-server.md +177 -0
  336. package/docs/rmt-lifecycle-demo.md +25 -0
  337. package/docs/rmt-linter.md +140 -0
  338. package/docs/rmt-production-readiness.md +63 -0
  339. package/docs/rmt-tooling-release-gates.md +77 -0
  340. package/docs/rmt-vnext-authoring.md +60 -0
  341. package/docs/rmt-vnext-cross-surface-events.md +68 -0
  342. package/docs/rmt-vnext-enterprise-mfe-handoff.md +70 -0
  343. package/docs/rmt-vnext-migration-notes.md +62 -0
  344. package/docs/rmt-vnext-release-handoff.md +69 -0
  345. package/docs/rmt-vnext-remote-surfaces.md +90 -0
  346. package/docs/rmt-vnext-surface-registry-enterprise.md +76 -0
  347. package/docs/screenreader-signals.md +56 -0
  348. package/docs/supply-chain-gates.md +100 -0
  349. package/docs/surface-manager-authoring-guide.md +94 -0
  350. package/docs/surface-manager-browser-lab.md +45 -0
  351. package/docs/surface-manager-component-lab.md +43 -0
  352. package/docs/surface-manager-controller.md +66 -0
  353. package/docs/surface-manager-layout-engines.md +32 -0
  354. package/docs/surface-manager-lazy-hydration.md +63 -0
  355. package/docs/surface-manager-migration-guide.md +94 -0
  356. package/docs/surface-manager-native-rmt-surfaces.md +38 -0
  357. package/docs/surface-manager-overlay-bridge.md +53 -0
  358. package/docs/surface-manager-persistence.md +30 -0
  359. package/docs/surface-manager-quality-gates.md +51 -0
  360. package/docs/surface-manager-release-handoff.md +68 -0
  361. package/docs/surface-manager-remote-policy.md +54 -0
  362. package/docs/surface-manager-rmt-authoring.md +86 -0
  363. package/docs/surface-manager-route-lifecycle.md +59 -0
  364. package/docs/surface-manager-runtime-release-handoff.md +69 -0
  365. package/docs/surface-manager-side-panel-runtime.md +36 -0
  366. package/docs/surface-manager-stack-policy.md +39 -0
  367. package/docs/surface-manager-window-runtime.md +47 -0
  368. package/docs/surface-manager-workbench-fixture.md +43 -0
  369. package/docs/third-party-design-authoring.md +406 -0
  370. package/docs/trusted-dom-boundary-browser-proof.md +32 -0
  371. package/docs/trusted-dom-sanitizing.md +110 -0
  372. package/docs/type-exports.md +61 -0
  373. package/docs/typescript-components.md +63 -0
  374. package/docs/utils/fabric-runtime.js +650 -0
  375. package/docs/utils/pageloader.js +2823 -0
  376. package/docs/utils/parsedown.php +298 -0
  377. package/docs/visual-browser-regression.md +83 -0
  378. package/docs/visual-owner-artifacts.md +46 -0
  379. package/docs/visual-snapshot-automation.md +87 -0
  380. package/docs/xtend-api-types.md +55 -0
  381. package/docs/xtend-builder-types.md +55 -0
  382. package/docs/xtend-catalog-types.md +44 -0
  383. package/docs/xtend-fabric-rmt-lane-mapping.md +143 -0
  384. package/docs/xtend-fabric.md +474 -0
  385. package/docs/xtend-loader-types.md +58 -0
  386. package/docs/xtend-loader.md +265 -0
  387. package/docs/xtend-policy-types.md +38 -0
  388. package/docs/xtend-rmt-types.md +39 -0
  389. package/docs/xtend-vendor-types.md +36 -0
  390. package/docs/xtendrmt-app-dsl.md +269 -0
  391. package/docs/xtendrmt-migration-guide.md +235 -0
  392. package/docs/xtendrmt-native-authoring.md +337 -0
  393. package/docs/xtendrmt-overview.md +89 -0
  394. package/docs/xtendrmt-parsedown-docs.rmt +956 -0
  395. package/docs/xtendrmt-parsedown-scheduling.md +301 -0
  396. package/docs/xtendrmt-runtime-bridge.md +155 -0
  397. package/fabric/hydration-policy.d.ts +27 -0
  398. package/fabric/hydration-policy.js +306 -0
  399. package/fabric/package.json +58 -0
  400. package/fabric/rmt-lane-mapping.d.ts +47 -0
  401. package/fabric/rmt-lane-mapping.js +504 -0
  402. package/fabric/xtend-fabric.d.ts +81 -0
  403. package/fabric/xtend-fabric.js +2669 -0
  404. package/fabric/xtend-policy-public-types.d.ts +135 -0
  405. package/package.json +8225 -0
  406. package/security/README.md +54 -0
  407. package/security/manifest-import-policy.d.ts +43 -0
  408. package/security/manifest-import-policy.js +260 -0
  409. package/security/supply-chain-gate-policy.d.ts +45 -0
  410. package/security/supply-chain-gate-policy.js +249 -0
  411. package/security/trusted-dom-policy.d.ts +36 -0
  412. package/security/trusted-dom-policy.js +316 -0
  413. package/tools/package.json +77 -0
  414. package/tools/rmt-editor/vscode/README.md +33 -0
  415. package/tools/rmt-editor/vscode/extension.d.ts +9 -0
  416. package/tools/rmt-editor/vscode/extension.js +55 -0
  417. package/tools/rmt-editor/vscode/language-configuration.json +28 -0
  418. package/tools/rmt-editor/vscode/package.json +83 -0
  419. package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +243 -0
  420. package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +13 -0
  421. package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
  422. package/tools/rmt-language/code-actions.d.ts +15 -0
  423. package/tools/rmt-language/code-actions.js +566 -0
  424. package/tools/rmt-language/completions.d.ts +22 -0
  425. package/tools/rmt-language/completions.js +475 -0
  426. package/tools/rmt-language/definitions.d.ts +13 -0
  427. package/tools/rmt-language/definitions.js +212 -0
  428. package/tools/rmt-language/diagnostics.d.ts +23 -0
  429. package/tools/rmt-language/diagnostics.js +486 -0
  430. package/tools/rmt-language/format-adapter.d.ts +16 -0
  431. package/tools/rmt-language/format-adapter.js +270 -0
  432. package/tools/rmt-language/hover.d.ts +12 -0
  433. package/tools/rmt-language/hover.js +326 -0
  434. package/tools/rmt-language/kernel-escalation.d.ts +122 -0
  435. package/tools/rmt-language/kernel-escalation.js +427 -0
  436. package/tools/rmt-language/kernel-panic-monitor.d.ts +176 -0
  437. package/tools/rmt-language/kernel-panic-monitor.js +674 -0
  438. package/tools/rmt-language/kernel-policy-parity.d.ts +142 -0
  439. package/tools/rmt-language/kernel-policy-parity.js +629 -0
  440. package/tools/rmt-language/kernel-recovery.d.ts +173 -0
  441. package/tools/rmt-language/kernel-recovery.js +666 -0
  442. package/tools/rmt-language/kernel-scheduler-failure.d.ts +136 -0
  443. package/tools/rmt-language/kernel-scheduler-failure.js +486 -0
  444. package/tools/rmt-language/kernel-security-regression.d.ts +154 -0
  445. package/tools/rmt-language/kernel-security-regression.js +465 -0
  446. package/tools/rmt-language/kernel-trust-authority.d.ts +120 -0
  447. package/tools/rmt-language/kernel-trust-authority.js +549 -0
  448. package/tools/rmt-language/parser.d.ts +14 -0
  449. package/tools/rmt-language/parser.js +111 -0
  450. package/tools/rmt-language/rmt-tooling-public-types.d.ts +179 -0
  451. package/tools/rmt-language/rules/boundary-policy.js +81 -0
  452. package/tools/rmt-language/rules/document-policy.js +65 -0
  453. package/tools/rmt-language/rules/index.js +29 -0
  454. package/tools/rmt-language/rules/route-policy.js +81 -0
  455. package/tools/rmt-language/rules/scheduler-policy.js +66 -0
  456. package/tools/rmt-language/rules/template-policy.js +130 -0
  457. package/tools/rmt-language/semantic-graph.d.ts +18 -0
  458. package/tools/rmt-language/semantic-graph.js +827 -0
  459. package/tools/rmt-language/snippets/README.md +17 -0
  460. package/tools/rmt-language/snippets/index.d.ts +17 -0
  461. package/tools/rmt-language/snippets/index.js +417 -0
  462. package/tools/rmt-language/snippets/rmt.code-snippets +243 -0
  463. package/tools/rmt-language/source-model.d.ts +14 -0
  464. package/tools/rmt-language/source-model.js +731 -0
  465. package/tools/rmt-language/symbols.d.ts +13 -0
  466. package/tools/rmt-language/symbols.js +183 -0
  467. package/tools/rmt-language/vnext-compatibility.d.ts +28 -0
  468. package/tools/rmt-language/vnext-compatibility.js +675 -0
  469. package/tools/rmt-language/vnext-compiler.d.ts +17 -0
  470. package/tools/rmt-language/vnext-compiler.js +716 -0
  471. package/tools/rmt-language/vnext-composition.d.ts +30 -0
  472. package/tools/rmt-language/vnext-composition.js +595 -0
  473. package/tools/rmt-language/vnext-conditions.d.ts +25 -0
  474. package/tools/rmt-language/vnext-conditions.js +474 -0
  475. package/tools/rmt-language/vnext-cross-surface-events.d.ts +30 -0
  476. package/tools/rmt-language/vnext-cross-surface-events.js +607 -0
  477. package/tools/rmt-language/vnext-degradation.d.ts +23 -0
  478. package/tools/rmt-language/vnext-degradation.js +428 -0
  479. package/tools/rmt-language/vnext-enterprise-fixtures.d.ts +28 -0
  480. package/tools/rmt-language/vnext-enterprise-fixtures.js +487 -0
  481. package/tools/rmt-language/vnext-enterprise-registry.d.ts +21 -0
  482. package/tools/rmt-language/vnext-enterprise-registry.js +495 -0
  483. package/tools/rmt-language/vnext-enterprise-release.d.ts +44 -0
  484. package/tools/rmt-language/vnext-enterprise-release.js +472 -0
  485. package/tools/rmt-language/vnext-event-governance.d.ts +29 -0
  486. package/tools/rmt-language/vnext-event-governance.js +488 -0
  487. package/tools/rmt-language/vnext-events.d.ts +44 -0
  488. package/tools/rmt-language/vnext-events.js +680 -0
  489. package/tools/rmt-language/vnext-import-resolver.d.ts +28 -0
  490. package/tools/rmt-language/vnext-import-resolver.js +642 -0
  491. package/tools/rmt-language/vnext-lifecycle.d.ts +22 -0
  492. package/tools/rmt-language/vnext-lifecycle.js +404 -0
  493. package/tools/rmt-language/vnext-parser.d.ts +21 -0
  494. package/tools/rmt-language/vnext-parser.js +1391 -0
  495. package/tools/rmt-language/vnext-regression.d.ts +25 -0
  496. package/tools/rmt-language/vnext-regression.js +394 -0
  497. package/tools/rmt-language/vnext-release.d.ts +29 -0
  498. package/tools/rmt-language/vnext-release.js +293 -0
  499. package/tools/rmt-language/vnext-remote-compatibility.d.ts +33 -0
  500. package/tools/rmt-language/vnext-remote-compatibility.js +892 -0
  501. package/tools/rmt-language/vnext-remote-compiler.d.ts +14 -0
  502. package/tools/rmt-language/vnext-remote-compiler.js +520 -0
  503. package/tools/rmt-language/vnext-remote-manifest.d.ts +33 -0
  504. package/tools/rmt-language/vnext-remote-manifest.js +538 -0
  505. package/tools/rmt-language/vnext-remote-security.d.ts +27 -0
  506. package/tools/rmt-language/vnext-remote-security.js +380 -0
  507. package/tools/rmt-language/vnext-remote-tooling.d.ts +25 -0
  508. package/tools/rmt-language/vnext-remote-tooling.js +805 -0
  509. package/tools/rmt-language/vnext-scheduler.d.ts +24 -0
  510. package/tools/rmt-language/vnext-scheduler.js +469 -0
  511. package/tools/rmt-language/vnext-security.d.ts +28 -0
  512. package/tools/rmt-language/vnext-security.js +597 -0
  513. package/tools/rmt-language/vnext-streaming.d.ts +28 -0
  514. package/tools/rmt-language/vnext-streaming.js +593 -0
  515. package/tools/rmt-language/vnext-surfaces.d.ts +24 -0
  516. package/tools/rmt-language/vnext-surfaces.js +406 -0
  517. package/tools/rmt-language/vnext-tooling.d.ts +25 -0
  518. package/tools/rmt-language/vnext-tooling.js +728 -0
  519. package/tools/rmt-language-server/protocol.d.ts +22 -0
  520. package/tools/rmt-language-server/protocol.js +352 -0
  521. package/tools/rmt-language-server/server.d.ts +15 -0
  522. package/tools/rmt-language-server/server.js +622 -0
  523. package/tools/rmt-linter/cli.d.ts +14 -0
  524. package/tools/rmt-linter/cli.js +450 -0
  525. package/tools/rmt-linter/reporter.d.ts +16 -0
  526. package/tools/rmt-linter/reporter.js +472 -0
  527. package/xtend-builder/README.md +83 -0
  528. package/xtend-builder/a11y/README.md +42 -0
  529. package/xtend-builder/a11y/component-a11y-profile.d.ts +14 -0
  530. package/xtend-builder/a11y/component-a11y-profile.js +314 -0
  531. package/xtend-builder/blueprints/README.md +105 -0
  532. package/xtend-builder/blueprints/component-blueprint.contract.d.ts +16 -0
  533. package/xtend-builder/blueprints/component-blueprint.contract.js +343 -0
  534. package/xtend-builder/builder-public-types.d.ts +234 -0
  535. package/xtend-builder/extensions/README.md +26 -0
  536. package/xtend-builder/extensions/component-extension-points.d.ts +11 -0
  537. package/xtend-builder/extensions/component-extension-points.js +277 -0
  538. package/xtend-builder/generators/README.md +149 -0
  539. package/xtend-builder/generators/component-files.d.ts +5 -0
  540. package/xtend-builder/generators/component-files.js +769 -0
  541. package/xtend-builder/generators/component-plan.d.ts +4 -0
  542. package/xtend-builder/generators/component-plan.js +104 -0
  543. package/xtend-builder/generators/registry.d.ts +6 -0
  544. package/xtend-builder/generators/registry.js +118 -0
  545. package/xtend-builder/generators/rmt-build.js +738 -0
  546. package/xtend-builder/generators/rmt-lifecycle-demo.js +922 -0
  547. package/xtend-builder/lib/cli.d.ts +9 -0
  548. package/xtend-builder/lib/cli.js +543 -0
  549. package/xtend-builder/lib/layout.d.ts +6 -0
  550. package/xtend-builder/lib/layout.js +153 -0
  551. package/xtend-builder/lib/package-resolver.js +25 -0
  552. package/xtend-builder/package.json +90 -0
  553. package/xtend-builder/performance/README.md +31 -0
  554. package/xtend-builder/performance/component-performance-profile.d.ts +11 -0
  555. package/xtend-builder/performance/component-performance-profile.js +347 -0
  556. package/xtend-builder/performance/component-ux-performance-contract.d.ts +27 -0
  557. package/xtend-builder/performance/component-ux-performance-contract.js +424 -0
  558. package/xtend-builder/preview/README.md +61 -0
  559. package/xtend-builder/preview/component-lab-ux-inspector.d.ts +20 -0
  560. package/xtend-builder/preview/component-lab-ux-inspector.js +448 -0
  561. package/xtend-builder/preview/component-lab.d.ts +14 -0
  562. package/xtend-builder/preview/component-lab.js +278 -0
  563. package/xtend-builder/preview/component-preview.d.ts +5 -0
  564. package/xtend-builder/preview/component-preview.js +160 -0
  565. package/xtend-builder/scaffold.config.d.ts +4 -0
  566. package/xtend-builder/scaffold.config.js +2056 -0
  567. package/xtend-builder/scaffold.d.ts +3 -0
  568. package/xtend-builder/scaffold.js +11 -0
  569. package/xtend-builder/templates/README.md +33 -0
  570. package/xtend-builder/templates/component/a11y.template.ts +11 -0
  571. package/xtend-builder/templates/component/component-suite.template.d.ts +2 -0
  572. package/xtend-builder/templates/component/component-suite.template.js +108 -0
  573. package/xtend-builder/templates/component/contract.template.ts +10 -0
  574. package/xtend-builder/templates/component/demo-plan.template.md +73 -0
  575. package/xtend-builder/templates/component/docs.template.md +301 -0
  576. package/xtend-builder/templates/component/fixture-data.template.ts +28 -0
  577. package/xtend-builder/templates/component/fixture.template.html +37 -0
  578. package/xtend-builder/templates/component/manifest-plan.template.json +22 -0
  579. package/xtend-builder/templates/component/performance.template.ts +13 -0
  580. package/xtend-builder/templates/component/rmt.template.ts +12 -0
  581. package/xtend-builder/templates/component/source.template.d.ts +2 -0
  582. package/xtend-builder/templates/component/source.template.js +137 -0
  583. package/xtend-builder/templates/component/source.template.ts +110 -0
  584. package/xtend-builder/templates/component/types.template.d.ts +423 -0
  585. package/xtend-builder/templates/loader.d.ts +4 -0
  586. package/xtend-builder/templates/loader.js +51 -0
  587. package/xtend-builder/templates/registry.d.ts +6 -0
  588. package/xtend-builder/templates/registry.js +119 -0
  589. package/xtend-builder/typing/README.md +130 -0
  590. package/xtend-builder/typing/component-contract-v2.d.ts +15 -0
  591. package/xtend-builder/typing/component-contract-v2.js +248 -0
  592. package/xtend-builder/typing/component-network-contract.d.ts +22 -0
  593. package/xtend-builder/typing/component-network-contract.js +478 -0
  594. package/xtend-builder/typing/component-shell-contract.d.ts +21 -0
  595. package/xtend-builder/typing/component-shell-contract.js +312 -0
  596. package/xtend-builder/typing/component-styling-contract.d.ts +22 -0
  597. package/xtend-builder/typing/component-styling-contract.js +301 -0
  598. package/xtend-builder/typing/component-types.d.ts +10 -0
  599. package/xtend-builder/typing/component-types.js +551 -0
  600. package/xtend-builder/typing/enterprise-component-flex-hardening-contract.d.ts +20 -0
  601. package/xtend-builder/typing/enterprise-component-flex-hardening-contract.js +332 -0
  602. package/xtend-builder/typing/feedback-status-ux-contract.d.ts +25 -0
  603. package/xtend-builder/typing/feedback-status-ux-contract.js +347 -0
  604. package/xtend-builder/typing/form-controls-ux-contract.d.ts +25 -0
  605. package/xtend-builder/typing/form-controls-ux-contract.js +357 -0
  606. package/xtend-builder/typing/layout-display-media-ux-contract.d.ts +25 -0
  607. package/xtend-builder/typing/layout-display-media-ux-contract.js +420 -0
  608. package/xtend-builder/typing/navigation-routing-ux-contract.d.ts +17 -0
  609. package/xtend-builder/typing/navigation-routing-ux-contract.js +297 -0
  610. package/xtend-builder/typing/overlay-interaction-ux-contract.d.ts +25 -0
  611. package/xtend-builder/typing/overlay-interaction-ux-contract.js +383 -0
  612. package/xtend-builder/typing/rmt-dsl-authoring-polish.d.ts +27 -0
  613. package/xtend-builder/typing/rmt-dsl-authoring-polish.js +419 -0
  614. package/xtend-builder/typing/rmt-shell-authoring-contract.d.ts +26 -0
  615. package/xtend-builder/typing/rmt-shell-authoring-contract.js +315 -0
  616. package/xtend-builder/utils/README.md +8 -0
  617. package/xtend-builder/utils/naming.d.ts +7 -0
  618. package/xtend-builder/utils/naming.js +36 -0
  619. package/xtend-builder/utils/validation.d.ts +5 -0
  620. package/xtend-builder/utils/validation.js +95 -0
  621. package/xtend-builder/wiring/README.md +46 -0
  622. package/xtend-builder/wiring/features.d.ts +5 -0
  623. package/xtend-builder/wiring/features.js +165 -0
  624. package/xtend-builder/wiring/hydration.d.ts +4 -0
  625. package/xtend-builder/wiring/hydration.js +44 -0
  626. package/xtend-builder/wiring/manifest.d.ts +5 -0
  627. package/xtend-builder/wiring/manifest.js +48 -0
  628. package/xtend-builder/workflows/README.md +47 -0
  629. package/xtend-builder/workflows/developer-workflow.d.ts +6 -0
  630. package/xtend-builder/workflows/developer-workflow.js +125 -0
  631. package/xtend-builder/writing/manifest-patcher.d.ts +49 -0
  632. package/xtend-builder/writing/manifest-patcher.js +391 -0
  633. package/xtend-builder/writing/write-plan.d.ts +148 -0
  634. package/xtend-builder/writing/write-plan.js +646 -0
  635. package/xtend-dev.d.ts +23 -0
  636. package/xtend-dev.js +4 -0
  637. package/xtend-loader.d.ts +201 -0
  638. package/xtend-loader.js +1704 -0
  639. package/xtend.css +402 -0
  640. package/xtendrmt/package.json +64 -0
  641. package/xtendrmt/rmt-core.d.ts +4452 -0
  642. package/xtendrmt/rmt-core.esm.js +25793 -0
  643. package/xtendrmt/rmt-first-demo-app.js +265 -0
  644. package/xtendrmt/rmt-first-demo-app.rmt +737 -0
  645. package/xtendrmt/rmt-lifecycle-demo.app.js +493 -0
  646. package/xtendrmt/rmt-lifecycle-demo.core.json +810 -0
  647. package/xtendrmt/rmt-lifecycle-demo.rmt +35 -0
  648. package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +153 -0
  649. package/xtendrmt/rmt-lifecycle-demo.rmt-build.core.json +810 -0
  650. package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +202 -0
  651. package/xtendrmt/rmt-lifecycle-demo.scaffold.json +187 -0
  652. package/xtendrmt/rmt-manifest.json +548 -0
  653. package/xtendrmt/rmt-runtime.browser.js +26183 -0
  654. package/xtendrmt/rmt-runtime.esm.js +26214 -0
  655. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +849 -0
  656. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.rmt +50 -0
  657. package/xtendrmt/rmt-vnext-reference-demo.core.json +1069 -0
  658. package/xtendrmt/rmt-vnext-reference-demo.rmt +50 -0
  659. package/xtendrmt/rmt.schema.json +3145 -0
  660. package/xtendrmt/surface-workbench.js +316 -0
  661. package/xtendrmt/surface-workbench.rmt +762 -0
  662. package/xtendrmt/xtendrmt-bestcase-demo.core.json +1187 -0
  663. package/xtendrmt/xtendrmt-bestcase-demo.js +1728 -0
  664. package/xtendrmt/xtendrmt-bestcase-demo.rmt +57 -0
@@ -0,0 +1,62 @@
1
+ # A11y Keyboard Smokes
2
+
3
+ Contract:
4
+
5
+ ```text
6
+ xtend.docs.a11y-keyboard-smokes.v1
7
+ xtend.a11y.browser-keyboard-smoke.v1
8
+ ```
9
+
10
+ XTend prueft ab `ER-WP-24` zentrale A11y-Interaktionen browsernah. Der Gate ist kein Ersatz fuer manuelle Screenreader-Reviews, aber er verhindert, dass Fokus- und Keyboard-Pfade unbemerkt aus Core-Komponenten herausfallen.
11
+
12
+ ## Fixture
13
+
14
+ Die selbstpruefende Browser-Fixture liegt hier:
15
+
16
+ ```text
17
+ tests/browser/fixtures/a11y-focus-keyboard-smoke.html
18
+ ```
19
+
20
+ Sie nutzt:
21
+
22
+ - `xtend-loader.js`
23
+ - `data-manifest="/tests/browser/fixtures/components/manifest.json"`
24
+ - lokale Component-Module
25
+ - `window.__xtendA11yKeyboardSmokeResult`
26
+
27
+ ## Abgedeckte Pfade
28
+
29
+ | Bereich | Komponente | Erwartung |
30
+ |---------|------------|-----------|
31
+ | Routing | `x-link` + `x-router` | `Enter` und `Space` navigieren, `aria-current` folgt der Route |
32
+ | Form | `x-input` + `x-form` | Fokus wird delegiert, Eingabe synchronisiert `xstate` und Formdaten |
33
+ | Tabs | `x-tabs` | `ArrowRight`, `ArrowLeft` und `Enter` bleiben aktivierbar |
34
+ | Overlay | `x-modal` | Initialfokus, Fokusfalle, `Escape` und Fokusrestore funktionieren |
35
+
36
+ `x-dialog` nutzt denselben Overlay-Contract und wird im Gate source-seitig auf Fokusfalle, `Escape` und Fokusrestore geprueft.
37
+
38
+ ## Lokale Gates
39
+
40
+ ```bash
41
+ node scripts/run_xtend_tests.js browser --json
42
+ node scripts/run_xtend_tests.js a11y-hydration --json
43
+ ```
44
+
45
+ Optional kann der Browser-Smoke mit Safari WebDriver ausgefuehrt werden:
46
+
47
+ ```bash
48
+ XTEND_BROWSER_SMOKE_DRIVER=safari node scripts/run_xtend_tests.js browser
49
+ ```
50
+
51
+ Der Standardlauf bleibt deterministisch und benoetigt keinen externen Browser.
52
+
53
+ ## Komponentenautoren
54
+
55
+ Neue oder modernisierte Komponenten sollen ihren A11y-Pfad aus dem Profil ableiten:
56
+
57
+ - Routing und Commands: `Enter`, optional `Space`, aktiver ARIA-State.
58
+ - Overlays: Initialfokus, Fokusfalle, `Escape`, Fokusrestore.
59
+ - Form Controls: delegierter Fokus, Eingabeereignisse, State-/Form-Synchronisierung.
60
+ - Composite Widgets: Pfeiltasten und aktueller ARIA-State.
61
+
62
+ Scaffolded Komponenten erhalten ab `ER-WP-23` ein `xtend.a11y.profile.v1`. ER-WP-24 liefert den browsernahen Gate, an den solche Profile spaeter komponentenspezifisch andocken koennen.
package/docs/about.md ADDED
@@ -0,0 +1,18 @@
1
+ # Über diese Dokumentations-Web App
2
+
3
+ Diese Webanwendung dient als interaktive Dokumentation für das XTend Web-Framework und basiert vollständig auf modernen Web Components. Sie bietet eine modulare, schnelle und benutzerfreundliche Oberfläche für Entwickler und Anwender.
4
+
5
+ ## Verwendete Open-Source-Projekte
6
+
7
+ ### Parsedown
8
+ Diese Anwendung nutzt für die Markdown-Verarbeitung das Projekt **Parsedown** von Emanuil Rusev.
9
+
10
+ > (c) Emanuil Rusev
11
+ > http://erusev.com
12
+
13
+ ### XRouter PHP
14
+ Das Routing und die serverseitige Logik basieren auf einer PHP-Implementierung von XRouter, entwickelt von **CCS Networks**. Das Projekt ist nun unter dem Namen **xrouter.php** verfügbar.
15
+
16
+ ---
17
+
18
+ Weitere Informationen und Credits finden Sie in den jeweiligen Komponenten-Dokumentationen.
package/docs/api.md ADDED
@@ -0,0 +1,157 @@
1
+ # XTend API
2
+
3
+ ## Uebersicht
4
+
5
+ `api.js` ist die Orchestrierungsschicht zwischen Loader, Core-Komponenten und globalen Helper-APIs. Sie initialisiert die XTend-APIs idempotent, haertet den gemeinsamen UI-State und laedt API-relevante Komponenten aus dem Manifest nach.
6
+
7
+ ## Initialisierung
8
+
9
+ Der Loader importiert `api.js` nach dem Manifest-Laden und ruft anschliessend `initXTendAPI(manifest)` auf.
10
+
11
+ ```js
12
+ const api = await import('./api.js');
13
+ await api.initXTendAPI(manifest);
14
+ ```
15
+
16
+ ## Contract von `initXTendAPI(manifest)`
17
+
18
+ - initialisiert `ui` in `xstate` defensiv und zerstoert keinen bestehenden UI-State bei Mehrfachaufruf
19
+ - stellt Theme-State (`theme`, `themes`) nur dann bereit, wenn er noch nicht existiert
20
+ - laedt die API-relevanten Core-Module ueber Manifest-URLs als ES-Module
21
+ - bindet die globalen Helper erneut an den `window.XTend`-Namespace, falls die API erneut initialisiert wird
22
+
23
+ ## Globale APIs
24
+
25
+ Nach erfolgreicher Initialisierung stehen folgende APIs zur Verfuegung:
26
+
27
+ - `window.XTheme`
28
+ - `window.XToast`
29
+ - `window.XAlert`
30
+ - `window.XDialog`
31
+ - `window.XModal`
32
+
33
+ Zusatzlich werden die APIs unter `window.XTend` gespiegelt:
34
+
35
+ - `window.XTend.theme`
36
+ - `window.XTend.toast`
37
+ - `window.XTend.alert`
38
+ - `window.XTend.dialog`
39
+ - `window.XTend.modal`
40
+ - `window.XTend.compliance`
41
+
42
+ Die Legacy-Helper bleiben verfuegbar:
43
+
44
+ - `window.showToast`
45
+ - `window.showAlert`
46
+ - `window.showDialog`
47
+ - `window.showModal`
48
+
49
+ ## Compliance-API
50
+
51
+ `window.XTend.compliance` beschreibt den produktiven Core-Review-Contract. Verfuegbare Methoden:
52
+
53
+ - `getChecklist()`
54
+ - `getCoreContracts()`
55
+ - `getThemeTokens(themeName?)`
56
+
57
+ Die Runtime spiegelt diese Metadaten zusaetzlich in `xstate`:
58
+
59
+ - `xtend.compliance.version`
60
+ - `xtend.compliance.checklist`
61
+ - `xtend.compliance.contracts`
62
+
63
+ ## UI-State
64
+
65
+ Die API verwaltet den gemeinsamen UI-State unter `xstate.get('ui')`.
66
+
67
+ ```js
68
+ {
69
+ toasts: [],
70
+ alerts: [],
71
+ dialogs: [],
72
+ modals: []
73
+ }
74
+ ```
75
+
76
+ Die API aktualisiert diesen State nur differenziell. Re-Init fuehrt nicht mehr zu einem Reset laufender UI-Eintraege.
77
+
78
+ ## Theme-API
79
+
80
+ `window.XTheme` ist die oeffentliche Theme-Fassade. Wichtige Methoden:
81
+
82
+ - `getCurrentTheme()`
83
+ - `getAvailableThemes()`
84
+ - `setTheme(themeName)`
85
+ - `set(name, value)`
86
+ - `get(name)`
87
+ - `subscribe(fn)`
88
+ - `registerTheme(name, properties)`
89
+ - `loadExternalTheme(themeName, cssUrl)`
90
+ - `toggleDarkMode()`
91
+
92
+ `set(name, value)` ist die Kompatibilitaets-Fassade:
93
+
94
+ - `set('dark')` schaltet auf ein Theme
95
+ - `set('--primary-color', '#0e4e81')` setzt eine CSS-Variable fuer das aktuelle Theme
96
+
97
+ ## Dialog- und Modal-Flags
98
+
99
+ Die API schreibt Open-State kompatibel fuer bestehende Call-Sites:
100
+
101
+ - Dialog: `dialog-open-<id>`, `xdialog-open-<id>`
102
+ - Modal: `modal-open-<id>`
103
+
104
+ Der kanonische Zielpfad aus der Contract-Matrix bleibt fuer neue Arbeit relevant:
105
+
106
+ - `xtend.component.x-dialog.<id>.open`
107
+ - `xtend.component.x-modal.<id>.open`
108
+
109
+ ## XTendRMT Runtime-API
110
+
111
+ XTendRMT ist nicht Teil von `api.js`, aber die oeffentliche XTend-Entwicklerdokumentation fuehrt den produktiven Integrationspfad mit. Die Runtime-Factories liegen in den Artefakten unter `xtendrmt/`:
112
+
113
+ - `createRmtFormat`
114
+ - `createRmtXRouterAdapter`
115
+ - `createRmtXtendComponentAdapter`
116
+ - `createRmtStateSchedulerDiagnosticsBridge`
117
+
118
+ ESM:
119
+
120
+ ```js
121
+ import {
122
+ createRmtFormat,
123
+ createRmtXRouterAdapter,
124
+ createRmtXtendComponentAdapter,
125
+ createRmtStateSchedulerDiagnosticsBridge
126
+ } from './xtendrmt/rmt-runtime.esm.js';
127
+ ```
128
+
129
+ Browser Classic:
130
+
131
+ ```html
132
+ <script src="/xtendrmt/rmt-runtime.browser.js"></script>
133
+ <script type="module">
134
+ const format = window.AppModules.createRmtFormat();
135
+ const rmt = window.xtend.rmt;
136
+ </script>
137
+ ```
138
+
139
+ RMT-nahe XTend-Integrationen sollen diese Factories verwenden, statt private Demo-Bruecken oder direkte Kernel-Kopplung aufzubauen. Details stehen in [XTendRMT Runtime Bridge](./xtendrmt-runtime-bridge.md).
140
+
141
+ ## Hinweise
142
+
143
+ - `api.js` ist eine Runtime-Orchestrierung, keine statische Komponentenliste.
144
+ - Die API erwartet ein konsistentes Manifest und bereits verfügbare `xstate`-Bootstrap-Infrastruktur.
145
+ - Komponenten sollen weiterhin bevorzugt deklarativ verwendet werden; die API ist fuer dynamische Flows gedacht.
146
+ - Nach Core-Aenderungen sollte `node scripts/verify_xtend_core_contracts.js` ausgefuehrt werden.
147
+
148
+ ## Weiterfuehrende Themen
149
+
150
+ - [Manifest-Format](./manifest.md)
151
+ - [XTend Loader](./xtend-loader.md)
152
+ - [xrouter](./components/xrouter.md)
153
+ - [xlink](./components/xlink.md)
154
+ - [xtheme](./components/xtheme.md)
155
+ - [Core Migration Guide](./core-migration-guide.md)
156
+ - [XTendRMT Developer Overview](./xtendrmt-overview.md)
157
+ - [XTendRMT Runtime Bridge](./xtendrmt-runtime-bridge.md)
@@ -0,0 +1,76 @@
1
+ # Best Practices für XTend
2
+
3
+ Diese Empfehlungen helfen dir, XTend-Projekte robust, performant und wartbar zu gestalten – sowohl für menschliche Entwickler als auch für AI-Coding-Agenten.
4
+
5
+ ---
6
+
7
+ ## Komponenten-Nutzung
8
+ - **Deklarativ bevorzugen:** Nutze XTend-Komponenten möglichst direkt im HTML, nicht nur dynamisch per JS.
9
+ - **Lazy Loading:** Baue Seiten so, dass Komponenten erst geladen werden, wenn sie gebraucht werden (Viewport, User-Interaktion).
10
+ - **Shadow DOM:** Verwende Shadow DOM für Style-Kapselung und Konfliktvermeidung.
11
+ - **Slots & Attribute:** Nutze Slots und Attribute für flexible, wiederverwendbare Komponenten.
12
+
13
+ ---
14
+
15
+ ## State-Management
16
+ - **xstate nutzen:** Teile globalen und lokalen Zustand über das zentrale State-Management-Modul.
17
+ - **Abonnements:** Reagiere auf State-Änderungen mit `xstate.subscribe` statt aufwändiger DOM-Queries.
18
+
19
+ ---
20
+
21
+ ## Theming & Styling
22
+ - **CSS Custom Properties:** Verwende Variablen für Farben, Abstände, etc. – so bleibt das Design flexibel.
23
+ - **xtheme nutzen:** Setze globale Styles und Theme-Änderungen zentral über das Theme-Modul.
24
+ - **Dark/Light-Mode:** Unterstütze beide Modi und respektiere Systempräferenzen.
25
+
26
+ ---
27
+
28
+ ## Barrierefreiheit (Accessibility)
29
+ - **ARIA-Rollen:** Setze sinnvolle ARIA-Attribute und Rollen.
30
+ - **Keyboard-Navigation:** Stelle sicher, dass alle interaktiven Komponenten per Tastatur bedienbar sind.
31
+ - **Fokus-Management:** Dialoge, Modals und Menüs sollten den Fokus korrekt setzen und zurückgeben.
32
+
33
+ ---
34
+
35
+ ## Performance
36
+ - **Minimiertes Manifest:** Entferne ungenutzte Komponenten aus dem Manifest für Produktions-Builds.
37
+ - **Kleine Bundles:** Halte Komponenten modular und klein, um Ladezeiten zu optimieren.
38
+ - **IntersectionObserver:** Nutze Lazy Loading für große oder selten genutzte Komponenten.
39
+
40
+ ---
41
+
42
+ ## Entwicklung & Wartung
43
+ - **Dokumentation:** Jede Komponente sollte eine eigene, aktuelle MD-Dokumentation besitzen.
44
+ - **Namenskonventionen:** Halte dich an das `x`-Prefix und sprechende Namen.
45
+ - **Testing:** Teste Komponenten isoliert und im Zusammenspiel.
46
+ - **Querverweise:** Pflege Querverweise in der Doku für bessere Orientierung.
47
+
48
+ ---
49
+
50
+ ## Testpflicht fuer neue Komponenten
51
+ - **Profil festlegen:** Ordne jede neue oder modernisierte Komponente einem Profil aus `development/XTend-Component-Level-Teststandard.md` zu.
52
+ - **Artefakte vollständig halten:** Komponente, Doku, Component-Suite, Fixture, Typdefinition und Manifest-Eintrag sind Pflicht, sofern nicht explizit begründet ausgenommen.
53
+ - **Scaffold als Standardpfad:** `XTend-Scaffold` muss die Testpflicht aus `development/XTend-Testpflicht-und-Scaffold-Anschluss.md` als Blueprint verwenden.
54
+ - **Lokale Gates ausführen:** Nutze mindestens `node scripts/run_xtend_tests.js components`, `a11y-hydration`, `references` und bei RMT-kompatiblen Scaffold-Artefakten `rmt-compatibility`; bei Core-Bezug zusätzlich `core`, `architecture` und `browser`.
55
+ - **Keine Platzhaltertests:** Testdateien ohne echte Assertions erfüllen die Testpflicht nicht.
56
+
57
+ ## XTendRMT-kompatible Entwicklung
58
+
59
+ - **Native Domains bevorzugen:** Neue RMT-nahe Arbeit nutzt `adapters`, `components`, `routes`, `schedules` und `templates` statt operativer `manifest.metadata`-Bloecke.
60
+ - **Kernel-Grenze halten:** XTend, XRouter, DOM, `window.XTend` und `xstate` gehoeren in Adapter oder Host-Code, nicht in den RMT Kernel.
61
+ - **Produktive Factories nutzen:** Verwende `createRmtXRouterAdapter`, `createRmtXtendComponentAdapter` und `createRmtStateSchedulerDiagnosticsBridge` statt privater Demo-Brueckenlogik.
62
+ - **Multi-Host pruefen:** XTend ist First-Class Host, aber nicht Pflicht-Host. Ein nicht-XTend Pfad wie `vanilla.component` sollte bei Framework-nahen Aenderungen mitgedacht werden.
63
+ - **Trusted DOM respektieren:** RMT `dom_descriptor` ist bevorzugt. RMT `html_fragment` und Parsedown HTML brauchen `xtend.security.sanitizing-boundary.v1`; rohe `innerHTML`-Sinks gehoeren nicht in Komponenten oder Adapter.
64
+ - **Docs-App respektieren:** Die offizielle Dokumentation nutzt Parsedown als Parser-Host, rendert ihre Shell aber Shell-first ueber RMT. Neue Docs-Komfortfunktionen sollen `docs/xtendrmt-parsedown-scheduling.md`, `docs.app.shell` und die vorhandenen RMT-Schedules nutzen, statt neben dem Host-Adapter eine zweite SPA-Schicht aufzubauen.
65
+ - **Gates ausfuehren:** Fuer RMT-nahe Aenderungen mindestens `node scripts/run_xtend_tests.js rmt-compatibility --json`, `node scripts/run_xtend_tests.js references --json` und bei Browserpfad `node scripts/run_xtend_tests.js browser --json`.
66
+
67
+ ---
68
+
69
+ ## AI-Optimierung
70
+ - **Konsistente API:** Halte Methoden und Attribute konsistent und sprechend.
71
+ - **Beispielcode:** Ergänze jede Doku um konkrete Codebeispiele.
72
+ - **Semantische Struktur:** Nutze klare Überschriften, Tabellen und Listen für AI-Parsing.
73
+
74
+ ---
75
+
76
+ *Letzte Aktualisierung: 5. Mai 2026*
@@ -0,0 +1,58 @@
1
+ # Component Catalog Coverage
2
+
3
+ - Contract: `xtend.docs.component-catalog-coverage.v1`
4
+ - Matrix Contract: `xtend.catalog.component-coverage-matrix.v1`
5
+ - Gate Contract: `xtend.catalog.component-coverage-gate.v1`
6
+ - Workpackage: `ER-WP-31`, fortgeschrieben durch `ER-WP-32`, `ER-WP-33`, `ER-WP-34`, `ER-WP-35`, `WP-E11-12`, `WP-E11-17`, `WP-E12-02`, `WP-E12-03`, `WP-E12-04`, `WP-E12-05`, `WP-E12-06`, `WP-E12-07`, `WP-E12-08`, `WP-E12-09`, `WP-E13-12A`, `WP-SM-03`, `WP-SM-04` und `RC1TB-WP-03`
7
+
8
+ Die Component Catalog Coverage Matrix zeigt, wie reif jede Komponente aus `components/manifest.json` gerade ist. Sie verbindet Source, Dokumentation, Component-Level-Suite, Fixture, Types, A11y und Performance zu einem Statusmodell.
9
+
10
+ ## Lokal pruefen
11
+
12
+ ```bash
13
+ npm run test:catalog-coverage
14
+ node scripts/run_xtend_tests.js catalog-coverage --json
15
+ ```
16
+
17
+ Der Gate ist aktuell gruen, wenn alle Manifest-Sources lokal aufloesbar sind und der Matrix-Report strukturell valide ist. Fehlende Suites, Fixtures, Types, A11y- und Performance-Profile erscheinen als Warnungen. So kann der Catalog Schritt fuer Schritt gehaertet werden, ohne offene Folgepakete zu verstecken.
18
+
19
+ ## Statusmodell
20
+
21
+ | Status | Bedeutung |
22
+ |--------|-----------|
23
+ | `enterprise-ready` | vollstaendige Source-, Docs-, Suite-, Fixture-, Types-, A11y- und Performance-Coverage |
24
+ | `typed-contract-gated` | Types und A11y sind vorhanden, Performance fehlt noch |
25
+ | `contract-gated` | Source, Docs, Component-Suite und Fixture sind vorhanden |
26
+ | `documented` | Source und Docs sind vorhanden |
27
+ | `source-only` | Source ist vorhanden, Docs oder Gates fehlen |
28
+ | `missing-source` | Manifest zeigt auf keine lokale Source; dieser Zustand blockiert |
29
+
30
+ ## Aktueller Stand
31
+
32
+ Der Snapshot nach `RC1TB-WP-03` zeigt:
33
+
34
+ - 42 Manifest-Komponenten
35
+ - 42 lokale Source-Dateien
36
+ - 42 Komponenten-Dokumente
37
+ - 42 Component-Level-Suites und Fixtures
38
+ - 42 Public-Type-Artefakte fuer priorisierte Komponenten
39
+ - 41 Komponenten mit erkennbarer A11y-Oberflaeche
40
+ - 40 Komponenten mit explizitem Runtime-/UI-Performance-Profil
41
+
42
+ `x-input`, `x-select`, `x-checkbox`, `x-radio`, `x-rmt-lifecycle-demo-build`, `x-textarea`, `x-form`, `x-calendar`, `x-writer`, `x-status`, `x-progress`, `x-tooltip`, `x-popover`, `x-drawer`, `x-surface-manager`, `x-surface-window`, `x-side-panel`, `x-modal`, `x-dialog`, `x-alert`, `x-toast`, `x-spinner`, `x-router`, `x-link`, `x-tabs`, `x-theme`, `x-button`, `x-icon`, `x-menu`, `x-footer`, `x-lightbox`, `x-masonry`, `x-code`, `x-header`, `x-hero`, `x-type`, `x-summary`, `x-section`, `x-cards` und `x-player` bilden die aktuelle `enterprise-ready` Linie: Source, Docs, Component-Suite, Fixture, Public Types, A11y und Performance-Profil sind vollstaendig vorhanden. `xstate` ist seit [Known Residual Triage](./known-residual-triage.md) als Runtime-Boundary geschlossen; `x-utils` ist als Utility-Boundary geschlossen. Beide bleiben bewusst nicht als visuelle `enterprise-ready` Komponenten klassifiziert.
43
+
44
+ Seit `ER-WP-35` existiert zusaetzlich der Regression-Priority-Plan `xtend.catalog.component-regression-priority-plan.v1`. Er priorisiert alle 42 Manifest-Eintraege fuer `desktop-1280`, `mobile-390`, `light`, `dark`, `forced-colors`, `reduced-motion`, Browser-Smokes und Performance-Profil-Ableitung. Die 40 sichtbaren Runtime-/UI-Komponenten bringen ihre Performance-Profile mit; `xstate` und `x-utils` werden stattdessen ueber ihre Boundary-Contracts bewertet.
45
+
46
+ ## Handoff
47
+
48
+ | Paket | Aufgabe |
49
+ |-------|---------|
50
+ | `ER-WP-32` | abgeschlossen: Docs- und Naming-Luecken schliessen |
51
+ | `ER-WP-33` | abgeschlossen: Component-Level-Suites und Fixtures fuer priorisierte Komponenten nachziehen |
52
+ | `ER-WP-34` | abgeschlossen: Public Types und Event Contracts fuer priorisierte Komponenten vervollstaendigen |
53
+ | `ER-WP-35` | abgeschlossen: Long-Tail-Suites, Performance-Profile sowie visuelle und browsernahe Regression priorisieren |
54
+ | `WP-E11-12` | abgeschlossen: Layout-, Display- und Media-Shell-Reife in Katalog, Types, Suites und Performance-Profilen nachziehen |
55
+
56
+ `WP-E11-17` fuehrt diese Matrix mit dem Regression-Priority-Plan in `xtend.epic11.legacy-long-tail-migration.v1` zusammen. Nach `WP-E12-09` sind `x-tabs`, `x-theme`, `x-button` und `x-menu` aus diesem Long-Tail geschlossen. Seit `WP-E13-05` sind auch `xstate` und `x-utils` als Boundary-Contracts geschlossen: `xstate` als Runtime-Boundary mit Suite, Fixture, Types, Lifecycle Events, Fabric Diagnostics und RMT State Adapter; `x-utils` als Utility-Boundary mit Utility Contract, Import Policy, Fixture und Public Types. Der Gate `node scripts/run_xtend_tests.js component-long-tail-migration --json` prueft diese geschlossene Long-Tail-Linie weiter gegen Plan, Package, Scaffold, Referenzen und Handoff.
57
+
58
+ Die vollstaendige Matrix liegt in `development/XTend-Component-Catalog-Coverage-Matrix.md`. Die Naming-Konvention liegt in `development/XTend-Component-Catalog-Naming-Konvention.md`. Public Types sind in `docs/public-component-types.md` dokumentiert. Visual-/Browser-Regression ist in `docs/visual-browser-regression.md` dokumentiert. Das maschinenlesbare Coverage-Modul liegt in `catalog/component-catalog-coverage.js`; der Regression-Priority-Plan liegt in `catalog/component-regression-priority.js`; der Long-Tail-Migrationsplan liegt in `catalog/component-long-tail-migration.js`.
@@ -0,0 +1,103 @@
1
+ # XTend Component Lab
2
+
3
+ Contract: `xtend.docs.component-lab.v1`
4
+
5
+ Das Component Lab ist ab `WP-E10-12` der lokale Preview- und Inspect-Pfad fuer TypeScript-first XTend-Komponenten. Es verbindet Component Contract v2, RMT Metadata, Fabric/Lane Context, Lifecycle Telemetry, A11y-Profile und Performance-Profile in einem Shell-first RMT-Pilot.
6
+
7
+ ## Pilot-Artefakte
8
+
9
+ - Plan-Modul: `xtend-builder/preview/component-lab.js`
10
+ - RMT Fixture: `tests/fixtures/rmt-component-lab-pilot.rmt`
11
+ - Contract: `development/XTend-Component-Lab-und-RMT-Inspector-Pilot.md`
12
+ - Gate: `node scripts/run_xtend_tests.js component-lab-rmt-inspector --json`
13
+
14
+ ## Preview Targets
15
+
16
+ Das Lab startet mit den neun `enterprise-ready` Komponenten aus Epic 10:
17
+
18
+ - `x-select`
19
+ - `x-checkbox`
20
+ - `x-radio`
21
+ - `x-textarea`
22
+ - `x-status`
23
+ - `x-progress`
24
+ - `x-tooltip`
25
+ - `x-popover`
26
+ - `x-drawer`
27
+
28
+ Jeder Target-Eintrag verweist auf Runtime, TypeScript Source, RMT Metadata, Contract, A11y, Performance, Fixture Data, Browser-Fixture, Docs, Public Types und Component-Suite.
29
+
30
+ ## RMT Inspector
31
+
32
+ Der RMT Inspector zeigt im Pilot die Domains:
33
+
34
+ - `manifest`
35
+ - `adapters`
36
+ - `components`
37
+ - `routes`
38
+ - `schedules`
39
+ - `templates`
40
+ - `diagnostics`
41
+
42
+ RMT bleibt dabei host-neutral. Der Kernel importiert keine XTend-Klassen und keine XTend-Typen. Execution, DOM-Materialisierung, XRouter-Registrierung und Fabric-Laufzeit bleiben Adapteraufgabe.
43
+
44
+ ## Panels
45
+
46
+ | Panel | Zweck |
47
+ |-------|-------|
48
+ | `component-preview` | Preview Target, Fixture und Component Contract anzeigen |
49
+ | `rmt-inspector` | RMT-Dokument, Routes, Schedules und Templates inspizieren |
50
+ | `telemetry` | Component Lifecycle Records und Fabric Snapshots sichtbar machen |
51
+ | `a11y` | Rollen, Keyboard, Screenreader-Signale und Pflichtassertions zeigen |
52
+ | `performance` | Budgetklasse, Lane, Hydration Policy und Messpunkte zeigen |
53
+ | `source-links` | Runtime-, TS-, RMT-, Docs-, Types- und Suite-Pfade verlinken |
54
+
55
+ ## Lokaler Gate
56
+
57
+ ```bash
58
+ node scripts/run_xtend_tests.js component-lab-rmt-inspector --json
59
+ ```
60
+
61
+ Der Gate validiert den Plan, das RMT-Fixture, die neun Preview Targets, alle Panels, Inspector-Domains, Package-Metadaten, Runner-Registrierung und Referenzpfade.
62
+
63
+ ## Epic 11 UX Inspector
64
+
65
+ Ab `WP-E11-13` liegt zusaetzlich der UX Inspector `xtend.epic11.component-lab-ux-inspector.v1` vor.
66
+
67
+ Artefakte:
68
+
69
+ - Plan-Modul: `xtend-builder/preview/component-lab-ux-inspector.js`
70
+ - RMT Fixture: `tests/fixtures/rmt-component-lab-ux-inspector.rmt`
71
+ - Contract: `development/XTend-Component-Lab-UX-Inspector.md`
72
+ - Gate: `node scripts/run_xtend_tests.js component-lab-ux-inspector --json`
73
+
74
+ Der UX Inspector arbeitet ueber 31 `enterprise-ready` Komponenten aus den fuenf Epic-11-Familien:
75
+
76
+ - Form Controls
77
+ - Feedback und Status
78
+ - Navigation und Routing
79
+ - Overlay und Interaction
80
+ - Layout, Display und Media
81
+
82
+ Die Panels erweitern den alten Pilot um `ux-family-matrix`, `state`, `styling` und `component-network`. Die Inspector-Domains sind `shell`, `style`, `a11y`, `performance`, `state`, `componentNetwork`, `rmtAuthoring`, `fabricTelemetry`, `diagnostics` und `sourceLinks`.
83
+
84
+ ```bash
85
+ node scripts/run_xtend_tests.js component-lab-ux-inspector --json
86
+ ```
87
+
88
+ Auch diese Schicht bleibt shell-first, lokal und host-neutral. RMT beschreibt Shell, Routes, Templates und Schedules; XTend-Komponenten laufen ueber Adapter ausserhalb des Kernels.
89
+
90
+ ## SurfaceManager Component Lab
91
+
92
+ Ab `WP-SM-09` gibt es eine Surface-spezifische Lab-Fixture:
93
+
94
+ - Docs: [SurfaceManager Component Lab](./surface-manager-component-lab.md)
95
+ - Fixture: `tests/fixtures/rmt-surface-manager-component-lab.rmt`
96
+ - Contract: `xtend.surface.component-lab-fixture.v1`
97
+ - Gate: `node scripts/run_xtend_tests.js surface-release-handoff --json`
98
+
99
+ Die Panels `surface-preview`, `native-rmt-inspector`, `migration-diff`, `quality-gates` und `source-links` zeigen die SurfaceManager-Linie als App-Shell-Lab: native `surfaces[*]`, kompatible `components[*].metadata.surface` Records, `x-surface-manager`, Windows, SidePanels und Overlay-Bridge bleiben zusammen pruefbar, ohne eine produktive `xtend.surface` Runtime zu behaupten.
100
+
101
+ ## Handoff
102
+
103
+ Das Lab ist noch kein produktiver Browser-Lab-Server. Es ist der gatebare Pilot fuer `WP-E10-13`, in dem die RMT-first Demo-App ohne manuelle Shell-Sonderlogik gebaut wird.
@@ -0,0 +1,41 @@
1
+ # Component Long-Tail Migration
2
+
3
+ - Contract: `xtend.docs.component-long-tail-migration.v1`
4
+ - Plan Contract: `xtend.epic11.legacy-long-tail-migration.v1`
5
+ - Gate Contract: `xtend.epic11.legacy-long-tail-migration-gate.v1`
6
+ - Workpackage: `WP-E11-17`
7
+
8
+ Diese Seite beschreibt, wie XTend die letzten nicht vollstaendig `enterprise-ready` Komponenten nach Epic 11 behandelt. Der Plan ist bewusst inkrementell: sichtbare Custom Elements werden gegen Shell, Styling, A11y, Performance, Browser-Smokes und Theme-Matrix gehaertet; Infrastruktur- und Utility-Module erhalten Integration-Probes statt kuenstlicher UI-Shells.
9
+
10
+ Fortschreibung nach `WP-E13-05`: `x-tabs` besitzt ein explizites Performance-Profil und ist nicht mehr Teil des offenen Long-Tail-Plans. `x-theme` besitzt A11y-, Reduced-Motion-, Forced-Colors-, Performance-, Theme-Propagation- und Density-Coverage. `x-button` besitzt Performance-, Interaction-Budget-, Fabric-Measurement- und RMT-Metadaten. `x-menu` besitzt Performance-, Keyboard-, Routing-, Fabric- und RMT-Metadaten. `xstate` besitzt Suite, Fixture, Public Types, Lifecycle Events, Fabric Diagnostics und RMT State Adapter und ist durch [Known Residual Triage](./known-residual-triage.md) als `closed-as-runtime-boundary` bewertet. `x-utils` besitzt Utility Contract, Import Policy, Fixture und Public Types und ist als `closed-as-utility-boundary` bewertet. Es bleiben keine offenen Long-Tail- oder Boundary-Profilentscheidungen aus diesem Plan.
11
+
12
+ ## Lokal pruefen
13
+
14
+ ```bash
15
+ node scripts/run_xtend_tests.js component-long-tail-migration --json
16
+ npm run test:component-long-tail-migration
17
+ ```
18
+
19
+ ## Migrationswellen
20
+
21
+ | Wave | Komponenten | Ziel |
22
+ |------|-------------|------|
23
+ | `wave-1-p0-routing-interaction` | geschlossen: `x-tabs` | Performance-Profil, Browser-Smoke und Theme-Matrix sind abgeschlossen |
24
+ | `wave-2-p1-theme-and-interaction` | geschlossen: `x-theme`, `x-button`, `x-menu` | Performance-, A11y-, Interaction- und Routing-Haertung sind abgeschlossen |
25
+ | `wave-3-infrastructure-and-utility-probes` | geschlossen: `xstate`, `x-utils` | Suite-, Fixture-, Type- und Boundary-Entscheidungen sind abgeschlossen; beide bleiben als nicht-visuelle Runtime-/Utility-Boundaries dokumentiert |
26
+
27
+ ## Regeln fuer Komponentenautoren
28
+
29
+ - Keine Long-Tail-Komponente wird per Big-Bang auf TypeScript oder neue Shells umgeschrieben.
30
+ - Custom Elements muessen ihre fehlenden Profile zuerst in `components/*`, Docs, Types und Component-Suites nachziehen.
31
+ - Nicht-Custom-Elemente wie `xstate` und `x-utils` werden als Infrastruktur- oder Utility-Grenzen getestet.
32
+ - Browser-Smokes und Theme-Matrix sind nur Pflicht, wenn die Oberflaeche wirklich visuell oder interaktiv ist.
33
+ - RMT beschreibt weiterhin Adapterdaten; der Kernel importiert keine XTend-Typen.
34
+
35
+ ## Quelle
36
+
37
+ Der Migrationsplan wird aus `catalog/component-catalog-coverage.js` und `catalog/component-regression-priority.js` erzeugt. Die akzeptierte Spezifikation liegt in `development/XTend-Epic11-Legacy-Long-Tail-Migrationsplan.md`.
38
+
39
+ ## RC0 Adoption Update
40
+
41
+ Seit `WP-E12-15` fasst der [RC0 Adoption Guide](./rc0-adoption-guide.md) diesen Long-Tail-Status als Migration Note fuer Component Authors und App Authors zusammen. Fuer RC0 galten `xstate` und `x-utils` als bekannte, akzeptierte Residuals aus der Known Residual Policy; sie blockierten den lokalen RC0 Review nicht und oeffneten keine Publish Boundary. Seit `WP-E13-05` sind beide Scopes fuer RC1 geschlossen: `xstate` als Runtime-Boundary, `x-utils` als Utility-Boundary.