@ccslabs/xtend 0.1.0-rc.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +4 -0
  3. package/catalog/component-catalog-coverage.js +2 -0
  4. package/catalog/epic13-package-export-lock.js +11 -1
  5. package/catalog/epic13-rmt-production-readiness.js +0 -1
  6. package/catalog/epic18-rmt-action-effect-runtime.d.ts +36 -0
  7. package/catalog/epic18-rmt-action-effect-runtime.js +249 -0
  8. package/catalog/epic18-rmt-app-platform-authoring.d.ts +39 -0
  9. package/catalog/epic18-rmt-app-platform-authoring.js +319 -0
  10. package/catalog/epic18-rmt-app-platform-fixture.d.ts +33 -0
  11. package/catalog/epic18-rmt-app-platform-fixture.js +221 -0
  12. package/catalog/epic18-rmt-app-platform-release-handoff.d.ts +30 -0
  13. package/catalog/epic18-rmt-app-platform-release-handoff.js +231 -0
  14. package/catalog/epic18-rmt-app-platform-tooling.d.ts +38 -0
  15. package/catalog/epic18-rmt-app-platform-tooling.js +242 -0
  16. package/catalog/epic18-rmt-component-template-primitives.d.ts +33 -0
  17. package/catalog/epic18-rmt-component-template-primitives.js +240 -0
  18. package/catalog/epic18-rmt-dom-descriptor-renderer.d.ts +35 -0
  19. package/catalog/epic18-rmt-dom-descriptor-renderer.js +232 -0
  20. package/catalog/epic18-rmt-event-routing-runtime.d.ts +35 -0
  21. package/catalog/epic18-rmt-event-routing-runtime.js +234 -0
  22. package/catalog/epic18-rmt-state-selector-runtime.d.ts +34 -0
  23. package/catalog/epic18-rmt-state-selector-runtime.js +216 -0
  24. package/catalog/epic18-rmt-surface-resource-graph-runtime.d.ts +36 -0
  25. package/catalog/epic18-rmt-surface-resource-graph-runtime.js +256 -0
  26. package/catalog/surface-manager-controller.js +5 -1
  27. package/catalog/surface-manager-materialization.js +7 -1
  28. package/catalog/surface-manager-overlay-bridge.js +41 -6
  29. package/catalog/surface-manager-workbench-fixture.js +1 -1
  30. package/catalog/surface-type-capability-matrix.d.ts +61 -0
  31. package/catalog/surface-type-capability-matrix.js +183 -0
  32. package/catalog/type-exports-rmt.js +37 -1
  33. package/catalog/type-exports.js +3 -3
  34. package/components/icon-packs/lucide.js +4 -0
  35. package/components/manifest.json +2 -0
  36. package/components/prism-rmt.d.ts +34 -0
  37. package/components/prism-rmt.js +130 -0
  38. package/components/xcards.js +15 -0
  39. package/components/xcode.d.ts +36 -1
  40. package/components/xcode.js +215 -20
  41. package/components/xfooter.js +17 -0
  42. package/components/xheader.js +14 -0
  43. package/components/xhero.js +16 -1
  44. package/components/xlink.js +97 -14
  45. package/components/xmasonry.js +15 -0
  46. package/components/xplayer.d.ts +44 -2
  47. package/components/xplayer.js +242 -15
  48. package/components/xrouter.js +27 -2
  49. package/components/xsection.js +15 -0
  50. package/components/xsidepanel.js +10 -2
  51. package/components/xsurfacemanager-controller.d.ts +2 -1
  52. package/components/xsurfacemanager-controller.js +27 -3
  53. package/components/xsurfacemanager.d.ts +2 -0
  54. package/components/xsurfacemanager.js +20 -8
  55. package/components/xsurfaceoverlay-bridge.d.ts +20 -5
  56. package/components/xsurfaceoverlay-bridge.js +114 -18
  57. package/components/xsurfaceportal.d.ts +29 -0
  58. package/components/xsurfaceportal.js +122 -0
  59. package/components/xsurfaceregion.d.ts +50 -0
  60. package/components/xsurfaceregion.js +285 -0
  61. package/components/xsurfacewindow.js +2 -1
  62. package/components/xtooltip.js +89 -23
  63. package/docs/README.md +222 -298
  64. package/docs/changelog.md +107 -0
  65. package/docs/component-catalog-coverage.md +9 -9
  66. package/docs/component-platform.md +19 -1
  67. package/docs/component-ux-app-authoring.md +56 -63
  68. package/docs/components/xcode.md +83 -53
  69. package/docs/components/xsurfaceportal.md +32 -0
  70. package/docs/components/xsurfaceregion.md +37 -0
  71. package/docs/components.md +105 -69
  72. package/docs/de/README.md +264 -0
  73. package/docs/de/XTend-ADR.md +221 -0
  74. package/docs/de/a11y-keyboard-smokes.md +62 -0
  75. package/docs/de/about.md +18 -0
  76. package/docs/de/api.md +157 -0
  77. package/docs/de/best-practices.md +76 -0
  78. package/docs/de/changelog.md +107 -0
  79. package/docs/de/component-catalog-coverage.md +58 -0
  80. package/docs/de/component-lab.md +103 -0
  81. package/docs/de/component-long-tail-migration.md +41 -0
  82. package/docs/de/component-platform.md +177 -0
  83. package/docs/de/component-ux-app-authoring.md +123 -0
  84. package/docs/de/component-ux-authoring.md +96 -0
  85. package/docs/de/component-ux-gates.md +45 -0
  86. package/docs/de/components/x-rmt-lifecycle-demo-build.md +60 -0
  87. package/docs/de/components/xalert.md +81 -0
  88. package/docs/de/components/xbutton.md +103 -0
  89. package/docs/de/components/xcalendar.md +82 -0
  90. package/docs/de/components/xcards.md +128 -0
  91. package/docs/de/components/xcheckbox.md +102 -0
  92. package/docs/de/components/xcode.md +156 -0
  93. package/docs/de/components/xdialog.md +92 -0
  94. package/docs/de/components/xdrawer.md +84 -0
  95. package/docs/de/components/xfooter.md +126 -0
  96. package/docs/de/components/xform.md +128 -0
  97. package/docs/de/components/xheader.md +308 -0
  98. package/docs/de/components/xhero.md +142 -0
  99. package/docs/de/components/xicon.md +125 -0
  100. package/docs/de/components/xinput.md +129 -0
  101. package/docs/de/components/xlightbox.md +98 -0
  102. package/docs/de/components/xlink.md +109 -0
  103. package/docs/de/components/xmasonry.md +124 -0
  104. package/docs/de/components/xmenu.md +158 -0
  105. package/docs/de/components/xmodal.md +82 -0
  106. package/docs/de/components/xplayer.md +104 -0
  107. package/docs/de/components/xpopover.md +67 -0
  108. package/docs/de/components/xprogress.md +56 -0
  109. package/docs/de/components/xradio.md +103 -0
  110. package/docs/de/components/xrouter.md +260 -0
  111. package/docs/de/components/xsection.md +125 -0
  112. package/docs/de/components/xselect.md +105 -0
  113. package/docs/de/components/xsidepanel.md +30 -0
  114. package/docs/de/components/xspinner.md +102 -0
  115. package/docs/de/components/xstate.md +148 -0
  116. package/docs/de/components/xstatus.md +55 -0
  117. package/docs/de/components/xsummary.md +78 -0
  118. package/docs/de/components/xsurfacemanager.md +27 -0
  119. package/docs/de/components/xsurfacewindow.md +21 -0
  120. package/docs/de/components/xtabs.md +160 -0
  121. package/docs/de/components/xtextarea.md +98 -0
  122. package/docs/de/components/xtheme.md +167 -0
  123. package/docs/de/components/xtoast.md +62 -0
  124. package/docs/de/components/xtooltip.md +66 -0
  125. package/docs/de/components/xtype.md +82 -0
  126. package/docs/de/components/xutils.md +144 -0
  127. package/docs/de/components/xwriter.md +94 -0
  128. package/docs/de/components.md +153 -0
  129. package/docs/de/conditional-network-evidence-ci.md +38 -0
  130. package/docs/de/conditional-network-evidence.md +50 -0
  131. package/docs/de/core-migration-guide.md +110 -0
  132. package/docs/de/design-tokens.md +116 -0
  133. package/docs/de/docs-rmt-production-hardening.md +31 -0
  134. package/docs/de/enterprise-adoption.md +413 -0
  135. package/docs/de/enterprise-component-flex-release-handoff.md +129 -0
  136. package/docs/de/epic10-platform-gates.md +62 -0
  137. package/docs/de/epic10-release-handoff.md +81 -0
  138. package/docs/de/epic11-enterprise-ux-handoff.md +70 -0
  139. package/docs/de/epic12-rc0-handoff.md +61 -0
  140. package/docs/de/epic18-media-manager-vendor-upstream.md +318 -0
  141. package/docs/de/epic18-rmt-app-platform-release-handoff.md +67 -0
  142. package/docs/de/epic18-vendor-bugfixes.md +34 -0
  143. package/docs/de/existing-component-metadata.md +67 -0
  144. package/docs/de/hydration-performance-closure.md +34 -0
  145. package/docs/de/hydration-policies.md +71 -0
  146. package/docs/de/known-residual-triage.md +22 -0
  147. package/docs/de/manifest-import-policy.md +79 -0
  148. package/docs/de/manifest.md +112 -0
  149. package/docs/de/motion-contrast.md +67 -0
  150. package/docs/de/package-export-lock.md +44 -0
  151. package/docs/de/performance-measurements.md +106 -0
  152. package/docs/de/performance-regression.md +89 -0
  153. package/docs/de/performance.md +94 -0
  154. package/docs/de/previews/README.md +17 -0
  155. package/docs/de/prod-browser-csp-smokes.md +40 -0
  156. package/docs/de/public-component-types.md +79 -0
  157. package/docs/de/quick-start-guide.md +220 -0
  158. package/docs/de/rc0-adoption-guide.md +102 -0
  159. package/docs/de/rc0-gate-matrix.md +58 -0
  160. package/docs/de/rc1-gate-matrix-ci-handoff.md +56 -0
  161. package/docs/de/rc1-migration-notes.md +69 -0
  162. package/docs/de/rc1-readiness.md +46 -0
  163. package/docs/de/release-owner-acceptance.md +56 -0
  164. package/docs/de/release-report-pack-dry-run-evidence.md +39 -0
  165. package/docs/de/rmt-action-effect-runtime.md +81 -0
  166. package/docs/de/rmt-app-platform-authoring.md +54 -0
  167. package/docs/de/rmt-app-platform-fixture.md +46 -0
  168. package/docs/de/rmt-app-platform-migration-guide.md +88 -0
  169. package/docs/de/rmt-app-platform-tooling.md +79 -0
  170. package/docs/de/rmt-component-template-primitives.md +57 -0
  171. package/docs/de/rmt-dom-descriptor-renderer.md +64 -0
  172. package/docs/de/rmt-dsl-authoring-polish.md +145 -0
  173. package/docs/de/rmt-event-routing-runtime.md +81 -0
  174. package/docs/de/rmt-first-demo-app.md +77 -0
  175. package/docs/de/rmt-first-xtend-apps.md +129 -0
  176. package/docs/de/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
  177. package/docs/de/rmt-kernel-security-hardening-migration.md +50 -0
  178. package/docs/de/rmt-kernel-trusted-output-authoring.md +69 -0
  179. package/docs/de/rmt-language-server.md +234 -0
  180. package/docs/de/rmt-lifecycle-demo.md +24 -0
  181. package/docs/de/rmt-linter.md +140 -0
  182. package/docs/de/rmt-node-ssr-adapter.md +100 -0
  183. package/docs/de/rmt-php-ssr-adapter.md +120 -0
  184. package/docs/de/rmt-production-readiness.md +63 -0
  185. package/docs/de/rmt-state-selector-runtime.md +47 -0
  186. package/docs/de/rmt-surface-resource-graph-runtime.md +92 -0
  187. package/docs/de/rmt-tooling-release-gates.md +77 -0
  188. package/docs/de/rmt-vnext-authoring.md +170 -0
  189. package/docs/de/rmt-vnext-component-primitives.md +188 -0
  190. package/docs/de/rmt-vnext-cross-surface-events.md +68 -0
  191. package/docs/de/rmt-vnext-enterprise-mfe-handoff.md +70 -0
  192. package/docs/de/rmt-vnext-fabric-bridge-evidence.md +81 -0
  193. package/docs/de/rmt-vnext-migration-notes.md +62 -0
  194. package/docs/de/rmt-vnext-primitive-authoring-tooling.md +247 -0
  195. package/docs/de/rmt-vnext-primitive-grammar-design.md +289 -0
  196. package/docs/de/rmt-vnext-primitive-lowering.md +108 -0
  197. package/docs/de/rmt-vnext-primitive-migration.md +119 -0
  198. package/docs/de/rmt-vnext-primitive-parser-ast.md +76 -0
  199. package/docs/de/rmt-vnext-primitive-semantic-graph.md +118 -0
  200. package/docs/de/rmt-vnext-primitives-compiler-backlog.md +739 -0
  201. package/docs/de/rmt-vnext-release-handoff.md +83 -0
  202. package/docs/de/rmt-vnext-remote-surfaces.md +90 -0
  203. package/docs/de/rmt-vnext-source-to-sea-gate.md +612 -0
  204. package/docs/de/rmt-vnext-surface-registry-enterprise.md +76 -0
  205. package/docs/de/screenreader-signals.md +56 -0
  206. package/docs/de/supply-chain-gates.md +100 -0
  207. package/docs/de/surface-manager-authoring-guide.md +94 -0
  208. package/docs/de/surface-manager-browser-lab.md +45 -0
  209. package/docs/de/surface-manager-component-lab.md +43 -0
  210. package/docs/de/surface-manager-controller.md +66 -0
  211. package/docs/de/surface-manager-layout-engines.md +32 -0
  212. package/docs/de/surface-manager-lazy-hydration.md +63 -0
  213. package/docs/de/surface-manager-migration-guide.md +122 -0
  214. package/docs/de/surface-manager-native-rmt-surfaces.md +38 -0
  215. package/docs/de/surface-manager-overlay-bridge.md +53 -0
  216. package/docs/de/surface-manager-persistence.md +30 -0
  217. package/docs/de/surface-manager-quality-gates.md +51 -0
  218. package/docs/de/surface-manager-release-handoff.md +68 -0
  219. package/docs/de/surface-manager-remote-policy.md +54 -0
  220. package/docs/de/surface-manager-rmt-authoring.md +102 -0
  221. package/docs/de/surface-manager-route-lifecycle.md +59 -0
  222. package/docs/de/surface-manager-runtime-release-handoff.md +69 -0
  223. package/docs/de/surface-manager-side-panel-runtime.md +36 -0
  224. package/docs/de/surface-manager-stack-policy.md +39 -0
  225. package/docs/de/surface-manager-window-runtime.md +47 -0
  226. package/docs/de/surface-manager-workbench-fixture.md +43 -0
  227. package/docs/de/third-party-design-authoring.md +406 -0
  228. package/docs/de/trusted-dom-boundary-browser-proof.md +32 -0
  229. package/docs/de/trusted-dom-sanitizing.md +110 -0
  230. package/docs/de/type-exports.md +61 -0
  231. package/docs/de/typescript-components.md +63 -0
  232. package/docs/de/visual-browser-regression.md +83 -0
  233. package/docs/de/visual-owner-artifacts.md +46 -0
  234. package/docs/de/visual-snapshot-automation.md +87 -0
  235. package/docs/de/xtend-api-types.md +55 -0
  236. package/docs/de/xtend-builder-types.md +55 -0
  237. package/docs/de/xtend-catalog-types.md +44 -0
  238. package/docs/de/xtend-fabric-rmt-lane-mapping.md +143 -0
  239. package/docs/de/xtend-fabric.md +474 -0
  240. package/docs/de/xtend-loader-types.md +58 -0
  241. package/docs/de/xtend-loader.md +265 -0
  242. package/docs/de/xtend-policy-types.md +38 -0
  243. package/docs/de/xtend-rmt-types.md +40 -0
  244. package/docs/de/xtend-vendor-types.md +36 -0
  245. package/docs/de/xtendrmt-app-dsl.md +334 -0
  246. package/docs/de/xtendrmt-migration-guide.md +266 -0
  247. package/docs/de/xtendrmt-native-authoring.md +333 -0
  248. package/docs/de/xtendrmt-overview.md +109 -0
  249. package/docs/de/xtendrmt-parsedown-scheduling.md +301 -0
  250. package/docs/de/xtendrmt-runtime-bridge.md +155 -0
  251. package/docs/en/README.md +163 -0
  252. package/docs/en/XTend-ADR.md +221 -0
  253. package/docs/en/a11y-keyboard-smokes.md +68 -0
  254. package/docs/en/about.md +25 -0
  255. package/docs/en/api.md +171 -0
  256. package/docs/en/best-practices.md +125 -0
  257. package/docs/en/changelog.md +104 -0
  258. package/docs/en/component-catalog-coverage.md +104 -0
  259. package/docs/en/component-lab.md +103 -0
  260. package/docs/en/component-long-tail-migration.md +41 -0
  261. package/docs/en/component-platform.md +243 -0
  262. package/docs/en/component-ux-app-authoring.md +118 -0
  263. package/docs/en/component-ux-authoring.md +96 -0
  264. package/docs/en/component-ux-gates.md +45 -0
  265. package/docs/en/components/x-rmt-lifecycle-demo-build.md +75 -0
  266. package/docs/en/components/xalert.md +94 -0
  267. package/docs/en/components/xbutton.md +118 -0
  268. package/docs/en/components/xcalendar.md +95 -0
  269. package/docs/en/components/xcards.md +139 -0
  270. package/docs/en/components/xcheckbox.md +118 -0
  271. package/docs/en/components/xcode.md +153 -0
  272. package/docs/en/components/xdialog.md +108 -0
  273. package/docs/en/components/xdrawer.md +110 -0
  274. package/docs/en/components/xfooter.md +138 -0
  275. package/docs/en/components/xform.md +147 -0
  276. package/docs/en/components/xheader.md +308 -0
  277. package/docs/en/components/xhero.md +157 -0
  278. package/docs/en/components/xicon.md +149 -0
  279. package/docs/en/components/xinput.md +147 -0
  280. package/docs/en/components/xlightbox.md +113 -0
  281. package/docs/en/components/xlink.md +130 -0
  282. package/docs/en/components/xmasonry.md +136 -0
  283. package/docs/en/components/xmenu.md +185 -0
  284. package/docs/en/components/xmodal.md +102 -0
  285. package/docs/en/components/xplayer.md +114 -0
  286. package/docs/en/components/xpopover.md +87 -0
  287. package/docs/en/components/xprogress.md +73 -0
  288. package/docs/en/components/xradio.md +119 -0
  289. package/docs/en/components/xrouter.md +260 -0
  290. package/docs/en/components/xsection.md +136 -0
  291. package/docs/en/components/xselect.md +122 -0
  292. package/docs/en/components/xsidepanel.md +48 -0
  293. package/docs/en/components/xspinner.md +118 -0
  294. package/docs/en/components/xstate.md +163 -0
  295. package/docs/en/components/xstatus.md +71 -0
  296. package/docs/en/components/xsummary.md +90 -0
  297. package/docs/en/components/xsurfacemanager.md +42 -0
  298. package/docs/en/components/xsurfacewindow.md +31 -0
  299. package/docs/en/components/xtabs.md +187 -0
  300. package/docs/en/components/xtextarea.md +115 -0
  301. package/docs/en/components/xtheme.md +203 -0
  302. package/docs/en/components/xtoast.md +78 -0
  303. package/docs/en/components/xtooltip.md +85 -0
  304. package/docs/en/components/xtype.md +91 -0
  305. package/docs/en/components/xutils.md +161 -0
  306. package/docs/en/components/xwriter.md +106 -0
  307. package/docs/en/components.md +151 -0
  308. package/docs/en/conditional-network-evidence-ci.md +38 -0
  309. package/docs/en/conditional-network-evidence.md +50 -0
  310. package/docs/en/core-migration-guide.md +110 -0
  311. package/docs/en/design-tokens.md +137 -0
  312. package/docs/en/docs-rmt-production-hardening.md +31 -0
  313. package/docs/en/enterprise-adoption.md +413 -0
  314. package/docs/en/enterprise-component-flex-release-handoff.md +129 -0
  315. package/docs/en/epic10-platform-gates.md +62 -0
  316. package/docs/en/epic10-release-handoff.md +81 -0
  317. package/docs/en/epic11-enterprise-ux-handoff.md +70 -0
  318. package/docs/en/epic12-rc0-handoff.md +61 -0
  319. package/docs/en/epic18-media-manager-vendor-upstream.md +232 -0
  320. package/docs/en/epic18-rmt-app-platform-release-handoff.md +60 -0
  321. package/docs/en/epic18-vendor-bugfixes.md +29 -0
  322. package/docs/en/existing-component-metadata.md +67 -0
  323. package/docs/en/hydration-performance-closure.md +34 -0
  324. package/docs/en/hydration-policies.md +75 -0
  325. package/docs/en/known-residual-triage.md +22 -0
  326. package/docs/en/manifest-import-policy.md +81 -0
  327. package/docs/en/manifest.md +135 -0
  328. package/docs/en/motion-contrast.md +67 -0
  329. package/docs/en/package-export-lock.md +44 -0
  330. package/docs/en/performance-measurements.md +106 -0
  331. package/docs/en/performance-regression.md +89 -0
  332. package/docs/en/performance.md +132 -0
  333. package/docs/en/previews/README.md +17 -0
  334. package/docs/en/prod-browser-csp-smokes.md +40 -0
  335. package/docs/en/public-component-types.md +79 -0
  336. package/docs/en/quick-start-guide.md +189 -0
  337. package/docs/en/rc0-adoption-guide.md +102 -0
  338. package/docs/en/rc0-gate-matrix.md +58 -0
  339. package/docs/en/rc1-gate-matrix-ci-handoff.md +56 -0
  340. package/docs/en/rc1-migration-notes.md +69 -0
  341. package/docs/en/rc1-readiness.md +46 -0
  342. package/docs/en/release-owner-acceptance.md +56 -0
  343. package/docs/en/release-report-pack-dry-run-evidence.md +39 -0
  344. package/docs/en/rmt-action-effect-runtime.md +101 -0
  345. package/docs/en/rmt-app-platform-authoring.md +47 -0
  346. package/docs/en/rmt-app-platform-fixture.md +35 -0
  347. package/docs/en/rmt-app-platform-migration-guide.md +75 -0
  348. package/docs/en/rmt-app-platform-tooling.md +58 -0
  349. package/docs/en/rmt-component-template-primitives.md +49 -0
  350. package/docs/en/rmt-dom-descriptor-renderer.md +54 -0
  351. package/docs/en/rmt-dsl-authoring-polish.md +143 -0
  352. package/docs/en/rmt-event-routing-runtime.md +98 -0
  353. package/docs/en/rmt-first-demo-app.md +87 -0
  354. package/docs/en/rmt-first-xtend-apps.md +127 -0
  355. package/docs/en/rmt-kernel-panic-recovery-incident-handoff.md +60 -0
  356. package/docs/en/rmt-kernel-security-hardening-migration.md +49 -0
  357. package/docs/en/rmt-kernel-trusted-output-authoring.md +68 -0
  358. package/docs/en/rmt-language-server.md +243 -0
  359. package/docs/en/rmt-lifecycle-demo.md +23 -0
  360. package/docs/en/rmt-linter.md +146 -0
  361. package/docs/en/rmt-node-ssr-adapter.md +99 -0
  362. package/docs/en/rmt-php-ssr-adapter.md +118 -0
  363. package/docs/en/rmt-production-readiness.md +63 -0
  364. package/docs/en/rmt-state-selector-runtime.md +34 -0
  365. package/docs/en/rmt-surface-resource-graph-runtime.md +68 -0
  366. package/docs/en/rmt-tooling-release-gates.md +77 -0
  367. package/docs/en/rmt-vnext-authoring.md +102 -0
  368. package/docs/en/rmt-vnext-component-primitives.md +185 -0
  369. package/docs/en/rmt-vnext-cross-surface-events.md +59 -0
  370. package/docs/en/rmt-vnext-enterprise-mfe-handoff.md +62 -0
  371. package/docs/en/rmt-vnext-fabric-bridge-evidence.md +64 -0
  372. package/docs/en/rmt-vnext-migration-notes.md +62 -0
  373. package/docs/en/rmt-vnext-primitive-authoring-tooling.md +174 -0
  374. package/docs/en/rmt-vnext-primitive-grammar-design.md +268 -0
  375. package/docs/en/rmt-vnext-primitive-lowering.md +91 -0
  376. package/docs/en/rmt-vnext-primitive-migration.md +93 -0
  377. package/docs/en/rmt-vnext-primitive-parser-ast.md +59 -0
  378. package/docs/en/rmt-vnext-primitive-semantic-graph.md +103 -0
  379. package/docs/en/rmt-vnext-primitives-compiler-backlog.md +327 -0
  380. package/docs/en/rmt-vnext-release-handoff.md +83 -0
  381. package/docs/en/rmt-vnext-remote-surfaces.md +81 -0
  382. package/docs/en/rmt-vnext-source-to-sea-gate.md +482 -0
  383. package/docs/en/rmt-vnext-surface-registry-enterprise.md +68 -0
  384. package/docs/en/screenreader-signals.md +56 -0
  385. package/docs/en/supply-chain-gates.md +106 -0
  386. package/docs/en/surface-manager-authoring-guide.md +94 -0
  387. package/docs/en/surface-manager-browser-lab.md +45 -0
  388. package/docs/en/surface-manager-component-lab.md +43 -0
  389. package/docs/en/surface-manager-controller.md +66 -0
  390. package/docs/en/surface-manager-layout-engines.md +32 -0
  391. package/docs/en/surface-manager-lazy-hydration.md +63 -0
  392. package/docs/en/surface-manager-migration-guide.md +113 -0
  393. package/docs/en/surface-manager-native-rmt-surfaces.md +38 -0
  394. package/docs/en/surface-manager-overlay-bridge.md +53 -0
  395. package/docs/en/surface-manager-persistence.md +30 -0
  396. package/docs/en/surface-manager-quality-gates.md +51 -0
  397. package/docs/en/surface-manager-release-handoff.md +68 -0
  398. package/docs/en/surface-manager-remote-policy.md +54 -0
  399. package/docs/en/surface-manager-rmt-authoring.md +89 -0
  400. package/docs/en/surface-manager-route-lifecycle.md +59 -0
  401. package/docs/en/surface-manager-runtime-release-handoff.md +69 -0
  402. package/docs/en/surface-manager-side-panel-runtime.md +36 -0
  403. package/docs/en/surface-manager-stack-policy.md +39 -0
  404. package/docs/en/surface-manager-window-runtime.md +47 -0
  405. package/docs/en/surface-manager-workbench-fixture.md +43 -0
  406. package/docs/en/third-party-design-authoring.md +406 -0
  407. package/docs/en/trusted-dom-boundary-browser-proof.md +32 -0
  408. package/docs/en/trusted-dom-sanitizing.md +124 -0
  409. package/docs/en/type-exports.md +61 -0
  410. package/docs/en/typescript-components.md +63 -0
  411. package/docs/en/visual-browser-regression.md +83 -0
  412. package/docs/en/visual-owner-artifacts.md +46 -0
  413. package/docs/en/visual-snapshot-automation.md +87 -0
  414. package/docs/en/xtend-api-types.md +55 -0
  415. package/docs/en/xtend-builder-types.md +55 -0
  416. package/docs/en/xtend-catalog-types.md +44 -0
  417. package/docs/en/xtend-fabric-rmt-lane-mapping.md +143 -0
  418. package/docs/en/xtend-fabric.md +474 -0
  419. package/docs/en/xtend-loader-types.md +58 -0
  420. package/docs/en/xtend-loader.md +265 -0
  421. package/docs/en/xtend-policy-types.md +38 -0
  422. package/docs/en/xtend-rmt-types.md +40 -0
  423. package/docs/en/xtend-vendor-types.md +36 -0
  424. package/docs/en/xtendrmt-app-dsl.md +331 -0
  425. package/docs/en/xtendrmt-migration-guide.md +256 -0
  426. package/docs/en/xtendrmt-native-authoring.md +336 -0
  427. package/docs/en/xtendrmt-overview.md +63 -0
  428. package/docs/en/xtendrmt-parsedown-scheduling.md +301 -0
  429. package/docs/en/xtendrmt-runtime-bridge.md +155 -0
  430. package/docs/enterprise-adoption.md +4 -2
  431. package/docs/epic18-media-manager-vendor-upstream.md +318 -0
  432. package/docs/epic18-rmt-app-platform-release-handoff.md +67 -0
  433. package/docs/epic18-vendor-bugfixes.md +34 -0
  434. package/docs/index.php +1056 -109
  435. package/docs/manifest.md +8 -2
  436. package/docs/menu.json +986 -133
  437. package/docs/package-export-lock.md +2 -2
  438. package/docs/public-component-types.md +2 -2
  439. package/docs/quick-start-guide.md +126 -58
  440. package/docs/rmt-action-effect-runtime.md +101 -0
  441. package/docs/rmt-app-platform-authoring.md +54 -0
  442. package/docs/rmt-app-platform-fixture.md +46 -0
  443. package/docs/rmt-app-platform-migration-guide.md +88 -0
  444. package/docs/rmt-app-platform-tooling.md +79 -0
  445. package/docs/rmt-component-template-primitives.md +57 -0
  446. package/docs/rmt-dom-descriptor-renderer.md +64 -0
  447. package/docs/rmt-dsl-authoring-polish.md +67 -44
  448. package/docs/rmt-event-routing-runtime.md +98 -0
  449. package/docs/rmt-first-demo-app.md +2 -2
  450. package/docs/rmt-first-xtend-apps.md +70 -46
  451. package/docs/rmt-language-server.md +61 -4
  452. package/docs/rmt-lifecycle-demo.md +1 -2
  453. package/docs/rmt-node-ssr-adapter.md +144 -0
  454. package/docs/rmt-php-ssr-adapter.md +158 -0
  455. package/docs/rmt-state-selector-runtime.md +47 -0
  456. package/docs/rmt-surface-resource-graph-runtime.md +92 -0
  457. package/docs/rmt-vnext-authoring.md +128 -18
  458. package/docs/rmt-vnext-component-primitives.md +188 -0
  459. package/docs/rmt-vnext-fabric-bridge-evidence.md +81 -0
  460. package/docs/rmt-vnext-primitive-authoring-tooling.md +247 -0
  461. package/docs/rmt-vnext-primitive-grammar-design.md +289 -0
  462. package/docs/rmt-vnext-primitive-lowering.md +108 -0
  463. package/docs/rmt-vnext-primitive-migration.md +119 -0
  464. package/docs/rmt-vnext-primitive-parser-ast.md +76 -0
  465. package/docs/rmt-vnext-primitive-semantic-graph.md +118 -0
  466. package/docs/rmt-vnext-primitives-compiler-backlog.md +742 -0
  467. package/docs/rmt-vnext-release-handoff.md +14 -0
  468. package/docs/rmt-vnext-source-to-sea-gate.md +629 -0
  469. package/docs/surface-manager-migration-guide.md +34 -6
  470. package/docs/surface-manager-overlay-bridge.md +9 -4
  471. package/docs/surface-manager-rmt-authoring.md +50 -34
  472. package/docs/surface-manager-workbench-fixture.md +1 -2
  473. package/docs/third-party-design-authoring.md +1 -1
  474. package/docs/type-exports.md +3 -3
  475. package/docs/utils/pageloader.js +811 -62
  476. package/docs/visual-browser-regression.md +1 -1
  477. package/docs/xtend-rmt-types.md +3 -2
  478. package/docs/xtendrmt-app-dsl.md +187 -122
  479. package/docs/xtendrmt-docs-shell-vnext.rmt +165 -0
  480. package/docs/xtendrmt-migration-guide.md +48 -17
  481. package/docs/xtendrmt-native-authoring.md +213 -217
  482. package/docs/xtendrmt-overview.md +81 -61
  483. package/docs/xtendrmt-parsedown-scheduling.md +23 -8
  484. package/fabric/package.json +1 -1
  485. package/package.json +684 -21
  486. package/tools/package.json +5 -1
  487. package/tools/rmt-editor/vscode/README.md +72 -5
  488. package/tools/rmt-editor/vscode/XTend-Logo.png +0 -0
  489. package/tools/rmt-editor/vscode/extension.d.ts +33 -0
  490. package/tools/rmt-editor/vscode/extension.js +1816 -7
  491. package/tools/rmt-editor/vscode/language-configuration.json +2 -1
  492. package/tools/rmt-editor/vscode/package.json +193 -2
  493. package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +41 -0
  494. package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +103 -1
  495. package/tools/rmt-editor/vscode/templates/launch.json +70 -0
  496. package/tools/rmt-editor/vscode/templates/tasks.json +172 -0
  497. package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
  498. package/tools/rmt-language/app-platform-tooling.d.ts +128 -0
  499. package/tools/rmt-language/app-platform-tooling.js +677 -0
  500. package/tools/rmt-language/completions.d.ts +5 -0
  501. package/tools/rmt-language/completions.js +185 -3
  502. package/tools/rmt-language/diagnostics.js +54 -0
  503. package/tools/rmt-language/hover.js +36 -0
  504. package/tools/rmt-language/rmt-tooling-public-types.d.ts +7 -0
  505. package/tools/rmt-language/rules/app-platform-policy.js +39 -0
  506. package/tools/rmt-language/rules/index.js +5 -1
  507. package/tools/rmt-language/semantic-graph.d.ts +6 -0
  508. package/tools/rmt-language/semantic-graph.js +928 -0
  509. package/tools/rmt-language/snippets/index.js +44 -0
  510. package/tools/rmt-language/snippets/rmt.code-snippets +41 -0
  511. package/tools/rmt-language/vnext-compatibility.d.ts +10 -0
  512. package/tools/rmt-language/vnext-compatibility.js +642 -0
  513. package/tools/rmt-language/vnext-compiler.d.ts +5 -0
  514. package/tools/rmt-language/vnext-compiler.js +863 -17
  515. package/tools/rmt-language/vnext-parser.js +725 -9
  516. package/tools/rmt-language/vnext-release.d.ts +1 -0
  517. package/tools/rmt-language/vnext-release.js +20 -0
  518. package/tools/rmt-language/vnext-source-to-sea.d.ts +33 -0
  519. package/tools/rmt-language/vnext-source-to-sea.js +2227 -0
  520. package/tools/rmt-language/vnext-surfaces.js +111 -52
  521. package/tools/rmt-language/vnext-tooling.d.ts +19 -1
  522. package/tools/rmt-language/vnext-tooling.js +1247 -5
  523. package/tools/rmt-language-server/protocol.js +3 -0
  524. package/tools/rmt-language-server/server.d.ts +2 -0
  525. package/tools/rmt-language-server/server.js +176 -22
  526. package/tools/rmt-linter/cli.d.ts +2 -0
  527. package/tools/rmt-linter/cli.js +62 -0
  528. package/xtend-builder/generators/registry.js +11 -0
  529. package/xtend-builder/generators/rmt-app-platform.js +239 -0
  530. package/xtend-builder/generators/rmt-lifecycle-demo.js +3 -11
  531. package/xtend-builder/lib/cli.js +38 -0
  532. package/xtend-builder/package.json +3 -3
  533. package/xtend-builder/scaffold.config.js +29 -2
  534. package/xtend.css +49 -2
  535. package/xtendrmt/package.json +49 -1
  536. package/xtendrmt/rmt-action-effect-runtime.d.ts +126 -0
  537. package/xtendrmt/rmt-action-effect-runtime.js +494 -0
  538. package/xtendrmt/rmt-component-capability-registry.d.ts +180 -0
  539. package/xtendrmt/rmt-component-capability-registry.js +636 -0
  540. package/xtendrmt/rmt-core.d.ts +6 -0
  541. package/xtendrmt/rmt-core.esm.js +32 -6
  542. package/xtendrmt/rmt-dom-descriptor-renderer.d.ts +107 -0
  543. package/xtendrmt/rmt-dom-descriptor-renderer.js +1066 -0
  544. package/xtendrmt/rmt-event-routing-runtime.d.ts +144 -0
  545. package/xtendrmt/rmt-event-routing-runtime.js +666 -0
  546. package/xtendrmt/rmt-lifecycle-demo.app.js +2 -2
  547. package/xtendrmt/rmt-lifecycle-demo.core.json +4 -0
  548. package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +1 -1
  549. package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +2 -2
  550. package/xtendrmt/rmt-lifecycle-demo.scaffold.json +4 -4
  551. package/xtendrmt/rmt-native-shell-runtime.d.ts +77 -0
  552. package/xtendrmt/rmt-native-shell-runtime.js +309 -0
  553. package/xtendrmt/rmt-node-ssr-adapter.d.ts +197 -0
  554. package/xtendrmt/rmt-node-ssr-adapter.js +1006 -0
  555. package/xtendrmt/rmt-php-ssr-adapter.php +976 -0
  556. package/xtendrmt/rmt-runtime.browser.js +32 -6
  557. package/xtendrmt/rmt-runtime.esm.js +32 -6
  558. package/xtendrmt/rmt-state-selector-runtime.d.ts +166 -0
  559. package/xtendrmt/rmt-state-selector-runtime.js +866 -0
  560. package/xtendrmt/rmt-surface-resource-graph-runtime.d.ts +224 -0
  561. package/xtendrmt/rmt-surface-resource-graph-runtime.js +932 -0
  562. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +3 -0
  563. package/xtendrmt/rmt-vnext-reference-demo.core.json +3 -0
  564. package/xtendrmt/xtendrmt-bestcase-demo.core.json +3420 -372
  565. package/xtendrmt/xtendrmt-bestcase-demo.js +424 -8
  566. package/xtendrmt/xtendrmt-bestcase-demo.rmt +214 -6
@@ -0,0 +1,21 @@
1
+ # xsurfacewindow - XTend Komponente
2
+
3
+ `x-surface-window` ist die erste sichtbare WindowManager-Surface fuer XTend. Sie registriert sich bei einem umgebenden `x-surface-manager`, stellt Window-Chrome, Aktionen, Bounds und Content-Slot bereit und spiegelt Controller-Snapshots in Attribute und CSS-Variablen.
4
+
5
+ ## Attribute
6
+
7
+ - `surface-id`: stabile Surface-ID
8
+ - `label`: Accessible Name und Window-Titel
9
+ - `open`, `active`, `minimized`, `maximized`
10
+ - `draggable`, `resizable`, `modal`
11
+ - `initial-x`, `initial-y`, `initial-width`, `initial-height`
12
+
13
+ ## API
14
+
15
+ `toSurfaceRecord(managerId)` erzeugt ein `xtend.surface.record.v1` fuer den Manager. `applySurfaceSnapshot(record)` aktualisiert sichtbaren Status, Bounds und z-Order.
16
+
17
+ Commands: `openWindow()`, `closeWindow(reason)`, `focusWindow()`, `minimizeWindow()`, `maximizeWindow()` und `restoreWindow()`.
18
+
19
+ Das Element sendet `surface-window-command` mit `open`, `close`, `focus`, `move`, `resize`, `minimize`, `maximize`, `restore` oder `update`. Der Manager uebersetzt diese Commands in Controller-Operationen.
20
+
21
+ RMT: `xtend.rmt.component-contract.v1`, `xtend.surface.record.v1`, `surface.user-blocking.open`, `surface.user-blocking.close`, `surface.transition.layout`, `surface.diagnostics.snapshot`.
@@ -0,0 +1,160 @@
1
+ # xtabs – XTend Komponente
2
+
3
+ > **Siehe auch:** [xsection](./xsection.md), [xstate](./xstate.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-tabs>` ist eine Komponente für Tab-Navigation und strukturierte Inhalte. Sie unterstützt dynamische Tabs, Theming und State-Integration.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Dynamische Tab-Navigation
13
+ - Slot für Tab-Inhalte
14
+ - State-Integration via xstate
15
+ - Theming via CSS Custom Properties
16
+
17
+ ---
18
+
19
+ ## Verwendung
20
+
21
+ ```html
22
+ <x-tabs selected="0">
23
+ <x-tab name="Tab 1">Inhalt 1</x-tab>
24
+ <x-tab name="Tab 2">Inhalt 2</x-tab>
25
+ </x-tabs>
26
+ ```
27
+
28
+ ---
29
+
30
+ ## Attribute
31
+ | Attribut | Typ | Beschreibung |
32
+ |-------------|---------|-------------------------------------|
33
+ | – | – | – |
34
+
35
+ ---
36
+
37
+ ## Events
38
+ | Event | Beschreibung |
39
+ |---------------|-------------------------------------|
40
+ | `tab-selected` | Tab-Wechsel mit `{ index }`, `bubbles: true`, `composed: true` |
41
+
42
+ ---
43
+
44
+ ## API
45
+ - **Tabs per Slot einfügen**
46
+ - **State-Integration:** Automatisch via xstate
47
+
48
+ ---
49
+
50
+ ## Beispiel: Dynamisch per JS
51
+
52
+ ```js
53
+ const tabs = document.createElement('x-tabs');
54
+ tabs.innerHTML = '<div slot="tab" label="A">A</div>';
55
+ document.body.appendChild(tabs);
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Styling & Theming
61
+
62
+ ```css
63
+ x-tabs {
64
+ --tab-active-bg: #007bff;
65
+ }
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Accessibility
71
+
72
+ `x-tabs` rendert einen `role="tablist"` Header, erzeugt pro Button `role="tab"` und verbindet Buttons und Panels ueber `aria-controls` sowie `aria-labelledby`.
73
+
74
+ Die Keyboard-Navigation nutzt roving `tabindex`:
75
+
76
+ | Taste | Verhalten |
77
+ |-------|-----------|
78
+ | `ArrowRight` | naechster Tab |
79
+ | `ArrowLeft` | vorheriger Tab |
80
+ | `Home` | erster Tab |
81
+ | `End` | letzter Tab |
82
+ | `Enter` / `Space` | fokussierten Tab aktivieren |
83
+
84
+ Aktive Panels tragen `role="tabpanel"` und `aria-hidden="false"`; inaktive Panels werden mit `hidden` und `aria-hidden="true"` aus der sichtbaren Navigation genommen.
85
+
86
+ ## Performance-Profil ab WP-E12-02
87
+
88
+ `x-tabs` besitzt ein explizites `xtendScaffoldPerformanceProfile` unter `xtend.performance.component-profile.v1`.
89
+
90
+ | Feld | Wert |
91
+ |------|------|
92
+ | Budget-Klasse | `critical` |
93
+ | Lane | `user-blocking` |
94
+ | Hydration Policy | `visible` |
95
+ | Tab-Switch Budget | `16 ms` |
96
+ | Keyboard Budget | `16 ms` |
97
+ | Render Update Budget | `28 ms` |
98
+
99
+ RMT-Shells koennen `x-tabs` ueber `ui.user-blocking.tabs`, `route.transition.tab`, `component.visible.hydrate` und `diagnostics.snapshot` schedulen. Der RMT-Kernel bleibt dabei framework-agnostisch; die XTend-spezifischen Daten liegen im Component-Adapter-Metadatenprofil.
100
+
101
+ Die Runtime stellt `getPerformanceBudget()` und `snapshotPerformance()` bereit. `snapshotPerformance()` liefert lokale Messpunkte fuer Hydration, Render, Tab-Switch und Keyboard-Interaktionen, damit Fabric oder ein spaeterer Reporter die Daten aufnehmen kann.
102
+
103
+ ## Component-Level-Contract ab ER-WP-33
104
+
105
+ - `selected` bestimmt den aktiven Tab-Index.
106
+ - `text-color` synchronisiert die Textfarbe in den Tab-Header.
107
+ - `tab-selected` wird nach einem Tabwechsel mit `{ index }` emittiert.
108
+ - `xtabs-selected` ist der kanonische `xstate`-Key fuer externe Tabwechsel.
109
+ - Keyboard-Navigation umfasst `ArrowRight`, `ArrowLeft`, `Home`, `End`, `Enter` und `Space`.
110
+ - `data-rmt-schedule="ui.user-blocking.tabs"` und `data-xtend-lane="user-blocking"` bilden die Fixture-Linie fuer RMT/Fabric-Scheduling.
111
+ - `snapshotPerformance()` macht das WP-E12-02 Runtime-Budget testbar.
112
+ - Seit `WP-E12-03` sind Browser-Smoke und Theme-Matrix explizit auf `x-tabs` Keyboard-, ARIA- und Theme-Shell-Journeys erweitert.
113
+
114
+ ---
115
+
116
+ *Letzte Aktualisierung: 7. Mai 2026*
117
+
118
+ ## ECH-WP-09 Token-Tabelle und Navigation States
119
+
120
+ `signatureDesign`: `x-tabs` erzeugt eine eigenstaendige Enterprise-Tabnavigation mit sichtbarer Selected-Schiene, wrap-sicheren Labels und frei austauschbarer Typografie. Active/Current/Selected, Hover, Focus und Disabled sind ueber gemeinsame Navigationstokens themebar.
121
+
122
+ | Token | Zweck |
123
+ | --- | --- |
124
+ | `--xtend-nav-surface` | Tablist-Surface |
125
+ | `--xtend-nav-text` | Tab-Text |
126
+ | `--xtend-nav-border-color` | Tab- und Tablist-Kanten |
127
+ | `--xtend-nav-radius` | Tab-Radius |
128
+ | `--xtend-nav-gap` | Abstand zwischen Tabs |
129
+ | `--xtend-nav-font-family` | Tab-Typografie |
130
+ | `--xtend-nav-font-size` | Tab-Textgroesse |
131
+ | `--xtend-nav-active-surface` | Selected-Flaeche |
132
+ | `--xtend-nav-active-text` | Selected-Text |
133
+ | `--xtend-nav-current-indicator` | nicht farb-only Selected-Indikator |
134
+ | `--xtend-nav-hover-surface` | Hover-Flaeche |
135
+ | `--xtend-nav-focus-ring` | Tastaturfokus |
136
+ | `--xtend-nav-disabled-opacity` | Disabled-Dimmung |
137
+
138
+ ## ECH-WP-09 Keyboard-Verhalten
139
+
140
+ `ArrowRight`, `ArrowLeft`, `Home`, `End`, `Enter` und `Space` bleiben die verbindlichen Tasten. Disabled Tabs werden nicht fokussiert oder aktiviert. Active/Current/Selected wird ueber `aria-selected="true"` am Tab und `role="tabpanel"` am Panel gespiegelt; Route-Tabs koennen zusaetzlich `aria-current="page"` durch Host-Logik tragen.
141
+
142
+ ## ECH-WP-09 Fremdtheme
143
+
144
+ ```css
145
+ [data-xtend-nav-theme="enterprise-foreign"] x-tabs {
146
+ --xtend-nav-surface: #f3f0e8;
147
+ --xtend-nav-text: #202520;
148
+ --xtend-nav-border-color: rgba(32, 37, 32, 0.24);
149
+ --xtend-nav-radius: 0.35rem;
150
+ --xtend-nav-gap: 0.4rem;
151
+ --xtend-nav-font-family: "Aptos", "Segoe UI", sans-serif;
152
+ --xtend-nav-font-size: 0.95rem;
153
+ --xtend-nav-active-surface: #243c34;
154
+ --xtend-nav-active-text: #fff9ed;
155
+ --xtend-nav-current-indicator: #a65f2d;
156
+ --xtend-nav-hover-surface: rgba(166, 95, 45, 0.14);
157
+ --xtend-nav-focus-ring: 3px solid #a65f2d;
158
+ --xtend-nav-disabled-opacity: 0.42;
159
+ }
160
+ ```
@@ -0,0 +1,98 @@
1
+ # xtextarea - XTend Komponente
2
+
3
+ > **Siehe auch:** [xform](./xform.md), [xinput](./xinput.md), [xselect](./xselect.md), [xstate](./xstate.md)
4
+
5
+ ## Uebersicht
6
+
7
+ `<x-textarea>` ist das Long-Form-Input aus `WP-E10-10`. Die Komponente kapselt eine native `textarea`, ist form-associated, schreibt ihren Wert nach `xstate` und bringt RMT-, Fabric-, A11y- und Performance-Metadaten mit.
8
+
9
+ ## Verwendung
10
+
11
+ ```html
12
+ <x-textarea id="notes" name="notes" maxlength="240" rows="5" required>
13
+ <span slot="label">Notes</span>
14
+ <span slot="hint">Keep the message concise.</span>
15
+ <span slot="error">A note is required.</span>
16
+ </x-textarea>
17
+ ```
18
+
19
+ ## Attribute
20
+
21
+ | Attribut | Typ | Beschreibung |
22
+ |----------|-----|--------------|
23
+ | `name` | String | Formularname |
24
+ | `value` | String | aktueller Textwert |
25
+ | `placeholder` | String | Platzhaltertext |
26
+ | `required` | Boolean | aktiviert native Validierung |
27
+ | `disabled` | Boolean | deaktiviert das Control |
28
+ | `readonly` | Boolean | macht das Control lesbar |
29
+ | `maxlength` | Number | maximale Zeichenanzahl |
30
+ | `minlength` | Number | minimale Zeichenanzahl |
31
+ | `rows` | Number | sichtbare Zeilen |
32
+ | `label` | String | Label ohne Slot |
33
+
34
+ ## Events
35
+
36
+ | Event | Detail |
37
+ |-------|--------|
38
+ | `textarea-changed` | `{ value, length, maxLength, source: 'x-textarea' }` |
39
+ | `textarea-invalid` | `{ value, message, source: 'x-textarea' }` |
40
+
41
+ ## API
42
+
43
+ - `element.value`
44
+ - `element.maxLength`
45
+ - `element.checkValidity()`
46
+ - `element.reportValidity()`
47
+ - `element.validate()`
48
+ - `element.reset()`
49
+ - `element.focus()`
50
+
51
+ ## State, RMT und Fabric
52
+
53
+ `<x-textarea>` schreibt nach `xtextarea-value-<id>` und akzeptiert externe Wertupdates ueber denselben Key. Die RMT-Metadaten nutzen `xtend.rmt.component-contract.v1`, `adapter: 'xtend.component'` und `kernelBoundary: 'no-rmt-kernel-import-of-xtend-types'`. RMT kann das Control als DOM-Descriptor erzeugen und Events wie `textarea-changed` an Scheduler-Kommandos binden.
54
+
55
+ ## A11y und Performance
56
+
57
+ Das Control nutzt `role="textbox"` ueber die native Textarea, `aria-describedby`, eine polite Counter-Region mit `character-count-announcement` und eine assertive Fehlerregion. Das Performance-Profil ist `xtend.performance.component-profile.v1` mit `budgetClass: 'interactive-medium'`, `lane: 'user-blocking'` und `hydrationPolicy: 'visible'`.
58
+
59
+ ## Form Controls UX ab WP-E11-08
60
+
61
+ `<x-textarea>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil verbindet Label, Hint, Error, `textarea-changed`, `textarea-invalid`, `xtextarea-value-<id>`, `ui.user-blocking.input`, Fabric-Lane `user-blocking` und RMT Shell Authoring.
62
+
63
+ ## ECH-WP-08 Form Theme/A11y Hardening
64
+
65
+ `signatureDesign`: Enterprise-Schreibflaeche mit ruhiger Flaechenqualitaet, Live-Counter und getrennt themebaren Helper-/Error-Rollen.
66
+
67
+ | Token | Zweck |
68
+ | --- | --- |
69
+ | `--xtend-form-text` | Host-Textfarbe |
70
+ | `--xtend-form-control-surface` | Textarea-Flaeche |
71
+ | `--xtend-form-control-text` | Textarea-Text |
72
+ | `--xtend-form-label-text` | Label |
73
+ | `--xtend-form-helper-text` | Helper und Counter |
74
+ | `--xtend-form-error-text` | Fehlertext |
75
+ | `--xtend-form-error-surface` | Fehlerflaeche |
76
+ | `--xtend-form-error-border` | Fehlerkante und Marker |
77
+ | `--xtend-form-focus-ring` | Focus-Outline |
78
+ | `--xtend-form-radius` | Textarea-/Error-Radius |
79
+ | `--xtend-form-gap` | Meta- und Error-Abstand |
80
+ | `--xtend-form-font-family` | Form-Typografie |
81
+ | `--xtend-form-control-font-size` | Textarea-Schrift |
82
+ | `--xtend-form-helper-font-size` | Helper/Error-Schrift |
83
+ | `--xtend-form-icon-color` | Status-/Affordance-Fallback |
84
+
85
+ Density-Profile: `comfortable`, `compact`, `dense`. Invalid/Error nutzt Kante, Ring und Marker statt ausschliesslich Farbe.
86
+
87
+ ```css
88
+ [data-xtend-form-theme="enterprise-foreign"] x-textarea {
89
+ --xtend-form-control-surface: #fbf8f2;
90
+ --xtend-form-control-text: #16231f;
91
+ --xtend-form-label-text: #22312c;
92
+ --xtend-form-helper-text: #596861;
93
+ --xtend-form-error-text: #7d231c;
94
+ --xtend-form-error-border: #a64036;
95
+ --xtend-form-focus-ring: 3px solid #8f4f2a;
96
+ --xtend-form-radius: 0.35rem;
97
+ }
98
+ ```
@@ -0,0 +1,167 @@
1
+ # xtheme - XTend Core-Modul
2
+
3
+ ## Uebersicht
4
+
5
+ `xtheme.js` ist das zentrale Theme-Management von XTend. Die Runtime wird unter `window.XTend.theme` bereitgestellt; `window.XTheme` bleibt als oeffentliche Kompatibilitaets-Fassade erhalten.
6
+
7
+ ## Oeffentliche API
8
+
9
+ | Methode | Beschreibung |
10
+ |---------|--------------|
11
+ | `getCurrentTheme()` | liefert das aktive Theme |
12
+ | `getAvailableThemes()` | liefert alle bekannten Themes |
13
+ | `setTheme(themeName)` | schaltet auf ein Theme um |
14
+ | `toggleDarkMode()` | schaltet zwischen `light` und `dark` um |
15
+ | `registerTheme(name, properties)` | registriert oder erweitert ein Theme |
16
+ | `loadExternalTheme(name, cssUrl)` | laedt ein externes Theme-CSS |
17
+ | `removeExternalTheme(name)` | entfernt ein externes Theme-CSS |
18
+ | `set(name, value)` | Kompatibilitaets-Fassade fuer Theme oder CSS-Variable |
19
+ | `get(name)` | liest aktuelles Theme oder CSS-Variable |
20
+ | `subscribe(fn)` | registriert einen Listener fuer Theme-Aenderungen |
21
+ | `getDesignTokens(themeName?)` | liefert die zentralen XTend-Design-Tokens fuer ein Theme |
22
+ | `getDesignTokenContract()` | liefert den produktiven Contract `xtend.design-tokens.product-contract.v1` mit Theme Packs, Density Packs und CSS Parts |
23
+ | `setDensity(density)` | setzt die globale Density Boundary auf `compact`, `comfortable` oder `dense` |
24
+ | `getDensity()` | liefert die aktive Density |
25
+ | `getAvailableDensities()` | liefert alle unterstuetzten Density Presets |
26
+ | `getThemeContext()` | liefert den propagierten Theme-/Density-/Preference-Kontext |
27
+ | `snapshotPerformance()` | liefert den aktuellen Performance-/Fabric-Diagnostics-Snapshot |
28
+ | `getPerformanceProfile()` | liefert das Performance Profile `xtend.performance.component-profile.v1` |
29
+ | `getRmtMetadata()` | liefert RMT Shell Authoring Metadata ohne RMT-Kernel-Kopplung |
30
+ | `getComponentNetworkContext()` | liefert den Component Network Provider Contract |
31
+ | `getA11yPreferences()` | liefert Reduced-Motion-, Forced-Colors- und Color-Scheme-Snapshot |
32
+ | `getMotionPreference()` | liefert `default` oder `reduced` |
33
+ | `getContrastPreference()` | liefert `normal` oder `forced-colors` |
34
+ | `getA11yProfile()` | liefert den Runtime-A11y-Provider-Contract |
35
+ | `getMotionContrastPolicy()` | liefert die Motion-/Contrast-Policy fuer Gates |
36
+
37
+ ## `set(name, value)` Contract
38
+
39
+ ```js
40
+ window.XTend.theme.setTheme('dark');
41
+ window.XTend.theme.set('light');
42
+ window.XTend.theme.set('--primary-color', '#0e4e81');
43
+ ```
44
+
45
+ - `set('dark')` ist ein Alias fuer `setTheme('dark')`
46
+ - `set('--primary-color', '#0e4e81')` schreibt eine CSS-Variable in das aktuelle Theme
47
+
48
+ ## Theme-Lifecycle
49
+
50
+ - das aktive Theme wird ueber `data-theme` auf `document.documentElement` gespiegelt
51
+ - Density wird ueber `data-xtend-density` auf `document.documentElement` gespiegelt
52
+ - Motion- und Contrast-Preferences werden ueber `data-xtend-motion`, `data-xtend-contrast` und `data-xtend-forced-colors` gespiegelt
53
+ - `document.documentElement.style.colorScheme` folgt dem aktiven Theme (`light`/`dark`)
54
+ - registrierte CSS-Variablen werden pro Theme verwaltet und beim Wechsel neu angewendet
55
+ - extern geladene Themes werden zwischengespeichert und spaeter beim Aktivieren erneut angewendet
56
+ - Theme-Aenderungen werden ueber `xstate` synchronisiert:
57
+ - `theme`
58
+ - `themes`
59
+ - `xtend.theme.current`
60
+ - `xtend.theme.density`
61
+ - `xtend.theme.available`
62
+ - `xtend.theme.preferences`
63
+ - `xtend.theme.context`
64
+ - `xtend.theme.performanceProfile`
65
+ - `xtend.theme.performanceSnapshot`
66
+ - `xtend.theme.rmtMetadata`
67
+ - `xtend.theme.componentNetwork`
68
+ - `xtend.theme.prefersReducedMotion`
69
+ - `xtend.theme.forcedColors`
70
+ - `xtend.a11y.motion`
71
+ - `xtend.a11y.contrast`
72
+
73
+ ## Zentrale XTend-Tokens
74
+
75
+ Die Default-Themes liefern produktive Basistokens fuer Core-Komponenten, unter anderem:
76
+
77
+ - `--xtend-color-primary`
78
+ - `--xtend-color-primary-dark`
79
+ - `--xtend-color-accent`
80
+ - `--xtend-glass-bg`
81
+ - `--xtend-glass-blur`
82
+ - `--xtend-shadow`
83
+ - `--xtend-border`
84
+ - `--xtend-radius`
85
+ - `--xtend-font-family`
86
+ - `--xtend-focus-outline`
87
+ - `--xtend-focus-outline-offset`
88
+ - `--xtend-surface`
89
+ - `--xtend-surface-muted`
90
+ - `--xtend-text`
91
+ - `--xtend-overlay-bg`
92
+ - `--xtend-motion-duration-fast`
93
+ - `--xtend-motion-duration-base`
94
+ - `--xtend-motion-scale`
95
+ - `--xtend-density-scale`
96
+ - `--xtend-density-spacing`
97
+ - `--xtend-control-height`
98
+ - `--xtend-font-scale`
99
+
100
+ Ab `WP-E12-12` sind diese Tokens Teil des Produktcontracts `xtend.design-tokens.product-contract.v1`. `getDesignTokenContract()` gibt Theme Packs (`light`, `dark`, `high-contrast`, `forced-colors`), Density Packs (`compact`, `comfortable`, `dense`) und stabile CSS Parts zurueck. Die separate Entwicklerdokumentation liegt in [Design Tokens](../design-tokens.md).
101
+
102
+ ## Performance Profile und Density Boundary
103
+
104
+ `x-theme` ist ab `WP-E12-05` die zentrale Theme-, Preference- und Density Boundary fuer den Komponentenstack. Das Modul besitzt ein explizites Performance Profile:
105
+
106
+ - Schema: `xtend.performance.component-profile.v1`
107
+ - Lane: `user-blocking`
108
+ - Hydration Policy: `eager`
109
+ - Messpunkte: `xtend.theme.initialize`, `xtend.theme.apply`, `xtend.theme.propagate`, `xtend.theme.density` und `xtend.theme.external-css`
110
+ - Fabric Snapshot Path: `xtend.theme.performanceSnapshot`
111
+
112
+ Density wird als Provider-Kontext behandelt, nicht als lokale Komponenteneigenschaft. `setDensity('compact')`, `setDensity('comfortable')` und `setDensity('dense')` setzen `data-xtend-density` und die Tokens `--xtend-density-scale`, `--xtend-density-spacing`, `--xtend-control-height` und `--xtend-font-scale`. `spacious` ist kein produktiver Density-Name mehr und wird bei alten Persistenzdaten auf `comfortable` normalisiert.
113
+
114
+ Der propagierte Kontext liegt unter `xtend.theme.context` und nutzt das Schema `xtend.theme.context.v1`. Er enthaelt Theme, Density, A11y Preferences, aktive Tokens, Density Tokens, RMT Metadata, Fabric Lane und eine `propagationVersion`.
115
+
116
+ ## RMT und Component Network
117
+
118
+ `x-theme` stellt RMT Shell Authoring Metadata bereit, ohne XTend in den RMT Kernel einzubetten:
119
+
120
+ - RMT Schema: `xtend.rmt.component-contract.v1`
121
+ - Adapter: `xtend.theme-provider`
122
+ - Shell Authoring Schema: `xtend.rmt.shell-authoring.component.v1`
123
+ - Kernel Boundary: `no-rmt-kernel-import-of-xtend-types`
124
+
125
+ Der Component Network Contract nutzt `xtend.component.network.v1`. Verbraucher wie `xtend.component`, `xtend.xrouter`, `xtend.fabric-telemetry` oder `rmt.shell-authoring` lesen den publizierten Kontext ueber Events und `xstate`, nicht ueber harte Imports.
126
+
127
+ ## Reduced Motion und Forced Colors
128
+
129
+ `x-theme` ist ab `WP-E12-04` die zentrale A11y-Preference-Boundary fuer den Komponentenstack. Das Modul beobachtet `prefers-reduced-motion: reduce`, `forced-colors: active` und `prefers-color-scheme: dark`, ohne XTendRMT oder Host-Frameworks zu importieren.
130
+
131
+ - Reduced Motion setzt `data-xtend-motion="reduced"` und reduziert zentrale Motion-Tokens auf `0ms`.
132
+ - Forced Colors setzt `data-xtend-contrast="forced-colors"` und `data-xtend-forced-colors="active"`.
133
+ - Die internen CSS-Regeln nutzen `forced-color-adjust: auto`, `Canvas`, `CanvasText`, `Highlight` und `HighlightText`.
134
+ - Bei System-Preference-Wechseln feuert `theme-preference-changed`.
135
+ - Eine unsichtbare Live-Region mit `role="status"` und `aria-live="polite"` meldet Theme- und Preference-Wechsel fuer Screenreader.
136
+ - Die Policy liegt als `xtend.a11y.motion-contrast-policy.v1` vor und wird ueber `getMotionContrastPolicy()` sichtbar.
137
+
138
+ ## Events
139
+
140
+ | Event | Beschreibung |
141
+ |-------|--------------|
142
+ | `theme-initialized` | nach Initialisierung des Theme-Managers |
143
+ | `theme-changed` | nach Theme-Wechsel |
144
+ | `theme-variable-changed` | nach Anpassung einer CSS-Variable |
145
+ | `theme-preference-changed` | nach Reduced-Motion-, Forced-Colors- oder System-Preference-Wechsel |
146
+ | `theme-a11y-announcement` | nach Screenreader-Announcement fuer Theme- oder Preference-Wechsel |
147
+ | `theme-density-changed` | nach Density-Wechsel |
148
+ | `theme-context-changed` | nach Propagation eines neuen Theme-Kontexts |
149
+ | `theme-performance-measured` | nach lokaler Theme-/Density-/Propagation-Messung |
150
+
151
+ ## Beispiel
152
+
153
+ ```js
154
+ window.XTend.theme.setTheme('light');
155
+ window.XTend.theme.set('--body-bg', '#f9f9f9');
156
+
157
+ window.XTend.theme.registerTheme('dark', {
158
+ '--body-bg': '#181a1b',
159
+ '--text-color': '#fff'
160
+ });
161
+ ```
162
+
163
+ ## Hinweise
164
+
165
+ - `xtheme.js` ist ein Core-Modul, kein separates Styling-Framework.
166
+ - Die Runtime ist namespaced unter `window.XTend.theme`; `window.XTheme` ist nur die oeffentliche Kompatibilitaets-Fassade.
167
+ - Externe Theme-CSS-Dateien bleiben nach dem ersten Laden fuer spaetere Aktivierungen verfuegbar.
@@ -0,0 +1,62 @@
1
+ # xtoast - XTend Komponente
2
+
3
+ ## Uebersicht
4
+
5
+ `<x-toast>` ist die kompakte Feedback-Komponente fuer temporaere Hinweise. Toasts sind nicht blockierend, leben kurz und werden im XTend-Core bevorzugt ueber `window.XToast` erzeugt.
6
+
7
+ ## Verwendung
8
+
9
+ ```html
10
+ <x-toast type="success" duration="3000">Gespeichert</x-toast>
11
+ ```
12
+
13
+ ## Attribute
14
+
15
+ | Attribut | Typ | Beschreibung |
16
+ |----------|-----|--------------|
17
+ | `type` | string | `info`, `success`, `warning`, `error` |
18
+ | `duration` | number | Dauer in Millisekunden, `0` deaktiviert Auto-Close |
19
+
20
+ ## Events
21
+
22
+ | Event | Beschreibung |
23
+ |-------|--------------|
24
+ | `toast-shown` | nach dem Einfuegen des Toasts |
25
+ | `toast-dismissed` | nach dem Schliessen des Toasts |
26
+
27
+ Die Events liefern:
28
+
29
+ ```js
30
+ {
31
+ id: 'toast-abc123',
32
+ message: 'Gespeichert',
33
+ type: 'success',
34
+ duration: 3000,
35
+ reason: 'timeout'
36
+ }
37
+ ```
38
+
39
+ ## Runtime-Contract
40
+
41
+ - API-gemanagte Toasts werden aggregiert in `xstate.get('ui').toasts`
42
+ - die Komponente selbst stellt den Lifecycle ueber Events bereit
43
+ - der versteckte globale Helper-Pfad lebt in `api.js`, nicht mehr in der Komponente
44
+ - der API-Toast-Stack nutzt `#xtoast-container` als viewport-sichere Surface mit `width: min(24rem, calc(100vw - 2rem))`
45
+
46
+ ## Layout
47
+
48
+ `window.XToast.show()` legt API-gemanagte Toasts in einem frameworkeigenen Stack ab. Dieser Stack bleibt rechts unten im Viewport, nutzt Safe-Area-Abstaende und dehnt Toasts innerhalb der verfuegbaren Breite, statt sie ueber den rechten Viewport-Rand hinauslaufen zu lassen.
49
+
50
+ Direkt platzierte `<x-toast>` Elemente sind ebenfalls containerfreundlich: die Komponente nutzt `max-width: 100%`, bricht lange Inhalte um und reserviert Platz fuer den Close-Button.
51
+
52
+ ## Feedback Status UX ab WP-E11-09
53
+
54
+ `<x-toast>` stellt `xtendFeedbackStatusUxProfile` mit `xtend.component.feedback-status-ux-profile.v1` bereit. Das Profil beschreibt `x-toast` als kurzlebige Feedback-Shell mit `toast-shown`, `toast-dismissed`, `xtoast-state-<id>`, `a11y.announce`, Fabric-Lane `a11y` und RMT Shell Authoring.
55
+
56
+ Timeouts liefern `reason: 'timeout'`; manuelle Dismiss-Pfade liefern `reason: 'button'` oder `manual`. Event-Details enthalten `source: 'x-toast'`, `stateKey` und `dismissed`, damit Status- und Diagnostik-Lanes Toast-Lifecycles eindeutig zuordnen koennen.
57
+
58
+ ## Hinweise
59
+
60
+ - Toasts sind semantisch fuer kurzlebige, nicht blockierende Hinweise gedacht
61
+ - fuer laenger sichtbare oder inhaltlich wichtigere Meldungen ist `x-alert` die richtige Komponente
62
+ - `window.XToast.show()` ist der bevorzugte Einstieg fuer API-gemanagte Toasts
@@ -0,0 +1,66 @@
1
+ # xtooltip - XTend Komponente
2
+
3
+ > **Siehe auch:** [xpopover](./xpopover.md), [xdrawer](./xdrawer.md), [xdialog](./xdialog.md), [xmodal](./xmodal.md)
4
+
5
+ ## Uebersicht
6
+
7
+ `<x-tooltip>` ist die leichte Overlay-Hilfe aus `WP-E10-11`. Die Komponente verbindet ein Ziel-Element ueber `aria-describedby`, oeffnet bei Hover oder Fokus und schliesst ueber Blur, Mouseleave oder `Escape`.
8
+
9
+ ## Verwendung
10
+
11
+ ```html
12
+ <button id="schedule-help">Inspect schedule</button>
13
+ <x-tooltip id="route-tooltip" for="schedule-help" placement="top" delay="20" label="Tooltip help">
14
+ Explains the scheduled action.
15
+ </x-tooltip>
16
+ ```
17
+
18
+ ## Attribute
19
+
20
+ | Attribut | Typ | Beschreibung |
21
+ |----------|-----|--------------|
22
+ | `for` | String | ID des Anchor-Elements |
23
+ | `placement` | String | `top`, `right`, `bottom` oder `left` |
24
+ | `open` | Boolean | oeffnet den Tooltip kontrolliert |
25
+ | `delay` | Number | Oeffnungsverzoegerung in Millisekunden |
26
+ | `label` | String | zugaenglicher Name fuer den Tooltip |
27
+
28
+ ## Events
29
+
30
+ | Event | Detail |
31
+ |-------|--------|
32
+ | `tooltip-opened` | `{ id, open, source, placement }` |
33
+ | `tooltip-closed` | `{ id, open, source, placement }` |
34
+
35
+ ## API
36
+
37
+ - `show()`
38
+ - `hide()`
39
+ - `toggle()`
40
+
41
+ ## State, RMT und Fabric
42
+
43
+ `<x-tooltip>` schreibt nach `xtooltip-open-<id>`. Der RMT Contract ist `xtend.rmt.component-contract.v1` und nutzt die Schedules `component.visible.mount`, `component.idle.hydrate` und `overlay.tooltip.position`. Der Kernel Boundary bleibt `no-rmt-kernel-import-of-xtend-types`.
44
+
45
+ ## A11y und Performance
46
+
47
+ Die Komponente nutzt `role="tooltip"`, setzt `aria-describedby` am Anchor und dokumentiert `dismiss-on-escape` als Screenreader-Signal. Das Performance-Profil ist `xtend.performance.component-profile.v1` mit `budgetClass: 'overlay-small'`, `lane: 'visible'` und `hydrationPolicy: 'idle'`.
48
+
49
+ ## Overlay Interaction UX Profil
50
+
51
+ Seit `WP-E11-11` deklariert `<x-tooltip>` das Runtime-Profil `xtend.component.overlay-interaction-ux-profile.v1` ueber `xtendOverlayInteractionUxProfile`.
52
+
53
+ | Feld | Wert |
54
+ |------|------|
55
+ | Family | `tooltip` |
56
+ | State Key | `xtooltip-open-<id>` |
57
+ | Schedule | `overlay.position.update` |
58
+ | Commands | `show`, `hide`, `toggle`, `snapshot` |
59
+
60
+ Das Profil haelt Tooltip-Overlays bewusst nicht modal: kein Focus Trap, kein Inert, kein Scroll Lock. RMT kann Positionierung und Dismissal schedulen, waehrend der Host weiterhin `aria-describedby`, Hover/Fokus und Escape verwaltet.
61
+
62
+ ## ECH-WP-06 Overlay-Paritaet
63
+
64
+ `x-tooltip` expose `surface`, `backdrop`, `close` und `content` als Overlay-Parts, wobei `backdrop` und `close` bewusst nicht-interaktive Sentinels fuer Theme-/Part-Paritaet sind. Der Tooltip bleibt nicht-modal und informationsbezogen.
65
+
66
+ Surface, Text, Elevation, Radius, Typografie und Z-Index laufen ueber `--xtend-overlay-*`, `--tooltip-*` oder `--xtooltip-*` Tokens. Focus Trap, Inert und Scroll Lock sind fuer Tooltips nicht anwendbar.
@@ -0,0 +1,82 @@
1
+ # xtype – XTend Komponente
2
+
3
+ > **Siehe auch:** [xwriter](./xwriter.md)
4
+
5
+ ## Übersicht
6
+
7
+ `<x-type>` ist eine Komponente für animierte Texteffekte (z.B. Typing Animation). Sie eignet sich für Hero-Bereiche, Überschriften und interaktive UI-Elemente.
8
+
9
+ ---
10
+
11
+ ## Features
12
+ - Animierte Texteffekte (Typing, Loop)
13
+ - Anpassbare Geschwindigkeit
14
+ - Theming via CSS Custom Properties
15
+
16
+ ---
17
+
18
+ ## Verwendung
19
+
20
+ ```html
21
+ <x-type text="XTend rocks!" speed="80"></x-type>
22
+ ```
23
+
24
+ ---
25
+
26
+ ## Attribute
27
+ | Attribut | Typ | Beschreibung |
28
+ |-------------|---------|-------------------------------------|
29
+ | `text` | String | Anzuzeigender Text |
30
+ | `speed` | Number | Geschwindigkeit in ms pro Zeichen |
31
+ | `loop` | Boolean | Endlosschleife |
32
+
33
+ ---
34
+
35
+ ## Events
36
+ | Event | Beschreibung |
37
+ |---------------|-------------------------------------|
38
+ | `done` | Wird nach Animation ausgelöst |
39
+
40
+ ---
41
+
42
+ ## API
43
+ - **Text dynamisch setzen:** `element.setAttribute('text', 'Hallo')`
44
+
45
+ ---
46
+
47
+ ## Beispiel: Dynamisch per JS
48
+
49
+ ```js
50
+ const type = document.createElement('x-type');
51
+ type.setAttribute('text', 'Hallo Welt!');
52
+ document.body.appendChild(type);
53
+ ```
54
+
55
+ ---
56
+
57
+ ## Styling & Theming
58
+
59
+ ```css
60
+ x-type {
61
+ --type-color: #007bff;
62
+ }
63
+ ```
64
+
65
+ ---
66
+
67
+ ## Accessibility
68
+ - Semantisches HTML
69
+
70
+ ---
71
+
72
+ *Letzte Aktualisierung: 16. Juli 2025*
73
+
74
+ ## Layout Display Media UX Profil
75
+
76
+ `x-type` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente nutzt eine Shadow-DOM-Shell fuer Text und Cursor, kann idle hydriert werden und schreibt ihren aktuellen Text nach `xtype-current`.
77
+
78
+ - Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
79
+ - Schedule: `component.idle.hydrate`
80
+ - Events: `typing-started`, `typing-completed`, `text-erased`
81
+ - Snapshot: `snapshot()`
82
+ - CSS Parts: `root`, `text`, `cursor`