@ccslabs/xtend 0.1.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/LICENSE +201 -0
  3. package/README.md +184 -0
  4. package/a11y/motion-contrast-policy.d.ts +32 -0
  5. package/a11y/motion-contrast-policy.js +261 -0
  6. package/a11y/runtime-a11y-contract.d.ts +44 -0
  7. package/a11y/runtime-a11y-contract.js +385 -0
  8. package/a11y/screenreader-signals.d.ts +32 -0
  9. package/a11y/screenreader-signals.js +372 -0
  10. package/api.d.ts +168 -0
  11. package/api.js +864 -0
  12. package/catalog/catalog-public-types.d.ts +66 -0
  13. package/catalog/component-catalog-coverage.d.ts +20 -0
  14. package/catalog/component-catalog-coverage.js +377 -0
  15. package/catalog/component-long-tail-migration.d.ts +18 -0
  16. package/catalog/component-long-tail-migration.js +305 -0
  17. package/catalog/component-regression-priority.d.ts +20 -0
  18. package/catalog/component-regression-priority.js +305 -0
  19. package/catalog/enterprise-component-flex-release-handoff.d.ts +32 -0
  20. package/catalog/enterprise-component-flex-release-handoff.js +437 -0
  21. package/catalog/enterprise-component-style-audit.d.ts +22 -0
  22. package/catalog/enterprise-component-style-audit.js +353 -0
  23. package/catalog/enterprise-form-control-theme-a11y.d.ts +19 -0
  24. package/catalog/enterprise-form-control-theme-a11y.js +220 -0
  25. package/catalog/enterprise-icon-control-audit.d.ts +21 -0
  26. package/catalog/enterprise-icon-control-audit.js +258 -0
  27. package/catalog/enterprise-layout-display-media-tokenization.d.ts +20 -0
  28. package/catalog/enterprise-layout-display-media-tokenization.js +237 -0
  29. package/catalog/enterprise-navigation-routing-state-hardening.d.ts +20 -0
  30. package/catalog/enterprise-navigation-routing-state-hardening.js +255 -0
  31. package/catalog/enterprise-overlay-mode-token-parity.d.ts +15 -0
  32. package/catalog/enterprise-overlay-mode-token-parity.js +178 -0
  33. package/catalog/enterprise-third-party-authoring-guide.d.ts +23 -0
  34. package/catalog/enterprise-third-party-authoring-guide.js +310 -0
  35. package/catalog/enterprise-visual-dom-snapshot-matrix.d.ts +31 -0
  36. package/catalog/enterprise-visual-dom-snapshot-matrix.js +357 -0
  37. package/catalog/epic10-existing-component-metadata.d.ts +25 -0
  38. package/catalog/epic10-existing-component-metadata.js +534 -0
  39. package/catalog/epic10-p0-component-wave.d.ts +28 -0
  40. package/catalog/epic10-p0-component-wave.js +688 -0
  41. package/catalog/epic10-platform-gates.d.ts +31 -0
  42. package/catalog/epic10-platform-gates.js +425 -0
  43. package/catalog/epic10-release-handoff.d.ts +30 -0
  44. package/catalog/epic10-release-handoff.js +195 -0
  45. package/catalog/epic11-enterprise-ux-handoff.d.ts +29 -0
  46. package/catalog/epic11-enterprise-ux-handoff.js +403 -0
  47. package/catalog/epic12-docs-adoption.d.ts +29 -0
  48. package/catalog/epic12-docs-adoption.js +183 -0
  49. package/catalog/epic12-rc0-gate-matrix.d.ts +36 -0
  50. package/catalog/epic12-rc0-gate-matrix.js +439 -0
  51. package/catalog/epic12-rc0-handoff.d.ts +30 -0
  52. package/catalog/epic12-rc0-handoff.js +385 -0
  53. package/catalog/epic13-conditional-network-evidence-ci.d.ts +35 -0
  54. package/catalog/epic13-conditional-network-evidence-ci.js +278 -0
  55. package/catalog/epic13-conditional-network-evidence.d.ts +34 -0
  56. package/catalog/epic13-conditional-network-evidence.js +280 -0
  57. package/catalog/epic13-docs-rmt-production-hardening.d.ts +39 -0
  58. package/catalog/epic13-docs-rmt-production-hardening.js +286 -0
  59. package/catalog/epic13-hydration-performance-closure.d.ts +33 -0
  60. package/catalog/epic13-hydration-performance-closure.js +234 -0
  61. package/catalog/epic13-known-residual-triage.d.ts +32 -0
  62. package/catalog/epic13-known-residual-triage.js +339 -0
  63. package/catalog/epic13-package-export-lock.d.ts +41 -0
  64. package/catalog/epic13-package-export-lock.js +604 -0
  65. package/catalog/epic13-prod-browser-csp-smoke.d.ts +35 -0
  66. package/catalog/epic13-prod-browser-csp-smoke.js +218 -0
  67. package/catalog/epic13-rc1-gate-matrix-ci-handoff.d.ts +36 -0
  68. package/catalog/epic13-rc1-gate-matrix-ci-handoff.js +418 -0
  69. package/catalog/epic13-rc1-migration-notes.d.ts +36 -0
  70. package/catalog/epic13-rc1-migration-notes.js +271 -0
  71. package/catalog/epic13-rc1-readiness.d.ts +33 -0
  72. package/catalog/epic13-rc1-readiness.js +487 -0
  73. package/catalog/epic13-release-owner-acceptance.d.ts +33 -0
  74. package/catalog/epic13-release-owner-acceptance.js +354 -0
  75. package/catalog/epic13-release-report-pack-dry-run-evidence.d.ts +36 -0
  76. package/catalog/epic13-release-report-pack-dry-run-evidence.js +253 -0
  77. package/catalog/epic13-rmt-production-readiness.d.ts +35 -0
  78. package/catalog/epic13-rmt-production-readiness.js +314 -0
  79. package/catalog/epic13-trusted-dom-boundary.d.ts +36 -0
  80. package/catalog/epic13-trusted-dom-boundary.js +230 -0
  81. package/catalog/epic13-visual-owner-artifact.d.ts +35 -0
  82. package/catalog/epic13-visual-owner-artifact.js +233 -0
  83. package/catalog/epic14-lsp-handoff.d.ts +28 -0
  84. package/catalog/epic14-lsp-handoff.js +312 -0
  85. package/catalog/epic14-rmt-tooling.d.ts +33 -0
  86. package/catalog/epic14-rmt-tooling.js +282 -0
  87. package/catalog/surface-manager-adapter-runtime.d.ts +37 -0
  88. package/catalog/surface-manager-adapter-runtime.js +203 -0
  89. package/catalog/surface-manager-browser-lab.d.ts +39 -0
  90. package/catalog/surface-manager-browser-lab.js +225 -0
  91. package/catalog/surface-manager-controller.d.ts +43 -0
  92. package/catalog/surface-manager-controller.js +290 -0
  93. package/catalog/surface-manager-layout-engines.d.ts +32 -0
  94. package/catalog/surface-manager-layout-engines.js +161 -0
  95. package/catalog/surface-manager-lazy-loading.d.ts +35 -0
  96. package/catalog/surface-manager-lazy-loading.js +173 -0
  97. package/catalog/surface-manager-materialization.d.ts +37 -0
  98. package/catalog/surface-manager-materialization.js +202 -0
  99. package/catalog/surface-manager-native-rmt-surfaces.d.ts +48 -0
  100. package/catalog/surface-manager-native-rmt-surfaces.js +325 -0
  101. package/catalog/surface-manager-overlay-bridge.d.ts +42 -0
  102. package/catalog/surface-manager-overlay-bridge.js +247 -0
  103. package/catalog/surface-manager-persistence.d.ts +37 -0
  104. package/catalog/surface-manager-persistence.js +178 -0
  105. package/catalog/surface-manager-quality-gates.d.ts +48 -0
  106. package/catalog/surface-manager-quality-gates.js +324 -0
  107. package/catalog/surface-manager-release-handoff.d.ts +47 -0
  108. package/catalog/surface-manager-release-handoff.js +274 -0
  109. package/catalog/surface-manager-remote-policy.d.ts +34 -0
  110. package/catalog/surface-manager-remote-policy.js +199 -0
  111. package/catalog/surface-manager-rmt-authoring.d.ts +44 -0
  112. package/catalog/surface-manager-rmt-authoring.js +368 -0
  113. package/catalog/surface-manager-route-lifecycle.d.ts +32 -0
  114. package/catalog/surface-manager-route-lifecycle.js +162 -0
  115. package/catalog/surface-manager-runtime-release-handoff.d.ts +36 -0
  116. package/catalog/surface-manager-runtime-release-handoff.js +245 -0
  117. package/catalog/surface-manager-side-panel-runtime.d.ts +46 -0
  118. package/catalog/surface-manager-side-panel-runtime.js +307 -0
  119. package/catalog/surface-manager-stack-policy.d.ts +32 -0
  120. package/catalog/surface-manager-stack-policy.js +169 -0
  121. package/catalog/surface-manager-window-runtime.d.ts +45 -0
  122. package/catalog/surface-manager-window-runtime.js +285 -0
  123. package/catalog/surface-manager-workbench-fixture.d.ts +50 -0
  124. package/catalog/surface-manager-workbench-fixture.js +315 -0
  125. package/catalog/type-exports-api.js +236 -0
  126. package/catalog/type-exports-builder.js +405 -0
  127. package/catalog/type-exports-catalog.js +394 -0
  128. package/catalog/type-exports-loader.js +266 -0
  129. package/catalog/type-exports-policy.js +461 -0
  130. package/catalog/type-exports-rmt.js +407 -0
  131. package/catalog/type-exports-vendor.js +365 -0
  132. package/catalog/type-exports.js +574 -0
  133. package/components/icon-packs/core.js +154 -0
  134. package/components/icon-packs/lucide.js +136 -0
  135. package/components/manifest.json +44 -0
  136. package/components/prism.d.ts +73 -0
  137. package/components/prism.js +300 -0
  138. package/components/turndown.d.ts +34 -0
  139. package/components/turndown.js +107 -0
  140. package/components/x-rmt-lifecycle-demo-build.d.ts +78 -0
  141. package/components/x-rmt-lifecycle-demo-build.js +1175 -0
  142. package/components/x-rmt-lifecycle-demo.d.ts +83 -0
  143. package/components/x-rmt-lifecycle-demo.js +1175 -0
  144. package/components/xalert.d.ts +42 -0
  145. package/components/xalert.js +538 -0
  146. package/components/xbutton.d.ts +127 -0
  147. package/components/xbutton.js +612 -0
  148. package/components/xcalendar.d.ts +39 -0
  149. package/components/xcalendar.js +338 -0
  150. package/components/xcards.d.ts +34 -0
  151. package/components/xcards.js +253 -0
  152. package/components/xcheckbox.d.ts +48 -0
  153. package/components/xcheckbox.js +448 -0
  154. package/components/xcode.d.ts +35 -0
  155. package/components/xcode.js +370 -0
  156. package/components/xdialog.d.ts +48 -0
  157. package/components/xdialog.js +763 -0
  158. package/components/xdrawer.d.ts +61 -0
  159. package/components/xdrawer.js +654 -0
  160. package/components/xfooter.d.ts +41 -0
  161. package/components/xfooter.js +351 -0
  162. package/components/xform.d.ts +43 -0
  163. package/components/xform.js +456 -0
  164. package/components/xheader.d.ts +68 -0
  165. package/components/xheader.js +1253 -0
  166. package/components/xhero.d.ts +42 -0
  167. package/components/xhero.js +475 -0
  168. package/components/xicon.d.ts +146 -0
  169. package/components/xicon.js +688 -0
  170. package/components/xinput.d.ts +37 -0
  171. package/components/xinput.js +444 -0
  172. package/components/xlightbox.d.ts +48 -0
  173. package/components/xlightbox.js +571 -0
  174. package/components/xlink.d.ts +63 -0
  175. package/components/xlink.js +565 -0
  176. package/components/xmasonry.d.ts +35 -0
  177. package/components/xmasonry.js +666 -0
  178. package/components/xmenu.d.ts +118 -0
  179. package/components/xmenu.js +1005 -0
  180. package/components/xmodal.d.ts +64 -0
  181. package/components/xmodal.js +831 -0
  182. package/components/xplayer.d.ts +57 -0
  183. package/components/xplayer.js +1748 -0
  184. package/components/xpopover.d.ts +54 -0
  185. package/components/xpopover.js +466 -0
  186. package/components/xprogress.d.ts +40 -0
  187. package/components/xprogress.js +345 -0
  188. package/components/xradio.d.ts +50 -0
  189. package/components/xradio.js +474 -0
  190. package/components/xrouter.d.ts +244 -0
  191. package/components/xrouter.js +1841 -0
  192. package/components/xsection.d.ts +34 -0
  193. package/components/xsection.js +253 -0
  194. package/components/xselect.d.ts +46 -0
  195. package/components/xselect.js +463 -0
  196. package/components/xsidepanel.d.ts +56 -0
  197. package/components/xsidepanel.js +728 -0
  198. package/components/xspinner.d.ts +38 -0
  199. package/components/xspinner.js +388 -0
  200. package/components/xstate.d.ts +137 -0
  201. package/components/xstate.js +493 -0
  202. package/components/xstatus.d.ts +41 -0
  203. package/components/xstatus.js +381 -0
  204. package/components/xsummary.d.ts +43 -0
  205. package/components/xsummary.js +293 -0
  206. package/components/xsurfacemanager-controller.d.ts +130 -0
  207. package/components/xsurfacemanager-controller.js +699 -0
  208. package/components/xsurfacemanager.d.ts +452 -0
  209. package/components/xsurfacemanager.js +3775 -0
  210. package/components/xsurfaceoverlay-bridge.d.ts +43 -0
  211. package/components/xsurfaceoverlay-bridge.js +238 -0
  212. package/components/xsurfacewindow.d.ts +50 -0
  213. package/components/xsurfacewindow.js +576 -0
  214. package/components/xtabs.d.ts +73 -0
  215. package/components/xtabs.js +611 -0
  216. package/components/xtend-public-types.d.ts +208 -0
  217. package/components/xtextarea.d.ts +46 -0
  218. package/components/xtextarea.js +451 -0
  219. package/components/xtheme.d.ts +253 -0
  220. package/components/xtheme.js +1438 -0
  221. package/components/xtoast.d.ts +39 -0
  222. package/components/xtoast.js +389 -0
  223. package/components/xtooltip.d.ts +53 -0
  224. package/components/xtooltip.js +432 -0
  225. package/components/xtype.d.ts +42 -0
  226. package/components/xtype.js +244 -0
  227. package/components/xutils.d.ts +164 -0
  228. package/components/xutils.js +496 -0
  229. package/components/xwriter.d.ts +67 -0
  230. package/components/xwriter.js +854 -0
  231. package/design-tokens/themes/enterprise-light.json +40 -0
  232. package/design-tokens/themes/xtend-signature.json +126 -0
  233. package/design-tokens/xtend-design-tokens.d.ts +95 -0
  234. package/design-tokens/xtend-design-tokens.js +395 -0
  235. package/design-tokens/xtheme-token-alias-layer.d.ts +84 -0
  236. package/design-tokens/xtheme-token-alias-layer.js +423 -0
  237. package/docs/.htaccess +51 -0
  238. package/docs/README.md +340 -0
  239. package/docs/XTend-ADR.md +221 -0
  240. package/docs/a11y-keyboard-smokes.md +62 -0
  241. package/docs/about.md +18 -0
  242. package/docs/api.md +157 -0
  243. package/docs/best-practices.md +76 -0
  244. package/docs/component-catalog-coverage.md +58 -0
  245. package/docs/component-lab.md +103 -0
  246. package/docs/component-long-tail-migration.md +41 -0
  247. package/docs/component-platform.md +159 -0
  248. package/docs/component-ux-app-authoring.md +130 -0
  249. package/docs/component-ux-authoring.md +96 -0
  250. package/docs/component-ux-gates.md +45 -0
  251. package/docs/components/x-rmt-lifecycle-demo-build.md +60 -0
  252. package/docs/components/xalert.md +81 -0
  253. package/docs/components/xbutton.md +103 -0
  254. package/docs/components/xcalendar.md +82 -0
  255. package/docs/components/xcards.md +128 -0
  256. package/docs/components/xcheckbox.md +102 -0
  257. package/docs/components/xcode.md +126 -0
  258. package/docs/components/xdialog.md +92 -0
  259. package/docs/components/xdrawer.md +84 -0
  260. package/docs/components/xfooter.md +126 -0
  261. package/docs/components/xform.md +128 -0
  262. package/docs/components/xheader.md +308 -0
  263. package/docs/components/xhero.md +142 -0
  264. package/docs/components/xicon.md +125 -0
  265. package/docs/components/xinput.md +129 -0
  266. package/docs/components/xlightbox.md +98 -0
  267. package/docs/components/xlink.md +109 -0
  268. package/docs/components/xmasonry.md +124 -0
  269. package/docs/components/xmenu.md +158 -0
  270. package/docs/components/xmodal.md +82 -0
  271. package/docs/components/xplayer.md +104 -0
  272. package/docs/components/xpopover.md +67 -0
  273. package/docs/components/xprogress.md +56 -0
  274. package/docs/components/xradio.md +103 -0
  275. package/docs/components/xrouter.md +260 -0
  276. package/docs/components/xsection.md +125 -0
  277. package/docs/components/xselect.md +105 -0
  278. package/docs/components/xsidepanel.md +30 -0
  279. package/docs/components/xspinner.md +102 -0
  280. package/docs/components/xstate.md +148 -0
  281. package/docs/components/xstatus.md +55 -0
  282. package/docs/components/xsummary.md +78 -0
  283. package/docs/components/xsurfacemanager.md +27 -0
  284. package/docs/components/xsurfacewindow.md +21 -0
  285. package/docs/components/xtabs.md +160 -0
  286. package/docs/components/xtextarea.md +98 -0
  287. package/docs/components/xtheme.md +167 -0
  288. package/docs/components/xtoast.md +62 -0
  289. package/docs/components/xtooltip.md +66 -0
  290. package/docs/components/xtype.md +82 -0
  291. package/docs/components/xutils.md +144 -0
  292. package/docs/components/xwriter.md +94 -0
  293. package/docs/components.md +117 -0
  294. package/docs/conditional-network-evidence-ci.md +38 -0
  295. package/docs/conditional-network-evidence.md +50 -0
  296. package/docs/core-migration-guide.md +110 -0
  297. package/docs/design-tokens.md +116 -0
  298. package/docs/docs-rmt-production-hardening.md +31 -0
  299. package/docs/enterprise-adoption.md +411 -0
  300. package/docs/enterprise-component-flex-release-handoff.md +129 -0
  301. package/docs/epic10-platform-gates.md +62 -0
  302. package/docs/epic10-release-handoff.md +81 -0
  303. package/docs/epic11-enterprise-ux-handoff.md +70 -0
  304. package/docs/epic12-rc0-handoff.md +61 -0
  305. package/docs/existing-component-metadata.md +67 -0
  306. package/docs/hydration-performance-closure.md +34 -0
  307. package/docs/hydration-policies.md +71 -0
  308. package/docs/index.php +1625 -0
  309. package/docs/known-residual-triage.md +22 -0
  310. package/docs/manifest-import-policy.md +79 -0
  311. package/docs/manifest.md +106 -0
  312. package/docs/menu.json +1190 -0
  313. package/docs/motion-contrast.md +67 -0
  314. package/docs/package-export-lock.md +44 -0
  315. package/docs/performance-measurements.md +106 -0
  316. package/docs/performance-regression.md +89 -0
  317. package/docs/performance.md +94 -0
  318. package/docs/previews/README.md +17 -0
  319. package/docs/prod-browser-csp-smokes.md +40 -0
  320. package/docs/public-component-types.md +79 -0
  321. package/docs/quick-start-guide.md +152 -0
  322. package/docs/rc0-adoption-guide.md +102 -0
  323. package/docs/rc0-gate-matrix.md +58 -0
  324. package/docs/rc1-gate-matrix-ci-handoff.md +56 -0
  325. package/docs/rc1-migration-notes.md +69 -0
  326. package/docs/rc1-readiness.md +46 -0
  327. package/docs/release-owner-acceptance.md +56 -0
  328. package/docs/release-report-pack-dry-run-evidence.md +39 -0
  329. package/docs/rmt-dsl-authoring-polish.md +122 -0
  330. package/docs/rmt-first-demo-app.md +77 -0
  331. package/docs/rmt-first-xtend-apps.md +105 -0
  332. package/docs/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
  333. package/docs/rmt-kernel-security-hardening-migration.md +50 -0
  334. package/docs/rmt-kernel-trusted-output-authoring.md +69 -0
  335. package/docs/rmt-language-server.md +177 -0
  336. package/docs/rmt-lifecycle-demo.md +25 -0
  337. package/docs/rmt-linter.md +140 -0
  338. package/docs/rmt-production-readiness.md +63 -0
  339. package/docs/rmt-tooling-release-gates.md +77 -0
  340. package/docs/rmt-vnext-authoring.md +60 -0
  341. package/docs/rmt-vnext-cross-surface-events.md +68 -0
  342. package/docs/rmt-vnext-enterprise-mfe-handoff.md +70 -0
  343. package/docs/rmt-vnext-migration-notes.md +62 -0
  344. package/docs/rmt-vnext-release-handoff.md +69 -0
  345. package/docs/rmt-vnext-remote-surfaces.md +90 -0
  346. package/docs/rmt-vnext-surface-registry-enterprise.md +76 -0
  347. package/docs/screenreader-signals.md +56 -0
  348. package/docs/supply-chain-gates.md +100 -0
  349. package/docs/surface-manager-authoring-guide.md +94 -0
  350. package/docs/surface-manager-browser-lab.md +45 -0
  351. package/docs/surface-manager-component-lab.md +43 -0
  352. package/docs/surface-manager-controller.md +66 -0
  353. package/docs/surface-manager-layout-engines.md +32 -0
  354. package/docs/surface-manager-lazy-hydration.md +63 -0
  355. package/docs/surface-manager-migration-guide.md +94 -0
  356. package/docs/surface-manager-native-rmt-surfaces.md +38 -0
  357. package/docs/surface-manager-overlay-bridge.md +53 -0
  358. package/docs/surface-manager-persistence.md +30 -0
  359. package/docs/surface-manager-quality-gates.md +51 -0
  360. package/docs/surface-manager-release-handoff.md +68 -0
  361. package/docs/surface-manager-remote-policy.md +54 -0
  362. package/docs/surface-manager-rmt-authoring.md +86 -0
  363. package/docs/surface-manager-route-lifecycle.md +59 -0
  364. package/docs/surface-manager-runtime-release-handoff.md +69 -0
  365. package/docs/surface-manager-side-panel-runtime.md +36 -0
  366. package/docs/surface-manager-stack-policy.md +39 -0
  367. package/docs/surface-manager-window-runtime.md +47 -0
  368. package/docs/surface-manager-workbench-fixture.md +43 -0
  369. package/docs/third-party-design-authoring.md +406 -0
  370. package/docs/trusted-dom-boundary-browser-proof.md +32 -0
  371. package/docs/trusted-dom-sanitizing.md +110 -0
  372. package/docs/type-exports.md +61 -0
  373. package/docs/typescript-components.md +63 -0
  374. package/docs/utils/fabric-runtime.js +650 -0
  375. package/docs/utils/pageloader.js +2823 -0
  376. package/docs/utils/parsedown.php +298 -0
  377. package/docs/visual-browser-regression.md +83 -0
  378. package/docs/visual-owner-artifacts.md +46 -0
  379. package/docs/visual-snapshot-automation.md +87 -0
  380. package/docs/xtend-api-types.md +55 -0
  381. package/docs/xtend-builder-types.md +55 -0
  382. package/docs/xtend-catalog-types.md +44 -0
  383. package/docs/xtend-fabric-rmt-lane-mapping.md +143 -0
  384. package/docs/xtend-fabric.md +474 -0
  385. package/docs/xtend-loader-types.md +58 -0
  386. package/docs/xtend-loader.md +265 -0
  387. package/docs/xtend-policy-types.md +38 -0
  388. package/docs/xtend-rmt-types.md +39 -0
  389. package/docs/xtend-vendor-types.md +36 -0
  390. package/docs/xtendrmt-app-dsl.md +269 -0
  391. package/docs/xtendrmt-migration-guide.md +235 -0
  392. package/docs/xtendrmt-native-authoring.md +337 -0
  393. package/docs/xtendrmt-overview.md +89 -0
  394. package/docs/xtendrmt-parsedown-docs.rmt +956 -0
  395. package/docs/xtendrmt-parsedown-scheduling.md +301 -0
  396. package/docs/xtendrmt-runtime-bridge.md +155 -0
  397. package/fabric/hydration-policy.d.ts +27 -0
  398. package/fabric/hydration-policy.js +306 -0
  399. package/fabric/package.json +58 -0
  400. package/fabric/rmt-lane-mapping.d.ts +47 -0
  401. package/fabric/rmt-lane-mapping.js +504 -0
  402. package/fabric/xtend-fabric.d.ts +81 -0
  403. package/fabric/xtend-fabric.js +2669 -0
  404. package/fabric/xtend-policy-public-types.d.ts +135 -0
  405. package/package.json +8225 -0
  406. package/security/README.md +54 -0
  407. package/security/manifest-import-policy.d.ts +43 -0
  408. package/security/manifest-import-policy.js +260 -0
  409. package/security/supply-chain-gate-policy.d.ts +45 -0
  410. package/security/supply-chain-gate-policy.js +249 -0
  411. package/security/trusted-dom-policy.d.ts +36 -0
  412. package/security/trusted-dom-policy.js +316 -0
  413. package/tools/package.json +77 -0
  414. package/tools/rmt-editor/vscode/README.md +33 -0
  415. package/tools/rmt-editor/vscode/extension.d.ts +9 -0
  416. package/tools/rmt-editor/vscode/extension.js +55 -0
  417. package/tools/rmt-editor/vscode/language-configuration.json +28 -0
  418. package/tools/rmt-editor/vscode/package.json +83 -0
  419. package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +243 -0
  420. package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +13 -0
  421. package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
  422. package/tools/rmt-language/code-actions.d.ts +15 -0
  423. package/tools/rmt-language/code-actions.js +566 -0
  424. package/tools/rmt-language/completions.d.ts +22 -0
  425. package/tools/rmt-language/completions.js +475 -0
  426. package/tools/rmt-language/definitions.d.ts +13 -0
  427. package/tools/rmt-language/definitions.js +212 -0
  428. package/tools/rmt-language/diagnostics.d.ts +23 -0
  429. package/tools/rmt-language/diagnostics.js +486 -0
  430. package/tools/rmt-language/format-adapter.d.ts +16 -0
  431. package/tools/rmt-language/format-adapter.js +270 -0
  432. package/tools/rmt-language/hover.d.ts +12 -0
  433. package/tools/rmt-language/hover.js +326 -0
  434. package/tools/rmt-language/kernel-escalation.d.ts +122 -0
  435. package/tools/rmt-language/kernel-escalation.js +427 -0
  436. package/tools/rmt-language/kernel-panic-monitor.d.ts +176 -0
  437. package/tools/rmt-language/kernel-panic-monitor.js +674 -0
  438. package/tools/rmt-language/kernel-policy-parity.d.ts +142 -0
  439. package/tools/rmt-language/kernel-policy-parity.js +629 -0
  440. package/tools/rmt-language/kernel-recovery.d.ts +173 -0
  441. package/tools/rmt-language/kernel-recovery.js +666 -0
  442. package/tools/rmt-language/kernel-scheduler-failure.d.ts +136 -0
  443. package/tools/rmt-language/kernel-scheduler-failure.js +486 -0
  444. package/tools/rmt-language/kernel-security-regression.d.ts +154 -0
  445. package/tools/rmt-language/kernel-security-regression.js +465 -0
  446. package/tools/rmt-language/kernel-trust-authority.d.ts +120 -0
  447. package/tools/rmt-language/kernel-trust-authority.js +549 -0
  448. package/tools/rmt-language/parser.d.ts +14 -0
  449. package/tools/rmt-language/parser.js +111 -0
  450. package/tools/rmt-language/rmt-tooling-public-types.d.ts +179 -0
  451. package/tools/rmt-language/rules/boundary-policy.js +81 -0
  452. package/tools/rmt-language/rules/document-policy.js +65 -0
  453. package/tools/rmt-language/rules/index.js +29 -0
  454. package/tools/rmt-language/rules/route-policy.js +81 -0
  455. package/tools/rmt-language/rules/scheduler-policy.js +66 -0
  456. package/tools/rmt-language/rules/template-policy.js +130 -0
  457. package/tools/rmt-language/semantic-graph.d.ts +18 -0
  458. package/tools/rmt-language/semantic-graph.js +827 -0
  459. package/tools/rmt-language/snippets/README.md +17 -0
  460. package/tools/rmt-language/snippets/index.d.ts +17 -0
  461. package/tools/rmt-language/snippets/index.js +417 -0
  462. package/tools/rmt-language/snippets/rmt.code-snippets +243 -0
  463. package/tools/rmt-language/source-model.d.ts +14 -0
  464. package/tools/rmt-language/source-model.js +731 -0
  465. package/tools/rmt-language/symbols.d.ts +13 -0
  466. package/tools/rmt-language/symbols.js +183 -0
  467. package/tools/rmt-language/vnext-compatibility.d.ts +28 -0
  468. package/tools/rmt-language/vnext-compatibility.js +675 -0
  469. package/tools/rmt-language/vnext-compiler.d.ts +17 -0
  470. package/tools/rmt-language/vnext-compiler.js +716 -0
  471. package/tools/rmt-language/vnext-composition.d.ts +30 -0
  472. package/tools/rmt-language/vnext-composition.js +595 -0
  473. package/tools/rmt-language/vnext-conditions.d.ts +25 -0
  474. package/tools/rmt-language/vnext-conditions.js +474 -0
  475. package/tools/rmt-language/vnext-cross-surface-events.d.ts +30 -0
  476. package/tools/rmt-language/vnext-cross-surface-events.js +607 -0
  477. package/tools/rmt-language/vnext-degradation.d.ts +23 -0
  478. package/tools/rmt-language/vnext-degradation.js +428 -0
  479. package/tools/rmt-language/vnext-enterprise-fixtures.d.ts +28 -0
  480. package/tools/rmt-language/vnext-enterprise-fixtures.js +487 -0
  481. package/tools/rmt-language/vnext-enterprise-registry.d.ts +21 -0
  482. package/tools/rmt-language/vnext-enterprise-registry.js +495 -0
  483. package/tools/rmt-language/vnext-enterprise-release.d.ts +44 -0
  484. package/tools/rmt-language/vnext-enterprise-release.js +472 -0
  485. package/tools/rmt-language/vnext-event-governance.d.ts +29 -0
  486. package/tools/rmt-language/vnext-event-governance.js +488 -0
  487. package/tools/rmt-language/vnext-events.d.ts +44 -0
  488. package/tools/rmt-language/vnext-events.js +680 -0
  489. package/tools/rmt-language/vnext-import-resolver.d.ts +28 -0
  490. package/tools/rmt-language/vnext-import-resolver.js +642 -0
  491. package/tools/rmt-language/vnext-lifecycle.d.ts +22 -0
  492. package/tools/rmt-language/vnext-lifecycle.js +404 -0
  493. package/tools/rmt-language/vnext-parser.d.ts +21 -0
  494. package/tools/rmt-language/vnext-parser.js +1391 -0
  495. package/tools/rmt-language/vnext-regression.d.ts +25 -0
  496. package/tools/rmt-language/vnext-regression.js +394 -0
  497. package/tools/rmt-language/vnext-release.d.ts +29 -0
  498. package/tools/rmt-language/vnext-release.js +293 -0
  499. package/tools/rmt-language/vnext-remote-compatibility.d.ts +33 -0
  500. package/tools/rmt-language/vnext-remote-compatibility.js +892 -0
  501. package/tools/rmt-language/vnext-remote-compiler.d.ts +14 -0
  502. package/tools/rmt-language/vnext-remote-compiler.js +520 -0
  503. package/tools/rmt-language/vnext-remote-manifest.d.ts +33 -0
  504. package/tools/rmt-language/vnext-remote-manifest.js +538 -0
  505. package/tools/rmt-language/vnext-remote-security.d.ts +27 -0
  506. package/tools/rmt-language/vnext-remote-security.js +380 -0
  507. package/tools/rmt-language/vnext-remote-tooling.d.ts +25 -0
  508. package/tools/rmt-language/vnext-remote-tooling.js +805 -0
  509. package/tools/rmt-language/vnext-scheduler.d.ts +24 -0
  510. package/tools/rmt-language/vnext-scheduler.js +469 -0
  511. package/tools/rmt-language/vnext-security.d.ts +28 -0
  512. package/tools/rmt-language/vnext-security.js +597 -0
  513. package/tools/rmt-language/vnext-streaming.d.ts +28 -0
  514. package/tools/rmt-language/vnext-streaming.js +593 -0
  515. package/tools/rmt-language/vnext-surfaces.d.ts +24 -0
  516. package/tools/rmt-language/vnext-surfaces.js +406 -0
  517. package/tools/rmt-language/vnext-tooling.d.ts +25 -0
  518. package/tools/rmt-language/vnext-tooling.js +728 -0
  519. package/tools/rmt-language-server/protocol.d.ts +22 -0
  520. package/tools/rmt-language-server/protocol.js +352 -0
  521. package/tools/rmt-language-server/server.d.ts +15 -0
  522. package/tools/rmt-language-server/server.js +622 -0
  523. package/tools/rmt-linter/cli.d.ts +14 -0
  524. package/tools/rmt-linter/cli.js +450 -0
  525. package/tools/rmt-linter/reporter.d.ts +16 -0
  526. package/tools/rmt-linter/reporter.js +472 -0
  527. package/xtend-builder/README.md +83 -0
  528. package/xtend-builder/a11y/README.md +42 -0
  529. package/xtend-builder/a11y/component-a11y-profile.d.ts +14 -0
  530. package/xtend-builder/a11y/component-a11y-profile.js +314 -0
  531. package/xtend-builder/blueprints/README.md +105 -0
  532. package/xtend-builder/blueprints/component-blueprint.contract.d.ts +16 -0
  533. package/xtend-builder/blueprints/component-blueprint.contract.js +343 -0
  534. package/xtend-builder/builder-public-types.d.ts +234 -0
  535. package/xtend-builder/extensions/README.md +26 -0
  536. package/xtend-builder/extensions/component-extension-points.d.ts +11 -0
  537. package/xtend-builder/extensions/component-extension-points.js +277 -0
  538. package/xtend-builder/generators/README.md +149 -0
  539. package/xtend-builder/generators/component-files.d.ts +5 -0
  540. package/xtend-builder/generators/component-files.js +769 -0
  541. package/xtend-builder/generators/component-plan.d.ts +4 -0
  542. package/xtend-builder/generators/component-plan.js +104 -0
  543. package/xtend-builder/generators/registry.d.ts +6 -0
  544. package/xtend-builder/generators/registry.js +118 -0
  545. package/xtend-builder/generators/rmt-build.js +738 -0
  546. package/xtend-builder/generators/rmt-lifecycle-demo.js +922 -0
  547. package/xtend-builder/lib/cli.d.ts +9 -0
  548. package/xtend-builder/lib/cli.js +543 -0
  549. package/xtend-builder/lib/layout.d.ts +6 -0
  550. package/xtend-builder/lib/layout.js +153 -0
  551. package/xtend-builder/lib/package-resolver.js +25 -0
  552. package/xtend-builder/package.json +90 -0
  553. package/xtend-builder/performance/README.md +31 -0
  554. package/xtend-builder/performance/component-performance-profile.d.ts +11 -0
  555. package/xtend-builder/performance/component-performance-profile.js +347 -0
  556. package/xtend-builder/performance/component-ux-performance-contract.d.ts +27 -0
  557. package/xtend-builder/performance/component-ux-performance-contract.js +424 -0
  558. package/xtend-builder/preview/README.md +61 -0
  559. package/xtend-builder/preview/component-lab-ux-inspector.d.ts +20 -0
  560. package/xtend-builder/preview/component-lab-ux-inspector.js +448 -0
  561. package/xtend-builder/preview/component-lab.d.ts +14 -0
  562. package/xtend-builder/preview/component-lab.js +278 -0
  563. package/xtend-builder/preview/component-preview.d.ts +5 -0
  564. package/xtend-builder/preview/component-preview.js +160 -0
  565. package/xtend-builder/scaffold.config.d.ts +4 -0
  566. package/xtend-builder/scaffold.config.js +2056 -0
  567. package/xtend-builder/scaffold.d.ts +3 -0
  568. package/xtend-builder/scaffold.js +11 -0
  569. package/xtend-builder/templates/README.md +33 -0
  570. package/xtend-builder/templates/component/a11y.template.ts +11 -0
  571. package/xtend-builder/templates/component/component-suite.template.d.ts +2 -0
  572. package/xtend-builder/templates/component/component-suite.template.js +108 -0
  573. package/xtend-builder/templates/component/contract.template.ts +10 -0
  574. package/xtend-builder/templates/component/demo-plan.template.md +73 -0
  575. package/xtend-builder/templates/component/docs.template.md +301 -0
  576. package/xtend-builder/templates/component/fixture-data.template.ts +28 -0
  577. package/xtend-builder/templates/component/fixture.template.html +37 -0
  578. package/xtend-builder/templates/component/manifest-plan.template.json +22 -0
  579. package/xtend-builder/templates/component/performance.template.ts +13 -0
  580. package/xtend-builder/templates/component/rmt.template.ts +12 -0
  581. package/xtend-builder/templates/component/source.template.d.ts +2 -0
  582. package/xtend-builder/templates/component/source.template.js +137 -0
  583. package/xtend-builder/templates/component/source.template.ts +110 -0
  584. package/xtend-builder/templates/component/types.template.d.ts +423 -0
  585. package/xtend-builder/templates/loader.d.ts +4 -0
  586. package/xtend-builder/templates/loader.js +51 -0
  587. package/xtend-builder/templates/registry.d.ts +6 -0
  588. package/xtend-builder/templates/registry.js +119 -0
  589. package/xtend-builder/typing/README.md +130 -0
  590. package/xtend-builder/typing/component-contract-v2.d.ts +15 -0
  591. package/xtend-builder/typing/component-contract-v2.js +248 -0
  592. package/xtend-builder/typing/component-network-contract.d.ts +22 -0
  593. package/xtend-builder/typing/component-network-contract.js +478 -0
  594. package/xtend-builder/typing/component-shell-contract.d.ts +21 -0
  595. package/xtend-builder/typing/component-shell-contract.js +312 -0
  596. package/xtend-builder/typing/component-styling-contract.d.ts +22 -0
  597. package/xtend-builder/typing/component-styling-contract.js +301 -0
  598. package/xtend-builder/typing/component-types.d.ts +10 -0
  599. package/xtend-builder/typing/component-types.js +551 -0
  600. package/xtend-builder/typing/enterprise-component-flex-hardening-contract.d.ts +20 -0
  601. package/xtend-builder/typing/enterprise-component-flex-hardening-contract.js +332 -0
  602. package/xtend-builder/typing/feedback-status-ux-contract.d.ts +25 -0
  603. package/xtend-builder/typing/feedback-status-ux-contract.js +347 -0
  604. package/xtend-builder/typing/form-controls-ux-contract.d.ts +25 -0
  605. package/xtend-builder/typing/form-controls-ux-contract.js +357 -0
  606. package/xtend-builder/typing/layout-display-media-ux-contract.d.ts +25 -0
  607. package/xtend-builder/typing/layout-display-media-ux-contract.js +420 -0
  608. package/xtend-builder/typing/navigation-routing-ux-contract.d.ts +17 -0
  609. package/xtend-builder/typing/navigation-routing-ux-contract.js +297 -0
  610. package/xtend-builder/typing/overlay-interaction-ux-contract.d.ts +25 -0
  611. package/xtend-builder/typing/overlay-interaction-ux-contract.js +383 -0
  612. package/xtend-builder/typing/rmt-dsl-authoring-polish.d.ts +27 -0
  613. package/xtend-builder/typing/rmt-dsl-authoring-polish.js +419 -0
  614. package/xtend-builder/typing/rmt-shell-authoring-contract.d.ts +26 -0
  615. package/xtend-builder/typing/rmt-shell-authoring-contract.js +315 -0
  616. package/xtend-builder/utils/README.md +8 -0
  617. package/xtend-builder/utils/naming.d.ts +7 -0
  618. package/xtend-builder/utils/naming.js +36 -0
  619. package/xtend-builder/utils/validation.d.ts +5 -0
  620. package/xtend-builder/utils/validation.js +95 -0
  621. package/xtend-builder/wiring/README.md +46 -0
  622. package/xtend-builder/wiring/features.d.ts +5 -0
  623. package/xtend-builder/wiring/features.js +165 -0
  624. package/xtend-builder/wiring/hydration.d.ts +4 -0
  625. package/xtend-builder/wiring/hydration.js +44 -0
  626. package/xtend-builder/wiring/manifest.d.ts +5 -0
  627. package/xtend-builder/wiring/manifest.js +48 -0
  628. package/xtend-builder/workflows/README.md +47 -0
  629. package/xtend-builder/workflows/developer-workflow.d.ts +6 -0
  630. package/xtend-builder/workflows/developer-workflow.js +125 -0
  631. package/xtend-builder/writing/manifest-patcher.d.ts +49 -0
  632. package/xtend-builder/writing/manifest-patcher.js +391 -0
  633. package/xtend-builder/writing/write-plan.d.ts +148 -0
  634. package/xtend-builder/writing/write-plan.js +646 -0
  635. package/xtend-dev.d.ts +23 -0
  636. package/xtend-dev.js +4 -0
  637. package/xtend-loader.d.ts +201 -0
  638. package/xtend-loader.js +1704 -0
  639. package/xtend.css +402 -0
  640. package/xtendrmt/package.json +64 -0
  641. package/xtendrmt/rmt-core.d.ts +4452 -0
  642. package/xtendrmt/rmt-core.esm.js +25793 -0
  643. package/xtendrmt/rmt-first-demo-app.js +265 -0
  644. package/xtendrmt/rmt-first-demo-app.rmt +737 -0
  645. package/xtendrmt/rmt-lifecycle-demo.app.js +493 -0
  646. package/xtendrmt/rmt-lifecycle-demo.core.json +810 -0
  647. package/xtendrmt/rmt-lifecycle-demo.rmt +35 -0
  648. package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +153 -0
  649. package/xtendrmt/rmt-lifecycle-demo.rmt-build.core.json +810 -0
  650. package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +202 -0
  651. package/xtendrmt/rmt-lifecycle-demo.scaffold.json +187 -0
  652. package/xtendrmt/rmt-manifest.json +548 -0
  653. package/xtendrmt/rmt-runtime.browser.js +26183 -0
  654. package/xtendrmt/rmt-runtime.esm.js +26214 -0
  655. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +849 -0
  656. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.rmt +50 -0
  657. package/xtendrmt/rmt-vnext-reference-demo.core.json +1069 -0
  658. package/xtendrmt/rmt-vnext-reference-demo.rmt +50 -0
  659. package/xtendrmt/rmt.schema.json +3145 -0
  660. package/xtendrmt/surface-workbench.js +316 -0
  661. package/xtendrmt/surface-workbench.rmt +762 -0
  662. package/xtendrmt/xtendrmt-bestcase-demo.core.json +1187 -0
  663. package/xtendrmt/xtendrmt-bestcase-demo.js +1728 -0
  664. package/xtendrmt/xtendrmt-bestcase-demo.rmt +57 -0
@@ -0,0 +1,126 @@
1
+ # xfooter – XTend Komponente
2
+
3
+ > **Siehe auch:** [xheader](./xheader.md), [xtheme](./xtheme.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-footer>` ist eine anpassbare Footer-Komponente mit Logo, Sticky-Option und State-Integration. Sie eignet sich für Branding und Navigation am Seitenende.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Optionales Logo (src-Attribut)
13
+ - Sticky-Funktion (bleibt am unteren Rand)
14
+ - State-Integration via xstate
15
+ - Theming via CSS Custom Properties
16
+
17
+ ---
18
+
19
+ ## Verwendung
20
+
21
+ ```html
22
+ <x-footer src="logo.svg" logo-size="48" sticky></x-footer>
23
+ ```
24
+
25
+ ---
26
+
27
+ ## Attribute
28
+ | Attribut | Typ | Beschreibung |
29
+ |-------------|---------|-------------------------------------|
30
+ | `src` | String | Logo-URL |
31
+ | `logo-size` | String | Größe des Logos (z.B. 48, 64px) |
32
+ | `sticky` | Boolean | Footer bleibt am unteren Rand |
33
+
34
+ ---
35
+
36
+ ## Events
37
+ | Event | Beschreibung |
38
+ |---------------|-------------------------------------|
39
+ | – | – |
40
+
41
+ ---
42
+
43
+ ## API
44
+ - **Logo dynamisch setzen:** `element.setAttribute('src', 'logo.svg')`
45
+ - **Sticky aktivieren:** `element.setAttribute('sticky', '')`
46
+ - **State-Integration:** Automatisch via xstate
47
+
48
+ ---
49
+
50
+ ## Beispiel: Dynamisch per JS
51
+
52
+ ```js
53
+ const footer = document.createElement('x-footer');
54
+ footer.setAttribute('src', 'logo.svg');
55
+ document.body.appendChild(footer);
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Styling & Theming
61
+
62
+ ```css
63
+ x-footer {
64
+ --header-bg: #222;
65
+ --header-fg: #fff;
66
+ }
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Accessibility
72
+ - Semantisches HTML, ARIA
73
+
74
+ ---
75
+
76
+ *Letzte Aktualisierung: 16. Juli 2025*
77
+
78
+ ## Layout Display Media UX Profil
79
+
80
+ `x-footer` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente kann als RMT Shell Footer sichtbar gemountet werden und nutzt den State-Key `xfooter-state-<id>`.
81
+
82
+ - Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
83
+ - Schedule: `component.visible.mount`
84
+ - Events: `footer-ready`, `theme-applied`, `logo-loaded`
85
+ - Snapshot: `snapshot()`
86
+ - CSS Parts: `root`, `title`, `logo`, `nav`, `extra`
87
+
88
+ ## ECH-WP-07 Token-Tabelle und signatureDesign
89
+
90
+ `signatureDesign`: Ruhiger Enterprise-Footer mit praeziser Navigation, logo-sicherem Medienbereich und dezenter Signature-Tiefe. Das Default-Design bleibt hochwertig, laesst sich aber durch Corporate-Themes vollstaendig ueberschreiben.
91
+
92
+ | Token | Zweck |
93
+ | --- | --- |
94
+ | `--xtend-layout-surface` | Footer-Flaeche |
95
+ | `--xtend-layout-text` | Text- und Linkfarbe |
96
+ | `--xtend-layout-border-color` | Footer- und Linkkante |
97
+ | `--xtend-layout-radius` | Footer- und Linkradius |
98
+ | `--xtend-layout-elevation` | Footer-Schatten |
99
+ | `--xtend-layout-spacing` | Footer-Padding |
100
+ | `--xtend-layout-gap` | Titel-, Nav- und Inhaltsabstand |
101
+ | `--xtend-layout-font-family` | Footer-Typografie |
102
+ | `--xtend-layout-font-size` | Footer-Schriftgroesse |
103
+ | `--xtend-layout-media-radius` | Logo-Radius |
104
+ | `--xtend-layout-focus-ring` | Link-Fokus |
105
+ | `--xtend-layout-grid-min` | Responsive Footer-Zellbreite |
106
+ | `--xtend-layout-content-max` | Footer-Maximalbreite |
107
+
108
+ ## ECH-WP-07 Fremdtheme
109
+
110
+ ```css
111
+ [data-xtend-layout-theme="enterprise-foreign"] x-footer {
112
+ --xtend-layout-surface: #f8f4ef;
113
+ --xtend-layout-text: #1e2420;
114
+ --xtend-layout-border-color: rgba(30, 36, 32, 0.2);
115
+ --xtend-layout-radius: 0.25rem;
116
+ --xtend-layout-elevation: 0 8px 24px rgba(30, 36, 32, 0.1);
117
+ --xtend-layout-spacing: 1.15rem;
118
+ --xtend-layout-gap: 0.85rem;
119
+ --xtend-layout-font-family: "Aptos", "Segoe UI", sans-serif;
120
+ --xtend-layout-font-size: 0.95rem;
121
+ --xtend-layout-media-radius: 0.15rem;
122
+ --xtend-layout-focus-ring: 3px solid #8f4f2a;
123
+ --xtend-layout-grid-min: minmax(11rem, 1fr);
124
+ --xtend-layout-content-max: 72rem;
125
+ }
126
+ ```
@@ -0,0 +1,128 @@
1
+ # xform – XTend Komponente
2
+
3
+ > **Siehe auch:** [xinput](./xinput.md), [xselect](./xselect.md), [xcheckbox](./xcheckbox.md), [xradio](./xradio.md), [xtextarea](./xtextarea.md), [xcalendar](./xcalendar.md), [xstate](./xstate.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-form>` ist eine flexible Formular-Komponente, die beliebige Inhalte kapselt und State-Integration sowie Theming unterstützt.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Flexibles Layout für Formulare
13
+ - Slot für beliebige Inhalte
14
+ - State-Integration via xstate
15
+ - Aggregation von `x-input`, `x-slider`, `x-calendar`, `x-select`, `x-checkbox`, `x-radio` und `x-textarea`
16
+ - Theming via CSS Custom Properties
17
+
18
+ ---
19
+
20
+ ## Verwendung
21
+
22
+ ```html
23
+ <x-form>
24
+ <input type="text" />
25
+ <x-button>Absenden</x-button>
26
+ </x-form>
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Attribute
32
+ | Attribut | Typ | Beschreibung |
33
+ |-------------|---------|-------------------------------------|
34
+ | – | – | – |
35
+
36
+ ---
37
+
38
+ ## Events
39
+ | Event | Beschreibung |
40
+ |---------------|-------------------------------------|
41
+ | `submit` | Wird beim Absenden ausgelöst |
42
+ | `invalid` | Wird bei fehlgeschlagener Kind-Validierung ausgelöst |
43
+ | `reset` | Wird nach Formular-Reset ausgelöst |
44
+
45
+ ---
46
+
47
+ ## API
48
+ - **Formular per JS absenden:** `element.submit()`
49
+ - **Formulardaten lesen:** `element.getFormData()`
50
+ - **State-Integration:** Automatisch via xstate
51
+
52
+ ## State- und Validierungscontract ab ER-WP-33
53
+
54
+ `<x-form>` sammelt Werte aus `x-input`, `x-slider`, `x-calendar`, `x-select`, `x-checkbox`, `x-radio`, `x-textarea` und `x-writer`, spiegelt sie nach `xform-data-<id>` und aktualisiert diesen Key bei `input-changed`, `select-changed`, `checkbox-changed`, `radio-changed`, `textarea-changed`, `date-select` und `writer:change`. Checkboxen liefern Boolean-Werte, Radio-Gruppen liefern den Wert des aktivierten Controls. Der Shadow DOM enthaelt `role="form"`, eine `role="status"` Region fuer Submit/Reset-Rueckmeldungen und eine `role="alert"` Region fuer Validierungsfehler.
55
+
56
+ ## Form Controls UX ab WP-E11-08
57
+
58
+ `<x-form>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil beschreibt den Form Host, `submit`, `invalid`, `reset`, `xform-data-<id>`, Validation Aggregation, Fabric-Lane `user-blocking` und RMT Shell Authoring.
59
+
60
+ ---
61
+
62
+ ## Beispiel: Dynamisch per JS
63
+
64
+ ```js
65
+ const form = document.createElement('x-form');
66
+ form.innerHTML = '<input type="text" />';
67
+ document.body.appendChild(form);
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Styling & Theming
73
+
74
+ ```css
75
+ x-form {
76
+ --form-gap: 2em;
77
+ --form-border: 2px solid #007bff;
78
+ }
79
+ ```
80
+
81
+ ---
82
+
83
+ ## Accessibility
84
+ - Semantisches HTML, ARIA
85
+
86
+ ---
87
+
88
+ *Letzte Aktualisierung: 16. Juli 2025*
89
+
90
+ ## ECH-WP-08 Form Theme/A11y Hardening
91
+
92
+ `signatureDesign`: Enterprise-Formhost mit hochwertiger Surface-Komposition, aggregierten Statusregionen und density-sicherem Rhythmus fuer verschachtelte Controls.
93
+
94
+ | Token | Zweck |
95
+ | --- | --- |
96
+ | `--xtend-form-text` | Form-Textfarbe |
97
+ | `--xtend-form-surface` | Form-Flaeche |
98
+ | `--xtend-form-control-surface` | Child-Control-Flaeche |
99
+ | `--xtend-form-control-text` | Child-Control-Text |
100
+ | `--xtend-form-label-text` | Label-Cascade |
101
+ | `--xtend-form-helper-text` | Helper-Cascade |
102
+ | `--xtend-form-error-text` | Error-Cascade |
103
+ | `--xtend-form-error-surface` | Error-Cascade-Flaeche |
104
+ | `--xtend-form-error-border` | Form- und Error-Kante |
105
+ | `--xtend-form-focus-ring` | Focus-Cascade |
106
+ | `--xtend-form-radius` | Form- und Control-Radius |
107
+ | `--xtend-form-gap` | Form- und Control-Abstand |
108
+ | `--xtend-form-font-family` | Form-Typografie |
109
+ | `--xtend-form-control-font-size` | Control-Schrift |
110
+ | `--xtend-form-helper-font-size` | Helper-/Error-Schrift fuer Child Controls |
111
+ | `--xtend-form-icon-color` | Child-Control-Icon-Akzent |
112
+
113
+ Density-Profile: `comfortable`, `compact`, `dense`. `busy`, `disabled` und Invalid werden am Formhost als Flaechenzustand und via ARIA gespiegelt.
114
+
115
+ ```css
116
+ [data-xtend-form-theme="enterprise-foreign"] x-form {
117
+ --xtend-form-surface: #fffaf2;
118
+ --xtend-form-control-surface: #fbf8f2;
119
+ --xtend-form-text: #16231f;
120
+ --xtend-form-label-text: #22312c;
121
+ --xtend-form-helper-text: #596861;
122
+ --xtend-form-error-text: #7d231c;
123
+ --xtend-form-error-border: #a64036;
124
+ --xtend-form-focus-ring: 3px solid #8f4f2a;
125
+ --xtend-form-radius: 0.45rem;
126
+ --xtend-form-gap: 0.8rem;
127
+ }
128
+ ```
@@ -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
+ ```