@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,129 @@
1
+ # xinput – XTend Komponente
2
+
3
+ > **Siehe auch:** [xform](./xform.md), [xstate](./xstate.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-input>` ist ein vielseitiges Eingabefeld mit Theming, State-Integration und voller Unterstützung für Formulare.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Standard-Input mit Slot für Label
13
+ - State-Integration via xstate
14
+ - Theming via CSS Custom Properties
15
+ - Form-Integration
16
+
17
+ ---
18
+
19
+ ## Verwendung
20
+
21
+ ```html
22
+ <x-input value="Hallo"></x-input>
23
+ ```
24
+
25
+ ---
26
+
27
+ ## Attribute
28
+ | Attribut | Typ | Beschreibung |
29
+ |-------------|---------|-------------------------------------|
30
+ | `value` | String | Wert des Eingabefelds |
31
+ | `type` | String | Typ des Inputs (text, number, etc.) |
32
+ | `placeholder`| String | Platzhaltertext |
33
+
34
+ ---
35
+
36
+ ## Events
37
+ | Event | Beschreibung |
38
+ |---------------|-------------------------------------|
39
+ | `input` | Bei Eingabe ausgelöst |
40
+ | `change` | Bei Wertänderung ausgelöst |
41
+ | `input-changed` | aktueller XTend-Contract bei Wertänderung, Detail: `{ value }` |
42
+ | `validation-failed` | Validierungsfehler, Detail: `{ value }` |
43
+
44
+ ---
45
+
46
+ ## API
47
+ - **Wert setzen/lesen:** `element.value = 'Text'`
48
+ - **State-Integration:** Automatisch via xstate
49
+ - **Validierung:** `element.checkValidity()`, `element.reportValidity()`
50
+ - **Reset:** `element.reset()`
51
+
52
+ ## State-Contract ab ER-WP-33
53
+
54
+ `<x-input>` schreibt seinen Wert nach `xinput-value-<id>` und reagiert auf externe Änderungen dieses Keys. Die Validierungsregion nutzt `role="alert"` und `aria-live="assertive"`, sodass Formularfehler nicht nur farblich, sondern auch semantisch sichtbar werden.
55
+
56
+ ## Form Controls UX ab WP-E11-08
57
+
58
+ `<x-input>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil bindet Label, Hint, Error, `input-changed`, `validation-failed`, `xinput-value-<id>`, `ui.user-blocking.input`, Fabric-Lane `user-blocking` und RMT Shell Authoring zusammen.
59
+
60
+ ---
61
+
62
+ ## Beispiel: Dynamisch per JS
63
+
64
+ ```js
65
+ const input = document.createElement('x-input');
66
+ input.value = 'Hallo';
67
+ document.body.appendChild(input);
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Styling & Theming
73
+
74
+ ```css
75
+ x-input {
76
+ --input-border: 1px solid #ccc;
77
+ --input-bg: #fff;
78
+ --input-bg-dark: #0f0f12;
79
+ --input-placeholder-color-dark: #b8c4d4;
80
+ }
81
+ ```
82
+
83
+ `<x-input>` nutzt automatisch `--xtend-surface` und `--xtend-text` aus `x-theme`. In `data-theme="dark"` wird ein dunkler Hintergrund ueber `--input-bg-dark`, `--xtend-control-bg-dark` oder den Theme-Surface-Fallback gesetzt, damit Text und Suchfelder in der Docs-App lesbar bleiben.
84
+
85
+ ---
86
+
87
+ ## Accessibility
88
+ - Label-Slot, ARIA, Form-Integration
89
+
90
+ ---
91
+
92
+ *Letzte Aktualisierung: 16. Juli 2025*
93
+
94
+ ## ECH-WP-08 Form Theme/A11y Hardening
95
+
96
+ `signatureDesign`: Praezises Enterprise-Textfeld mit ruhiger Flaeche, klarer Status-Typografie und dichter, aber lesbarer Form-Rhythmik.
97
+
98
+ | Token | Zweck |
99
+ | --- | --- |
100
+ | `--xtend-form-text` | Host-Textfarbe |
101
+ | `--xtend-form-control-surface` | Eingabeflaeche |
102
+ | `--xtend-form-control-text` | Eingabetext |
103
+ | `--xtend-form-label-text` | Label |
104
+ | `--xtend-form-helper-text` | Helper/Hinweis |
105
+ | `--xtend-form-error-text` | Fehlertext |
106
+ | `--xtend-form-error-surface` | Fehlerflaeche |
107
+ | `--xtend-form-error-border` | Fehlerkante und Marker |
108
+ | `--xtend-form-focus-ring` | Native Focus-Outline |
109
+ | `--xtend-form-radius` | Control- und Error-Radius |
110
+ | `--xtend-form-gap` | Label-, Helper- und Error-Abstand |
111
+ | `--xtend-form-font-family` | Form-Typografie |
112
+ | `--xtend-form-control-font-size` | Control-Schrift |
113
+ | `--xtend-form-helper-font-size` | Helper/Error-Schrift |
114
+ | `--xtend-form-icon-color` | Icon-/Affordance-Farbe fuer Controls mit Icon |
115
+
116
+ Density-Profile: `density="comfortable"`, `density="compact"` und `density="dense"`. Invalid/Error ist nicht farb-only: Control-Kante, innerer Ring und Error-Marker bleiben auch in Dark/Forced-Colors erkennbar.
117
+
118
+ ```css
119
+ [data-xtend-form-theme="enterprise-foreign"] x-input {
120
+ --xtend-form-control-surface: #fbf8f2;
121
+ --xtend-form-control-text: #16231f;
122
+ --xtend-form-label-text: #22312c;
123
+ --xtend-form-helper-text: #596861;
124
+ --xtend-form-error-text: #7d231c;
125
+ --xtend-form-error-border: #a64036;
126
+ --xtend-form-focus-ring: 3px solid #8f4f2a;
127
+ --xtend-form-radius: 0.35rem;
128
+ }
129
+ ```
@@ -0,0 +1,98 @@
1
+ # xlightbox – XTend Komponente
2
+
3
+ > **Siehe auch:** [xplayer](./xplayer.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-lightbox>` ist eine Komponente zur Anzeige von Bildern im viewportweiten Overlay. Sie unterstuetzt Trigger-Slots, API-gesteuertes Oeffnen, Escape Close, Focus Return und viewport-bounded Media-Skalierung.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Overlay für Bilder und Medien
13
+ - Trigger-Slot und globale Helper-API
14
+ - Keyboard-Support mit Escape Close
15
+ - Viewport-bounded Bildskalierung mit Body-Portal
16
+ - Theming via CSS Custom Properties
17
+
18
+ ---
19
+
20
+ ## Verwendung
21
+
22
+ ```html
23
+ <x-lightbox id="logo-lightbox" src="/assets/logo.png" alt="XTend Logo">
24
+ <x-button slot="trigger" variant="secondary">Logo ansehen</x-button>
25
+ </x-lightbox>
26
+
27
+ <img src="/assets/preview.jpg" data-xlightbox alt="Preview" />
28
+ ```
29
+
30
+ ---
31
+
32
+ ## Attribute
33
+ | Attribut | Typ | Beschreibung |
34
+ |-------------|---------|-------------------------------------|
35
+ | `src` | String | Bildquelle fuer Trigger, API und `data-xlightbox` |
36
+ | `open` | Boolean | oeffnet die Lightbox kontrolliert, sofern `src` gesetzt ist |
37
+ | `alt` | String | Alternativtext fuer das angezeigte Bild |
38
+
39
+ ---
40
+
41
+ ## Events
42
+ | Event | Beschreibung |
43
+ |---------------|-------------------------------------|
44
+ | `lightbox-opened` | Wird beim Oeffnen ausgelöst, Detail: `{ src }` |
45
+ | `lightbox-closed` | Wird beim Schliessen ausgelöst |
46
+
47
+ ---
48
+
49
+ ## API
50
+ - **Oeffnen:** `element.open(src)`
51
+ - **Schliessen:** `element.close()`
52
+ - **Globaler Helper:** `window.showLightbox(src)`
53
+ - **State:** `xlightbox-open-<id>`
54
+
55
+ `src` konfiguriert die Bildquelle, oeffnet die Lightbox aber nicht automatisch. Fuer direkte UI-Nutzung wird ein Element im Slot `trigger` verwendet. Beim Oeffnen portalt sich die Lightbox auf `document.body`, damit Overlay und Bild nicht von App-Shell-Containern, `main`, Cards oder transformierten Demo-Frames abgeschnitten werden.
56
+
57
+ ---
58
+
59
+ ## Beispiel: Dynamisch per JS
60
+
61
+ ```js
62
+ const lightbox = document.createElement('x-lightbox');
63
+ document.body.appendChild(lightbox);
64
+ lightbox.open('/assets/bild.jpg');
65
+ ```
66
+
67
+ ---
68
+
69
+ ## Styling & Theming
70
+
71
+ ```css
72
+ x-lightbox {
73
+ --lightbox-bg: rgba(0,0,0,0.9);
74
+ --lightbox-padding: clamp(0.75rem, 2vw, 2rem);
75
+ --lightbox-radius: 0.75rem;
76
+ }
77
+ ```
78
+
79
+ ---
80
+
81
+ ## Accessibility
82
+ - Fokus-Management, Keyboard-Navigation und Focus Return
83
+ - `role="dialog"`, `aria-modal="true"` und geschlossener Zustand mit `aria-hidden` und `inert`
84
+ - Bildskalierung via `object-fit: contain` und `max-height: calc(100dvh - padding)`
85
+
86
+ ---
87
+
88
+ *Letzte Aktualisierung: 16. Juli 2025*
89
+
90
+ ## Layout Display Media UX Profil
91
+
92
+ `x-lightbox` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente verbindet Overlay- und Media-Reife und nutzt den State-Key `xlightbox-open-<id>`.
93
+
94
+ - Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
95
+ - Schedule: `media.lazy.load`
96
+ - Events: `lightbox-opened`, `lightbox-closed`
97
+ - Snapshot: `snapshot()`
98
+ - CSS Parts: `overlay`, `content`, `close`, `media`
@@ -0,0 +1,109 @@
1
+ # xlink - XTend Komponente
2
+
3
+ ## Uebersicht
4
+
5
+ `<x-link>` ist die deklarative Link-Komponente fuer XTend-SPAs. Sie arbeitet mit `<x-router>` zusammen, erkennt Hash- und History-Mode und haelt den Active-State auch bei programmatischer Navigation aktuell.
6
+
7
+ ## Verwendung
8
+
9
+ ```html
10
+ <x-link href="/docs">Zur Dokumentation</x-link>
11
+ <x-link href="https://example.com">Externer Link</x-link>
12
+ ```
13
+
14
+ ## Attribute
15
+
16
+ | Attribut | Typ | Beschreibung |
17
+ |----------|-----|--------------|
18
+ | `href` | string | Zielpfad oder externe URL |
19
+ | `active` | boolean | wird gesetzt, wenn der Link aktuell aktiv ist |
20
+ | `state` | string | optionales JSON fuer `history.pushState()` |
21
+
22
+ ## Events
23
+
24
+ | Event | Beschreibung |
25
+ |-------|--------------|
26
+ | `before-navigate` | cancelable, vor der Navigation |
27
+ | `after-navigate` | nach erfolgreicher Navigation |
28
+
29
+ `before-navigate` und `after-navigate` liefern:
30
+
31
+ ```js
32
+ {
33
+ href: '/docs',
34
+ mode: 'history',
35
+ state: { ... },
36
+ source: 'x-link',
37
+ stateKey: 'xlink-active-link-123',
38
+ scheduleRef: 'ui.user-blocking.navigation'
39
+ }
40
+ ```
41
+
42
+ ## Contract
43
+
44
+ - interne Links werden normalisiert und spa-konform navigiert
45
+ - externe Links behalten Standardverhalten und erhalten automatisch `target="_blank"` plus `rel="noopener noreferrer"`
46
+ - Active-State wird bei `popstate`, `hashchange`, `x-navigate` und `xrouter-after-navigate` aktualisiert
47
+ - aktive Links spiegeln `aria-current="page"` und `xlink-active-<id>`
48
+ - Enter und Space aktivieren denselben Navigationspfad
49
+ - lange Labels und slotted Icon-/Text-Inhalte bleiben overflow-sicher in engen Menüs, Sidebars und Header-Drawern
50
+
51
+ ## Navigation Routing UX Profil
52
+
53
+ `<x-link>` stellt `xtendNavigationRoutingUxProfile` mit `xtend.component.navigation-routing-ux-profile.v1` bereit. Das Profil beschreibt `x-link` als Router-Link mit `before-navigate`, `after-navigate`, `x-navigate`, `xlink-active-<id>`, `ui.user-blocking.navigation`, Active State, Keyboard-Aktivierung, Fabric-Lane `user-blocking` und RMT Shell Authoring.
54
+
55
+ Die Link-Komponente delegated Route Announcements an `x-router`, bleibt aber selbst fuer sichtbaren Active State, Keyboard-Aktivierung und sichere externe Links verantwortlich.
56
+
57
+ ## Overflow-Sicherheit
58
+
59
+ `x-link` ist fuer App-Shell-Navigation, Menues und Sidebars overflow-sicher. Der Host begrenzt sich auf den verfuegbaren Container, slotted Inhalte erhalten `min-width: 0`, und lange Labels duerfen umbrechen. Fuer bewusst einzeilige Links kann `--xtend-link-white-space: nowrap` gesetzt werden.
60
+
61
+ ## Hinweise
62
+
63
+ - der Router-Mode wird am ersten gefundenen `<x-router>` erkannt
64
+ - gleiche Zielpfade fuehren keinen redundanten URL-Wechsel aus
65
+ - `x-link` nutzt denselben Navigationsvertrag wie `x-router`
66
+
67
+ ## ECH-WP-09 Token-Tabelle und Navigation States
68
+
69
+ `signatureDesign`: `x-link` ist der kompakte Enterprise-Router-Link mit sichtbarem Current-Indikator und tokenisiertem Active/Disabled-Verhalten. Active/Current/Selected, Hover, Focus und Disabled muessen auch in dichten Headern, Sidebars und Menues lesbar bleiben.
70
+
71
+ | Token | Zweck |
72
+ | --- | --- |
73
+ | `--xtend-nav-surface` | Link-Surface |
74
+ | `--xtend-nav-text` | Link-Text |
75
+ | `--xtend-nav-border-color` | geteilte Navigationskante |
76
+ | `--xtend-nav-radius` | Link-Radius |
77
+ | `--xtend-nav-gap` | Abstand zwischen Icon und Label |
78
+ | `--xtend-nav-font-family` | Link-Typografie |
79
+ | `--xtend-nav-font-size` | Link-Textgroesse |
80
+ | `--xtend-nav-active-surface` | Active/Current/Selected Flaeche |
81
+ | `--xtend-nav-active-text` | Active/Current/Selected Text |
82
+ | `--xtend-nav-current-indicator` | nicht farb-only Current-Indikator |
83
+ | `--xtend-nav-hover-surface` | Hover-Flaeche |
84
+ | `--xtend-nav-focus-ring` | Tastaturfokus |
85
+ | `--xtend-nav-disabled-opacity` | Disabled-Dimmung |
86
+
87
+ ## ECH-WP-09 Keyboard-Verhalten
88
+
89
+ `Enter` und `Space` aktivieren interne Links ueber denselben Navigationspfad wie Click. Disabled Links entfernen den internen `href`, setzen `aria-disabled="true"` und sind nicht tastaturaktivierbar. Active/Current wird ueber `aria-current="page"` gespiegelt; Composite-Navigation kann `aria-selected="true"` auf dem Host ergaenzen.
90
+
91
+ ## ECH-WP-09 Fremdtheme
92
+
93
+ ```css
94
+ [data-xtend-nav-theme="enterprise-foreign"] x-link {
95
+ --xtend-nav-surface: transparent;
96
+ --xtend-nav-text: #17231f;
97
+ --xtend-nav-border-color: transparent;
98
+ --xtend-nav-radius: 0.3rem;
99
+ --xtend-nav-gap: 0.4rem;
100
+ --xtend-nav-font-family: "Aptos", "Segoe UI", sans-serif;
101
+ --xtend-nav-font-size: 0.96rem;
102
+ --xtend-nav-active-surface: rgba(181, 107, 53, 0.16);
103
+ --xtend-nav-active-text: #173f35;
104
+ --xtend-nav-current-indicator: #b56b35;
105
+ --xtend-nav-hover-surface: rgba(181, 107, 53, 0.1);
106
+ --xtend-nav-focus-ring: 3px solid #b56b35;
107
+ --xtend-nav-disabled-opacity: 0.44;
108
+ }
109
+ ```
@@ -0,0 +1,124 @@
1
+ # xmasonry – XTend Komponente
2
+
3
+ > **Siehe auch:** [xcards](./xcards.md), [xsection](./xsection.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-masonry>` ist ein flexibles Grid-Layout für kachelartige Anordnungen (Masonry-Layout). Es eignet sich für Galerien, Cards und dynamische Inhalte.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Masonry-Layout (Pinterest-Style)
13
+ - Responsive Design
14
+ - Theming via CSS Custom Properties
15
+
16
+ ---
17
+
18
+ ## Verwendung
19
+
20
+ ```html
21
+ <x-masonry>
22
+ <div>Item 1</div>
23
+ <div>Item 2</div>
24
+ </x-masonry>
25
+ ```
26
+
27
+ ---
28
+
29
+ ## Attribute
30
+ | Attribut | Typ | Beschreibung |
31
+ |-------------|---------|-------------------------------------|
32
+ | `columns` | Number | Anzahl der Spalten (default: 3) |
33
+ | `gap` | String | Abstand zwischen Items (default: 1rem) |
34
+
35
+ ---
36
+
37
+ ## Events
38
+ | Event | Beschreibung |
39
+ |---------------|-------------------------------------|
40
+ | – | – |
41
+
42
+ ---
43
+
44
+ ## API
45
+ - **Spalten dynamisch setzen:** `element.setAttribute('columns', 4)`
46
+
47
+ ---
48
+
49
+ ## Beispiel: Dynamisch per JS
50
+
51
+ ```js
52
+ const masonry = document.createElement('x-masonry');
53
+ masonry.setAttribute('columns', 4);
54
+ document.body.appendChild(masonry);
55
+ ```
56
+
57
+ ---
58
+
59
+ ## Styling & Theming
60
+
61
+ ```css
62
+ x-masonry {
63
+ --masonry-gap: 2rem;
64
+ }
65
+ ```
66
+
67
+ ---
68
+
69
+ ## Accessibility
70
+ - Semantisches HTML
71
+
72
+ ---
73
+
74
+ *Letzte Aktualisierung: 16. Juli 2025*
75
+
76
+ ## Layout Display Media UX Profil
77
+
78
+ `x-masonry` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente ist als responsive Layout-Grid mit deterministischem Reflow-Schedule authorierbar und nutzt den State-Key `xmasonry-state-<id>`.
79
+
80
+ - Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
81
+ - Schedule: `layout.reflow.commit`
82
+ - Event: `masonry-layout`
83
+ - Snapshot: `snapshot()`
84
+ - CSS Parts: `root`, `grid`, `item`, `toggle`, `content`
85
+
86
+ ## ECH-WP-07 Token-Tabelle und signatureDesign
87
+
88
+ `signatureDesign`: Reorderable Enterprise-Masonry mit taktiler Tiefe, icon-only Toggle-Control und themebarem Drag-Feedback. Die Komponente eignet sich fuer Galerien, Dashboards und Knowledge-Layouts ohne Textzeichen-Controls.
89
+
90
+ | Token | Zweck |
91
+ | --- | --- |
92
+ | `--xtend-layout-surface` | Masonry-Item-Flaeche |
93
+ | `--xtend-layout-text` | Item-Textfarbe |
94
+ | `--xtend-layout-border-color` | Item- und Drop-Kanten |
95
+ | `--xtend-layout-radius` | Item-Radius |
96
+ | `--xtend-layout-elevation` | Item- und Drag-Schatten |
97
+ | `--xtend-layout-spacing` | Item-Padding |
98
+ | `--xtend-layout-gap` | Grid-Abstand |
99
+ | `--xtend-layout-font-family` | Masonry-Typografie |
100
+ | `--xtend-layout-font-size` | Item-Textgroesse |
101
+ | `--xtend-layout-media-radius` | Toggle-/Medienradius |
102
+ | `--xtend-layout-focus-ring` | Toggle-Fokus |
103
+ | `--xtend-layout-grid-min` | Grid-Untergrenze |
104
+ | `--xtend-layout-content-max` | Masonry-Maximalbreite |
105
+
106
+ ## ECH-WP-07 Fremdtheme
107
+
108
+ ```css
109
+ [data-xtend-layout-theme="enterprise-foreign"] x-masonry {
110
+ --xtend-layout-surface: #fbf7f1;
111
+ --xtend-layout-text: #1b2823;
112
+ --xtend-layout-border-color: rgba(27, 40, 35, 0.2);
113
+ --xtend-layout-radius: 0.35rem;
114
+ --xtend-layout-elevation: 0 10px 28px rgba(27, 40, 35, 0.12);
115
+ --xtend-layout-spacing: 1.25rem;
116
+ --xtend-layout-gap: 1rem;
117
+ --xtend-layout-font-family: "Aptos", "Segoe UI", sans-serif;
118
+ --xtend-layout-font-size: 1rem;
119
+ --xtend-layout-media-radius: 999px;
120
+ --xtend-layout-focus-ring: 3px solid #8f4f2a;
121
+ --xtend-layout-grid-min: minmax(14rem, 1fr);
122
+ --xtend-layout-content-max: 72rem;
123
+ }
124
+ ```
@@ -0,0 +1,158 @@
1
+ # xmenu – XTend Komponente
2
+
3
+ > **Siehe auch:** [xlink](./xlink.md), [xrouter](./xrouter.md), [xheader](./xheader.md), [xfooter](./xfooter.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-menu>` ist die Enterprise-Navigationskomponente fuer Menuebars, Toolbars und App-Navigation. Seit `WP-E12-07` besitzt sie einen expliziten Performance-, RMT-, Fabric- und Routing-Contract. RMT kann Menueintraege deklarativ als DOM-Descriptoren erzeugen; der XTend Host Adapter uebernimmt Hydration, Keyboard-Navigation, Active-State-Sync und XRouter-Kompatibilitaet.
8
+
9
+ ## Features
10
+
11
+ - Slotted Eintraege fuer `a`, `button`, `x-link` und `[role="menuitem"]`
12
+ - ARIA-Rollen mit `role="menubar"` und `role="menuitem"`
13
+ - Keyboard-Navigation mit Arrow Keys, `Home`, `End`, `Enter` und `Space`
14
+ - Roving `tabindex` und `aria-current="page"` fuer aktive Eintraege
15
+ - `x-link`- und `x-router`-Kompatibilitaet ueber `x-navigate` und `router-navigate`
16
+ - `xtend.performance.component-profile.v1` mit Navigation- und Interaction-Budgets
17
+ - Fabric-kompatible Events fuer Navigation, Keyboard und Performance
18
+
19
+ ## Verwendung
20
+
21
+ ```html
22
+ <x-menu data-rmt-schedule="ui.user-blocking.navigation" data-xtend-lane="user-blocking">
23
+ <a href="/overview">Overview</a>
24
+ <x-link href="/settings">Settings</x-link>
25
+ <button type="button">Action</button>
26
+ </x-menu>
27
+ ```
28
+
29
+ ## Events
30
+
31
+ | Event | Detail | Beschreibung |
32
+ |-------|--------|--------------|
33
+ | `menu-item-clicked` | `{ href, index, label, source, scheduleRef }` | Wird bei Click oder Keyboard-Aktivierung eines Eintrags emittiert |
34
+ | `menu-navigate` | `{ href, path, mode, scheduleRef }` | Signalisiert eine interne Navigation an XRouter/RMT |
35
+ | `menu-keyboard-navigation` | `{ key, fromIndex, toIndex }` | Misst Roving-Focus-Navigation |
36
+ | `menu-performance-measured` | `xtend.performance.measurement.v1` | Fabric-/Diagnostics-Messpunkt fuer Hydration, Slotchange, Keyboard und Route Activation |
37
+
38
+ ## Runtime API
39
+
40
+ ```js
41
+ const menu = document.querySelector('x-menu');
42
+
43
+ menu.getPerformanceBudget();
44
+ menu.getInteractionBudget();
45
+ menu.snapshotPerformance();
46
+ ```
47
+
48
+ `snapshotPerformance()` liefert `xtend.component.performance-snapshot.v1` mit Countern, Budgets und den letzten Messpunkten.
49
+
50
+ ## Performance Contract
51
+
52
+ `x-menu` nutzt:
53
+
54
+ - Schema: `xtend.performance.component-profile.v1`
55
+ - `componentRef`: `x-menu`
56
+ - Profile: `interactive`, `routing`
57
+ - Budget Class: `navigation-small`
58
+ - Lane: `user-blocking`
59
+ - Hydration Policy: `visible`
60
+ - kritische Messpunkte:
61
+ - `xtend.component.hydrate`
62
+ - `xtend.component.render`
63
+ - `xtend.component.slotchange`
64
+ - `xtend.interaction.keyboard`
65
+ - `xtend.route.navigate`
66
+ - `xtend.state.sync`
67
+
68
+ Das Interaction Budget enthaelt `keyboardBudgetMs`, `routeActivationBudgetMs`, `touchTargetMinPx: 44`, `rovingTabindexRequired`, `xLinkCompatible` und `xRouterCompatible`.
69
+
70
+ ## RMT und Fabric
71
+
72
+ Der RMT Contract bleibt host-neutral:
73
+
74
+ - Adapter: `xtend.component`
75
+ - Template Mode: `dom_descriptor`
76
+ - Event Binding Mode: `dom-event-to-rmt-command`
77
+ - Schedule Refs: `component.visible.hydrate`, `ui.user-blocking.navigation`, `route.transition.navigate`, `diagnostics.snapshot`
78
+ - Boundary: `no-rmt-kernel-import-of-xtend-types`
79
+
80
+ Fabric kann die Komponente ueber `menu-performance-measured`, `menu-keyboard-navigation`, `menu-navigate` und `snapshotPerformance()` anbinden.
81
+
82
+ ## State und Routing
83
+
84
+ - `xmenu-active` ist der kanonische `xstate`-Key fuer den aktiven Eintrag.
85
+ - `xmenu-state-<id>` enthaelt den vollstaendigen lokalen State inklusive Performance Snapshot.
86
+ - Interne Links schreiben `router-navigate` und emittieren `x-navigate`, damit XRouter Hash- und History-Mode ausloesen kann.
87
+ - Aktive Eintraege erhalten `aria-current="page"` und bleiben im Roving-Tabindex fokussierbar.
88
+
89
+ ## Styling & Theming
90
+
91
+ ```css
92
+ x-menu {
93
+ --xtend-menu-bg: rgba(40, 60, 120, 0.25);
94
+ --xtend-menu-color: #fff;
95
+ --xtend-menu-min-touch-target: 44px;
96
+ }
97
+ ```
98
+
99
+ ## Accessibility
100
+
101
+ - ARIA-Rollen: `menubar` auf der Shell, `menuitem` auf slotted Items.
102
+ - Keyboard-Navigation: `ArrowRight`, `ArrowDown`, `ArrowLeft`, `ArrowUp`, `Home`, `End`, `Enter`, `Space`.
103
+ - Focus Visible und Forced Colors werden ohne Bewegungsabhaengigkeit unterstuetzt.
104
+ - `prefers-reduced-motion` deaktiviert nicht notwendige Transitions.
105
+
106
+ ## Component-Level-Contract ab WP-E12-07
107
+
108
+ - `xtendComponentContract`, `xtendRmtMetadata`, `xtendComponentLifecycleTelemetry`, `xtendScaffoldA11yProfile` und `xtendScaffoldPerformanceProfile` sind in der Runtime vorhanden.
109
+ - `menu-item-clicked`, `menu-navigate`, `menu-keyboard-navigation` und `menu-performance-measured` bilden die oeffentliche Event-Oberflaeche.
110
+ - `snapshotPerformance()`, `getPerformanceBudget()` und `getInteractionBudget()` machen die Komponente fuer Fabric, RMT Adapter und lokale Gates testbar.
111
+
112
+ ---
113
+
114
+ *Letzte Aktualisierung: 7. Mai 2026*
115
+
116
+ ## ECH-WP-09 Token-Tabelle und Navigation States
117
+
118
+ `signatureDesign`: `x-menu` nutzt eine ruhige Enterprise-Menueleiste mit klar sichtbarer aktiver Route, nicht farb-only Current-Indikator und frei ersetzbarer Typografie. Active/Current/Selected, Hover, Focus und Disabled muessen in Fremdthemes sichtbar bleiben.
119
+
120
+ | Token | Zweck |
121
+ | --- | --- |
122
+ | `--xtend-nav-surface` | Menue-Surface |
123
+ | `--xtend-nav-text` | Menue- und Item-Text |
124
+ | `--xtend-nav-border-color` | Menuekante |
125
+ | `--xtend-nav-radius` | Menue- und Item-Radius |
126
+ | `--xtend-nav-gap` | Abstand zwischen Navigationseintraegen |
127
+ | `--xtend-nav-font-family` | Navigationstypografie |
128
+ | `--xtend-nav-font-size` | Navigationstextgroesse |
129
+ | `--xtend-nav-active-surface` | Active/Current/Selected Flaeche |
130
+ | `--xtend-nav-active-text` | Active/Current/Selected Text |
131
+ | `--xtend-nav-current-indicator` | nicht farb-only Route-Indikator |
132
+ | `--xtend-nav-hover-surface` | Hover-Flaeche |
133
+ | `--xtend-nav-focus-ring` | Tastaturfokus |
134
+ | `--xtend-nav-disabled-opacity` | Disabled-Dimmung |
135
+
136
+ ## ECH-WP-09 Keyboard-Verhalten
137
+
138
+ `ArrowRight`, `ArrowDown`, `ArrowLeft`, `ArrowUp`, `Home`, `End`, `Enter` und `Space` bleiben gatebar. Disabled Items werden nicht aktiviert und beim Roving Focus uebersprungen. Verschachtelte Menues duerfen Disclosure Controls nur mit Icon Controls wie `part="disclosure-icon control icon"` oder autorisierten `x-icon`-Elementen darstellen, nicht mit Textglyphen.
139
+
140
+ ## ECH-WP-09 Fremdtheme
141
+
142
+ ```css
143
+ [data-xtend-nav-theme="enterprise-foreign"] x-menu {
144
+ --xtend-nav-surface: #f7f4ee;
145
+ --xtend-nav-text: #19231f;
146
+ --xtend-nav-border-color: rgba(25, 35, 31, 0.24);
147
+ --xtend-nav-radius: 0.4rem;
148
+ --xtend-nav-gap: 0.35rem;
149
+ --xtend-nav-font-family: "Aptos", "Segoe UI", sans-serif;
150
+ --xtend-nav-font-size: 0.96rem;
151
+ --xtend-nav-active-surface: #173f35;
152
+ --xtend-nav-active-text: #fffaf0;
153
+ --xtend-nav-current-indicator: #b56b35;
154
+ --xtend-nav-hover-surface: rgba(181, 107, 53, 0.14);
155
+ --xtend-nav-focus-ring: 3px solid #b56b35;
156
+ --xtend-nav-disabled-opacity: 0.44;
157
+ }
158
+ ```