@ccslabs/xtend 0.1.0-rc.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +4 -0
  3. package/catalog/component-catalog-coverage.js +2 -0
  4. package/catalog/epic13-package-export-lock.js +11 -1
  5. package/catalog/epic13-rmt-production-readiness.js +0 -1
  6. package/catalog/epic18-rmt-action-effect-runtime.d.ts +36 -0
  7. package/catalog/epic18-rmt-action-effect-runtime.js +249 -0
  8. package/catalog/epic18-rmt-app-platform-authoring.d.ts +39 -0
  9. package/catalog/epic18-rmt-app-platform-authoring.js +319 -0
  10. package/catalog/epic18-rmt-app-platform-fixture.d.ts +33 -0
  11. package/catalog/epic18-rmt-app-platform-fixture.js +221 -0
  12. package/catalog/epic18-rmt-app-platform-release-handoff.d.ts +30 -0
  13. package/catalog/epic18-rmt-app-platform-release-handoff.js +231 -0
  14. package/catalog/epic18-rmt-app-platform-tooling.d.ts +38 -0
  15. package/catalog/epic18-rmt-app-platform-tooling.js +242 -0
  16. package/catalog/epic18-rmt-component-template-primitives.d.ts +33 -0
  17. package/catalog/epic18-rmt-component-template-primitives.js +240 -0
  18. package/catalog/epic18-rmt-dom-descriptor-renderer.d.ts +35 -0
  19. package/catalog/epic18-rmt-dom-descriptor-renderer.js +232 -0
  20. package/catalog/epic18-rmt-event-routing-runtime.d.ts +35 -0
  21. package/catalog/epic18-rmt-event-routing-runtime.js +234 -0
  22. package/catalog/epic18-rmt-state-selector-runtime.d.ts +34 -0
  23. package/catalog/epic18-rmt-state-selector-runtime.js +216 -0
  24. package/catalog/epic18-rmt-surface-resource-graph-runtime.d.ts +36 -0
  25. package/catalog/epic18-rmt-surface-resource-graph-runtime.js +256 -0
  26. package/catalog/surface-manager-controller.js +5 -1
  27. package/catalog/surface-manager-materialization.js +7 -1
  28. package/catalog/surface-manager-overlay-bridge.js +41 -6
  29. package/catalog/surface-manager-workbench-fixture.js +1 -1
  30. package/catalog/surface-type-capability-matrix.d.ts +61 -0
  31. package/catalog/surface-type-capability-matrix.js +183 -0
  32. package/catalog/type-exports-rmt.js +37 -1
  33. package/catalog/type-exports.js +3 -3
  34. package/components/icon-packs/lucide.js +4 -0
  35. package/components/manifest.json +2 -0
  36. package/components/prism-rmt.d.ts +34 -0
  37. package/components/prism-rmt.js +130 -0
  38. package/components/xcards.js +15 -0
  39. package/components/xcode.d.ts +36 -1
  40. package/components/xcode.js +215 -20
  41. package/components/xfooter.js +17 -0
  42. package/components/xheader.js +14 -0
  43. package/components/xhero.js +16 -1
  44. package/components/xlink.js +97 -14
  45. package/components/xmasonry.js +15 -0
  46. package/components/xplayer.d.ts +44 -2
  47. package/components/xplayer.js +242 -15
  48. package/components/xrouter.js +27 -2
  49. package/components/xsection.js +15 -0
  50. package/components/xsidepanel.js +10 -2
  51. package/components/xsurfacemanager-controller.d.ts +2 -1
  52. package/components/xsurfacemanager-controller.js +27 -3
  53. package/components/xsurfacemanager.d.ts +2 -0
  54. package/components/xsurfacemanager.js +20 -8
  55. package/components/xsurfaceoverlay-bridge.d.ts +20 -5
  56. package/components/xsurfaceoverlay-bridge.js +114 -18
  57. package/components/xsurfaceportal.d.ts +29 -0
  58. package/components/xsurfaceportal.js +122 -0
  59. package/components/xsurfaceregion.d.ts +50 -0
  60. package/components/xsurfaceregion.js +285 -0
  61. package/components/xsurfacewindow.js +2 -1
  62. package/components/xtooltip.js +89 -23
  63. package/docs/README.md +222 -298
  64. package/docs/changelog.md +107 -0
  65. package/docs/component-catalog-coverage.md +9 -9
  66. package/docs/component-platform.md +19 -1
  67. package/docs/component-ux-app-authoring.md +56 -63
  68. package/docs/components/xcode.md +83 -53
  69. package/docs/components/xsurfaceportal.md +32 -0
  70. package/docs/components/xsurfaceregion.md +37 -0
  71. package/docs/components.md +105 -69
  72. package/docs/de/README.md +264 -0
  73. package/docs/de/XTend-ADR.md +221 -0
  74. package/docs/de/a11y-keyboard-smokes.md +62 -0
  75. package/docs/de/about.md +18 -0
  76. package/docs/de/api.md +157 -0
  77. package/docs/de/best-practices.md +76 -0
  78. package/docs/de/changelog.md +107 -0
  79. package/docs/de/component-catalog-coverage.md +58 -0
  80. package/docs/de/component-lab.md +103 -0
  81. package/docs/de/component-long-tail-migration.md +41 -0
  82. package/docs/de/component-platform.md +177 -0
  83. package/docs/de/component-ux-app-authoring.md +123 -0
  84. package/docs/de/component-ux-authoring.md +96 -0
  85. package/docs/de/component-ux-gates.md +45 -0
  86. package/docs/de/components/x-rmt-lifecycle-demo-build.md +60 -0
  87. package/docs/de/components/xalert.md +81 -0
  88. package/docs/de/components/xbutton.md +103 -0
  89. package/docs/de/components/xcalendar.md +82 -0
  90. package/docs/de/components/xcards.md +128 -0
  91. package/docs/de/components/xcheckbox.md +102 -0
  92. package/docs/de/components/xcode.md +156 -0
  93. package/docs/de/components/xdialog.md +92 -0
  94. package/docs/de/components/xdrawer.md +84 -0
  95. package/docs/de/components/xfooter.md +126 -0
  96. package/docs/de/components/xform.md +128 -0
  97. package/docs/de/components/xheader.md +308 -0
  98. package/docs/de/components/xhero.md +142 -0
  99. package/docs/de/components/xicon.md +125 -0
  100. package/docs/de/components/xinput.md +129 -0
  101. package/docs/de/components/xlightbox.md +98 -0
  102. package/docs/de/components/xlink.md +109 -0
  103. package/docs/de/components/xmasonry.md +124 -0
  104. package/docs/de/components/xmenu.md +158 -0
  105. package/docs/de/components/xmodal.md +82 -0
  106. package/docs/de/components/xplayer.md +104 -0
  107. package/docs/de/components/xpopover.md +67 -0
  108. package/docs/de/components/xprogress.md +56 -0
  109. package/docs/de/components/xradio.md +103 -0
  110. package/docs/de/components/xrouter.md +260 -0
  111. package/docs/de/components/xsection.md +125 -0
  112. package/docs/de/components/xselect.md +105 -0
  113. package/docs/de/components/xsidepanel.md +30 -0
  114. package/docs/de/components/xspinner.md +102 -0
  115. package/docs/de/components/xstate.md +148 -0
  116. package/docs/de/components/xstatus.md +55 -0
  117. package/docs/de/components/xsummary.md +78 -0
  118. package/docs/de/components/xsurfacemanager.md +27 -0
  119. package/docs/de/components/xsurfacewindow.md +21 -0
  120. package/docs/de/components/xtabs.md +160 -0
  121. package/docs/de/components/xtextarea.md +98 -0
  122. package/docs/de/components/xtheme.md +167 -0
  123. package/docs/de/components/xtoast.md +62 -0
  124. package/docs/de/components/xtooltip.md +66 -0
  125. package/docs/de/components/xtype.md +82 -0
  126. package/docs/de/components/xutils.md +144 -0
  127. package/docs/de/components/xwriter.md +94 -0
  128. package/docs/de/components.md +153 -0
  129. package/docs/de/conditional-network-evidence-ci.md +38 -0
  130. package/docs/de/conditional-network-evidence.md +50 -0
  131. package/docs/de/core-migration-guide.md +110 -0
  132. package/docs/de/design-tokens.md +116 -0
  133. package/docs/de/docs-rmt-production-hardening.md +31 -0
  134. package/docs/de/enterprise-adoption.md +413 -0
  135. package/docs/de/enterprise-component-flex-release-handoff.md +129 -0
  136. package/docs/de/epic10-platform-gates.md +62 -0
  137. package/docs/de/epic10-release-handoff.md +81 -0
  138. package/docs/de/epic11-enterprise-ux-handoff.md +70 -0
  139. package/docs/de/epic12-rc0-handoff.md +61 -0
  140. package/docs/de/epic18-media-manager-vendor-upstream.md +318 -0
  141. package/docs/de/epic18-rmt-app-platform-release-handoff.md +67 -0
  142. package/docs/de/epic18-vendor-bugfixes.md +34 -0
  143. package/docs/de/existing-component-metadata.md +67 -0
  144. package/docs/de/hydration-performance-closure.md +34 -0
  145. package/docs/de/hydration-policies.md +71 -0
  146. package/docs/de/known-residual-triage.md +22 -0
  147. package/docs/de/manifest-import-policy.md +79 -0
  148. package/docs/de/manifest.md +112 -0
  149. package/docs/de/motion-contrast.md +67 -0
  150. package/docs/de/package-export-lock.md +44 -0
  151. package/docs/de/performance-measurements.md +106 -0
  152. package/docs/de/performance-regression.md +89 -0
  153. package/docs/de/performance.md +94 -0
  154. package/docs/de/previews/README.md +17 -0
  155. package/docs/de/prod-browser-csp-smokes.md +40 -0
  156. package/docs/de/public-component-types.md +79 -0
  157. package/docs/de/quick-start-guide.md +220 -0
  158. package/docs/de/rc0-adoption-guide.md +102 -0
  159. package/docs/de/rc0-gate-matrix.md +58 -0
  160. package/docs/de/rc1-gate-matrix-ci-handoff.md +56 -0
  161. package/docs/de/rc1-migration-notes.md +69 -0
  162. package/docs/de/rc1-readiness.md +46 -0
  163. package/docs/de/release-owner-acceptance.md +56 -0
  164. package/docs/de/release-report-pack-dry-run-evidence.md +39 -0
  165. package/docs/de/rmt-action-effect-runtime.md +81 -0
  166. package/docs/de/rmt-app-platform-authoring.md +54 -0
  167. package/docs/de/rmt-app-platform-fixture.md +46 -0
  168. package/docs/de/rmt-app-platform-migration-guide.md +88 -0
  169. package/docs/de/rmt-app-platform-tooling.md +79 -0
  170. package/docs/de/rmt-component-template-primitives.md +57 -0
  171. package/docs/de/rmt-dom-descriptor-renderer.md +64 -0
  172. package/docs/de/rmt-dsl-authoring-polish.md +145 -0
  173. package/docs/de/rmt-event-routing-runtime.md +81 -0
  174. package/docs/de/rmt-first-demo-app.md +77 -0
  175. package/docs/de/rmt-first-xtend-apps.md +129 -0
  176. package/docs/de/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
  177. package/docs/de/rmt-kernel-security-hardening-migration.md +50 -0
  178. package/docs/de/rmt-kernel-trusted-output-authoring.md +69 -0
  179. package/docs/de/rmt-language-server.md +234 -0
  180. package/docs/de/rmt-lifecycle-demo.md +24 -0
  181. package/docs/de/rmt-linter.md +140 -0
  182. package/docs/de/rmt-node-ssr-adapter.md +100 -0
  183. package/docs/de/rmt-php-ssr-adapter.md +120 -0
  184. package/docs/de/rmt-production-readiness.md +63 -0
  185. package/docs/de/rmt-state-selector-runtime.md +47 -0
  186. package/docs/de/rmt-surface-resource-graph-runtime.md +92 -0
  187. package/docs/de/rmt-tooling-release-gates.md +77 -0
  188. package/docs/de/rmt-vnext-authoring.md +170 -0
  189. package/docs/de/rmt-vnext-component-primitives.md +188 -0
  190. package/docs/de/rmt-vnext-cross-surface-events.md +68 -0
  191. package/docs/de/rmt-vnext-enterprise-mfe-handoff.md +70 -0
  192. package/docs/de/rmt-vnext-fabric-bridge-evidence.md +81 -0
  193. package/docs/de/rmt-vnext-migration-notes.md +62 -0
  194. package/docs/de/rmt-vnext-primitive-authoring-tooling.md +247 -0
  195. package/docs/de/rmt-vnext-primitive-grammar-design.md +289 -0
  196. package/docs/de/rmt-vnext-primitive-lowering.md +108 -0
  197. package/docs/de/rmt-vnext-primitive-migration.md +119 -0
  198. package/docs/de/rmt-vnext-primitive-parser-ast.md +76 -0
  199. package/docs/de/rmt-vnext-primitive-semantic-graph.md +118 -0
  200. package/docs/de/rmt-vnext-primitives-compiler-backlog.md +739 -0
  201. package/docs/de/rmt-vnext-release-handoff.md +83 -0
  202. package/docs/de/rmt-vnext-remote-surfaces.md +90 -0
  203. package/docs/de/rmt-vnext-source-to-sea-gate.md +612 -0
  204. package/docs/de/rmt-vnext-surface-registry-enterprise.md +76 -0
  205. package/docs/de/screenreader-signals.md +56 -0
  206. package/docs/de/supply-chain-gates.md +100 -0
  207. package/docs/de/surface-manager-authoring-guide.md +94 -0
  208. package/docs/de/surface-manager-browser-lab.md +45 -0
  209. package/docs/de/surface-manager-component-lab.md +43 -0
  210. package/docs/de/surface-manager-controller.md +66 -0
  211. package/docs/de/surface-manager-layout-engines.md +32 -0
  212. package/docs/de/surface-manager-lazy-hydration.md +63 -0
  213. package/docs/de/surface-manager-migration-guide.md +122 -0
  214. package/docs/de/surface-manager-native-rmt-surfaces.md +38 -0
  215. package/docs/de/surface-manager-overlay-bridge.md +53 -0
  216. package/docs/de/surface-manager-persistence.md +30 -0
  217. package/docs/de/surface-manager-quality-gates.md +51 -0
  218. package/docs/de/surface-manager-release-handoff.md +68 -0
  219. package/docs/de/surface-manager-remote-policy.md +54 -0
  220. package/docs/de/surface-manager-rmt-authoring.md +102 -0
  221. package/docs/de/surface-manager-route-lifecycle.md +59 -0
  222. package/docs/de/surface-manager-runtime-release-handoff.md +69 -0
  223. package/docs/de/surface-manager-side-panel-runtime.md +36 -0
  224. package/docs/de/surface-manager-stack-policy.md +39 -0
  225. package/docs/de/surface-manager-window-runtime.md +47 -0
  226. package/docs/de/surface-manager-workbench-fixture.md +43 -0
  227. package/docs/de/third-party-design-authoring.md +406 -0
  228. package/docs/de/trusted-dom-boundary-browser-proof.md +32 -0
  229. package/docs/de/trusted-dom-sanitizing.md +110 -0
  230. package/docs/de/type-exports.md +61 -0
  231. package/docs/de/typescript-components.md +63 -0
  232. package/docs/de/visual-browser-regression.md +83 -0
  233. package/docs/de/visual-owner-artifacts.md +46 -0
  234. package/docs/de/visual-snapshot-automation.md +87 -0
  235. package/docs/de/xtend-api-types.md +55 -0
  236. package/docs/de/xtend-builder-types.md +55 -0
  237. package/docs/de/xtend-catalog-types.md +44 -0
  238. package/docs/de/xtend-fabric-rmt-lane-mapping.md +143 -0
  239. package/docs/de/xtend-fabric.md +474 -0
  240. package/docs/de/xtend-loader-types.md +58 -0
  241. package/docs/de/xtend-loader.md +265 -0
  242. package/docs/de/xtend-policy-types.md +38 -0
  243. package/docs/de/xtend-rmt-types.md +40 -0
  244. package/docs/de/xtend-vendor-types.md +36 -0
  245. package/docs/de/xtendrmt-app-dsl.md +334 -0
  246. package/docs/de/xtendrmt-migration-guide.md +266 -0
  247. package/docs/de/xtendrmt-native-authoring.md +333 -0
  248. package/docs/de/xtendrmt-overview.md +109 -0
  249. package/docs/de/xtendrmt-parsedown-scheduling.md +301 -0
  250. package/docs/de/xtendrmt-runtime-bridge.md +155 -0
  251. package/docs/en/README.md +163 -0
  252. package/docs/en/XTend-ADR.md +221 -0
  253. package/docs/en/a11y-keyboard-smokes.md +68 -0
  254. package/docs/en/about.md +25 -0
  255. package/docs/en/api.md +171 -0
  256. package/docs/en/best-practices.md +125 -0
  257. package/docs/en/changelog.md +104 -0
  258. package/docs/en/component-catalog-coverage.md +104 -0
  259. package/docs/en/component-lab.md +103 -0
  260. package/docs/en/component-long-tail-migration.md +41 -0
  261. package/docs/en/component-platform.md +243 -0
  262. package/docs/en/component-ux-app-authoring.md +118 -0
  263. package/docs/en/component-ux-authoring.md +96 -0
  264. package/docs/en/component-ux-gates.md +45 -0
  265. package/docs/en/components/x-rmt-lifecycle-demo-build.md +75 -0
  266. package/docs/en/components/xalert.md +94 -0
  267. package/docs/en/components/xbutton.md +118 -0
  268. package/docs/en/components/xcalendar.md +95 -0
  269. package/docs/en/components/xcards.md +139 -0
  270. package/docs/en/components/xcheckbox.md +118 -0
  271. package/docs/en/components/xcode.md +153 -0
  272. package/docs/en/components/xdialog.md +108 -0
  273. package/docs/en/components/xdrawer.md +110 -0
  274. package/docs/en/components/xfooter.md +138 -0
  275. package/docs/en/components/xform.md +147 -0
  276. package/docs/en/components/xheader.md +308 -0
  277. package/docs/en/components/xhero.md +157 -0
  278. package/docs/en/components/xicon.md +149 -0
  279. package/docs/en/components/xinput.md +147 -0
  280. package/docs/en/components/xlightbox.md +113 -0
  281. package/docs/en/components/xlink.md +130 -0
  282. package/docs/en/components/xmasonry.md +136 -0
  283. package/docs/en/components/xmenu.md +185 -0
  284. package/docs/en/components/xmodal.md +102 -0
  285. package/docs/en/components/xplayer.md +114 -0
  286. package/docs/en/components/xpopover.md +87 -0
  287. package/docs/en/components/xprogress.md +73 -0
  288. package/docs/en/components/xradio.md +119 -0
  289. package/docs/en/components/xrouter.md +260 -0
  290. package/docs/en/components/xsection.md +136 -0
  291. package/docs/en/components/xselect.md +122 -0
  292. package/docs/en/components/xsidepanel.md +48 -0
  293. package/docs/en/components/xspinner.md +118 -0
  294. package/docs/en/components/xstate.md +163 -0
  295. package/docs/en/components/xstatus.md +71 -0
  296. package/docs/en/components/xsummary.md +90 -0
  297. package/docs/en/components/xsurfacemanager.md +42 -0
  298. package/docs/en/components/xsurfacewindow.md +31 -0
  299. package/docs/en/components/xtabs.md +187 -0
  300. package/docs/en/components/xtextarea.md +115 -0
  301. package/docs/en/components/xtheme.md +203 -0
  302. package/docs/en/components/xtoast.md +78 -0
  303. package/docs/en/components/xtooltip.md +85 -0
  304. package/docs/en/components/xtype.md +91 -0
  305. package/docs/en/components/xutils.md +161 -0
  306. package/docs/en/components/xwriter.md +106 -0
  307. package/docs/en/components.md +151 -0
  308. package/docs/en/conditional-network-evidence-ci.md +38 -0
  309. package/docs/en/conditional-network-evidence.md +50 -0
  310. package/docs/en/core-migration-guide.md +110 -0
  311. package/docs/en/design-tokens.md +137 -0
  312. package/docs/en/docs-rmt-production-hardening.md +31 -0
  313. package/docs/en/enterprise-adoption.md +413 -0
  314. package/docs/en/enterprise-component-flex-release-handoff.md +129 -0
  315. package/docs/en/epic10-platform-gates.md +62 -0
  316. package/docs/en/epic10-release-handoff.md +81 -0
  317. package/docs/en/epic11-enterprise-ux-handoff.md +70 -0
  318. package/docs/en/epic12-rc0-handoff.md +61 -0
  319. package/docs/en/epic18-media-manager-vendor-upstream.md +232 -0
  320. package/docs/en/epic18-rmt-app-platform-release-handoff.md +60 -0
  321. package/docs/en/epic18-vendor-bugfixes.md +29 -0
  322. package/docs/en/existing-component-metadata.md +67 -0
  323. package/docs/en/hydration-performance-closure.md +34 -0
  324. package/docs/en/hydration-policies.md +75 -0
  325. package/docs/en/known-residual-triage.md +22 -0
  326. package/docs/en/manifest-import-policy.md +81 -0
  327. package/docs/en/manifest.md +135 -0
  328. package/docs/en/motion-contrast.md +67 -0
  329. package/docs/en/package-export-lock.md +44 -0
  330. package/docs/en/performance-measurements.md +106 -0
  331. package/docs/en/performance-regression.md +89 -0
  332. package/docs/en/performance.md +132 -0
  333. package/docs/en/previews/README.md +17 -0
  334. package/docs/en/prod-browser-csp-smokes.md +40 -0
  335. package/docs/en/public-component-types.md +79 -0
  336. package/docs/en/quick-start-guide.md +189 -0
  337. package/docs/en/rc0-adoption-guide.md +102 -0
  338. package/docs/en/rc0-gate-matrix.md +58 -0
  339. package/docs/en/rc1-gate-matrix-ci-handoff.md +56 -0
  340. package/docs/en/rc1-migration-notes.md +69 -0
  341. package/docs/en/rc1-readiness.md +46 -0
  342. package/docs/en/release-owner-acceptance.md +56 -0
  343. package/docs/en/release-report-pack-dry-run-evidence.md +39 -0
  344. package/docs/en/rmt-action-effect-runtime.md +101 -0
  345. package/docs/en/rmt-app-platform-authoring.md +47 -0
  346. package/docs/en/rmt-app-platform-fixture.md +35 -0
  347. package/docs/en/rmt-app-platform-migration-guide.md +75 -0
  348. package/docs/en/rmt-app-platform-tooling.md +58 -0
  349. package/docs/en/rmt-component-template-primitives.md +49 -0
  350. package/docs/en/rmt-dom-descriptor-renderer.md +54 -0
  351. package/docs/en/rmt-dsl-authoring-polish.md +143 -0
  352. package/docs/en/rmt-event-routing-runtime.md +98 -0
  353. package/docs/en/rmt-first-demo-app.md +87 -0
  354. package/docs/en/rmt-first-xtend-apps.md +127 -0
  355. package/docs/en/rmt-kernel-panic-recovery-incident-handoff.md +60 -0
  356. package/docs/en/rmt-kernel-security-hardening-migration.md +49 -0
  357. package/docs/en/rmt-kernel-trusted-output-authoring.md +68 -0
  358. package/docs/en/rmt-language-server.md +243 -0
  359. package/docs/en/rmt-lifecycle-demo.md +23 -0
  360. package/docs/en/rmt-linter.md +146 -0
  361. package/docs/en/rmt-node-ssr-adapter.md +99 -0
  362. package/docs/en/rmt-php-ssr-adapter.md +118 -0
  363. package/docs/en/rmt-production-readiness.md +63 -0
  364. package/docs/en/rmt-state-selector-runtime.md +34 -0
  365. package/docs/en/rmt-surface-resource-graph-runtime.md +68 -0
  366. package/docs/en/rmt-tooling-release-gates.md +77 -0
  367. package/docs/en/rmt-vnext-authoring.md +102 -0
  368. package/docs/en/rmt-vnext-component-primitives.md +185 -0
  369. package/docs/en/rmt-vnext-cross-surface-events.md +59 -0
  370. package/docs/en/rmt-vnext-enterprise-mfe-handoff.md +62 -0
  371. package/docs/en/rmt-vnext-fabric-bridge-evidence.md +64 -0
  372. package/docs/en/rmt-vnext-migration-notes.md +62 -0
  373. package/docs/en/rmt-vnext-primitive-authoring-tooling.md +174 -0
  374. package/docs/en/rmt-vnext-primitive-grammar-design.md +268 -0
  375. package/docs/en/rmt-vnext-primitive-lowering.md +91 -0
  376. package/docs/en/rmt-vnext-primitive-migration.md +93 -0
  377. package/docs/en/rmt-vnext-primitive-parser-ast.md +59 -0
  378. package/docs/en/rmt-vnext-primitive-semantic-graph.md +103 -0
  379. package/docs/en/rmt-vnext-primitives-compiler-backlog.md +327 -0
  380. package/docs/en/rmt-vnext-release-handoff.md +83 -0
  381. package/docs/en/rmt-vnext-remote-surfaces.md +81 -0
  382. package/docs/en/rmt-vnext-source-to-sea-gate.md +482 -0
  383. package/docs/en/rmt-vnext-surface-registry-enterprise.md +68 -0
  384. package/docs/en/screenreader-signals.md +56 -0
  385. package/docs/en/supply-chain-gates.md +106 -0
  386. package/docs/en/surface-manager-authoring-guide.md +94 -0
  387. package/docs/en/surface-manager-browser-lab.md +45 -0
  388. package/docs/en/surface-manager-component-lab.md +43 -0
  389. package/docs/en/surface-manager-controller.md +66 -0
  390. package/docs/en/surface-manager-layout-engines.md +32 -0
  391. package/docs/en/surface-manager-lazy-hydration.md +63 -0
  392. package/docs/en/surface-manager-migration-guide.md +113 -0
  393. package/docs/en/surface-manager-native-rmt-surfaces.md +38 -0
  394. package/docs/en/surface-manager-overlay-bridge.md +53 -0
  395. package/docs/en/surface-manager-persistence.md +30 -0
  396. package/docs/en/surface-manager-quality-gates.md +51 -0
  397. package/docs/en/surface-manager-release-handoff.md +68 -0
  398. package/docs/en/surface-manager-remote-policy.md +54 -0
  399. package/docs/en/surface-manager-rmt-authoring.md +89 -0
  400. package/docs/en/surface-manager-route-lifecycle.md +59 -0
  401. package/docs/en/surface-manager-runtime-release-handoff.md +69 -0
  402. package/docs/en/surface-manager-side-panel-runtime.md +36 -0
  403. package/docs/en/surface-manager-stack-policy.md +39 -0
  404. package/docs/en/surface-manager-window-runtime.md +47 -0
  405. package/docs/en/surface-manager-workbench-fixture.md +43 -0
  406. package/docs/en/third-party-design-authoring.md +406 -0
  407. package/docs/en/trusted-dom-boundary-browser-proof.md +32 -0
  408. package/docs/en/trusted-dom-sanitizing.md +124 -0
  409. package/docs/en/type-exports.md +61 -0
  410. package/docs/en/typescript-components.md +63 -0
  411. package/docs/en/visual-browser-regression.md +83 -0
  412. package/docs/en/visual-owner-artifacts.md +46 -0
  413. package/docs/en/visual-snapshot-automation.md +87 -0
  414. package/docs/en/xtend-api-types.md +55 -0
  415. package/docs/en/xtend-builder-types.md +55 -0
  416. package/docs/en/xtend-catalog-types.md +44 -0
  417. package/docs/en/xtend-fabric-rmt-lane-mapping.md +143 -0
  418. package/docs/en/xtend-fabric.md +474 -0
  419. package/docs/en/xtend-loader-types.md +58 -0
  420. package/docs/en/xtend-loader.md +265 -0
  421. package/docs/en/xtend-policy-types.md +38 -0
  422. package/docs/en/xtend-rmt-types.md +40 -0
  423. package/docs/en/xtend-vendor-types.md +36 -0
  424. package/docs/en/xtendrmt-app-dsl.md +331 -0
  425. package/docs/en/xtendrmt-migration-guide.md +256 -0
  426. package/docs/en/xtendrmt-native-authoring.md +336 -0
  427. package/docs/en/xtendrmt-overview.md +63 -0
  428. package/docs/en/xtendrmt-parsedown-scheduling.md +301 -0
  429. package/docs/en/xtendrmt-runtime-bridge.md +155 -0
  430. package/docs/enterprise-adoption.md +4 -2
  431. package/docs/epic18-media-manager-vendor-upstream.md +318 -0
  432. package/docs/epic18-rmt-app-platform-release-handoff.md +67 -0
  433. package/docs/epic18-vendor-bugfixes.md +34 -0
  434. package/docs/index.php +1056 -109
  435. package/docs/manifest.md +8 -2
  436. package/docs/menu.json +986 -133
  437. package/docs/package-export-lock.md +2 -2
  438. package/docs/public-component-types.md +2 -2
  439. package/docs/quick-start-guide.md +126 -58
  440. package/docs/rmt-action-effect-runtime.md +101 -0
  441. package/docs/rmt-app-platform-authoring.md +54 -0
  442. package/docs/rmt-app-platform-fixture.md +46 -0
  443. package/docs/rmt-app-platform-migration-guide.md +88 -0
  444. package/docs/rmt-app-platform-tooling.md +79 -0
  445. package/docs/rmt-component-template-primitives.md +57 -0
  446. package/docs/rmt-dom-descriptor-renderer.md +64 -0
  447. package/docs/rmt-dsl-authoring-polish.md +67 -44
  448. package/docs/rmt-event-routing-runtime.md +98 -0
  449. package/docs/rmt-first-demo-app.md +2 -2
  450. package/docs/rmt-first-xtend-apps.md +70 -46
  451. package/docs/rmt-language-server.md +61 -4
  452. package/docs/rmt-lifecycle-demo.md +1 -2
  453. package/docs/rmt-node-ssr-adapter.md +144 -0
  454. package/docs/rmt-php-ssr-adapter.md +158 -0
  455. package/docs/rmt-state-selector-runtime.md +47 -0
  456. package/docs/rmt-surface-resource-graph-runtime.md +92 -0
  457. package/docs/rmt-vnext-authoring.md +128 -18
  458. package/docs/rmt-vnext-component-primitives.md +188 -0
  459. package/docs/rmt-vnext-fabric-bridge-evidence.md +81 -0
  460. package/docs/rmt-vnext-primitive-authoring-tooling.md +247 -0
  461. package/docs/rmt-vnext-primitive-grammar-design.md +289 -0
  462. package/docs/rmt-vnext-primitive-lowering.md +108 -0
  463. package/docs/rmt-vnext-primitive-migration.md +119 -0
  464. package/docs/rmt-vnext-primitive-parser-ast.md +76 -0
  465. package/docs/rmt-vnext-primitive-semantic-graph.md +118 -0
  466. package/docs/rmt-vnext-primitives-compiler-backlog.md +742 -0
  467. package/docs/rmt-vnext-release-handoff.md +14 -0
  468. package/docs/rmt-vnext-source-to-sea-gate.md +629 -0
  469. package/docs/surface-manager-migration-guide.md +34 -6
  470. package/docs/surface-manager-overlay-bridge.md +9 -4
  471. package/docs/surface-manager-rmt-authoring.md +50 -34
  472. package/docs/surface-manager-workbench-fixture.md +1 -2
  473. package/docs/third-party-design-authoring.md +1 -1
  474. package/docs/type-exports.md +3 -3
  475. package/docs/utils/pageloader.js +811 -62
  476. package/docs/visual-browser-regression.md +1 -1
  477. package/docs/xtend-rmt-types.md +3 -2
  478. package/docs/xtendrmt-app-dsl.md +187 -122
  479. package/docs/xtendrmt-docs-shell-vnext.rmt +165 -0
  480. package/docs/xtendrmt-migration-guide.md +48 -17
  481. package/docs/xtendrmt-native-authoring.md +213 -217
  482. package/docs/xtendrmt-overview.md +81 -61
  483. package/docs/xtendrmt-parsedown-scheduling.md +23 -8
  484. package/fabric/package.json +1 -1
  485. package/package.json +684 -21
  486. package/tools/package.json +5 -1
  487. package/tools/rmt-editor/vscode/README.md +72 -5
  488. package/tools/rmt-editor/vscode/XTend-Logo.png +0 -0
  489. package/tools/rmt-editor/vscode/extension.d.ts +33 -0
  490. package/tools/rmt-editor/vscode/extension.js +1816 -7
  491. package/tools/rmt-editor/vscode/language-configuration.json +2 -1
  492. package/tools/rmt-editor/vscode/package.json +193 -2
  493. package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +41 -0
  494. package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +103 -1
  495. package/tools/rmt-editor/vscode/templates/launch.json +70 -0
  496. package/tools/rmt-editor/vscode/templates/tasks.json +172 -0
  497. package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
  498. package/tools/rmt-language/app-platform-tooling.d.ts +128 -0
  499. package/tools/rmt-language/app-platform-tooling.js +677 -0
  500. package/tools/rmt-language/completions.d.ts +5 -0
  501. package/tools/rmt-language/completions.js +185 -3
  502. package/tools/rmt-language/diagnostics.js +54 -0
  503. package/tools/rmt-language/hover.js +36 -0
  504. package/tools/rmt-language/rmt-tooling-public-types.d.ts +7 -0
  505. package/tools/rmt-language/rules/app-platform-policy.js +39 -0
  506. package/tools/rmt-language/rules/index.js +5 -1
  507. package/tools/rmt-language/semantic-graph.d.ts +6 -0
  508. package/tools/rmt-language/semantic-graph.js +928 -0
  509. package/tools/rmt-language/snippets/index.js +44 -0
  510. package/tools/rmt-language/snippets/rmt.code-snippets +41 -0
  511. package/tools/rmt-language/vnext-compatibility.d.ts +10 -0
  512. package/tools/rmt-language/vnext-compatibility.js +642 -0
  513. package/tools/rmt-language/vnext-compiler.d.ts +5 -0
  514. package/tools/rmt-language/vnext-compiler.js +863 -17
  515. package/tools/rmt-language/vnext-parser.js +725 -9
  516. package/tools/rmt-language/vnext-release.d.ts +1 -0
  517. package/tools/rmt-language/vnext-release.js +20 -0
  518. package/tools/rmt-language/vnext-source-to-sea.d.ts +33 -0
  519. package/tools/rmt-language/vnext-source-to-sea.js +2227 -0
  520. package/tools/rmt-language/vnext-surfaces.js +111 -52
  521. package/tools/rmt-language/vnext-tooling.d.ts +19 -1
  522. package/tools/rmt-language/vnext-tooling.js +1247 -5
  523. package/tools/rmt-language-server/protocol.js +3 -0
  524. package/tools/rmt-language-server/server.d.ts +2 -0
  525. package/tools/rmt-language-server/server.js +176 -22
  526. package/tools/rmt-linter/cli.d.ts +2 -0
  527. package/tools/rmt-linter/cli.js +62 -0
  528. package/xtend-builder/generators/registry.js +11 -0
  529. package/xtend-builder/generators/rmt-app-platform.js +239 -0
  530. package/xtend-builder/generators/rmt-lifecycle-demo.js +3 -11
  531. package/xtend-builder/lib/cli.js +38 -0
  532. package/xtend-builder/package.json +3 -3
  533. package/xtend-builder/scaffold.config.js +29 -2
  534. package/xtend.css +49 -2
  535. package/xtendrmt/package.json +49 -1
  536. package/xtendrmt/rmt-action-effect-runtime.d.ts +126 -0
  537. package/xtendrmt/rmt-action-effect-runtime.js +494 -0
  538. package/xtendrmt/rmt-component-capability-registry.d.ts +180 -0
  539. package/xtendrmt/rmt-component-capability-registry.js +636 -0
  540. package/xtendrmt/rmt-core.d.ts +6 -0
  541. package/xtendrmt/rmt-core.esm.js +32 -6
  542. package/xtendrmt/rmt-dom-descriptor-renderer.d.ts +107 -0
  543. package/xtendrmt/rmt-dom-descriptor-renderer.js +1066 -0
  544. package/xtendrmt/rmt-event-routing-runtime.d.ts +144 -0
  545. package/xtendrmt/rmt-event-routing-runtime.js +666 -0
  546. package/xtendrmt/rmt-lifecycle-demo.app.js +2 -2
  547. package/xtendrmt/rmt-lifecycle-demo.core.json +4 -0
  548. package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +1 -1
  549. package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +2 -2
  550. package/xtendrmt/rmt-lifecycle-demo.scaffold.json +4 -4
  551. package/xtendrmt/rmt-native-shell-runtime.d.ts +77 -0
  552. package/xtendrmt/rmt-native-shell-runtime.js +309 -0
  553. package/xtendrmt/rmt-node-ssr-adapter.d.ts +197 -0
  554. package/xtendrmt/rmt-node-ssr-adapter.js +1006 -0
  555. package/xtendrmt/rmt-php-ssr-adapter.php +976 -0
  556. package/xtendrmt/rmt-runtime.browser.js +32 -6
  557. package/xtendrmt/rmt-runtime.esm.js +32 -6
  558. package/xtendrmt/rmt-state-selector-runtime.d.ts +166 -0
  559. package/xtendrmt/rmt-state-selector-runtime.js +866 -0
  560. package/xtendrmt/rmt-surface-resource-graph-runtime.d.ts +224 -0
  561. package/xtendrmt/rmt-surface-resource-graph-runtime.js +932 -0
  562. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +3 -0
  563. package/xtendrmt/rmt-vnext-reference-demo.core.json +3 -0
  564. package/xtendrmt/xtendrmt-bestcase-demo.core.json +3420 -372
  565. package/xtendrmt/xtendrmt-bestcase-demo.js +424 -8
  566. package/xtendrmt/xtendrmt-bestcase-demo.rmt +214 -6
@@ -0,0 +1,144 @@
1
+ # xutils - XTend Utility-Modul
2
+
3
+ ## Uebersicht
4
+
5
+ `x-utils` ist ein Manifest-geführtes Utility-Modul und keine eigene Custom-Element-Oberflaeche. Das Modul exportiert `XUtils` und stellt im Browser zusaetzlich `window.XUtils` bereit. Es sammelt kleine DOM-, Event-, A11y-, Format- und Low-Code-Helfer fuer XTend-Komponenten und Demos.
6
+
7
+ ## Import
8
+
9
+ ```js
10
+ import { XUtils } from './components/xutils.js';
11
+
12
+ const button = XUtils.create('button', {
13
+ textContent: 'Speichern'
14
+ });
15
+ ```
16
+
17
+ Im Browser ist nach dem Laden des Moduls verfuegbar:
18
+
19
+ ```js
20
+ window.XUtils.find('[data-action="save"]');
21
+ ```
22
+
23
+ ## DOM- und Event-API
24
+
25
+ | Methode | Beschreibung |
26
+ |---------|--------------|
27
+ | `find(selector, root?)` | gibt das erste passende Element zurueck |
28
+ | `findAll(selector, root?)` | gibt alle passenden Elemente als Array zurueck |
29
+ | `create(tag, props?)` | erzeugt ein Element und weist Properties zu |
30
+ | `on(el, type, handler, opts?)` | registriert einen Listener und gibt eine Cleanup-Funktion zurueck |
31
+ | `delegate(root, selector, type, handler)` | delegiert Events innerhalb eines Containers |
32
+
33
+ ## A11y- und UI-Helfer
34
+
35
+ | Methode | Beschreibung |
36
+ |---------|--------------|
37
+ | `setAria(el, attrs)` | setzt `aria-*` Attribute aus einem Objekt |
38
+ | `focusTrap(container)` | fokussiert das erste fokussierbare Element im Container |
39
+ | `fadeIn(el, duration?)` | einfache Opacity-Animation |
40
+ | `fadeOut(el, duration?)` | einfache Opacity-Animation |
41
+ | `resolveUiEffects(input?)` | normalisiert opt-in UI-Effekte aus Body-Attribut, Loader-Option oder RMT |
42
+ | `prepareUiEffects(input?)` | bereitet einen opt-in UI-Effekt vor, z.B. Body-Fade |
43
+ | `releaseUiEffects(input?)` | gibt einen vorbereiteten UI-Effekt wieder frei |
44
+ | `isMobile()` | prueft den lokalen Mobile-Breakpoint |
45
+
46
+ ## Format- und Datenhelfer
47
+
48
+ | Methode | Beschreibung |
49
+ |---------|--------------|
50
+ | `hexToRgb(hex)` | wandelt Hex-Farben in RGB-Werte |
51
+ | `contrastColor(hex)` | liefert Schwarz oder Weiss als Kontrastfarbe |
52
+ | `formatDate(date, locale?)` | formatiert ein Datum |
53
+ | `formatNumber(num, locale?)` | formatiert eine Zahl |
54
+ | `uniqueId(prefix?)` | erzeugt eine einfache Runtime-ID |
55
+ | `deepClone(obj)` | erzeugt eine JSON-basierte Kopie |
56
+
57
+ ## XTemplate Recipes
58
+
59
+ `XUtils.XTemplate` enthaelt kleine Low-Code-Rezepte fuer einfache DOM-Fragmente:
60
+
61
+ ```js
62
+ const card = XUtils.XTemplate.card({
63
+ title: 'Status',
64
+ content: 'Alle Systeme bereit'
65
+ });
66
+
67
+ const action = XUtils.XTemplate.button({
68
+ label: 'Aktualisieren',
69
+ onClick: () => window.location.reload()
70
+ });
71
+ ```
72
+
73
+ Aktuelle Rezepte:
74
+
75
+ | Recipe | Beschreibung |
76
+ |--------|--------------|
77
+ | `card(opts)` | erzeugt eine einfache Card-Struktur |
78
+ | `button(opts)` | erzeugt einen Button |
79
+ | `modal(opts)` | erzeugt eine einfache Modal-Struktur |
80
+
81
+ ## Contract
82
+
83
+ - `x-utils` ist als Manifest-Eintrag vorhanden, bleibt aber ein Utility-Modul.
84
+ - Es registriert kein `customElements.define()`.
85
+ - Die Datei `docs/components/xutils.md` ist der kanonische Docs-Slug zum Source-Basename `xutils.js`.
86
+ - Runtime-Tag und Manifest-Key bleiben fuer die Catalog Matrix `x-utils`.
87
+
88
+ ## Utility Boundary Contract
89
+
90
+ Seit `WP-E12-09` ist `x-utils` als nicht-visuelle Utility-Boundary gatebar:
91
+
92
+ - Utility Schema: `xtend.utility.module-contract.v1`
93
+ - Import Policy Schema: `xtend.utility.import-policy.v1`
94
+ - Import Policy Result Schema: `xtend.utility.import-policy-result.v1`
95
+ - Boundary Probe Schema: `xtend.utility.boundary-probe.v1`
96
+ - Kernel Boundary: `no-rmt-kernel-import-of-xtend-types`
97
+
98
+ Die Runtime stellt dafuer drei explizite Contract-APIs bereit:
99
+
100
+ | Methode | Beschreibung |
101
+ |---------|--------------|
102
+ | `getUtilityContract()` | liefert Kategorien, Exports, Globals und Methoden der Utility-Oberflaeche |
103
+ | `snapshotUtilityContract()` | liefert einen stabilen Boundary-Snapshot fuer Fixtures und Catalog-Gates |
104
+ | `assertLocalImport(specifier)` | prueft, ob ein Import-Specifier lokal und policy-konform ist |
105
+
106
+ ```js
107
+ const local = XUtils.assertLocalImport('/components/xbutton.js');
108
+ const blocked = XUtils.assertLocalImport('https://cdn.ccs-networks.de/xtend/components/xstate.js');
109
+
110
+ console.log(local.allowed); // true
111
+ console.log(blocked.allowed); // false
112
+ ```
113
+
114
+ `assertLocalImport()` dispatcht im Browser zusaetzlich `xutils:import-policy-check`. Das Event ist fuer Test-, Fabric- und Security-Harnesses gedacht; der RMT Kernel importiert `x-utils` weiterhin nicht.
115
+
116
+ ## UI Effects Boundary
117
+
118
+ Seit `xtend.utility.ui-effects.v1` kapselt `x-utils` opt-in Effekte, die die App-Shell beeinflussen koennen. Der globale Loader versteckt den Body nicht mehr standardmaessig. Ein Fade-In muss bewusst aktiviert werden:
119
+
120
+ ```html
121
+ <body xt-ui-effects="fade-in">
122
+ ```
123
+
124
+ RMT-Hosts koennen denselben Effekt als nicht-visuellen Intent beschreiben:
125
+
126
+ ```json
127
+ {
128
+ "id": "app.ui-effects",
129
+ "kind": "ui_effects",
130
+ "tag": "ui-effects",
131
+ "props": {
132
+ "effect": "fade-in"
133
+ }
134
+ }
135
+ ```
136
+
137
+ Die Host-Seite bleibt Ausfuehrungsort. RMT beschreibt nur den Intent; `XUtils.prepareUiEffects()` und `XUtils.releaseUiEffects()` setzen die DOM-Attribute `data-xt-ui-effects`, `data-xt-ui-effects-state` und `data-xt-ui-effects-ready`. Fuer RMT-lose Umgebungen reicht das Body-Attribut. Fuer Shell-first Apps, die keinen Effekt wollen, ist kein Attribut noetig oder explizit `xt-ui-effects="none"` moeglich.
138
+
139
+ ## Hinweise
140
+
141
+ - Neue Komponenten sollten fuer produktive UI-Vertraege bevorzugt eigene Component-APIs und XTend-Fabric-Gates nutzen.
142
+ - `x-utils` bleibt ein kleiner Hilfsmodul-Pfad fuer Bestand, Demos und einfache DOM-Arbeit.
143
+ - Suite, Fixture und Utility-Typisierung sind seit `WP-E12-09` vorhanden.
144
+ - Seit `WP-E13-05` ist `x-utils` als `closed-as-utility-boundary` bewertet. Ein eigenes visuelles Performance-Profil ist fuer diese Utility-Boundary keine offene RC1-Aufgabe.
@@ -0,0 +1,94 @@
1
+ # xwriter – XTend Komponente
2
+
3
+ > **Siehe auch:** [xcode](./xcode.md), [xinput](./xinput.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-writer>` ist eine Komponente für Rich-Text-Editing und einfache WYSIWYG-Editoren. Sie unterstützt Formatierungen, Theming, State-Integration, Autosave, Export und API-Anbindung.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Rich-Text-Editing (fett, kursiv, Listen, Links, Farben, Größen)
13
+ - State-Integration via xstate
14
+ - Theming via CSS Custom Properties
15
+ - Autosave (lokal oder API)
16
+ - Export als Markdown/HTML
17
+ - Drag & Drop für Bilder/Text
18
+ - API-Anbindung (Speichern an Server)
19
+
20
+ ---
21
+
22
+ ## Verwendung
23
+
24
+ ```html
25
+ <x-writer></x-writer>
26
+ ```
27
+
28
+ ---
29
+
30
+ ## Attribute
31
+ | Attribut | Typ | Beschreibung |
32
+ |-------------- |---------|----------------------------------------------------------|
33
+ | `value` | String | Initialer Textinhalt (Property, nicht Attribut) |
34
+ | `api` | String | API-Endpunkt für Speichern (z.B. `/api/save` oder `local` für LocalStorage) |
35
+ | `method` | String | HTTP-Methode für API (Standard: `POST`) |
36
+ | `autosave` | Number | Intervall in ms für Autosave (z.B. `10000` für 10s) |
37
+ | `storage-key` | String | Key für LocalStorage (Standard: `xwriter-content`) |
38
+
39
+ ---
40
+
41
+ ## Events
42
+ | Event | Beschreibung |
43
+ |-------------------|----------------------------------------------------------|
44
+ | `writer:change` | Bei Textänderung ausgelöst, Detail: `{html, markdown, plain}` |
45
+ | `writer:save` | Nach Speichern (lokal/API), Detail: `{status, response}` |
46
+ | `writer:autosave` | Nach Autosave |
47
+ | `writer:export` | Nach Export, Detail: `{filename, success}` |
48
+ | `writer:error` | Bei Fehlern, Detail: `{error}` |
49
+
50
+ ---
51
+
52
+ ## API
53
+ - **Text setzen/lesen:** `element.value = 'Text'` (Property, nicht Attribut)
54
+ - **State-Integration:** Automatisch via xstate
55
+ - **Speichern:**
56
+ - Lokal: `<x-writer api="local"></x-writer>`
57
+ - API: `<x-writer api="/api/save" method="POST"></x-writer>`
58
+ - **Export:** Über Export-Button (Markdown/HTML)
59
+
60
+ ## Form Controls UX ab WP-E11-08
61
+
62
+ `<x-writer>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil beschreibt Rich-Text als Form-Control-nahe UX-Flaeche mit `writer:change`, `writer:error`, `xwriter-content`, `component.idle.hydrate`, Fabric-Lane `idle` und RMT Shell Authoring. `x-form` kann `writer:change` aufnehmen und den Wert in `xform-data-<id>` aggregieren.
63
+
64
+ ---
65
+
66
+ ## Beispiel: Dynamisch per JS
67
+
68
+ ```js
69
+ const writer = document.createElement('x-writer');
70
+ writer.value = 'Hallo Welt!';
71
+ document.body.appendChild(writer);
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Styling & Theming
77
+
78
+ ```css
79
+ x-writer {
80
+ --writer-bg: #fff;
81
+ --writer-color: #222;
82
+ /* Weitere Custom Properties siehe CSS */
83
+ }
84
+ ```
85
+
86
+ ---
87
+
88
+ ## Accessibility
89
+ - Semantisches HTML, ARIA
90
+ - Tastaturbedienung
91
+
92
+ ---
93
+
94
+ *Letzte Aktualisierung: 16. Juli 2025*
@@ -0,0 +1,153 @@
1
+ # Komponenten-Entwicklung mit XTend
2
+
3
+ XTend-Komponenten sind wiederverwendbare Web Components. In RMT-first Apps
4
+ werden sie nicht zur App-Architektur selbst: RMT beschreibt Shell, State,
5
+ Actions, Events, Surfaces und Scheduling; XTend Components materialisieren die
6
+ sichtbare UI.
7
+
8
+ Siehe auch [x-router](./components/xrouter.md), [x-link](./components/xlink.md)
9
+ und [RMT vNext Authoring Guide](./rmt-vnext-authoring.md).
10
+
11
+ ## Grundprinzipien
12
+
13
+ - Jede visuelle Komponente ist ein ES-Modul und wird per Manifest geladen.
14
+ - Der Manifest-Key ist der kanonische Runtime- und Catalog-Name.
15
+ - Fuer Custom Elements ist der Tag-Name identisch zum Manifest-Key, z. B.
16
+ `x-button`, `x-input`, `x-summary`.
17
+ - Source-Dateien folgen im Bestand dem Modul-Basename ohne Bindestrich, z. B.
18
+ `xbutton.js` fuer `x-button`.
19
+ - Komponenten bleiben unabhaengig, konfigurierbar und host-neutral.
20
+ - RMT kann Komponenten referenzieren, mounten, hydrieren und mit Events
21
+ verbinden, importiert sie aber nicht in den Kernel.
22
+
23
+ ## Rolle in RMT-authorierten Apps
24
+
25
+ | Ebene | Aufgabe |
26
+ | --- | --- |
27
+ | RMT vNext | beschreibt App Shell, Surfaces, State, Actions, Events und Lanes |
28
+ | XTend Component | rendert UI, kapselt Shadow DOM, Attribute, Properties und Events |
29
+ | Host Adapter | verbindet RMT Records mit realen Custom Elements und Browser-DOM |
30
+ | Fabric | fuehrt Hydration, Render, User-Blocking- und Idle-Arbeit als Fibers aus |
31
+
32
+ Eine RMT-Surface kann zum Beispiel `component x-cards` deklarieren. Der Host
33
+ Adapter laedt `x-cards` ueber das Manifest, mountet das Custom Element und
34
+ verdrahtet Event-Payloads mit RMT Actions.
35
+
36
+ Die RMT vNext Component Capability Registry macht diesen Adapterpfad
37
+ generisch. Sie liest Manifest, Component Contracts, `xtendRmtMetadata`,
38
+ `observedAttributes`, Events, Slots, Parts, Form-Assoziation sowie A11y- und
39
+ Performance-Profile und stellt daraus Capabilities fuer alle public
40
+ Manifest-Komponenten bereit. Neue Komponenten bleiben normale Web Components;
41
+ fuer RMT-Kompatibilitaet brauchen sie stabile public Contracts statt Host-
42
+ Monkeypatching.
43
+
44
+ ## Struktur einer Komponente
45
+
46
+ Typischerweise besteht eine Komponente aus:
47
+
48
+ - einer Klasse, die von `HTMLElement` oder einer lokalen Basis erbt
49
+ - Shadow DOM oder kontrolliertem Light-DOM
50
+ - Styles ueber CSS Custom Properties, Parts oder lokale Shadow-DOM-Regeln
51
+ - Attributen und Properties fuer Konfiguration
52
+ - Custom Events fuer Kommunikation
53
+ - Registrierung ueber `customElements.define(...)`
54
+
55
+ ### Minimalbeispiel
56
+
57
+ ```js
58
+ class XButton extends HTMLElement {
59
+ constructor() {
60
+ super();
61
+ this.attachShadow({ mode: 'open' });
62
+ this.shadowRoot.innerHTML = `
63
+ <button part="button"><slot></slot></button>
64
+ <style>
65
+ :host { display: inline-flex; }
66
+ button { padding: 0.5rem 0.75rem; }
67
+ </style>
68
+ `;
69
+ }
70
+ }
71
+
72
+ customElements.define('x-button', XButton);
73
+ ```
74
+
75
+ ## Naming-Regeln
76
+
77
+ | Ebene | Regel | Beispiel |
78
+ | --- | --- | --- |
79
+ | Manifest-Key | kanonischer Runtime- und Catalog-Name | `x-summary` |
80
+ | Custom Element Tag | identisch zum Manifest-Key | `<x-summary>` |
81
+ | Source-Datei | Modul-Basename aus dem Manifest-Pfad | `xsummary.js` |
82
+ | Component-Doku | Source-Basename plus `.md` | `docs/components/xsummary.md` |
83
+ | Docs-Menu-Slug | `components-` plus Source-Basename | `components-xsummary` |
84
+
85
+ Ausnahmen bleiben bewusst klein: `xstate` ist ein Plattform-State-Modul,
86
+ `x-utils` ist ein Utility-Modul ohne Custom Element und `x-theme` stellt die
87
+ Theme-Fassade bereit.
88
+
89
+ ## Best Practices
90
+
91
+ - Nutze Shadow DOM, Parts und CSS Custom Properties fuer Kapselung und
92
+ Theming.
93
+ - Halte Attribute, Properties und Events stabil und dokumentiert.
94
+ - Dispatch Events mit klaren `detail`-Payloads, damit RMT Actions sie sicher
95
+ konsumieren koennen.
96
+ - Vermeide globale DOM-Annahmen in Komponenten; App-Struktur gehoert in RMT.
97
+ - Nutze `x-icon` fuer lokale Icons, Icon Packs und kontrollierte URL-Quellen.
98
+ - Plane Hydration bewusst: sichtbare UI gehoert in sichtbare Lanes, weniger
99
+ dringende Arbeit in idle oder lazy Pfade.
100
+
101
+ ## Beispiel mit Attribut und Event
102
+
103
+ ```js
104
+ class XCounterButton extends HTMLElement {
105
+ static get observedAttributes() {
106
+ return ['value'];
107
+ }
108
+
109
+ constructor() {
110
+ super();
111
+ this.attachShadow({ mode: 'open' });
112
+ this.shadowRoot.innerHTML = `
113
+ <button part="button" type="button"></button>
114
+ `;
115
+ this.shadowRoot.querySelector('button').addEventListener('click', () => {
116
+ const value = Number(this.getAttribute('value') || 0) + 1;
117
+ this.setAttribute('value', String(value));
118
+ this.dispatchEvent(new CustomEvent('counter-change', {
119
+ bubbles: true,
120
+ detail: { value }
121
+ }));
122
+ });
123
+ }
124
+
125
+ attributeChangedCallback() {
126
+ const button = this.shadowRoot && this.shadowRoot.querySelector('button');
127
+ if (button) button.textContent = `Zaehler ${this.getAttribute('value') || 0}`;
128
+ }
129
+ }
130
+
131
+ customElements.define('x-counter-button', XCounterButton);
132
+ ```
133
+
134
+ In RMT kann dieses Event als `on counter-change -> action ...` an eine Action
135
+ gebunden werden.
136
+
137
+ ## Testen und Debugging
138
+
139
+ - Komponenten koennen direkt im HTML getestet werden.
140
+ - Nutze `xtend-loader.js` und den lokalen Dev Server fuer manuelle Tests.
141
+ - Nutze RMT-Surfaces, wenn du Component-Verhalten im App-Lifecycle pruefen
142
+ willst.
143
+ - Fuer API- und Typing-Fragen siehe [Public Component Types](./public-component-types.md).
144
+
145
+ ## Weiterfuehrende Themen
146
+
147
+ - [Manifest-Format](./manifest.md)
148
+ - [XTend Loader](./xtend-loader.md)
149
+ - [RMT vNext Authoring Guide](./rmt-vnext-authoring.md)
150
+ - [RMT vNext Component Primitives und XTend UI](./rmt-vnext-component-primitives.md)
151
+ - [Component Platform](./component-platform.md)
152
+ - [Component UX Authoring](./component-ux-authoring.md)
153
+ - [API-Integration](./api.md)
@@ -0,0 +1,38 @@
1
+ # Conditional Network Evidence CI
2
+
3
+ Contract: `xtend.epic13.conditional-network-evidence-ci.v1`
4
+
5
+ Status: `accepted-conditional-network-evidence-ci`
6
+
7
+ Workpackage: `DPF-WP-03-conditional-network-evidence-ci`
8
+
9
+ ## Ziel
10
+
11
+ Dieses Paket produktisiert Audit- und SBOM-Evidence fuer CI und Release Owner. Der lokale Gate bleibt netzwerkfrei; der CI-Job kann `npm audit --audit-level=moderate` und `npm sbom --sbom-format=cyclonedx --json` ausfuehren oder bei nicht verfuegbarem Netzwerk ein Owner-Deferral im Format `xtend.epic13.conditional-network-deferral.v1` schreiben.
12
+
13
+ ## Lokaler Gate
14
+
15
+ ```bash
16
+ node scripts/run_xtend_tests.js epic13-conditional-network-evidence-ci --json
17
+ npm run test:epic13-conditional-network-evidence-ci
18
+ ```
19
+
20
+ ## Capture
21
+
22
+ ```bash
23
+ npm run conditional-network:evidence
24
+ ```
25
+
26
+ Ohne `XTEND_CONDITIONAL_NETWORK_EXECUTE=1` schreibt der Capture lokale Deferral-Artefakte. In CI setzt `.github/workflows/xtend-default-gates.yml` `XTEND_CONDITIONAL_NETWORK_EXECUTE=1`, installiert Workspace-Links per `npm ci --ignore-scripts --no-audit --fund=false`, nutzt `XTEND_CONDITIONAL_NETWORK_USE_NPX_NPM10=1` fuer stabile SBOM-Ausgabe und laedt die Artefakte hoch:
27
+
28
+ - `.xtend-test-results/xtend-npm-audit-report.json`
29
+ - `.xtend-test-results/xtend-npm-sbom.json`
30
+ - `.xtend-test-results/xtend-conditional-network-evidence-report.json`
31
+
32
+ ## Grenzen
33
+
34
+ Nicht enthalten sind Dependency-Upgrades, Vulnerability-Fixes und Public Publish. Publish bleibt durch `private-until-release-owner-acceptance` blockiert, bis Audit/SBOM ausgefuehrt oder durch den Owner akzeptiert deferred sind.
35
+
36
+ Der separate GitHub-Actions-Job `npm-publish-next` laeuft per `workflow_dispatch` mit `publish_to_npm=true` oder nach `release: published` und erlaubt keine Deferrals: Er setzt `XTEND_CONDITIONAL_NETWORK_ALLOW_DEFERRAL=0`, wiederholt `release:report`, Pack- und Audit/SBOM-Evidence und fuehrt danach `npm publish --tag next --provenance --access public` aus.
37
+
38
+ Der naechste Schritt ist `DPF-WP-04-visual-pixel-evidence-storage`.
@@ -0,0 +1,50 @@
1
+ # Conditional Network Evidence
2
+
3
+ `xtend.epic13.conditional-network-evidence.v1` beschreibt, wie RC1 mit Netzwerk-Gates umgeht, ohne lokale Entwicklung zu blockieren.
4
+
5
+ Lokaler Gate:
6
+
7
+ ```bash
8
+ node scripts/run_xtend_tests.js epic13-conditional-network-evidence --json
9
+ ```
10
+
11
+ oder:
12
+
13
+ ```bash
14
+ npm run test:epic13-conditional-network-evidence
15
+ ```
16
+
17
+ ## Commands
18
+
19
+ | Command | Artefakt |
20
+ |---------|----------|
21
+ | `npm audit --audit-level=moderate` | `.xtend-test-results/xtend-npm-audit-report.json` |
22
+ | `npm sbom --sbom-format=cyclonedx --json` | `.xtend-test-results/xtend-npm-sbom.json` |
23
+
24
+ Der aggregierte Report liegt unter `.xtend-test-results/xtend-conditional-network-evidence-report.json`.
25
+
26
+ ## Lokales Verhalten
27
+
28
+ Der lokale Gate fuehrt die Netzwerkbefehle nicht automatisch aus. Stattdessen prueft er, dass XTend fuer Offline-, Sandbox- und CI-Umgebungen ein stabiles Evidence-/Deferral-Format besitzt.
29
+
30
+ Ab `DPF-WP-03` produktisiert [Conditional Network Evidence CI](./conditional-network-evidence-ci.md) den CI-Job und den Capture-Befehl `npm run conditional-network:evidence` unter `xtend.epic13.conditional-network-evidence-ci.v1`. Der Job kann die Audit-/SBOM-Kommandos ausfuehren oder Owner-Deferrals in denselben Artefaktpfaden ablegen.
31
+
32
+ Default-Reason fuer lokale Deferrals:
33
+
34
+ ```text
35
+ network-restricted-local-default
36
+ ```
37
+
38
+ Weitere erlaubte Gruende:
39
+
40
+ - `sandbox-network-unavailable`
41
+ - `registry-auth-unavailable`
42
+ - `owner-approved-offline-run`
43
+
44
+ ## Publish Boundary
45
+
46
+ `private-until-release-owner-acceptance` bleibt aktiv. Deferred Network Evidence ist ein Review-Signal, aber keine Publish-Freigabe.
47
+
48
+ `WP-E13-04` ist abgeschlossen. Der Package Export Lock beschreibt unter [Package Export Lock](./package-export-lock.md), wie `npm run pack:dry-run` und die Export Surface fuer RC1 gesperrt werden. `WP-E13-05` ist abgeschlossen; `WP-E13-06` hat die [Hydration Performance Closure](./hydration-performance-closure.md) 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` ist nun startbar.
49
+
50
+ Weiterfuehrend: [Release Owner Acceptance](./release-owner-acceptance.md).
@@ -0,0 +1,110 @@
1
+ # XTend Core Migration Guide
2
+
3
+ ## Uebersicht
4
+
5
+ Dieser Guide fasst die produktiven Core-Standards aus Epic 01 zusammen. Er dient als Migrationshilfe fuer Legacy-Call-Sites und als Referenz fuer neue XTend-Core-Aenderungen.
6
+
7
+ ## Verifikation
8
+
9
+ Der aktuelle Core-Contract ist automatisiert pruefbar:
10
+
11
+ ```bash
12
+ node scripts/verify_xtend_core_contracts.js
13
+ ```
14
+
15
+ ## Runtime-Standards
16
+
17
+ - `window.XTend.compliance` stellt Checklist, Contract-Uebersicht und Theme-Tokens bereit.
18
+ - zentrale Design-Tokens werden ueber `xtheme` pro Theme registriert und auf `document.documentElement` gespiegelt.
19
+ - Overlay- und Feedback-Komponenten respektieren `prefers-reduced-motion`, Fokus-Standards und kanonische XTend-State-Keys.
20
+
21
+ ## RMT-Templating-Migration ab Epic 04
22
+
23
+ RMT-Templating ist additiv und opt-in. Bestehende XTend-Apps, klassische HTML-/JS-Integrationen und bestehende Web-Component-Nutzung bleiben gueltig. Eine App nutzt XTendRMT erst, wenn sie ein `.rmt` Dokument, einen RMT Root-Handshake, einen Template-Record oder einen Host Adapter bewusst registriert.
24
+
25
+ Die verbindliche Migrationsnotiz liegt in `development/XTendRMT-Migrations-und-Framework-Agnostik-Leitplanken.md`.
26
+ Der aktuelle Produktueberblick liegt in `docs/xtendrmt-overview.md`. Das produktive native Authoring-Modell ab Epic 05 liegt in `docs/xtendrmt-native-authoring.md`; die App-DSL-Referenz liegt in `docs/xtendrmt-app-dsl.md`; Runtime Bridge und Adapter sind in `docs/xtendrmt-runtime-bridge.md` beschrieben. Die Migration von Metadatenpfaden zu Top-Level-Domains liegt in `docs/xtendrmt-migration-guide.md`.
27
+
28
+ | Ausgangslage | Migrationspfad |
29
+ |--------------|----------------|
30
+ | XTend-only App | unveraendert weiter betreiben; RMT nur fuer neue Roots oder Template-Piloten aktivieren |
31
+ | XTend mit XRouter | Route-Records vorbereiten, produktive Adapterausfuehrung in Epic 05 |
32
+ | XTend neben React/Vue | RMT als Scheduler oder Template-Transport nutzen, Host Adapter getrennt halten |
33
+ | Vanilla oder Custom Host | eigene Scheduler-Endpoints deklarieren, keine XTend-Capabilities voraussetzen |
34
+ | Legacy-Demo | klassifizieren und pruefen, nicht stillschweigend zum RMT-Produktcontract machen |
35
+
36
+ Review-Regeln fuer RMT-kompatible Aenderungen:
37
+
38
+ - keine XTend Runtime-Imports im RMT Kernel
39
+ - keine erzwungene Migration bestehender Apps
40
+ - keine neue XTend-Template-Sprache neben RMT
41
+ - `kernelVisible: false` fuer XTend-spezifische Adapterdaten
42
+ - produktive Bridge-Factories statt privater Demo-Brueckenlogik verwenden
43
+ - historische Scaffold-Artefakte mit `bridgeRuntime: reserved-for-Epic-05` bleiben als Epic-04-Handoff lesbar, sind aber nicht mehr der operative Bridge-Status
44
+ - `node scripts/run_xtend_tests.js rmt-compatibility --json` und `node scripts/run_xtend_tests.js references --json` als Mindestgates
45
+
46
+ ## Native RMT Routes und Components ab Epic 05
47
+
48
+ Neue App-DSL-Dokumente sollen operative Routing-, Component- und Scheduling-Daten in nativen Top-Level-Domains fuehren:
49
+
50
+ - `manifest.metadata.routes -> routes`
51
+ - `manifest.metadata.components -> components`
52
+ - `manifest.metadata.schedules -> schedules`
53
+ - `xtend.xrouter` bleibt Router Adapter
54
+ - `xtend.component` bleibt Component Adapter
55
+ - `rmt.state-scheduler-diagnostics` bleibt Bridge Adapter
56
+
57
+ `manifest.metadata` bleibt fuer Beschreibung, Handoff und historische Demo-Notizen gueltig, soll aber keine neue operative Route-/Component-Bridge tragen. Template-only-Dokumente bleiben kompatibel.
58
+
59
+ Die produktive Ausfuehrung nutzt:
60
+
61
+ - `createRmtFormat().normalizeDocument(...)`
62
+ - `createRmtFormat().createRuntimeRegistries(...)`
63
+ - `createRmtXRouterAdapter(...)`
64
+ - `createRmtXtendComponentAdapter(...)`
65
+ - `createRmtStateSchedulerDiagnosticsBridge(...)`
66
+
67
+ Die Docs-App selbst bleibt Parsedown-basiert, rendert ihre App Shell aber inzwischen Shell-first aus RMT. Der Scheduling- und Shell-Pfad ist seit `ER-WP-40` in `docs/xtendrmt-parsedown-scheduling.md` und `docs/xtendrmt-parsedown-docs.rmt` als offizieller Pilot beschrieben.
68
+
69
+ ## Legacy zu kanonisch
70
+
71
+ | Bereich | Legacy | Kanonisch | Status |
72
+ |--------|--------|-----------|--------|
73
+ | Dialog Open | `dialog-open-<id>` | `xtend.component.x-dialog.<id>.open` | Legacy bleibt kompatibel |
74
+ | Dialog Open | `xdialog-open-<id>` | `xtend.component.x-dialog.<id>.open` | Legacy bleibt kompatibel |
75
+ | Modal Open | `modal-open-<id>` | `xtend.component.x-modal.<id>.open` | Legacy bleibt kompatibel |
76
+ | Theme Current | `theme` | `xtend.theme.current` | beide werden gespiegelt |
77
+ | Theme List | `themes` | `xtend.theme.available` | beide werden gespiegelt |
78
+ | Router Last Navigation | `router-navigated` | `xtend.router.lastNavigated` | beide werden gespiegelt |
79
+ | Alert State | `xalert-state-<id>` | `xtend.component.x-alert.<id>` | Legacy bleibt kompatibel |
80
+
81
+ ## Was neue Core-Aenderungen beachten muessen
82
+
83
+ - neue UI-Flows brauchen einen expliziten `xstate`-Zwilling
84
+ - Doku, API, Typdefinitionen und Runtime muessen denselben Contract verwenden
85
+ - neue Komponenten oder groessere Core-Aenderungen muessen gegen die Compliance-Checklist und den Verify-Script laufen
86
+
87
+ ## Design-Tokens
88
+
89
+ Die zentralen Tokens kommen aus `xtheme` und koennen pro Theme angepasst werden:
90
+
91
+ - `--xtend-color-primary`
92
+ - `--xtend-color-primary-dark`
93
+ - `--xtend-color-accent`
94
+ - `--xtend-glass-bg`
95
+ - `--xtend-glass-blur`
96
+ - `--xtend-shadow`
97
+ - `--xtend-border`
98
+ - `--xtend-radius`
99
+ - `--xtend-font-family`
100
+ - `--xtend-focus-outline`
101
+ - `--xtend-surface`
102
+ - `--xtend-surface-muted`
103
+ - `--xtend-text`
104
+ - `--xtend-overlay-bg`
105
+
106
+ ## Hinweise fuer bestehende Integrationen
107
+
108
+ - Bestehende Legacy-Open-Flags fuer Dialog und Modal muessen nicht sofort entfernt werden, sollten aber nicht mehr neu eingefuehrt werden.
109
+ - Neue API-nahe Integrationen sollen `window.XTend.*` statt unnamespaced Helpern bevorzugen.
110
+ - Fuer Core-Reviews ist die Checkliste in `development/XTend-Core-Compliance-Checklist.md` die operative Quelle.