@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,67 @@
1
+ # Motion und Contrast
2
+
3
+ - Contract: `xtend.docs.motion-contrast.v1`
4
+ - Runtime-/Gate-Contract: `xtend.a11y.motion-contrast-policy.v1`
5
+ - Motion Contract: `xtend.a11y.motion-policy.v1`
6
+ - Contrast Contract: `xtend.a11y.contrast-policy.v1`
7
+ - Gate: `node scripts/run_xtend_tests.js motion-contrast --json`
8
+
9
+ ## Zweck
10
+
11
+ Motion und Contrast sind in XTend Bestandteil von A11y-by-design. Komponenten muessen reduzierte Bewegung, erzwungene Kontrastmodi, sichtbaren Fokus und Nicht-Farbstatus respektieren, ohne dass XTendRMT oder ein Host-Framework konkrete CSS-Details kennen muss.
12
+
13
+ ## Pflichtregeln
14
+
15
+ | Bereich | Umsetzung |
16
+ |---------|-----------|
17
+ | Reduced Motion | `@media (prefers-reduced-motion: reduce)` deaktiviert nicht essentielle Animationen und Transitions |
18
+ | High Contrast | `@media (forced-colors: active)` nutzt Systemfarben wie `CanvasText`, `ButtonText`, `Highlight`, `Mark` |
19
+ | Fokus | `:focus-visible` bleibt sichtbar und verwendet im Forced-Colors-Pfad `Highlight` |
20
+ | Status | Error, Warning, Busy und Active haben eine nicht nur farbliche Semantik |
21
+ | Tokens | Theme Tokens duerfen Forced-Colors nicht ueberschreiben, wenn Systemfarben gebraucht werden |
22
+
23
+ ## Component Contract
24
+
25
+ Relevante Komponenten deklarieren statisch:
26
+
27
+ ```js
28
+ static get xtendMotionContrastPolicy() {
29
+ return {
30
+ schema: 'xtend.a11y.motion-contrast-policy.v1',
31
+ componentRef: 'x-component',
32
+ motion: {
33
+ schema: 'xtend.a11y.motion-policy.v1',
34
+ mediaQuery: '(prefers-reduced-motion: reduce)',
35
+ noMotionOnlyState: true
36
+ },
37
+ contrast: {
38
+ schema: 'xtend.a11y.contrast-policy.v1',
39
+ mediaQuery: '(forced-colors: active)',
40
+ focusVisible: 'required',
41
+ nonColorStatus: 'required'
42
+ }
43
+ };
44
+ }
45
+ ```
46
+
47
+ ## Scaffold
48
+
49
+ Neue Scaffold-Komponenten erhalten:
50
+
51
+ - `motionContrast.policy` im A11y-Profil
52
+ - Manifest-Key `motionContrastPolicy`
53
+ - Docs-Abschnitt `Motion-und-Contrast-Policy`
54
+ - Fixture-Felder `motionContrastPolicy`, `motionMediaQuery`, `contrastMediaQuery`
55
+ - TypeScript-Type `X<Component>MotionContrastPolicy`
56
+
57
+ ## Fabric und RMT
58
+
59
+ Preference-Signale nutzen die Fabric-Lane `a11y`, Fiber `a11y.preference` und Schedule `a11y.user-blocking.preference`. RMT bleibt framework-agnostisch und bekommt nur host-neutrale Schedule-/Diagnostic-Signale, keine CSS-Ausfuehrung.
60
+
61
+ ## Lokale Verifikation
62
+
63
+ ```bash
64
+ npm run test:motion-contrast
65
+ node scripts/run_xtend_tests.js motion-contrast --json
66
+ node scripts/run_xtend_tests.js references --json
67
+ ```
@@ -0,0 +1,44 @@
1
+ # Package Export Lock
2
+
3
+ - Contract: `xtend.epic13.package-export-lock.v1`
4
+ - Report: `xtend.epic13.package-export-lock-report.v1`
5
+ - Surface: `xtend.epic13.package-export-surface.v1`
6
+ - Dry-Run Artifact: `xtend.epic13.package-dry-run-artifact.v1`
7
+ - Lokaler Gate: `node scripts/run_xtend_tests.js epic13-package-export-lock --json`
8
+
9
+ Der Package Export Lock macht den RC1-Paketinhalt pruefbar. Der lokale Gate validiert `package.json#exports`, `files`, die erwarteten Package Roots und die Surface Groups ohne `npm pack` auszufuehren.
10
+
11
+ ## Surface Groups
12
+
13
+ | Gruppe | Zweck |
14
+ |--------|-------|
15
+ | Loader | `xtend-loader.js`, Legacy Stub, API, CSS und Manifest |
16
+ | Components | Manifest und Component-Dateien |
17
+ | Fabric | Fabric Runtime, RMT Lane Mapping und Hydration Policy |
18
+ | XTendRMT | ESM- und Browser-Runtime |
19
+ | Builder | Scaffold CLI, Preview, Typing und Performance Contracts |
20
+ | Docs | Docs-App, Markdown, Parsedown/RMT Shell und Referenzen |
21
+ | Security | Manifest, Trusted DOM und Supply-Chain Policies |
22
+ | Catalog | Gate-, Handoff- und Epic-Contracts |
23
+
24
+ ## Release Owner Artifact
25
+
26
+ ```bash
27
+ npm run pack:dry-run:report
28
+ ```
29
+
30
+ Das Script schreibt:
31
+
32
+ - `.xtend-test-results/xtend-pack-dry-run.json`
33
+ - `.xtend-test-results/xtend-package-export-surface-lock.json`
34
+ - `.xtend-test-results/xtend-package-export-lock-report.json`
35
+
36
+ `private-until-release-owner-acceptance` bleibt aktiv. Der Lock beweist nur, dass Paketinhalt und Export Surface kontrolliert sind; er oeffnet kein Publishing.
37
+
38
+ ## TypeExports Anschluss
39
+
40
+ Ab `WP-TypeExports-01` nutzt [TypeExports](./type-exports.md) den Package Export Lock als Quelle fuer die Public Export Surface. Der Gate `node scripts/run_xtend_tests.js type-exports --json` koppelt die 115 erwarteten Exports ueber Count und Fingerprint an `xtend.epic13.package-export-lock.v1` und erzwingt fuer neue Public Exports eine Type-Entscheidung. Ab `WP-TypeExports-02` besitzen `.`, `./loader` und `./legacy-loader` die Type-Ziele `./xtend-loader.d.ts` und `./xtend-dev.d.ts`; `node scripts/run_xtend_tests.js type-exports-loader --json` prueft diesen Anschluss gegen die Loader-Runtime. Ab `WP-TypeExports-03` besitzt `./api` das Type-Ziel `./api.d.ts`; `node scripts/run_xtend_tests.js type-exports-api --json` prueft den Core-API-Namespace gegen `api.js`. Ab `WP-TypeExports-04` besitzen `./rmt`, `./rmt/browser` und die RMT-Language-/Tooling-Exports Type-Ziele wie `./xtendrmt/rmt-core.d.ts` und `./tools/rmt-language/rmt-tooling-public-types.d.ts`; `node scripts/run_xtend_tests.js type-exports-rmt --json` prueft diesen Anschluss gegen die RMT Runtime- und Tooling-Surface. Ab `WP-TypeExports-05` besitzen Fabric/A11y/Security Exports Type-Ziele wie `./fabric/xtend-fabric.d.ts` und `./fabric/xtend-policy-public-types.d.ts`; `node scripts/run_xtend_tests.js type-exports-policy --json` prueft diesen Anschluss gegen die Policy-Surface. Ab `WP-TypeExports-06` besitzen Builder-Exports Type-Ziele wie `./xtend-builder/scaffold.d.ts`, `./xtend-builder/builder-public-types.d.ts` und `./xtend-builder/*.d.ts`; `node scripts/run_xtend_tests.js type-exports-builder --json` prueft diesen Anschluss gegen Scaffold, Generatoren, Component Lab und Typing Contracts. Ab `WP-TypeExports-07` besitzen Catalog-Exports Type-Ziele wie `./catalog/epic13-package-export-lock.d.ts` und das gemeinsame `./catalog/catalog-public-types.d.ts`; `node scripts/run_xtend_tests.js type-exports-catalog --json` prueft diesen Anschluss gegen Plan-/Report-/Validation-Catalogs. Ab `WP-TypeExports-08` besitzen Design Tokens und Vendor-Facades Type-Ziele wie `./design-tokens/xtend-design-tokens.d.ts`, `./design-tokens/xtheme-token-alias-layer.d.ts`, `./components/prism.d.ts` und `./components/turndown.d.ts`; `node scripts/run_xtend_tests.js type-exports-vendor --json` prueft diesen Anschluss gegen die Utility-Grenzen. Ab `WP-TypeExports-09` buendelt `npm run test:type-exports:release` die TypeExports-Gates als Release-Handoff und schreibt `.xtend-test-results/xtend-type-exports-report.json`.
41
+
42
+ ## Handoff
43
+
44
+ Nach `WP-E13-04` hat `WP-E13-05` die Known Residual Triage unter [Known Residual Triage](./known-residual-triage.md) mit `xtend.epic13.known-residual-triage.v1` abgeschlossen. `WP-E13-06` hat die [Hydration Performance Closure](./hydration-performance-closure.md) mit `xtend.epic13.hydration-performance-closure.v1` abgeschlossen. `WP-E13-07` hat die [PROD Browser CSP Smokes](./prod-browser-csp-smokes.md) vorbereitet, `WP-E13-08` hat [Visual Owner Artifacts](./visual-owner-artifacts.md) normalisiert, `WP-E13-09` hat [RMT Production Readiness](./rmt-production-readiness.md) gebuendelt, `WP-E13-10` hat [Docs RMT Production Hardening](./docs-rmt-production-hardening.md) abgeschlossen, `WP-E13-11` hat [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md) abgeschlossen, `WP-E13-12` hat [RC1 Migration Notes](./rc1-migration-notes.md) abgeschlossen, `WP-E13-13` hat [RC1 Gate Matrix und CI-Handoff](./rc1-gate-matrix-ci-handoff.md) registriert, `DPF-WP-02` hat [Release Report und Pack Dry Run Evidence](./release-report-pack-dry-run-evidence.md) nachgezogen und `DPF-WP-03` hat [Conditional Network Evidence CI](./conditional-network-evidence-ci.md) nachgezogen. Der aktuelle Export Lock erwartet 115 Package-Exports inklusive `./design-tokens/xtheme-token-alias-layer`, `./catalog/epic13-rc1-migration-notes`, `./catalog/epic13-rc1-gate-matrix-ci-handoff`, `./catalog/epic13-release-report-pack-dry-run-evidence`, `./catalog/epic13-conditional-network-evidence-ci`, `./rmt-language/kernel-trust-authority`, `./rmt-language/kernel-security-regression`, `./catalog/epic14-rmt-tooling`, `./catalog/epic14-lsp-handoff` sowie der klassischen und vNext RMT-Tooling-Surface.
@@ -0,0 +1,106 @@
1
+ # Performance Measurements
2
+
3
+ XTend misst ab `ER-WP-18` Loader-, Hydration-, Render- und Route-Kernpfade lokal.
4
+
5
+ Der stabile Measurement Contract lautet:
6
+
7
+ ```text
8
+ xtend.performance.measurement.v1
9
+ ```
10
+
11
+ ## Messpunkte
12
+
13
+ | Measure | Phase | Quelle |
14
+ |---------|-------|--------|
15
+ | `xtend.loader.manifest` | `load` | `xtend-loader.js` |
16
+ | `xtend.loader.module` | `load` | `xtend-loader.js`, Fabric Fibers |
17
+ | `xtend.component.define` | `define` | `xtend-loader.js` |
18
+ | `xtend.component.mount` | `mount` | Fabric Fibers |
19
+ | `xtend.component.hydrate` | `hydrate` | Fabric Fibers |
20
+ | `xtend.component.render` | `render` | Fabric Fibers |
21
+ | `xtend.component.update` | `update` | Fabric Fibers |
22
+ | `xtend.event.handler` | `event` | Fabric Fibers |
23
+ | `xtend.route.navigate` | `route` | Fabric Fibers |
24
+ | `xtend.route.render` | `route` | Fabric Fibers |
25
+ | `xtend.diagnostics.snapshot` | `diagnostics` | Fabric Fibers |
26
+
27
+ ## Loader
28
+
29
+ Der Loader setzt `performance.mark` und `performance.measure` fuer:
30
+
31
+ - Manifest laden und aufloesen
32
+ - ESM-Modul laden
33
+ - Custom Element Definition abwarten
34
+
35
+ Zusätzlich emittiert er ein lokales Browser-Event:
36
+
37
+ ```js
38
+ window.addEventListener('xtend-loader-performance', (event) => {
39
+ console.log(event.detail.name, event.detail.durationMs);
40
+ });
41
+ ```
42
+
43
+ Die automatische Boot-Promise enthaelt die Loader-Messwerte:
44
+
45
+ ```js
46
+ const boot = await window.__XTendLoaderBootPromise;
47
+ console.log(boot.performanceMeasurements);
48
+ ```
49
+
50
+ ## Fabric
51
+
52
+ Fabric misst bekannte Fibers automatisch:
53
+
54
+ ```js
55
+ const fabric = window.XTendFabric.createXtendFabric({
56
+ performance: window.performance
57
+ });
58
+
59
+ const component = fabric.createComponentFiberInstrumentation('x-alert');
60
+ await component.hydrate(() => hydrateAlert());
61
+ ```
62
+
63
+ Die Messung kann fuer Spezialtests deaktiviert werden:
64
+
65
+ ```js
66
+ const fabric = window.XTendFabric.createXtendFabric({
67
+ markPerformance: false
68
+ });
69
+ ```
70
+
71
+ ## Telemetry Snapshot
72
+
73
+ `createTelemetrySnapshot()` liest `mark` und `measure` Eintraege mit Prefix `xtend.` und normalisiert sie:
74
+
75
+ ```js
76
+ const snapshot = fabric.createTelemetrySnapshot({
77
+ performance: window.performance
78
+ });
79
+
80
+ console.log(snapshot.performance.measurements);
81
+ console.log(snapshot.performance.phaseSummary.hydrate);
82
+ ```
83
+
84
+ Die Snapshot-Sektion enthaelt:
85
+
86
+ - `measurementSchema`
87
+ - `measurementCount`
88
+ - `measurements`
89
+ - `phaseSummary`
90
+ - `entries`
91
+ - `totalDurationMs`
92
+ - `maxDurationMs`
93
+
94
+ ## Gates
95
+
96
+ ```bash
97
+ node scripts/run_xtend_tests.js fabric-performance-measurements --json
98
+ npm run test:fabric-performance
99
+ ```
100
+
101
+ Seit `ER-WP-19` nutzt [Performance Regression](./performance-regression.md) dieselben Measurements fuer lokale deterministische Baselines:
102
+
103
+ ```bash
104
+ node scripts/run_xtend_tests.js performance-regression --json
105
+ npm run test:performance
106
+ ```
@@ -0,0 +1,89 @@
1
+ # Performance Regression
2
+
3
+ - Docs Contract: `xtend.docs.performance-regression.v1`
4
+ - Gate Contract: `xtend.performance.regression-gate.v1`
5
+ - Baseline Contract: `xtend.performance.regression-baseline.v1`
6
+ - Report Schema: `xtend.performance.regression-report.v1`
7
+ - Seit: `ER-WP-19`
8
+
9
+ XTend misst Loader-, Hydration-, Render- und Route-Arbeit bereits als `xtend.performance.measurement.v1`. Das Performance Regression Gate wertet diese Measurements gegen lokale Baselines aus.
10
+
11
+ ## Lokaler Gate
12
+
13
+ ```bash
14
+ node scripts/run_xtend_tests.js performance-regression
15
+ npm run test:performance
16
+ node scripts/run_xtend_tests.js performance-regression --json
17
+ ```
18
+
19
+ Die Suite nutzt:
20
+
21
+ - `tests/performance/performance_regression_suite.js`
22
+ - `tests/performance/baselines/local-performance-baseline.json`
23
+ - Fabric `createTelemetrySnapshot`
24
+ - Budgetwerte aus `fabric/xtend-fabric.js` und `development/XTend-Performance-Budget-Matrix.md`
25
+
26
+ ## Statusmodell
27
+
28
+ | Status | Bedingung | Wirkung |
29
+ |--------|-----------|---------|
30
+ | `pass` | `durationMs <= budgetMs` | keine Aktion |
31
+ | `warn` | `durationMs <= budgetMs * 1.5` | sichtbar im Report |
32
+ | `fail` | `durationMs > budgetMs * 1.5` | Suite schlaegt fehl |
33
+
34
+ Warnungen sind Kalibrierungssignale. Harte `fail`-Eintraege sind Regressionen und erscheinen im Runner-Report unter `failures`. Seit `WP-E13-06` muss die lokale RC1-Baseline `warnCount === 0` melden; die fruehere Hydration-Warnung ist ueber [Hydration Performance Closure](./hydration-performance-closure.md) owner-frei geschlossen.
35
+
36
+ ## Baseline
37
+
38
+ Die erste Baseline ist bewusst deterministisch und lokal:
39
+
40
+ ```text
41
+ tests/performance/baselines/local-performance-baseline.json
42
+ ```
43
+
44
+ Sie deckt mindestens diese Messpunkte ab:
45
+
46
+ - `xtend.loader.manifest`
47
+ - `xtend.loader.module`
48
+ - `xtend.component.define`
49
+ - `xtend.component.mount`
50
+ - `xtend.component.hydrate`
51
+ - `xtend.component.render`
52
+ - `xtend.component.update`
53
+ - `xtend.event.handler`
54
+ - `xtend.route.navigate`
55
+ - `xtend.route.render`
56
+ - `xtend.diagnostics.snapshot`
57
+
58
+ ## JSON-Report
59
+
60
+ Der eingebettete Regression-Report nutzt:
61
+
62
+ ```text
63
+ xtend.performance.regression-report.v1
64
+ ```
65
+
66
+ Wichtige Felder:
67
+
68
+ - `measurementSchema`
69
+ - `measurementCount`
70
+ - `passCount`
71
+ - `warnCount`
72
+ - `failCount`
73
+ - `warnings`
74
+ - `failures`
75
+ - `phaseSummary`
76
+
77
+ `phaseSummary` macht sichtbar, welche Phase Budgetdruck erzeugt, ohne dass jede Komponente einen eigenen Browser-Test braucht.
78
+
79
+ ## Beziehung zu Measurements
80
+
81
+ Das Regression Gate baut auf [Performance Measurements](./performance-measurements.md) auf. Es fuehrt keine zweite Messlogik ein, sondern nimmt Fabric Telemetry Snapshots als Quelle.
82
+
83
+ ## RC1 Closure
84
+
85
+ `WP-E13-06` hat `xtend.component.hydrate` von `36ms / 32ms` auf `31ms / 32ms` kalibriert, ohne das Budget anzuheben. Die Failure-Fixture bleibt aktiv und belegt weiterhin, dass echte Budgetverletzungen hart fehlschlagen.
86
+
87
+ ## Handoff
88
+
89
+ `ER-WP-20` nutzt diese Reports fuer Lazy/Idle/Visible Hydration Policies. `ER-WP-21` hat daraus die praktischen Regeln fuer Komponentenautoren in [Performance fuer Komponentenautoren](./performance.md) abgeleitet.
@@ -0,0 +1,94 @@
1
+ # Performance fuer Komponentenautoren
2
+
3
+ - Docs Contract: `xtend.docs.performance-authoring.v1`
4
+ - Scaffold Policy: `xtend.scaffold.performance-policy.v1`
5
+ - Component Profile Contract: `xtend.performance.component-profile.v1`
6
+ - Budget Matrix: `xtend.performance.budget-matrix.v1`
7
+ - Measurement Contract: `xtend.performance.measurement.v1`
8
+ - Regression Gate: `xtend.performance.regression-gate.v1`
9
+ - Hydration Policy: `xtend.fabric.hydration-policy.v1`
10
+ - Seit: `ER-WP-21`
11
+
12
+ Dieses Dokument uebersetzt die Performance-Budget-Matrix in konkrete Autorenregeln. Neue Komponenten sollen nicht erst nachtraeglich optimiert werden, sondern ihr Performance-Profil bereits im Scaffold, in der Component-Doku, in Fabric Measurements und im lokalen Regression Gate sichtbar machen.
13
+
14
+ ## Performance-Profil
15
+
16
+ Jede neue Scaffold-Komponente erhaelt `xtendScaffoldPerformanceProfile` im Source, `performanceProfile` im Manifest-Patch-Plan und die Docs-Abschnitte `Performance-Profil` sowie `Performance-Regeln`. Diese Artefakte referenzieren dieselbe Policy `xtend.scaffold.performance-policy.v1`.
17
+
18
+ | Profil | Lane | Budgetklasse | Hydration | Kritische Phasen |
19
+ |--------|------|--------------|-----------|------------------|
20
+ | `display` | `visible` | `interactive` | `visible` | load, mount, hydrate, render, update |
21
+ | `interactive` | `user-blocking` | `critical` | `visible` | hydrate, render, update, event |
22
+ | `overlay` | `user-blocking` | `critical` | `visible` | mount, hydrate, render, event |
23
+ | `routing` | `transition` | `interactive` | `visible` | route navigate, route render, hydrate, event |
24
+ | `form` | `user-blocking` | `critical` | `visible` | hydrate, update, event |
25
+ | `media` | `visible` | `interactive` | `visible-or-idle` | mount, hydrate, render, event |
26
+ | `stateful` | `user-blocking` | `critical` | `visible` | update, event, state sync |
27
+ | `feedback` | `a11y` | `critical` | `visible` | render, update, event, announcement |
28
+ | `theme` | `visible` | `interactive` | `visible` | render, update, theme apply |
29
+
30
+ Komponenten mit mehreren Profilen verwenden die strengste Budgetklasse und die hoechstpriorisierte Lane. `feedback` darf eine eigene `a11y` Fiber nutzen; `media` darf nicht sichtbare Arbeit auf `idle` verschieben.
31
+
32
+ ## DOM-Regeln
33
+
34
+ - DOM-Suchen muessen auf `this.shadowRoot`, den Host oder einen bekannten Container begrenzt sein.
35
+ - `document.querySelectorAll` und globale DOM-Loops brauchen eine begruendete Ausnahme und ein Budget.
36
+ - Statische Referenzen duerfen gecacht werden; dynamische Node-Listen duerfen nicht unkontrolliert wachsen.
37
+ - Wiederholte Voll-Renderings sind nur fuer kleine, statische Komponenten akzeptabel. Groessere Komponenten muessen gezielt updaten.
38
+ - `MutationObserver`, `ResizeObserver`, Timer und Subscriptions muessen in `disconnectedCallback` bereinigt werden.
39
+
40
+ ## Event-Regeln
41
+
42
+ - `interactive`, `overlay` und `form` behandeln User Events als `critical`; der synchrone Handler-Zielwert ist 16 ms.
43
+ - Handler duerfen keine synchronen Netzwerk-, Storage- oder grossen DOM-Scan-Arbeiten ausfuehren.
44
+ - High-frequency Events wie `input`, `scroll`, `pointermove` und `resize` muessen gedrosselt, zusammengefasst oder auf `requestAnimationFrame` gelegt werden.
45
+ - Event-Daten sollen in kanonischen State oder lokale Render-Caches ueberfuehrt werden; abgeleitete DOM-Arbeit erfolgt danach gebuendelt.
46
+
47
+ ## Shadow DOM
48
+
49
+ - Styles sollten statisch bleiben. Wiederholtes Einfuegen identischer `<style>` Bloecke im Update-Pfad ist ein Review-Signal.
50
+ - Wo moeglich werden CSS Custom Properties und Parts genutzt, damit Theme-Arbeit nicht ueber JS-Layout-Loops laeuft.
51
+ - `slotchange` muss budgetiert sein und darf keine unbeschraenkten DOM-Scans ausloesen.
52
+ - Shadow-DOM-Updates sollen kleine Teilbaeume austauschen, statt bei jeder State-Aenderung die gesamte Oberflaeche neu zu schreiben.
53
+
54
+ ## Layout und Animation
55
+
56
+ - Layout-Reads passieren vor Layout-Writes. Gemischte Read/Write-Schleifen in derselben Sync-Phase sind verboten.
57
+ - Animationen sollen `transform` und `opacity` bevorzugen und `prefers-reduced-motion` respektieren.
58
+ - Messbare sichtbare Arbeit muss mit `componentRef`, `fiberId`, `lane`, `phase` und `durationMs` korrelierbar sein.
59
+ - Nicht sichtbare Arbeit nutzt `idle`, `background` oder `diagnostics`; sie darf keine `user-blocking` Lane beanspruchen.
60
+
61
+ ## Hydration
62
+
63
+ `visible` ist der Default fuer sichtbare UI. `idle` ist fuer nicht sofort benoetigte, aber bald erwartete Arbeit geeignet. `lazy` ist fuer Arbeit reserviert, die erst bei Bedarf oder Sichtbarkeit aktiviert wird. Nicht sichtbare Hydration darf nicht als `user-blocking` geplant werden.
64
+
65
+ Die operative Policy steht in [Hydration Policies](./hydration-policies.md). Die Messpunkte und Gate-Auswertung stehen in [Performance Measurements](./performance-measurements.md) und [Performance Regression](./performance-regression.md).
66
+
67
+ ## Scaffold-Pflicht
68
+
69
+ Neue Scaffold-Ausgaben muessen diese Daten sichtbar machen:
70
+
71
+ - `performanceProfile`
72
+ - `budgetClass`
73
+ - `lane`
74
+ - `hydrationPolicy`
75
+ - `criticalMeasurements`
76
+ - `idleOrBackgroundAllowed`
77
+ - `requiresA11yFiber`
78
+
79
+ Die Policy ist in `xtend-builder/scaffold.config.js` unter `performance` hinterlegt. Der Generator spiegelt sie in `xtend-builder/performance/component-performance-profile.js`, den Component-Templates und dem Manifest-Patch-Plan.
80
+
81
+ ## Gates
82
+
83
+ ```bash
84
+ node scripts/run_xtend_tests.js fabric-performance-measurements --json
85
+ node scripts/run_xtend_tests.js performance-regression --json
86
+ node scripts/run_xtend_tests.js hydration-policy --json
87
+ node scripts/run_xtend_tests.js references --json
88
+ ```
89
+
90
+ `performance-regression` darf lokale Warnungen erzeugen, wenn ein deterministischer Fixture-Pfad sein Budget ueberschreitet. Harte Failures bleiben fuer priorisierte Kernpfade und dokumentierte Budgetverletzungen reserviert.
91
+
92
+ ## Handoff
93
+
94
+ `ER-WP-25` ist abgeschlossen und verbindet Screenreader-Signale mit Performance-Fibers und der `a11y` Lane. `ER-WP-26` ist ebenfalls abgeschlossen: Reduced-Motion- und High-Contrast-Regeln nutzen dieselbe Profil-, Lane- und Gate-Sprache ueber `xtend.a11y.motion-contrast-policy.v1`.
@@ -0,0 +1,17 @@
1
+ # XTend Scaffold Previews
2
+
3
+ - Status: scaffold preview convention
4
+ - Reference gate: `node scripts/run_xtend_tests.js references`
5
+ - Generator: `node xtend-builder/scaffold.js preview --tag x-example --profile display --feature state --json`
6
+
7
+ ## Purpose
8
+
9
+ This directory is reserved for scaffolded component preview plans. A preview plan is a local Markdown reference that connects generated component source, docs, fixture, types and manifest patch output to the documentation and demo reference registry.
10
+
11
+ ## Minimum Contract
12
+
13
+ - Preview paths follow `docs/previews/<name>.preview.md`.
14
+ - Preview plans must be listed in `development/XTend-Dokumentations-und-Demo-Referenzpfade.md` before they become automated references.
15
+ - Preview plans must use repo-local component, fixture and manifest paths.
16
+ - External network dependencies are not allowed for automated scaffold previews.
17
+ - Productive preview writes remain review-first until a later package introduces a write mode.
@@ -0,0 +1,40 @@
1
+ # PROD Browser CSP Smokes
2
+
3
+ - Contract: `xtend.epic13.prod-browser-csp-smoke.v1`
4
+ - Fixture Contract: `xtend.epic13.prod-browser-csp-smoke-fixture.v1`
5
+ - Report: `xtend.epic13.prod-browser-csp-smoke-report.v1`
6
+ - Workpackage: `WP-E13-07`
7
+ - Lokaler Gate: `node scripts/run_xtend_tests.js epic13-prod-browser-csp-smoke --json`
8
+ - Dev Server: `npm run dev:local:csp`
9
+ - Fixture: `tests/browser/fixtures/epic13-prod-csp-smoke.html`
10
+ - Publish Boundary: `private-until-release-owner-acceptance`
11
+
12
+ ## Zweck
13
+
14
+ Der PROD Browser CSP Smoke prueft den XTend-Loader unter einer PROD-aehnlichen Content Security Policy, ohne externe Netzwerke oder CDN-Fallbacks zu nutzen.
15
+
16
+ Die Fixture nutzt:
17
+
18
+ - eine `nonce` fuer alle Inline- und Loader-Skripte
19
+ - ein same-origin Manifest unter `/tests/browser/fixtures/components/manifest.json`
20
+ - den root-lokalen Loader `/xtend-loader.js`
21
+ - keine `importmap`
22
+ - keine `https://cdn.ccs-networks.de/xtend` Referenz
23
+ - XState und XRouter als minimale Hydration-Linie
24
+
25
+ ## Lokale Nutzung
26
+
27
+ ```bash
28
+ npm run test:epic13-prod-browser-csp-smoke
29
+ npm run dev:local:csp
30
+ ```
31
+
32
+ Der lokale Server setzt zusaetzlich zum CSP Meta der Fixture einen `content-security-policy` Header. Damit kann die HTML-Datei sowohl statisch als auch servernah geprueft werden.
33
+
34
+ ## Grenzen
35
+
36
+ Dieser Smoke ist eine PROD-nahe Boot- und Policy-Vorbereitung. Die Trusted-DOM-Pruefung fuer Parsedown, RMT HTML-Fragmente und untrusted Content liegt seit `WP-E13-11` unter [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md) und `xtend.epic13.trusted-dom-boundary.v1`.
37
+
38
+ ## Handoff
39
+
40
+ `WP-E13-07` ist abgeschlossen. `WP-E13-08` hat [Visual Owner Artifacts](./visual-owner-artifacts.md) normalisiert. `WP-E13-09` ist ready und buendelt als naechstes die RMT-first App Production Readiness.
@@ -0,0 +1,79 @@
1
+ # Public Component Types
2
+
3
+ - Contract: `xtend.docs.public-component-types.v1`
4
+ - Type Contract: `xtend.enterprise.er-wp-34.public-component-types.v1`
5
+ - Workpackage: `ER-WP-34`
6
+
7
+ XTend liefert fuer priorisierte Public Components lokale TypeScript-Declaration-Artefakte neben der jeweiligen Runtime-Source aus. Die Dateien liegen direkt in `components/*.d.ts` und werden ueber den Package-Export `xtend/components/*` erreichbar.
8
+
9
+ ## Lokaler Contract
10
+
11
+ ```text
12
+ components/xtend-public-types.d.ts
13
+ components/xalert.d.ts
14
+ components/xtoast.d.ts
15
+ components/xmodal.d.ts
16
+ components/xrouter.d.ts
17
+ components/xlink.d.ts
18
+ components/xinput.d.ts
19
+ components/xselect.d.ts
20
+ components/xcheckbox.d.ts
21
+ components/xradio.d.ts
22
+ components/xtextarea.d.ts
23
+ components/xstatus.d.ts
24
+ components/xprogress.d.ts
25
+ components/xtooltip.d.ts
26
+ components/xpopover.d.ts
27
+ components/xdrawer.d.ts
28
+ components/xform.d.ts
29
+ components/xtabs.d.ts
30
+ components/xdialog.d.ts
31
+ components/xlightbox.d.ts
32
+ components/xcalendar.d.ts
33
+ components/xwriter.d.ts
34
+ components/xtheme.d.ts
35
+ components/xbutton.d.ts
36
+ components/xspinner.d.ts
37
+ components/xmenu.d.ts
38
+ components/xsummary.d.ts
39
+ components/xplayer.d.ts
40
+ components/xsection.d.ts
41
+ components/xcards.d.ts
42
+ components/xheader.d.ts
43
+ components/xfooter.d.ts
44
+ components/xhero.d.ts
45
+ components/xtype.d.ts
46
+ components/xcode.d.ts
47
+ components/xmasonry.d.ts
48
+ components/xstate.d.ts
49
+ components/xutils.d.ts
50
+ ```
51
+
52
+ Jede Komponenten-Datei beschreibt:
53
+
54
+ - Public Attribute-Namen
55
+ - Public Property- und Methodenflaechen
56
+ - Eventnamen
57
+ - `CustomEvent` Detail-Payloads
58
+ - `HTMLElementTagNameMap` fuer Custom Elements
59
+ - typed `addEventListener` Overloads fuer komponentenspezifische Events
60
+
61
+ `x-theme` ist kein Custom Element, sondern ein Core-Modul. Seine Typen beschreiben deshalb `window.XTend.theme`, `window.XTheme`, A11y-Preference-Snapshots, Motion-/Contrast-Policy, Density, Theme Context, Performance Snapshot, RMT Metadata und die Document-Events `theme-initialized`, `theme-changed`, `theme-variable-changed`, `theme-preference-changed`, `theme-a11y-announcement`, `theme-density-changed`, `theme-context-changed` und `theme-performance-measured`.
62
+
63
+ ## Gate
64
+
65
+ ```bash
66
+ node scripts/run_xtend_tests.js components
67
+ ```
68
+
69
+ Die Component-Suite enthaelt ab `ER-WP-34` den Sub-Gate `component-public-types`. Nach `RC1TB-WP-03` prueft er die Shared-Type-Helfer, alle 42 priorisierten `.d.ts` Dateien, Eventnamen, Detail-Typen, API-Methoden und Element-/Window-Mappings.
70
+
71
+ Ab `WP-TypeExports-09` ist der Component-Wildcard-Export auch im produktiven TypeExports-Handoff abgedeckt. `./components/*` bleibt eine adjacent-Declaration-Grenze: Consumer bekommen `components/*.d.ts` ueber die nebenliegenden Dateien, waehrend `node scripts/run_xtend_tests.js type-exports --json` verhindert, dass neue Public Component Exports ohne Type-Entscheidung in die Package Surface geraten.
72
+
73
+ ## Coverage-Status
74
+
75
+ Nach `RC1TB-WP-03` stehen `types` in der Component Catalog Coverage Matrix bei `42/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` sind die aktuelle `enterprise-ready` Referenzlinie mit Public Types, Component-Suite, Fixture, A11y und Performance-Profil. `xstate` besitzt Public Types fuer Boundary Contract, RMT State Adapter, Lifecycle Events und Diagnostics. `x-utils` besitzt Public Types fuer Utility Contract, Import Policy, Boundary Snapshot, UI Effects, Template API sowie die Events `xutils:import-policy-check` und `xutils:ui-effects-change`.
76
+
77
+ Es gibt nach `WP-E12-09` keinen verbleibenden Type-Gap. Seit `WP-E13-05` sind auch die frueheren Boundary-Residuals geschlossen: `xstate` ist `closed-as-runtime-boundary`, `x-utils` ist `closed-as-utility-boundary`. Beide bleiben Public-Type-Boundaries, aber keine offenen Type- oder Performance-Aufgaben.
78
+
79
+ Die frueheren Vendor-Grenzen `components/prism.js` und `components/turndown.js` besitzen ab `WP-TypeExports-08` schmale Facade-Declarations. Sie sind keine Public XTend UI Komponenten, werden aber vom TypeExports-Release-Gate gegen unbeabsichtigten Declaration Drift mitgeprueft.