@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,308 @@
1
+ # xheader – XTend Komponente
2
+
3
+ > **Siehe auch:** [xfooter](./xfooter.md), [xtheme](./xtheme.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-header>` ist eine vielseitige, barrierearme Header-Komponente für Branding, Navigation und flexible Layouts. Sie unterstützt Logo, Titel, Search-, Actions-/Utility- und Navigationsslots, Theming, State-Integration und mehrere Menu Presentation Modes für Enterprise App-Shells.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Optionales Logo (src-Attribut)
13
+ - Slot-System für Titel, Suche, Actions, Legacy-Utility und Navigation
14
+ - Sticky-Header
15
+ - State-Integration via xstate
16
+ - Theming via CSS Custom Properties (voll themefähig)
17
+ - **Responsives Verhalten:** Header-Inhalte laufen über ein Slot-Grid. Suche und Actions umbrechen auf kleinen Displays kontrolliert, Navigation nutzt den konfigurierten Menu Presentation Mode.
18
+ - **Slot Alignment:** Brand, Actions und Menü-Trigger bleiben bei schmalen Viewports in einer festen Kopfzeile; Search liegt darunter und verhindert dadurch verschobene Action-Buttons.
19
+ - **Menu Presentation Modes:** `drawer`, `side-panel`, `popover`, `fullscreen` und `inline-main` decken Shell-, App- und Portal-Navigation ab.
20
+ - **Full-Width-Drawer:** Der Default `drawer` rendert weiterhin als fixed Overlay über die verfügbare Seitenbreite und verlängert den Dokument-Scrollbereich nicht.
21
+ - **Overflow-sichere Navigation:** Direkte `x-link`-Einträge und komplexe `[data-menu-shell]`-Menüs bleiben im Menü-Surface innerhalb ihrer Container.
22
+ - **Burger-Menü:** Animierter Button, Farbe per Theme steuerbar
23
+ - **Barrierefreiheit:** Landmark-Rollen, ARIA, Keyboard-Navigation, Fokus-Management
24
+ - **Events:** Menü geöffnet/geschlossen, Logo geladen
25
+
26
+ ---
27
+
28
+ ## Verwendung
29
+
30
+ ```html
31
+ <x-header src="logo.svg" logo-size="40">
32
+ <span slot="title">Meine App</span>
33
+ <x-form slot="search">...</x-form>
34
+ <button slot="actions">Theme</button>
35
+ <x-link slot="nav" href="/docs">Docs</x-link>
36
+ </x-header>
37
+ ```
38
+
39
+ **Hinweis:** `utility` bleibt als kompatibler Alias erhalten. Neue Apps sollten `search` für Suche und `actions` für Buttons, Toggle oder Status verwenden.
40
+
41
+ ---
42
+
43
+ ## Menu Presentation Modes
44
+
45
+ `menu-mode` steuert, wie die Navigation sichtbar wird. Ohne neues Attribut bleibt `drawer` aktiv und damit das bisherige Full-Width-Drawer-Verhalten kompatibel.
46
+
47
+ | Mode | Verhalten | A11y-Verhalten |
48
+ |------|-----------|----------------|
49
+ | `drawer` | Fixed Overlay unter dem Header, standardmäßig full-width | Navigation, Escape, Outside Click, Focus Return |
50
+ | `side-panel` | Seitliches Panel über `menu-placement="start"` oder `end` | optional modal per `menu-modal`, dann Focus Trap und Backdrop |
51
+ | `popover` | Kompaktes Menü nahe Trigger | nicht modal, Escape und Outside Click |
52
+ | `fullscreen` | Vollflächige Navigation | modal, Backdrop, Focus Trap, Escape und Focus Return |
53
+ | `inline-main` | Menü im Header-Dokumentfluss | keine Overlay-Falle, sauberer Navigation-Landmark |
54
+
55
+ ```html
56
+ <x-header
57
+ menu-mode="side-panel"
58
+ menu-placement="end"
59
+ menu-modal
60
+ menu-width="min(32rem, 92vw)"
61
+ menu-max-height="calc(100dvh - 2rem)"
62
+ menu-align="stretch">
63
+ <span slot="title">Enterprise Shell</span>
64
+ <x-link slot="nav" href="/workbench">Workbench</x-link>
65
+ </x-header>
66
+ ```
67
+
68
+ `menu-open` kann deklarativ gesetzt werden. Programmatisch bleibt `toggleMenu(true | false, { source })` die stabile API. `snapshot()` liefert `menuMode`, `menuPlacement`, `menuModal`, `menuBreakpoint`, `menuWidth`, `menuMaxHeight` und `menuAlign`; `drawerMode: 'fixed-full-width-overlay'` bleibt als Legacy-Alias erhalten.
69
+
70
+ ---
71
+
72
+ ## Responsive Slot-Logik
73
+ - Desktop: Brand, Search, Actions und Menübutton stehen in einer stabilen Grid-Zeile.
74
+ - Tablet: Search belegt eine eigene Grid-Zeile, damit Eingabefelder nicht mit Actions clippen.
75
+ - Mobile: Brand, Actions und Menübutton bleiben in der ersten Zeile. Search belegt die zweite Zeile. Navigation nutzt den konfigurierten Menu Presentation Mode.
76
+ - Der Drawer wird als `fixed` Overlay positioniert. Dadurch bleibt die App-Shell stabil, und Route-Wechsel von geöffneter Navigation auf kurze Seiten erzeugen keine zusätzliche Dokumenthöhe.
77
+ - Slotted Navigation nutzt `max-width: 100%`, `min-width: 0`, `box-sizing: border-box` und `overflow-wrap: anywhere`, damit lange Menüpunkte nicht aus App-Shell-Containern herausragen.
78
+ - `header-layout-changed` wird emittiert, wenn der Header in den kompakten Zustand wechselt.
79
+
80
+ ## Slot Alignment
81
+
82
+ `x-header` nutzt standardmäßig das Alignment `fixed-responsive-slot-grid`.
83
+
84
+ | Viewport | Slot-Mapping |
85
+ |----------|--------------|
86
+ | Desktop | `brand search actions trigger` |
87
+ | Tablet | `brand actions trigger` + `search search search` |
88
+ | Mobile | `brand actions trigger` + `search search search` |
89
+
90
+ Corporate Designs können dieses Mapping über CSS Custom Properties überschreiben, ohne die Komponente zu forken:
91
+
92
+ ```css
93
+ x-header {
94
+ --header-slot-template-areas: "brand search actions trigger";
95
+ --header-tablet-slot-template-areas: "brand actions trigger" "search search search";
96
+ --header-mobile-slot-template-areas: "brand actions trigger" "search search search";
97
+ --header-mobile-actions-justify: flex-end;
98
+ --header-mobile-actions-wrap: nowrap;
99
+ }
100
+ ```
101
+
102
+ ---
103
+
104
+ ## Slots
105
+ | Name | Beschreibung |
106
+ |-----------|----------------------------------------------|
107
+ | `title` | Bereich für den Titel/Branding |
108
+ | `search` | Suchformular oder Filter-Eingabe |
109
+ | `actions` | Buttons, Theme Toggle, Status-Aktionen |
110
+ | `utility` | Kompatibler Alias für Actions |
111
+ | `nav` | Navigationseinträge (Links, Menüs) |
112
+ | `logo` | Optional: eigenes Logo-Element |
113
+
114
+ ---
115
+
116
+ ## Attribute
117
+ | Attribut | Typ | Beschreibung |
118
+ |---------------|---------|-------------------------------------|
119
+ | `src` | String | Logo-URL |
120
+ | `logo-size` | String | Größe des Logos (z.B. 40, 64px) |
121
+ | `sticky` | Boolean | Header bleibt oben fixiert |
122
+ | `shadow` | Boolean | Schatten aktivieren |
123
+ | `menu-mode` | `drawer`, `side-panel`, `popover`, `fullscreen`, `inline-main` | Menu Presentation Mode |
124
+ | `menu-placement` | `start`, `end`, `top`, `bottom` | bevorzugte Position |
125
+ | `menu-modal` | Boolean | Modalität mit Backdrop und Focus Trap |
126
+ | `menu-open` | Boolean | Menü deklarativ öffnen |
127
+ | `menu-breakpoint` | String | Preset (`sm`, `md`, `lg`, `xl`) oder CSS Length |
128
+ | `menu-width` | String | Breite für Panel/Popover |
129
+ | `menu-max-height` | String | Höhenbegrenzung des Menü-Surfaces |
130
+ | `menu-align` | `start`, `center`, `end`, `stretch` | Ausrichtung im Menü-Surface |
131
+
132
+ ---
133
+
134
+ ## Events
135
+ | Event | Beschreibung |
136
+ |---------------|-------------------------------------|
137
+ | `header-layout-changed` | Wird bei responsive Layoutwechseln ausgelöst |
138
+ | `menu-before-open` | Cancelable Event vor dem Öffnen |
139
+ | `menu-before-close` | Cancelable Event vor dem Schließen |
140
+ | `menu-opened` | Wird mit Snapshot ausgelöst, wenn Menü öffnet |
141
+ | `menu-closed` | Wird mit Snapshot ausgelöst, wenn Menü schließt |
142
+ | `menu-mode-changed` | Wird bei Wechsel von `menu-mode` ausgelöst |
143
+ | `menu-placement-changed` | Wird bei Wechsel von `menu-placement` ausgelöst |
144
+ | `logo-loaded` | Wird ausgelöst, wenn Logo geladen |
145
+
146
+ ---
147
+
148
+ ## API
149
+ - **Logo dynamisch setzen:** `element.setAttribute('src', 'logo.svg')`
150
+ - **Menü direkt steuern:** `header.toggleMenu(false, { source: 'router' })`
151
+ - **State-Integration:** Automatisch via xstate (`xheader-state-<id>`, z.B. Menü öffnen/schließen)
152
+ - **Menü programmatisch öffnen:**
153
+ ```js
154
+ xstate.set('xheader-state-<id>', { menuOpen: true });
155
+ ```
156
+
157
+ ---
158
+
159
+ ## Beispiel: Dynamisch per JS
160
+
161
+ ```js
162
+ const header = document.createElement('x-header');
163
+ header.setAttribute('src', 'logo.svg');
164
+ document.body.appendChild(header);
165
+ ```
166
+
167
+ ---
168
+
169
+ ## Styling & Theming
170
+
171
+ ```css
172
+ x-header {
173
+ --xtend-header-surface: #fff;
174
+ --xtend-header-text: #222;
175
+ --xtend-header-border-color: #d9dde5;
176
+ --xtend-header-menu-surface: #fff;
177
+ --xtend-header-menu-width: min(30rem, 92vw);
178
+ --xtend-header-menu-max-height: min(72dvh, 820px);
179
+ --xtend-header-menu-backdrop: rgba(15, 23, 42, 0.45);
180
+ --header-bg: var(--xtend-header-surface);
181
+ --header-fg: var(--xtend-header-text);
182
+ --header-title-color: #222; /* Titel im Light Mode */
183
+ --burger-color: #222; /* Burger-Button-Striche im Light Mode */
184
+ --header-menu-bg: var(--xtend-header-menu-surface);
185
+ --header-mobile-slot-template-areas: "brand actions trigger" "search search search";
186
+ --header-drawer-inline-offset: 1rem;
187
+ --header-drawer-content-max: none;
188
+ }
189
+ x-header[theme="dark"] {
190
+ --header-bg: #222;
191
+ --header-fg: #fff;
192
+ --header-title-color: #fff; /* Titel im Dark Mode */
193
+ --burger-color: #fff; /* Burger-Button-Striche im Dark Mode */
194
+ }
195
+ ```
196
+
197
+ ---
198
+
199
+ ## Accessibility
200
+ - Semantisches HTML, Landmark-Rollen (`role="banner"`)
201
+ - ARIA-Attribute für Menü, Burger-Button, Navigation
202
+ - Keyboard-Navigation (Tab, Escape)
203
+ - Fokus-Management im Overlay; `fullscreen` und `menu-modal` nutzen Focus Trap, Backdrop und Focus Return
204
+
205
+ ---
206
+
207
+ ## Changelog
208
+ - **18.07.2025:** Modernisierung, Theme-Variablen für Titel und Burger, Events, Accessibility, API, Doku aktualisiert
209
+ - **bis 07/2025:** Diverse Bugfixes, Responsive-Verbesserungen
210
+
211
+ ---
212
+
213
+ *Letzte Aktualisierung: 18. Juli 2025*
214
+
215
+ ## Layout Display Media UX Profil
216
+
217
+ `x-header` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente ist als Docs-/App-Shell-Header RMT-schedulbar und nutzt den State-Key `xheader-state-<id>`.
218
+
219
+ - Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
220
+ - Schedule: `component.visible.mount`
221
+ - Events: `header-ready`, `menu-before-open`, `menu-before-close`, `menu-opened`, `menu-closed`, `menu-mode-changed`, `menu-placement-changed`
222
+ - Snapshot: `snapshot()`
223
+ - CSS Parts: `root`, `brand`, `title`, `logo`, `search`, `actions`, `utility`, `trigger`, `trigger-icon`, `menu`, `menu-surface`, `menu-content`, `nav`, `backdrop`
224
+ - Legacy CSS Parts: `drawer` und `drawer-surface` bleiben als Alias für `menu` und `menu-surface` erhalten.
225
+
226
+ ## ECH-WP-07 Token-Tabelle und signatureDesign
227
+
228
+ `signatureDesign`: Praezise Enterprise App-Shell mit ruhiger Flaechenhierarchie, dichter Slot-Rhythmik, hochwertigem Menue-Surface und brand-neutraler Premium-Wirkung. Das Default-Design soll eigenstaendig wirken, ohne eine One-Brand-Optik zu erzwingen.
229
+
230
+ | Token | Zweck |
231
+ | --- | --- |
232
+ | `--xtend-layout-surface` | Shell- und Menueflaeche |
233
+ | `--xtend-layout-text` | Header-, Brand- und Navigationsfarbe |
234
+ | `--xtend-layout-border-color` | Header-, Trigger- und Menuekanten |
235
+ | `--xtend-layout-radius` | Header- und Menue-Radius |
236
+ | `--xtend-layout-elevation` | Header- und Menue-Schatten |
237
+ | `--xtend-layout-spacing` | Header-Padding |
238
+ | `--xtend-layout-gap` | Slot- und Menueabstand |
239
+ | `--xtend-layout-font-family` | Shell-Typografie |
240
+ | `--xtend-layout-font-size` | Brand-/Navigationstypografie |
241
+ | `--xtend-layout-media-radius` | Logo- und Medienradius |
242
+ | `--xtend-layout-focus-ring` | Tastaturfokus |
243
+ | `--xtend-layout-grid-min` | Slot-Grid-Untergrenze |
244
+ | `--xtend-layout-content-max` | Menuebreite und Content-Grenze |
245
+
246
+ ## ECH-WP-07 Fremdtheme
247
+
248
+ ```css
249
+ [data-xtend-layout-theme="enterprise-foreign"] x-header {
250
+ --xtend-layout-surface: #f6f2ea;
251
+ --xtend-layout-text: #17231f;
252
+ --xtend-layout-border-color: rgba(23, 35, 31, 0.22);
253
+ --xtend-layout-radius: 0.35rem;
254
+ --xtend-layout-elevation: 0 14px 34px rgba(23, 35, 31, 0.14);
255
+ --xtend-layout-spacing: 0.9rem;
256
+ --xtend-layout-gap: 0.7rem;
257
+ --xtend-layout-font-family: "Aptos", "Segoe UI", sans-serif;
258
+ --xtend-layout-font-size: 1rem;
259
+ --xtend-layout-media-radius: 0.2rem;
260
+ --xtend-layout-focus-ring: 3px solid #8f4f2a;
261
+ --xtend-layout-grid-min: minmax(0, 1fr);
262
+ --xtend-layout-content-max: 24rem;
263
+ }
264
+ ```
265
+
266
+ ## ECH-WP-09 Token-Tabelle und Navigation States
267
+
268
+ `signatureDesign`: `x-header` verbindet eine hochwertige Enterprise-App-Shell mit sichtbar stabiler Navigation. Active/Current/Selected, Hover, Focus und Disabled gelten fuer slotted `nav`-Eintraege in `drawer`, `side-panel`, `popover`, `fullscreen` und `inline-main`.
269
+
270
+ | Token | Zweck |
271
+ | --- | --- |
272
+ | `--xtend-nav-surface` | Menue- und Nav-Surface |
273
+ | `--xtend-nav-text` | Nav-Text |
274
+ | `--xtend-nav-border-color` | Menue- und Nav-Kante |
275
+ | `--xtend-nav-radius` | Nav-Radius |
276
+ | `--xtend-nav-gap` | Abstand im Menue |
277
+ | `--xtend-nav-font-family` | Navigationstypografie |
278
+ | `--xtend-nav-font-size` | Navigationstextgroesse |
279
+ | `--xtend-nav-active-surface` | Active/Current/Selected Flaeche |
280
+ | `--xtend-nav-active-text` | Active/Current/Selected Text |
281
+ | `--xtend-nav-current-indicator` | nicht farb-only Current-Indikator |
282
+ | `--xtend-nav-hover-surface` | Hover-Flaeche |
283
+ | `--xtend-nav-focus-ring` | Tastaturfokus |
284
+ | `--xtend-nav-disabled-opacity` | Disabled-Dimmung |
285
+
286
+ ## ECH-WP-09 Keyboard-Verhalten
287
+
288
+ Der Menue-Trigger ist ein Icon Control mit `part="trigger-icon control icon"`. Overlay-Modi unterstuetzen Escape, Outside Click, Focus Return und bei `menu-modal` Focus Trap. Slotted Navigation kann `aria-current="page"`, `aria-selected="true"`, `active`, `disabled` oder `aria-disabled="true"` tragen. Verschachtelte Navigation muss Disclosure Icons als Icon Controls, z.B. `part="disclosure-icon control icon"`, auszeichnen.
289
+
290
+ ## ECH-WP-09 Fremdtheme
291
+
292
+ ```css
293
+ [data-xtend-nav-theme="enterprise-foreign"] x-header {
294
+ --xtend-nav-surface: #f7f4ee;
295
+ --xtend-nav-text: #17231f;
296
+ --xtend-nav-border-color: rgba(23, 35, 31, 0.22);
297
+ --xtend-nav-radius: 0.35rem;
298
+ --xtend-nav-gap: 0.45rem;
299
+ --xtend-nav-font-family: "Aptos", "Segoe UI", sans-serif;
300
+ --xtend-nav-font-size: 0.98rem;
301
+ --xtend-nav-active-surface: #173f35;
302
+ --xtend-nav-active-text: #fffaf0;
303
+ --xtend-nav-current-indicator: #b56b35;
304
+ --xtend-nav-hover-surface: rgba(181, 107, 53, 0.14);
305
+ --xtend-nav-focus-ring: 3px solid #b56b35;
306
+ --xtend-nav-disabled-opacity: 0.44;
307
+ }
308
+ ```
@@ -0,0 +1,142 @@
1
+ # xhero – XTend Komponente
2
+
3
+ > **Siehe auch:** [xsection](./xsection.md), [xbutton](./xbutton.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-hero>` ist eine flexible Hero-Komponente für aufmerksamkeitsstarke Headerbereiche, Landingpages und Einstiege. Sie unterstützt Slots für Titel, Untertitel, Aktionen und Medien.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Flexibles Layout für Hero-Bereiche
13
+ - Slots für Titel, Text, Aktionen, Medien
14
+ - Theming via CSS Custom Properties
15
+ - Theme-Varianten über `background-light`, `background-dark`, `font-color-light`, `font-color-dark`, `overlay-light` und `overlay-dark`
16
+ - Responsive Design
17
+
18
+ ---
19
+
20
+ ## Verwendung
21
+
22
+ ```html
23
+ <x-hero>
24
+ <h1 slot="title">Willkommen!</h1>
25
+ <p slot="subtitle">XTend macht Webentwicklung einfach.</p>
26
+ <x-button slot="action">Loslegen</x-button>
27
+ </x-hero>
28
+ ```
29
+
30
+ ---
31
+
32
+ ## Attribute
33
+ | Attribut | Typ | Beschreibung |
34
+ |----------|-----|--------------|
35
+ | `background` | String | Fester Hintergrund oder CSS-Variable |
36
+ | `background-light` | String | Hintergrund für helle Themes |
37
+ | `background-dark` | String | Hintergrund für dunkle Themes |
38
+ | `background-image` | String | Bildhintergrund |
39
+ | `overlay` | Boolean | Aktiviert Overlay-Fläche |
40
+ | `overlay-light` | String | Overlay-Farbe für helle Themes |
41
+ | `overlay-dark` | String | Overlay-Farbe für dunkle Themes |
42
+ | `font-color` | String | Feste Textfarbe |
43
+ | `font-color-light` | String | Textfarbe für helle Themes |
44
+ | `font-color-dark` | String | Textfarbe für dunkle Themes |
45
+ | `animate` | Boolean | Aktiviert Einstiegstransition mit Reduced-Motion-Fallback |
46
+
47
+ ---
48
+
49
+ ## Events
50
+ | Event | Beschreibung |
51
+ |---------------|-------------------------------------|
52
+ | – | – |
53
+
54
+ ---
55
+
56
+ ## API
57
+ - **Inhalte per Slot einfügen**
58
+ - **State-Integration:** Optional via xstate
59
+
60
+ ---
61
+
62
+ ## Beispiel: Dynamisch per JS
63
+
64
+ ```js
65
+ const hero = document.createElement('x-hero');
66
+ hero.innerHTML = '<h1 slot="title">Hallo XTend!</h1>';
67
+ document.body.appendChild(hero);
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Styling & Theming
73
+
74
+ ```css
75
+ x-hero {
76
+ --hero-bg: #f5f5f5;
77
+ --hero-color: #222;
78
+ }
79
+ ```
80
+
81
+ ## Viewport-Sicherheit
82
+
83
+ `x-hero` begrenzt Host, Root und Content auf `max-width: 100%` und nutzt auf schmalen Viewports keine innere `100vw`-Breite. Dadurch bleibt die Komponente auch in gepaddeten App-Shells oder Docs-Layouts innerhalb des sichtbaren Viewports.
84
+
85
+ ---
86
+
87
+ ## Accessibility
88
+ - Semantisches HTML, ARIA
89
+
90
+ ---
91
+
92
+ *Letzte Aktualisierung: 16. Juli 2025*
93
+
94
+ ## Layout Display Media UX Profil
95
+
96
+ `x-hero` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente bleibt Hero-/Display-Shell und kann in RMT mit `component.shell.render` zuerst gerendert werden. Der State-Key lautet `xhero-state-<id>`.
97
+
98
+ - Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
99
+ - Schedule: `component.shell.render`
100
+ - Events: `hero-rendered`, `hero-animated`
101
+ - Snapshot: `snapshot()`
102
+ - CSS Parts: `root`, `overlay`, `content`, `scroll-button`
103
+
104
+ ## ECH-WP-07 Token-Tabelle und signatureDesign
105
+
106
+ `signatureDesign`: Immersive Enterprise-Hero-Komposition mit editorialer Tiefe, medienfaehigem Surface und tokenisiertem Content-Block. Die Standardwirkung soll elegant und eigenstaendig sein, aber Bild-, App- und Corporate-Inszenierungen zulassen.
107
+
108
+ | Token | Zweck |
109
+ | --- | --- |
110
+ | `--xtend-layout-surface` | Hero- und Content-Flaeche |
111
+ | `--xtend-layout-text` | Hero-Textfarbe |
112
+ | `--xtend-layout-border-color` | Scroll-Control-Kante |
113
+ | `--xtend-layout-radius` | Hero-, Content- und Titelradius |
114
+ | `--xtend-layout-elevation` | Hero-, Content- und Titel-Schatten |
115
+ | `--xtend-layout-spacing` | Hero- und Content-Padding |
116
+ | `--xtend-layout-gap` | Kompositionsabstand fuer Theme-Autoren |
117
+ | `--xtend-layout-font-family` | Hero-Typografie |
118
+ | `--xtend-layout-font-size` | Control- und Content-Skalierung |
119
+ | `--xtend-layout-media-radius` | Bild-/Hero-Radius |
120
+ | `--xtend-layout-focus-ring` | Scroll-Control-Fokus |
121
+ | `--xtend-layout-grid-min` | Responsive Kompositionsbasis |
122
+ | `--xtend-layout-content-max` | Content-Breite |
123
+
124
+ ## ECH-WP-07 Fremdtheme
125
+
126
+ ```css
127
+ [data-xtend-layout-theme="enterprise-foreign"] x-hero {
128
+ --xtend-layout-surface: rgba(248, 244, 239, 0.88);
129
+ --xtend-layout-text: #15231d;
130
+ --xtend-layout-border-color: rgba(21, 35, 29, 0.22);
131
+ --xtend-layout-radius: 0.45rem;
132
+ --xtend-layout-elevation: 0 20px 60px rgba(21, 35, 29, 0.16);
133
+ --xtend-layout-spacing: 4rem 2rem;
134
+ --xtend-layout-gap: 1rem;
135
+ --xtend-layout-font-family: "Aptos Display", "Segoe UI", sans-serif;
136
+ --xtend-layout-font-size: 1.05rem;
137
+ --xtend-layout-media-radius: 0.65rem;
138
+ --xtend-layout-focus-ring: 3px solid #8f4f2a;
139
+ --xtend-layout-grid-min: minmax(0, 1fr);
140
+ --xtend-layout-content-max: 42rem;
141
+ }
142
+ ```
@@ -0,0 +1,125 @@
1
+ # xicon – XTend Komponente
2
+
3
+ > **Siehe auch:** [xbutton](./xbutton.md), [xtheme](./xtheme.md), [xrouter](./xrouter.md)
4
+
5
+ ## Uebersicht
6
+
7
+ `<x-icon>` ist der universelle Ikonographie-Adapter fuer XTend Apps. Die Komponente rendert lokale Inline-SVG-Icons, registrierte Icon-Packs oder kontrollierte URL-Quellen und bleibt dabei framework-agnostisch, RMT-kompatibel und CDN-frei.
8
+
9
+ Das mitgelieferte `core` Pack deckt die wichtigsten XTend-UI-Symbole ab. Der lokale `lucide` Adapter dient als groesseres Superset, wird aus lokalen ESM-Artefakten geladen und vermeidet externe CDN-Abhaengigkeiten, FCP-Bremsen und Datenschutzprobleme.
10
+
11
+ ## Features
12
+
13
+ - lokales `core` Icon-Pack mit Basis-Icons fuer Shell, Docs, Status und Navigation
14
+ - lokaler `lucide` IconPack Adapter als Superset ohne Remote Runtime Import
15
+ - globale Registry `window.XTend.icons` fuer Custom Icon Packs und Corporate-Design-Sets
16
+ - direkte Quellen ueber `src` fuer SVG-Dateien aus Repo, App-Bundle oder CDN-Policies des Hosts
17
+ - rohe SVG-Pack-Eintraege werden vor dem Rendern auf erlaubte Knoten und Attribute reduziert
18
+ - A11y-Modus fuer dekorative und semantische Icons
19
+ - State-Integration ueber `xicon-state-<id>`
20
+ - RMT Shell Authoring ueber `xtend.rmt.component-contract.v1`
21
+ - Performance-Profil `xtend.performance.component-profile.v1` mit `display-micro` Budget
22
+
23
+ ## Verwendung
24
+
25
+ ```html
26
+ <x-icon name="search" label="Suche"></x-icon>
27
+ <x-icon name="gauge" pack="lucide" size="1.25rem" label="Performance"></x-icon>
28
+ <x-icon src="/assets/icons/company.svg" label="Corporate Icon"></x-icon>
29
+ <x-icon name="chevron-right" decorative></x-icon>
30
+ ```
31
+
32
+ ## Attribute
33
+
34
+ | Attribut | Typ | Beschreibung |
35
+ |----------|-----|--------------|
36
+ | `name` | String | Icon-Name oder Alias aus der Registry |
37
+ | `pack` | String | optionales Icon-Pack, z.B. `core` oder `lucide` |
38
+ | `src` | String | kontrollierte URL-Quelle fuer ein Icon aus Repo, App-Bundle oder Host-Policy |
39
+ | `label` | String | zugänglicher Name fuer Screenreader |
40
+ | `size` | String | CSS-Groesse, z.B. `1em`, `20px`, `1.25rem` |
41
+ | `stroke-width` | String | Strichstaerke fuer Inline-SVG-Pfade |
42
+ | `color` | String | CSS-Farbwert; Standard ist `currentColor` |
43
+ | `decorative` | Boolean | setzt `aria-hidden` und entfernt semantische Bildrolle |
44
+
45
+ ## Events
46
+
47
+ | Event | Beschreibung |
48
+ |-------|--------------|
49
+ | `icon-ready` | Icon wurde aus Pack oder `src` aufgeloest |
50
+ | `icon-missing` | Registry konnte `name`/`pack` nicht aufloesen |
51
+ | `icon-pack-registered` | ein Pack wurde in der globalen Registry registriert |
52
+
53
+ ## API
54
+
55
+ | Methode | Zweck |
56
+ |---------|-------|
57
+ | `setIcon(name, options?)` | setzt Icon, Pack, Label oder `src` programmatisch |
58
+ | `registerPack(pack, options?)` | registriert ein Pack ueber die Komponente |
59
+ | `snapshot()` | liefert `xtend.component.x-icon.state.v1` inklusive Registry-Snapshot |
60
+ | `window.XTend.icons.register(pack, options?)` | globale Pack-Registrierung |
61
+ | `window.XTend.icons.resolve(name, options?)` | globale Aufloesung ohne Rendering |
62
+ | `window.XTend.icons.snapshot()` | Registry-Snapshot fuer Diagnostics |
63
+
64
+ ## Custom Icon Packs
65
+
66
+ ```js
67
+ window.XTend.icons.register({
68
+ id: 'brand',
69
+ label: 'Corporate Design Icons',
70
+ cdnAllowed: false,
71
+ icons: {
72
+ product: {
73
+ aliases: ['logo-mark'],
74
+ nodes: [
75
+ { tag: 'path', attrs: { d: 'M12 3 21 8v8l-9 5-9-5V8Z' } }
76
+ ]
77
+ }
78
+ }
79
+ });
80
+ ```
81
+
82
+ Packs koennen eigene SVG-Node-Descriptoren, einzelne Path-Strings, inline SVG-Records oder URL-Records enthalten. Remote-Quellen sind nicht Default von XTend; sie muessen bewusst vom Host als `src` oder Pack-URL bereitgestellt werden.
83
+
84
+ ## ECH-WP-04 Control-Regel
85
+
86
+ Keine Textglyphen als Controls: Close-, Menu-, Disclosure-, Status- und Action-Controls duerfen nicht ueber sichtbare Zeichen wie `x`, `&times;`, Pfeile oder Emoji gestaltet werden. Verwende `x-icon`, Inline-SVG oder eine tokenisierte CSS-Grafik.
87
+
88
+ Pflicht fuer Icon-Controls:
89
+
90
+ - Der Button hat einen zugaenglichen Namen, z.B. `aria-label`.
91
+ - Der Button exponiert einen stabilen Control-Part, z.B. `part="close control"`.
92
+ - Die Grafik exponiert einen Icon-Part, z.B. `part="control icon"` oder `part="close-icon control icon"`.
93
+ - Das Core-Pack enthaelt fuer Framework-Controls mindestens `close`, `menu`, `chevron-left`, `chevron-right`, `chevron-up`, `chevron-down`, `success`, `warning`, `error` und `info`.
94
+ - Eigene Icon Packs muessen lokale SVG-Node-Descriptoren oder sichere `src`-Quellen verwenden; CDN-Abhaengigkeiten sind keine XTend-Default-Basis.
95
+
96
+ ## RMT und Fabric
97
+
98
+ `x-icon` deklariert `xtendRmtMetadata` mit `adapter: 'xtend.component'`, `templateMode: 'dom_descriptor'`, `shellAuthoring.attributes` und der Boundary `no-rmt-kernel-import-of-xtend-types`. RMT kann Icons dadurch in App Shells, Navigationen, Buttons oder Docs-Templates authoren, ohne den XTend-Kernel oder einen Icon-Vendor zu importieren.
99
+
100
+ Fabric konsumiert:
101
+
102
+ - `icon-ready`
103
+ - `icon-missing`
104
+ - `icon-pack-registered`
105
+ - State-Key `xicon-state-<id>`
106
+ - `snapshot()`
107
+
108
+ ## Styling & Theming
109
+
110
+ ```css
111
+ x-icon {
112
+ --xtend-icon-size: 1rem;
113
+ --xtend-icon-color: currentColor;
114
+ --xtend-icon-stroke-width: 2;
115
+ }
116
+ ```
117
+
118
+ Das Icon folgt `currentColor` und integriert sich dadurch in `x-theme`, `x-header`, `x-button`, `x-menu` und eigene Corporate-Design-Tokens. Im Forced-Colors-Modus bleibt die Komponente ueber Systemfarben lesbar.
119
+
120
+ ## Accessibility
121
+
122
+ - mit `label` rendert der Host `role="img"` und `aria-label`
123
+ - ohne Label oder mit `decorative` rendert die Komponente `aria-hidden`
124
+ - URL-Icons erhalten ein leeres `alt`, wenn sie dekorativ sind
125
+ - `icon-missing` ist als diagnostisches Event verfuegbar, ohne Screenreader mit Fehlersignalen zu belasten