@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,82 @@
1
+ # xcalendar – XTend Komponente
2
+
3
+ > **Siehe auch:** [xcards](./xcards.md), [xform](./xform.md), [xstate](./xstate.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-calendar>` ist ein moderner, barrierearmer Kalender mit Form-Integration, State-Management und Theming. Er eignet sich für Datumsauswahl und Terminverwaltung.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Form-assoziiert (HTML5 Form API)
13
+ - State-Integration via xstate
14
+ - Theming via CSS Custom Properties
15
+ - Responsive Design
16
+
17
+ ---
18
+
19
+ ## Verwendung
20
+
21
+ ```html
22
+ <x-calendar></x-calendar>
23
+ ```
24
+
25
+ ---
26
+
27
+ ## Attribute
28
+ | Attribut | Typ | Beschreibung |
29
+ |-------------|---------|-------------------------------------|
30
+ | `value` | String | Ausgewähltes Datum (ISO-Format) |
31
+
32
+ ---
33
+
34
+ ## Events
35
+ | Event | Beschreibung |
36
+ |---------------|-------------------------------------|
37
+ | `change` | Wird bei Datumsauswahl ausgelöst |
38
+ | `date-select` | aktueller XTend-Contract bei Datumsauswahl, Detail: `{ value, date }` |
39
+
40
+ ---
41
+
42
+ ## API
43
+ - **Wert setzen/lesen:** `element.value = '2025-07-16'`
44
+ - **State-Integration:** Automatisch via xstate
45
+
46
+ ## Component-Level-Contract ab ER-WP-33
47
+
48
+ `<x-calendar>` ist form-associated, schreibt Auswahl und View-Date nach `xcalendar-state-<id>` und rendert die Monatsansicht als ARIA-Grid. Tageszellen nutzen `role="gridcell"` und `aria-selected`; Monatsnavigation wird ueber beschriftete Buttons angeboten.
49
+
50
+ ## Form Controls UX ab WP-E11-08
51
+
52
+ `<x-calendar>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil verbindet Datumsauswahl, `date-select`, `xcalendar-state-<id>`, `ui.user-blocking.input`, Grid-A11y, Fabric-Lane `user-blocking` und RMT Shell Authoring.
53
+
54
+ ---
55
+
56
+ ## Beispiel: Dynamisch per JS
57
+
58
+ ```js
59
+ const cal = document.createElement('x-calendar');
60
+ cal.value = '2025-07-16';
61
+ document.body.appendChild(cal);
62
+ ```
63
+
64
+ ---
65
+
66
+ ## Styling & Theming
67
+
68
+ ```css
69
+ x-calendar {
70
+ --border-color: #ccc;
71
+ --background-color: #fff;
72
+ }
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Accessibility
78
+ - ARIA-Rollen, Keyboard-Navigation
79
+
80
+ ---
81
+
82
+ *Letzte Aktualisierung: 16. Juli 2025*
@@ -0,0 +1,128 @@
1
+ # xcards – XTend Komponente
2
+
3
+ > **Siehe auch:** [xmasonry](./xmasonry.md), [xcalendar](./xcalendar.md), [xstate](./xstate.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-cards>` ist ein flexibles Grid-Layout für beliebige Inhalte. Es unterstützt Responsive Design, Theming und State-Integration.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Grid-Layout mit variabler Spaltenzahl
13
+ - Responsive (1 Spalte auf Mobilgeräten)
14
+ - Theming via CSS Custom Properties
15
+ - State-Integration via xstate
16
+
17
+ ---
18
+
19
+ ## Verwendung
20
+
21
+ ```html
22
+ <x-cards columns="4" gap="2rem">
23
+ <div>Card 1</div>
24
+ <div>Card 2</div>
25
+ </x-cards>
26
+ ```
27
+
28
+ ---
29
+
30
+ ## Attribute
31
+ | Attribut | Typ | Beschreibung |
32
+ |-------------|---------|-------------------------------------|
33
+ | `columns` | Number | Anzahl der Spalten (default: 3) |
34
+ | `gap` | String | Abstand zwischen Karten (default: 1.5rem) |
35
+
36
+ ---
37
+
38
+ ## Events
39
+ | Event | Beschreibung |
40
+ |---------------|-------------------------------------|
41
+ | – | – |
42
+
43
+ ---
44
+
45
+ ## API
46
+ - **Spalten dynamisch setzen:** `element.setAttribute('columns', 2)`
47
+ - **State-Integration:** Automatisch via xstate
48
+
49
+ ---
50
+
51
+ ## Beispiel: Dynamisch per JS
52
+
53
+ ```js
54
+ const cards = document.createElement('x-cards');
55
+ cards.setAttribute('columns', 2);
56
+ document.body.appendChild(cards);
57
+ ```
58
+
59
+ ---
60
+
61
+ ## Styling & Theming
62
+
63
+ ```css
64
+ x-cards {
65
+ --card-columns: 4;
66
+ --card-gap: 2rem;
67
+ }
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Accessibility
73
+ - Grid-Rolle, semantisches HTML
74
+
75
+ ---
76
+
77
+ *Letzte Aktualisierung: 16. Juli 2025*
78
+
79
+ ## Layout Display Media UX Profil
80
+
81
+ `x-cards` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente beschreibt ein responsive Card-Grid fuer RMT Shell Authoring und nutzt den State-Key `xcards-state-<id>`.
82
+
83
+ - Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
84
+ - Schedule: `layout.reflow.commit`
85
+ - Event: `cards-layout`
86
+ - Snapshot: `snapshot()`
87
+ - CSS Parts: `root`, `grid`, `item`
88
+
89
+ ## ECH-WP-07 Token-Tabelle und signatureDesign
90
+
91
+ `signatureDesign`: Eigenstaendiger Enterprise-Card-Rhythmus mit tokenisiertem Glas, Kante, Tiefe und Typografie. Das Default-Grid soll nicht wie ein generisches SaaS-Kartenraster wirken und trotzdem voll themebar bleiben.
92
+
93
+ | Token | Zweck |
94
+ | --- | --- |
95
+ | `--xtend-layout-surface` | Card-Flaeche |
96
+ | `--xtend-layout-text` | Card-Textfarbe |
97
+ | `--xtend-layout-border-color` | Card-Kante |
98
+ | `--xtend-layout-radius` | Card-Radius |
99
+ | `--xtend-layout-elevation` | Card-Schatten |
100
+ | `--xtend-layout-spacing` | Card-Padding |
101
+ | `--xtend-layout-gap` | Grid-Abstand |
102
+ | `--xtend-layout-font-family` | Card-Typografie |
103
+ | `--xtend-layout-font-size` | Card-Textgroesse |
104
+ | `--xtend-layout-media-radius` | Bild-/Medienradius |
105
+ | `--xtend-layout-focus-ring` | Card-Fokus |
106
+ | `--xtend-layout-grid-min` | Grid-Untergrenze |
107
+ | `--xtend-layout-content-max` | Grid-Maximalbreite |
108
+
109
+ ## ECH-WP-07 Fremdtheme
110
+
111
+ ```css
112
+ [data-xtend-layout-theme="enterprise-foreign"] x-cards,
113
+ [data-xtend-layout-theme="enterprise-foreign"] x-card {
114
+ --xtend-layout-surface: #f8f4ef;
115
+ --xtend-layout-text: #1b2823;
116
+ --xtend-layout-border-color: rgba(27, 40, 35, 0.18);
117
+ --xtend-layout-radius: 0.3rem;
118
+ --xtend-layout-elevation: 0 12px 30px rgba(27, 40, 35, 0.12);
119
+ --xtend-layout-spacing: 1.35rem;
120
+ --xtend-layout-gap: 1.1rem;
121
+ --xtend-layout-font-family: "Aptos", "Segoe UI", sans-serif;
122
+ --xtend-layout-font-size: 1rem;
123
+ --xtend-layout-media-radius: 0.25rem;
124
+ --xtend-layout-focus-ring: 3px solid #8f4f2a;
125
+ --xtend-layout-grid-min: minmax(15rem, 1fr);
126
+ --xtend-layout-content-max: 74rem;
127
+ }
128
+ ```
@@ -0,0 +1,102 @@
1
+ # xcheckbox – XTend Komponente
2
+
3
+ > **Siehe auch:** [xform](./xform.md), [xinput](./xinput.md), [xstate](./xstate.md)
4
+
5
+ ## Uebersicht
6
+
7
+ `<x-checkbox>` ist das TypeScript-first Binary-Control aus `WP-E10-09`. Es ist form-associated, unterstuetzt `checked` und `indeterminate`, meldet Aenderungen ueber XTend Events und kann von RMT als framework-agnostische UI-Komponente scheduled werden.
8
+
9
+ ## Verwendung
10
+
11
+ ```html
12
+ <x-checkbox id="terms" name="terms" required checked>
13
+ <span slot="label">Nutzungsbedingungen akzeptieren</span>
14
+ <span slot="error">Die Zustimmung ist erforderlich.</span>
15
+ </x-checkbox>
16
+ ```
17
+
18
+ ## Attribute
19
+
20
+ | Attribut | Typ | Beschreibung |
21
+ |----------|-----|--------------|
22
+ | `name` | String | Formularname |
23
+ | `value` | String | Formularwert bei aktivem Zustand, Standard `on` |
24
+ | `checked` | Boolean | aktueller Auswahlzustand |
25
+ | `indeterminate` | Boolean | visueller Mischzustand |
26
+ | `required` | Boolean | aktiviert Validierung |
27
+ | `disabled` | Boolean | deaktiviert das Control |
28
+ | `label` | String | ARIA-/Textlabel ohne Slot |
29
+
30
+ ## Slots
31
+
32
+ | Slot | Zweck |
33
+ |------|-------|
34
+ | `label` | sichtbares Label |
35
+ | `hint` | zusaetzlicher Hinweistext |
36
+ | `error` | Validierungsfehler |
37
+
38
+ ## Events
39
+
40
+ | Event | Detail |
41
+ |-------|--------|
42
+ | `checkbox-changed` | `{ checked, value, source: 'x-checkbox' }` |
43
+ | `checkbox-invalid` | `{ checked, value, message, source: 'x-checkbox' }` |
44
+
45
+ ## API
46
+
47
+ - `element.checked`
48
+ - `element.value`
49
+ - `element.indeterminate`
50
+ - `element.toggle()`
51
+ - `element.checkValidity()`
52
+ - `element.reportValidity()`
53
+ - `element.validate()`
54
+ - `element.reset()`
55
+ - `element.focus()`
56
+
57
+ ## State, RMT und Fabric
58
+
59
+ `<x-checkbox>` schreibt nach `xcheckbox-checked-<id>`. RMT sieht die Komponente ueber `xtend.rmt.component-contract.v1` als DOM-Descriptor und nicht als XTend-Kernel-Abhaengigkeit. Die Fabric-Metadaten binden Events an die `user-blocking` Lane und halten den Boundary-String `no-rmt-kernel-import-of-xtend-types` sichtbar.
60
+
61
+ ## A11y und Performance
62
+
63
+ Das Control spiegelt `aria-checked`, `aria-describedby`, `required` und `disabled` auf die native Checkbox. Das Performance-Profil nutzt `xtend.performance.component-profile.v1` mit `budgetClass: 'interactive-small'`, `lane: 'user-blocking'` und `hydrationPolicy: 'visible'`.
64
+
65
+ ## Form Controls UX ab WP-E11-08
66
+
67
+ `<x-checkbox>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil verbindet Label, Hint, Error, `checkbox-changed`, `checkbox-invalid`, `xcheckbox-checked-<id>`, `ui.user-blocking.input`, Fabric-Lane `user-blocking` und RMT Shell Authoring.
68
+
69
+ ## ECH-WP-08 Form Theme/A11y Hardening
70
+
71
+ `signatureDesign`: Taktile Enterprise-Checkbox mit nativer Zuverlaessigkeit, separat themebarer Selection-Affordance und statusfestem Helper/Error-Rhythmus.
72
+
73
+ | Token | Zweck |
74
+ | --- | --- |
75
+ | `--xtend-form-text` | Host-Textfarbe |
76
+ | `--xtend-form-control-surface` | Native Control-Flaeche |
77
+ | `--xtend-form-control-text` | Control-Text-Fallback |
78
+ | `--xtend-form-label-text` | Label |
79
+ | `--xtend-form-helper-text` | Helper |
80
+ | `--xtend-form-error-text` | Fehlertext |
81
+ | `--xtend-form-error-surface` | Fehlerflaeche |
82
+ | `--xtend-form-error-border` | Fehlerkante und Marker |
83
+ | `--xtend-form-focus-ring` | Focus-Outline |
84
+ | `--xtend-form-radius` | Native Control-/Error-Radius |
85
+ | `--xtend-form-gap` | Label-/Helper-Abstand |
86
+ | `--xtend-form-font-family` | Form-Typografie |
87
+ | `--xtend-form-control-font-size` | Label-Schrift |
88
+ | `--xtend-form-helper-font-size` | Helper/Error-Schrift |
89
+ | `--xtend-form-icon-color` | Checkbox-Akzent |
90
+
91
+ Density-Profile: `comfortable`, `compact`, `dense`. Invalid ist zusaetzlich zu Farbe durch Outline und Error-Marker erkennbar.
92
+
93
+ ```css
94
+ [data-xtend-form-theme="enterprise-foreign"] x-checkbox {
95
+ --xtend-form-icon-color: #8f4f2a;
96
+ --xtend-form-label-text: #22312c;
97
+ --xtend-form-helper-text: #596861;
98
+ --xtend-form-error-text: #7d231c;
99
+ --xtend-form-error-border: #a64036;
100
+ --xtend-form-focus-ring: 3px solid #8f4f2a;
101
+ }
102
+ ```
@@ -0,0 +1,126 @@
1
+ # xcode – XTend Komponente
2
+
3
+ > **Siehe auch:** [xwriter](./xwriter.md), [xstate](./xstate.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-code>` ist eine Komponente zur Anzeige und Bearbeitung von Quellcode mit Syntax-Highlighting, State-Integration und Theming.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Syntax-Highlighting (z.B. via Prism.js)
13
+ - Sprache wählbar (`lang`-Attribut)
14
+ - State-Integration via xstate
15
+ - Theming via CSS Custom Properties
16
+
17
+ ---
18
+
19
+ ## Verwendung
20
+
21
+ ```html
22
+ <x-code lang="js">
23
+ console.log('Hallo XTend!');
24
+ </x-code>
25
+ ```
26
+
27
+ ---
28
+
29
+ ## Attribute
30
+ | Attribut | Typ | Beschreibung |
31
+ |-------------|---------|-------------------------------------|
32
+ | `lang` | String | Programmiersprache (default: text) |
33
+
34
+ ---
35
+
36
+ ## Events
37
+ | Event | Beschreibung |
38
+ |---------------|-------------------------------------|
39
+ | – | – |
40
+
41
+ ---
42
+
43
+ ## API
44
+ - **Sprache setzen:** `element.setAttribute('lang', 'css')`
45
+ - **State-Integration:** Automatisch via xstate
46
+
47
+ ---
48
+
49
+ ## Beispiel: Dynamisch per JS
50
+
51
+ ```js
52
+ const code = document.createElement('x-code');
53
+ code.setAttribute('lang', 'html');
54
+ code.textContent = '<h1>Hallo</h1>';
55
+ document.body.appendChild(code);
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Styling & Theming
61
+
62
+ ```css
63
+ x-code {
64
+ --background: #222;
65
+ --color: #fff;
66
+ }
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Accessibility
72
+ - Semantisches HTML, Copy-Support
73
+
74
+ ---
75
+
76
+ *Letzte Aktualisierung: 16. Juli 2025*
77
+
78
+ ## Layout Display Media UX Profil
79
+
80
+ `x-code` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Code-Bloecke koennen damit als idle hydrierbare Display-Shell in RMT authoriert werden und nutzen den State-Key `xcode-state-<id>`.
81
+
82
+ - Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
83
+ - Schedule: `component.idle.hydrate`
84
+ - Event: `code-copied`
85
+ - Snapshot: `snapshot()`
86
+ - CSS Parts: `root`, `copy`, `pre`, `code`
87
+
88
+ ## ECH-WP-07 Token-Tabelle und signatureDesign
89
+
90
+ `signatureDesign`: Lesbare Enterprise-Codeflaeche mit klarem Copy-Control, internem Overflow und eigenstaendiger, themebarer Monospace-Persoenlichkeit. Docs-, IDE- und Corporate-Themes sollen ohne DOM-Aenderung funktionieren.
91
+
92
+ | Token | Zweck |
93
+ | --- | --- |
94
+ | `--xtend-layout-surface` | Code-Flaeche |
95
+ | `--xtend-layout-text` | Code-Textfarbe |
96
+ | `--xtend-layout-border-color` | Code- und Copy-Kante |
97
+ | `--xtend-layout-radius` | Code- und Copy-Radius |
98
+ | `--xtend-layout-elevation` | Code-Schatten |
99
+ | `--xtend-layout-spacing` | Code-Padding |
100
+ | `--xtend-layout-gap` | Theme-Abstand fuer Tooling |
101
+ | `--xtend-layout-font-family` | Monospace-/Code-Typografie |
102
+ | `--xtend-layout-font-size` | Code-Schriftgroesse |
103
+ | `--xtend-layout-media-radius` | Copy-Control-Radius |
104
+ | `--xtend-layout-focus-ring` | Copy-Control-Fokus |
105
+ | `--xtend-layout-grid-min` | Code-Layout-Untergrenze |
106
+ | `--xtend-layout-content-max` | Code-Maximalbreite |
107
+
108
+ ## ECH-WP-07 Fremdtheme
109
+
110
+ ```css
111
+ [data-xtend-layout-theme="enterprise-foreign"] x-code {
112
+ --xtend-layout-surface: #151b19;
113
+ --xtend-layout-text: #f7f1e7;
114
+ --xtend-layout-border-color: rgba(247, 241, 231, 0.18);
115
+ --xtend-layout-radius: 0.35rem;
116
+ --xtend-layout-elevation: 0 16px 40px rgba(21, 27, 25, 0.22);
117
+ --xtend-layout-spacing: 1.25rem 1.4rem;
118
+ --xtend-layout-gap: 0.75rem;
119
+ --xtend-layout-font-family: "Cascadia Code", "Fira Mono", monospace;
120
+ --xtend-layout-font-size: 0.95rem;
121
+ --xtend-layout-media-radius: 999px;
122
+ --xtend-layout-focus-ring: 3px solid #d48b57;
123
+ --xtend-layout-grid-min: minmax(0, 1fr);
124
+ --xtend-layout-content-max: 68rem;
125
+ }
126
+ ```
@@ -0,0 +1,92 @@
1
+ # xdialog - XTend Komponente
2
+
3
+ ## Uebersicht
4
+
5
+ `<x-dialog>` ist die state-getriebene Dialog-Komponente fuer XTend. Sie verbindet Attributsteuerung, `xstate`-Open-Flags und den aggregierten `ui.dialogs`-State zu einem gemeinsamen Overlay-Contract.
6
+
7
+ ## Verwendung
8
+
9
+ ```html
10
+ <x-dialog overlay title="Beispieldialog" width="400px">
11
+ <p>Inhalt</p>
12
+ <div slot="actions">
13
+ <button onclick="this.closest('x-dialog').close()">Schliessen</button>
14
+ </div>
15
+ </x-dialog>
16
+ ```
17
+
18
+ ## Attribute
19
+
20
+ | Attribut | Typ | Beschreibung |
21
+ |----------|-----|--------------|
22
+ | `open` | boolean | Dialog ist geoeffnet |
23
+ | `overlay` | boolean | zeigt einen Overlay-Hintergrund |
24
+ | `title` | string | Titelzeile des Dialogs |
25
+ | `width` | string | Zielbreite des Dialogs |
26
+ | `height` | string | Zielhoehe des Dialogs |
27
+
28
+ ## Slots
29
+
30
+ | Slot | Beschreibung |
31
+ |------|--------------|
32
+ | default | Hauptinhalt des Dialogs |
33
+ | `actions` | Aktionen im Footer |
34
+
35
+ ## Events
36
+
37
+ | Event | Beschreibung |
38
+ |-------|--------------|
39
+ | `dialog-opened` | nach erfolgreichem Oeffnen |
40
+ | `dialog-closed` | nach erfolgreichem Schliessen |
41
+
42
+ Die Events liefern:
43
+
44
+ ```js
45
+ {
46
+ id: 'dialog-abc123',
47
+ open: false,
48
+ source: 'button'
49
+ }
50
+ ```
51
+
52
+ ## API
53
+
54
+ - `element.open()`
55
+ - `element.close()`
56
+
57
+ API- und XState-gesteuerte Dialoge verwenden dieselben Open-Flags:
58
+
59
+ - `xtend.component.x-dialog.<id>.open`
60
+ - `dialog-open-<id>`
61
+ - `xdialog-open-<id>`
62
+
63
+ ## Runtime-Contract
64
+
65
+ - API-gemanagte Dialoge lesen Titel, Inhalt und Aktionen aus `xstate.get('ui').dialogs`
66
+ - Benutzerinteraktionen wie ESC, Overlay-Klick und Close-Button schreiben den Open-State zurueck
67
+ - API-gemanagte Dialoge entfernen sich nach dem Schliessen aus `ui.dialogs` und aus dem DOM
68
+
69
+ ## Hinweise
70
+
71
+ - direkte DOM-Nutzung ueber Slots bleibt unterstuetzt
72
+ - fuer API-gemanagte Dialoge ist `window.XDialog.show()` der bevorzugte Einstieg
73
+ - Fokusfalle, Rueckfokus und ARIA-Rollen sind Teil des Standardverhaltens
74
+
75
+ ## Overlay Interaction UX Profil
76
+
77
+ Seit `WP-E11-11` deklariert `<x-dialog>` das Runtime-Profil `xtend.component.overlay-interaction-ux-profile.v1` ueber `xtendOverlayInteractionUxProfile`.
78
+
79
+ | Feld | Wert |
80
+ |------|------|
81
+ | Family | `dialog` |
82
+ | State Key | `dialog-open-<id>` |
83
+ | Schedule | `overlay.stack.open` |
84
+ | Commands | `open`, `close`, `focus-trap`, `apply-inert`, `lock-scroll`, `snapshot` |
85
+
86
+ Das Profil standardisiert Focus Trap, Rueckfokus, Escape-Topmost-Regel, Background-Inert, balanced Scroll Lock und host-lokale Portal-Semantik. RMT kann den Dialog in Shell-first Templates planen, waehrend der RMT-Kernel durch `no-rmt-kernel-import-of-xtend-types` framework-agnostisch bleibt.
87
+
88
+ ## ECH-WP-06 Overlay-Paritaet
89
+
90
+ `x-dialog` expose `surface`, `backdrop`, `close` und `content` als gemeinsame Overlay-Parts. `overlay` bleibt als Alias fuer `backdrop` erhalten. Surface, Text, Backdrop, Elevation, Radius, Z-Index, Action-Farben, Close-Flaeche und Focus Ring sind ueber `--xtend-overlay-*`, `--dialog-*` oder `--xdialog-*` Tokens ueberschreibbar.
91
+
92
+ `x-dialog` ist modal: Focus Trap, Background-Inert, Scroll Lock, Escape und Rueckfokus bleiben im Standardpfad aktiv. Dialoge ohne `overlay` behalten die Surface-Parts, verzichten aber auf den visuellen Backdrop.
@@ -0,0 +1,84 @@
1
+ # xdrawer - XTend Komponente
2
+
3
+ > **Siehe auch:** [xpopover](./xpopover.md), [xtooltip](./xtooltip.md), [xrouter](./xrouter.md), [xlink](./xlink.md)
4
+
5
+ ## Uebersicht
6
+
7
+ `<x-drawer>` ist die Shell- und Navigationskomponente aus `WP-E10-11`. Sie liefert Side Panels und Navigation Drawer fuer RMT-first Apps, unterstuetzt Focus Trap, Escape Close, Outside Click und optional route-aware Verhalten.
8
+
9
+ ## Verwendung
10
+
11
+ ```html
12
+ <x-drawer id="app-nav" placement="left" modal label="App navigation" route-aware>
13
+ <button slot="trigger" type="button">Open navigation</button>
14
+ <strong slot="header">Navigation</strong>
15
+ <a href="#/overview">Overview</a>
16
+ <small slot="footer">Signed in</small>
17
+ </x-drawer>
18
+ ```
19
+
20
+ ## Attribute
21
+
22
+ | Attribut | Typ | Beschreibung |
23
+ |----------|-----|--------------|
24
+ | `open` | Boolean | oeffnet den Drawer kontrolliert |
25
+ | `placement` | String | `left`, `right` oder `bottom` |
26
+ | `modal` | Boolean | aktiviert Focus Trap und `aria-modal` |
27
+ | `label` | String | zugaenglicher Name fuer den Drawer |
28
+ | `route-aware` | Boolean | schliesst nach XRouter-Routenwechseln und emittiert Routensignal |
29
+
30
+ ## Events
31
+
32
+ | Event | Detail |
33
+ |-------|--------|
34
+ | `drawer-opened` | `{ id, open, source, placement, modal }` |
35
+ | `drawer-closed` | `{ id, open, source, placement, modal }` |
36
+ | `drawer-route-selected` | `{ id, routeRef, source: 'x-router' }` |
37
+
38
+ ## API
39
+
40
+ - `openDrawer()`
41
+ - `closeDrawer()`
42
+ - `toggle()`
43
+
44
+ ## Theme und Tokens
45
+
46
+ `<x-drawer>` synchronisiert `data-theme` vom `document.documentElement` und nutzt automatisch die globalen XTend-Tokens aus `x-theme`. Ohne eigene Drawer-Tokens fallen Hintergrund, Text, Border und Overlay auf `--xtend-surface`, `--xtend-text`, `--xtend-border-color` und `--xtend-overlay-bg` zurueck. Dadurch bleiben Navigation Drawer in Bright Mode und Dark Mode lesbar, auch wenn eine App Shell keine eigenen Drawer-Farben setzt.
47
+
48
+ | Token | Zweck |
49
+ |-------|-------|
50
+ | `--drawer-bg` / `--drawer-bg-dark` | Surface-Hintergrund |
51
+ | `--drawer-color` / `--drawer-color-dark` | Textfarbe |
52
+ | `--drawer-border` / `--drawer-border-dark` | Rahmen und Trenner |
53
+ | `--drawer-overlay-bg` / `--drawer-overlay-bg-dark` | Backdrop-Farbe |
54
+ | `--drawer-focus` | Focus-Ring |
55
+ | `--drawer-close-size` | Groesse des Close-Icon-Buttons |
56
+ | `--drawer-close-border` / `--drawer-close-color` | Rahmen und Icon-Farbe des Close-Buttons |
57
+ | `--drawer-close-hover-bg` / `--drawer-close-hover-bg-dark` | Hover-Flaeche des Close-Buttons |
58
+
59
+ ## State, RMT und Fabric
60
+
61
+ `<x-drawer>` schreibt nach `xdrawer-open-<id>`. Der RMT Contract ist `xtend.rmt.component-contract.v1` und nutzt `component.lazy.hydrate`, `route.visible.render` und `overlay.drawer.transition`. Der Kernel Boundary bleibt `no-rmt-kernel-import-of-xtend-types`.
62
+
63
+ ## A11y und Performance
64
+
65
+ Die Komponente nutzt `role="dialog"`, `aria-modal`, `aria-hidden`, `aria-expanded`, `inert`, Focus Trap und Focus Return. Beim Schliessen wird Fokus zuerst auf den Trigger oder das zuletzt aktive Element zurueckgegeben, bevor die Drawer-Surface vor Assistive Technology verborgen wird. Das Screenreader-Signal `route-change-announcement` ist fuer App-Shell-Navigation vorgesehen. Das Performance-Profil ist `xtend.performance.component-profile.v1` mit `budgetClass: 'overlay-large'`, `lane: 'visible'` und `hydrationPolicy: 'lazy'`.
66
+
67
+ ## Overlay Interaction UX Profil
68
+
69
+ Seit `WP-E11-11` deklariert `<x-drawer>` das Runtime-Profil `xtend.component.overlay-interaction-ux-profile.v1` ueber `xtendOverlayInteractionUxProfile`.
70
+
71
+ | Feld | Wert |
72
+ |------|------|
73
+ | Family | `drawer` |
74
+ | State Key | `xdrawer-open-<id>` |
75
+ | Schedule | `overlay.stack.open` |
76
+ | Commands | `open`, `close`, `toggle`, `focus-trap`, `apply-inert`, `lock-scroll`, `snapshot` |
77
+
78
+ Das Profil beschreibt Drawer als route-aware Overlay: modal optional, Focus Trap nur bei modalem Betrieb, Escape schliesst das oberste Overlay und XRouter-Routenwechsel duerfen den Drawer kontrolliert schliessen.
79
+
80
+ ## ECH-WP-06 Overlay-Paritaet
81
+
82
+ `x-drawer` nutzt die gemeinsamen Overlay-Part-Aliase `surface`, `backdrop`, `close` und `content`. `overlay` bleibt als Legacy-Alias fuer `backdrop` erhalten. Host-Themes koennen Surface, Text, Border, Elevation, Backdrop, Z-Index und Focus Ring ueber `--xtend-overlay-*` oder die kompatiblen `--drawer-*` Tokens steuern.
83
+
84
+ Modalitaet ist optional: `modal` aktiviert Focus Trap, Background-Inert und Scroll Lock; nicht-modale Drawer bleiben fuer App-Shell-Navigation offen steuerbar.