@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,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
@@ -0,0 +1,129 @@
1
+ # xinput – XTend Komponente
2
+
3
+ > **Siehe auch:** [xform](./xform.md), [xstate](./xstate.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-input>` ist ein vielseitiges Eingabefeld mit Theming, State-Integration und voller Unterstützung für Formulare.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Standard-Input mit Slot für Label
13
+ - State-Integration via xstate
14
+ - Theming via CSS Custom Properties
15
+ - Form-Integration
16
+
17
+ ---
18
+
19
+ ## Verwendung
20
+
21
+ ```html
22
+ <x-input value="Hallo"></x-input>
23
+ ```
24
+
25
+ ---
26
+
27
+ ## Attribute
28
+ | Attribut | Typ | Beschreibung |
29
+ |-------------|---------|-------------------------------------|
30
+ | `value` | String | Wert des Eingabefelds |
31
+ | `type` | String | Typ des Inputs (text, number, etc.) |
32
+ | `placeholder`| String | Platzhaltertext |
33
+
34
+ ---
35
+
36
+ ## Events
37
+ | Event | Beschreibung |
38
+ |---------------|-------------------------------------|
39
+ | `input` | Bei Eingabe ausgelöst |
40
+ | `change` | Bei Wertänderung ausgelöst |
41
+ | `input-changed` | aktueller XTend-Contract bei Wertänderung, Detail: `{ value }` |
42
+ | `validation-failed` | Validierungsfehler, Detail: `{ value }` |
43
+
44
+ ---
45
+
46
+ ## API
47
+ - **Wert setzen/lesen:** `element.value = 'Text'`
48
+ - **State-Integration:** Automatisch via xstate
49
+ - **Validierung:** `element.checkValidity()`, `element.reportValidity()`
50
+ - **Reset:** `element.reset()`
51
+
52
+ ## State-Contract ab ER-WP-33
53
+
54
+ `<x-input>` schreibt seinen Wert nach `xinput-value-<id>` und reagiert auf externe Änderungen dieses Keys. Die Validierungsregion nutzt `role="alert"` und `aria-live="assertive"`, sodass Formularfehler nicht nur farblich, sondern auch semantisch sichtbar werden.
55
+
56
+ ## Form Controls UX ab WP-E11-08
57
+
58
+ `<x-input>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil bindet Label, Hint, Error, `input-changed`, `validation-failed`, `xinput-value-<id>`, `ui.user-blocking.input`, Fabric-Lane `user-blocking` und RMT Shell Authoring zusammen.
59
+
60
+ ---
61
+
62
+ ## Beispiel: Dynamisch per JS
63
+
64
+ ```js
65
+ const input = document.createElement('x-input');
66
+ input.value = 'Hallo';
67
+ document.body.appendChild(input);
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Styling & Theming
73
+
74
+ ```css
75
+ x-input {
76
+ --input-border: 1px solid #ccc;
77
+ --input-bg: #fff;
78
+ --input-bg-dark: #0f0f12;
79
+ --input-placeholder-color-dark: #b8c4d4;
80
+ }
81
+ ```
82
+
83
+ `<x-input>` nutzt automatisch `--xtend-surface` und `--xtend-text` aus `x-theme`. In `data-theme="dark"` wird ein dunkler Hintergrund ueber `--input-bg-dark`, `--xtend-control-bg-dark` oder den Theme-Surface-Fallback gesetzt, damit Text und Suchfelder in der Docs-App lesbar bleiben.
84
+
85
+ ---
86
+
87
+ ## Accessibility
88
+ - Label-Slot, ARIA, Form-Integration
89
+
90
+ ---
91
+
92
+ *Letzte Aktualisierung: 16. Juli 2025*
93
+
94
+ ## ECH-WP-08 Form Theme/A11y Hardening
95
+
96
+ `signatureDesign`: Praezises Enterprise-Textfeld mit ruhiger Flaeche, klarer Status-Typografie und dichter, aber lesbarer Form-Rhythmik.
97
+
98
+ | Token | Zweck |
99
+ | --- | --- |
100
+ | `--xtend-form-text` | Host-Textfarbe |
101
+ | `--xtend-form-control-surface` | Eingabeflaeche |
102
+ | `--xtend-form-control-text` | Eingabetext |
103
+ | `--xtend-form-label-text` | Label |
104
+ | `--xtend-form-helper-text` | Helper/Hinweis |
105
+ | `--xtend-form-error-text` | Fehlertext |
106
+ | `--xtend-form-error-surface` | Fehlerflaeche |
107
+ | `--xtend-form-error-border` | Fehlerkante und Marker |
108
+ | `--xtend-form-focus-ring` | Native Focus-Outline |
109
+ | `--xtend-form-radius` | Control- und Error-Radius |
110
+ | `--xtend-form-gap` | Label-, Helper- und Error-Abstand |
111
+ | `--xtend-form-font-family` | Form-Typografie |
112
+ | `--xtend-form-control-font-size` | Control-Schrift |
113
+ | `--xtend-form-helper-font-size` | Helper/Error-Schrift |
114
+ | `--xtend-form-icon-color` | Icon-/Affordance-Farbe fuer Controls mit Icon |
115
+
116
+ Density-Profile: `density="comfortable"`, `density="compact"` und `density="dense"`. Invalid/Error ist nicht farb-only: Control-Kante, innerer Ring und Error-Marker bleiben auch in Dark/Forced-Colors erkennbar.
117
+
118
+ ```css
119
+ [data-xtend-form-theme="enterprise-foreign"] x-input {
120
+ --xtend-form-control-surface: #fbf8f2;
121
+ --xtend-form-control-text: #16231f;
122
+ --xtend-form-label-text: #22312c;
123
+ --xtend-form-helper-text: #596861;
124
+ --xtend-form-error-text: #7d231c;
125
+ --xtend-form-error-border: #a64036;
126
+ --xtend-form-focus-ring: 3px solid #8f4f2a;
127
+ --xtend-form-radius: 0.35rem;
128
+ }
129
+ ```
@@ -0,0 +1,98 @@
1
+ # xlightbox – XTend Komponente
2
+
3
+ > **Siehe auch:** [xplayer](./xplayer.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-lightbox>` ist eine Komponente zur Anzeige von Bildern im viewportweiten Overlay. Sie unterstuetzt Trigger-Slots, API-gesteuertes Oeffnen, Escape Close, Focus Return und viewport-bounded Media-Skalierung.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Overlay für Bilder und Medien
13
+ - Trigger-Slot und globale Helper-API
14
+ - Keyboard-Support mit Escape Close
15
+ - Viewport-bounded Bildskalierung mit Body-Portal
16
+ - Theming via CSS Custom Properties
17
+
18
+ ---
19
+
20
+ ## Verwendung
21
+
22
+ ```html
23
+ <x-lightbox id="logo-lightbox" src="/assets/logo.png" alt="XTend Logo">
24
+ <x-button slot="trigger" variant="secondary">Logo ansehen</x-button>
25
+ </x-lightbox>
26
+
27
+ <img src="/assets/preview.jpg" data-xlightbox alt="Preview" />
28
+ ```
29
+
30
+ ---
31
+
32
+ ## Attribute
33
+ | Attribut | Typ | Beschreibung |
34
+ |-------------|---------|-------------------------------------|
35
+ | `src` | String | Bildquelle fuer Trigger, API und `data-xlightbox` |
36
+ | `open` | Boolean | oeffnet die Lightbox kontrolliert, sofern `src` gesetzt ist |
37
+ | `alt` | String | Alternativtext fuer das angezeigte Bild |
38
+
39
+ ---
40
+
41
+ ## Events
42
+ | Event | Beschreibung |
43
+ |---------------|-------------------------------------|
44
+ | `lightbox-opened` | Wird beim Oeffnen ausgelöst, Detail: `{ src }` |
45
+ | `lightbox-closed` | Wird beim Schliessen ausgelöst |
46
+
47
+ ---
48
+
49
+ ## API
50
+ - **Oeffnen:** `element.open(src)`
51
+ - **Schliessen:** `element.close()`
52
+ - **Globaler Helper:** `window.showLightbox(src)`
53
+ - **State:** `xlightbox-open-<id>`
54
+
55
+ `src` konfiguriert die Bildquelle, oeffnet die Lightbox aber nicht automatisch. Fuer direkte UI-Nutzung wird ein Element im Slot `trigger` verwendet. Beim Oeffnen portalt sich die Lightbox auf `document.body`, damit Overlay und Bild nicht von App-Shell-Containern, `main`, Cards oder transformierten Demo-Frames abgeschnitten werden.
56
+
57
+ ---
58
+
59
+ ## Beispiel: Dynamisch per JS
60
+
61
+ ```js
62
+ const lightbox = document.createElement('x-lightbox');
63
+ document.body.appendChild(lightbox);
64
+ lightbox.open('/assets/bild.jpg');
65
+ ```
66
+
67
+ ---
68
+
69
+ ## Styling & Theming
70
+
71
+ ```css
72
+ x-lightbox {
73
+ --lightbox-bg: rgba(0,0,0,0.9);
74
+ --lightbox-padding: clamp(0.75rem, 2vw, 2rem);
75
+ --lightbox-radius: 0.75rem;
76
+ }
77
+ ```
78
+
79
+ ---
80
+
81
+ ## Accessibility
82
+ - Fokus-Management, Keyboard-Navigation und Focus Return
83
+ - `role="dialog"`, `aria-modal="true"` und geschlossener Zustand mit `aria-hidden` und `inert`
84
+ - Bildskalierung via `object-fit: contain` und `max-height: calc(100dvh - padding)`
85
+
86
+ ---
87
+
88
+ *Letzte Aktualisierung: 16. Juli 2025*
89
+
90
+ ## Layout Display Media UX Profil
91
+
92
+ `x-lightbox` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente verbindet Overlay- und Media-Reife und nutzt den State-Key `xlightbox-open-<id>`.
93
+
94
+ - Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
95
+ - Schedule: `media.lazy.load`
96
+ - Events: `lightbox-opened`, `lightbox-closed`
97
+ - Snapshot: `snapshot()`
98
+ - CSS Parts: `overlay`, `content`, `close`, `media`
@@ -0,0 +1,109 @@
1
+ # xlink - XTend Komponente
2
+
3
+ ## Uebersicht
4
+
5
+ `<x-link>` ist die deklarative Link-Komponente fuer XTend-SPAs. Sie arbeitet mit `<x-router>` zusammen, erkennt Hash- und History-Mode und haelt den Active-State auch bei programmatischer Navigation aktuell.
6
+
7
+ ## Verwendung
8
+
9
+ ```html
10
+ <x-link href="/docs">Zur Dokumentation</x-link>
11
+ <x-link href="https://example.com">Externer Link</x-link>
12
+ ```
13
+
14
+ ## Attribute
15
+
16
+ | Attribut | Typ | Beschreibung |
17
+ |----------|-----|--------------|
18
+ | `href` | string | Zielpfad oder externe URL |
19
+ | `active` | boolean | wird gesetzt, wenn der Link aktuell aktiv ist |
20
+ | `state` | string | optionales JSON fuer `history.pushState()` |
21
+
22
+ ## Events
23
+
24
+ | Event | Beschreibung |
25
+ |-------|--------------|
26
+ | `before-navigate` | cancelable, vor der Navigation |
27
+ | `after-navigate` | nach erfolgreicher Navigation |
28
+
29
+ `before-navigate` und `after-navigate` liefern:
30
+
31
+ ```js
32
+ {
33
+ href: '/docs',
34
+ mode: 'history',
35
+ state: { ... },
36
+ source: 'x-link',
37
+ stateKey: 'xlink-active-link-123',
38
+ scheduleRef: 'ui.user-blocking.navigation'
39
+ }
40
+ ```
41
+
42
+ ## Contract
43
+
44
+ - interne Links werden normalisiert und spa-konform navigiert
45
+ - externe Links behalten Standardverhalten und erhalten automatisch `target="_blank"` plus `rel="noopener noreferrer"`
46
+ - Active-State wird bei `popstate`, `hashchange`, `x-navigate` und `xrouter-after-navigate` aktualisiert
47
+ - aktive Links spiegeln `aria-current="page"` und `xlink-active-<id>`
48
+ - Enter und Space aktivieren denselben Navigationspfad
49
+ - lange Labels und slotted Icon-/Text-Inhalte bleiben overflow-sicher in engen Menüs, Sidebars und Header-Drawern
50
+
51
+ ## Navigation Routing UX Profil
52
+
53
+ `<x-link>` stellt `xtendNavigationRoutingUxProfile` mit `xtend.component.navigation-routing-ux-profile.v1` bereit. Das Profil beschreibt `x-link` als Router-Link mit `before-navigate`, `after-navigate`, `x-navigate`, `xlink-active-<id>`, `ui.user-blocking.navigation`, Active State, Keyboard-Aktivierung, Fabric-Lane `user-blocking` und RMT Shell Authoring.
54
+
55
+ Die Link-Komponente delegated Route Announcements an `x-router`, bleibt aber selbst fuer sichtbaren Active State, Keyboard-Aktivierung und sichere externe Links verantwortlich.
56
+
57
+ ## Overflow-Sicherheit
58
+
59
+ `x-link` ist fuer App-Shell-Navigation, Menues und Sidebars overflow-sicher. Der Host begrenzt sich auf den verfuegbaren Container, slotted Inhalte erhalten `min-width: 0`, und lange Labels duerfen umbrechen. Fuer bewusst einzeilige Links kann `--xtend-link-white-space: nowrap` gesetzt werden.
60
+
61
+ ## Hinweise
62
+
63
+ - der Router-Mode wird am ersten gefundenen `<x-router>` erkannt
64
+ - gleiche Zielpfade fuehren keinen redundanten URL-Wechsel aus
65
+ - `x-link` nutzt denselben Navigationsvertrag wie `x-router`
66
+
67
+ ## ECH-WP-09 Token-Tabelle und Navigation States
68
+
69
+ `signatureDesign`: `x-link` ist der kompakte Enterprise-Router-Link mit sichtbarem Current-Indikator und tokenisiertem Active/Disabled-Verhalten. Active/Current/Selected, Hover, Focus und Disabled muessen auch in dichten Headern, Sidebars und Menues lesbar bleiben.
70
+
71
+ | Token | Zweck |
72
+ | --- | --- |
73
+ | `--xtend-nav-surface` | Link-Surface |
74
+ | `--xtend-nav-text` | Link-Text |
75
+ | `--xtend-nav-border-color` | geteilte Navigationskante |
76
+ | `--xtend-nav-radius` | Link-Radius |
77
+ | `--xtend-nav-gap` | Abstand zwischen Icon und Label |
78
+ | `--xtend-nav-font-family` | Link-Typografie |
79
+ | `--xtend-nav-font-size` | Link-Textgroesse |
80
+ | `--xtend-nav-active-surface` | Active/Current/Selected Flaeche |
81
+ | `--xtend-nav-active-text` | Active/Current/Selected Text |
82
+ | `--xtend-nav-current-indicator` | nicht farb-only Current-Indikator |
83
+ | `--xtend-nav-hover-surface` | Hover-Flaeche |
84
+ | `--xtend-nav-focus-ring` | Tastaturfokus |
85
+ | `--xtend-nav-disabled-opacity` | Disabled-Dimmung |
86
+
87
+ ## ECH-WP-09 Keyboard-Verhalten
88
+
89
+ `Enter` und `Space` aktivieren interne Links ueber denselben Navigationspfad wie Click. Disabled Links entfernen den internen `href`, setzen `aria-disabled="true"` und sind nicht tastaturaktivierbar. Active/Current wird ueber `aria-current="page"` gespiegelt; Composite-Navigation kann `aria-selected="true"` auf dem Host ergaenzen.
90
+
91
+ ## ECH-WP-09 Fremdtheme
92
+
93
+ ```css
94
+ [data-xtend-nav-theme="enterprise-foreign"] x-link {
95
+ --xtend-nav-surface: transparent;
96
+ --xtend-nav-text: #17231f;
97
+ --xtend-nav-border-color: transparent;
98
+ --xtend-nav-radius: 0.3rem;
99
+ --xtend-nav-gap: 0.4rem;
100
+ --xtend-nav-font-family: "Aptos", "Segoe UI", sans-serif;
101
+ --xtend-nav-font-size: 0.96rem;
102
+ --xtend-nav-active-surface: rgba(181, 107, 53, 0.16);
103
+ --xtend-nav-active-text: #173f35;
104
+ --xtend-nav-current-indicator: #b56b35;
105
+ --xtend-nav-hover-surface: rgba(181, 107, 53, 0.1);
106
+ --xtend-nav-focus-ring: 3px solid #b56b35;
107
+ --xtend-nav-disabled-opacity: 0.44;
108
+ }
109
+ ```