@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,115 @@
1
+ # xtextarea - XTend Component
2
+
3
+ > **See also:** [xform](./xform.md), [xinput](./xinput.md), [xselect](./xselect.md), [xstate](./xstate.md)
4
+
5
+ ## Overview
6
+
7
+ `<x-textarea>` is the long-form input from `WP-E10-10`. The component wraps a
8
+ native `textarea`, is form-associated, writes its value to `xstate`, and brings
9
+ RMT, Fabric, a11y, and performance metadata.
10
+
11
+ ## Usage
12
+
13
+ ```html
14
+ <x-textarea id="notes" name="notes" maxlength="240" rows="5" required>
15
+ <span slot="label">Notes</span>
16
+ <span slot="hint">Keep the message concise.</span>
17
+ <span slot="error">A note is required.</span>
18
+ </x-textarea>
19
+ ```
20
+
21
+ ## Attributes
22
+
23
+ | Attribute | Type | Description |
24
+ |-----------|------|-------------|
25
+ | `name` | String | form name |
26
+ | `value` | String | current text value |
27
+ | `placeholder` | String | placeholder text |
28
+ | `required` | Boolean | activates native validation |
29
+ | `disabled` | Boolean | disables the control |
30
+ | `readonly` | Boolean | makes the control read-only |
31
+ | `maxlength` | Number | maximum character count |
32
+ | `minlength` | Number | minimum character count |
33
+ | `rows` | Number | visible rows |
34
+ | `label` | String | label without slot |
35
+
36
+ ## Events
37
+
38
+ | Event | Detail |
39
+ |-------|--------|
40
+ | `textarea-changed` | `{ value, length, maxLength, source: 'x-textarea' }` |
41
+ | `textarea-invalid` | `{ value, message, source: 'x-textarea' }` |
42
+
43
+ ## API
44
+
45
+ - `element.value`
46
+ - `element.maxLength`
47
+ - `element.checkValidity()`
48
+ - `element.reportValidity()`
49
+ - `element.validate()`
50
+ - `element.reset()`
51
+ - `element.focus()`
52
+
53
+ ## State, RMT, and Fabric
54
+
55
+ `<x-textarea>` writes to `xtextarea-value-<id>` and accepts external value
56
+ updates through the same key. RMT metadata uses
57
+ `xtend.rmt.component-contract.v1`, `adapter: 'xtend.component'`, and
58
+ `kernelBoundary: 'no-rmt-kernel-import-of-xtend-types'`. RMT can create the
59
+ control as a DOM descriptor and bind events such as `textarea-changed` to
60
+ scheduler commands.
61
+
62
+ ## A11y and Performance
63
+
64
+ The control uses `role="textbox"` through the native textarea,
65
+ `aria-describedby`, a polite counter region with
66
+ `character-count-announcement`, and an assertive error region. The performance
67
+ profile is `xtend.performance.component-profile.v1` with
68
+ `budgetClass: 'interactive-medium'`, `lane: 'user-blocking'`, and
69
+ `hydrationPolicy: 'visible'`.
70
+
71
+ ## Form Controls UX from WP-E11-08
72
+
73
+ `<x-textarea>` exposes `xtendFormControlUxProfile` with
74
+ `xtend.component.form-control-ux-profile.v1`. The profile connects label, hint,
75
+ error, `textarea-changed`, `textarea-invalid`, `xtextarea-value-<id>`,
76
+ `ui.user-blocking.input`, Fabric lane `user-blocking`, and RMT shell authoring.
77
+
78
+ ## ECH-WP-08 Form Theme/A11y Hardening
79
+
80
+ `signatureDesign`: enterprise writing surface with calm surface quality, live
81
+ counter, and separately themeable helper/error roles.
82
+
83
+ | Token | Purpose |
84
+ | --- | --- |
85
+ | `--xtend-form-text` | host text color |
86
+ | `--xtend-form-control-surface` | textarea surface |
87
+ | `--xtend-form-control-text` | textarea text |
88
+ | `--xtend-form-label-text` | label |
89
+ | `--xtend-form-helper-text` | helper and counter |
90
+ | `--xtend-form-error-text` | error text |
91
+ | `--xtend-form-error-surface` | error surface |
92
+ | `--xtend-form-error-border` | error edge and marker |
93
+ | `--xtend-form-focus-ring` | focus outline |
94
+ | `--xtend-form-radius` | textarea/error radius |
95
+ | `--xtend-form-gap` | meta and error spacing |
96
+ | `--xtend-form-font-family` | form typography |
97
+ | `--xtend-form-control-font-size` | textarea font |
98
+ | `--xtend-form-helper-font-size` | helper/error font |
99
+ | `--xtend-form-icon-color` | status/affordance fallback |
100
+
101
+ Density profiles: `comfortable`, `compact`, `dense`. Invalid/error state uses
102
+ edge, ring, and marker instead of color only.
103
+
104
+ ```css
105
+ [data-xtend-form-theme="enterprise-foreign"] x-textarea {
106
+ --xtend-form-control-surface: #fbf8f2;
107
+ --xtend-form-control-text: #16231f;
108
+ --xtend-form-label-text: #22312c;
109
+ --xtend-form-helper-text: #596861;
110
+ --xtend-form-error-text: #7d231c;
111
+ --xtend-form-error-border: #a64036;
112
+ --xtend-form-focus-ring: 3px solid #8f4f2a;
113
+ --xtend-form-radius: 0.35rem;
114
+ }
115
+ ```
@@ -0,0 +1,203 @@
1
+ # xtheme - XTend Core Module
2
+
3
+ ## Overview
4
+
5
+ `xtheme.js` is XTend's central theme management module. The runtime is exposed
6
+ under `window.XTend.theme`; `window.XTheme` remains as the public compatibility
7
+ facade.
8
+
9
+ ## Public API
10
+
11
+ | Method | Description |
12
+ |--------|-------------|
13
+ | `getCurrentTheme()` | returns the active theme |
14
+ | `getAvailableThemes()` | returns all known themes |
15
+ | `setTheme(themeName)` | switches to a theme |
16
+ | `toggleDarkMode()` | switches between `light` and `dark` |
17
+ | `registerTheme(name, properties)` | registers or extends a theme |
18
+ | `loadExternalTheme(name, cssUrl)` | loads an external theme CSS |
19
+ | `removeExternalTheme(name)` | removes an external theme CSS |
20
+ | `set(name, value)` | compatibility facade for theme or CSS variable |
21
+ | `get(name)` | reads current theme or CSS variable |
22
+ | `subscribe(fn)` | registers a listener for theme changes |
23
+ | `getDesignTokens(themeName?)` | returns central XTend design tokens for a theme |
24
+ | `getDesignTokenContract()` | returns the productive contract `xtend.design-tokens.product-contract.v1` with theme packs, density packs, and CSS parts |
25
+ | `setDensity(density)` | sets the global density boundary to `compact`, `comfortable`, or `dense` |
26
+ | `getDensity()` | returns the active density |
27
+ | `getAvailableDensities()` | returns all supported density presets |
28
+ | `getThemeContext()` | returns propagated theme/density/preference context |
29
+ | `snapshotPerformance()` | returns the current performance/Fabric diagnostics snapshot |
30
+ | `getPerformanceProfile()` | returns the performance profile `xtend.performance.component-profile.v1` |
31
+ | `getRmtMetadata()` | returns RMT shell authoring metadata without RMT kernel coupling |
32
+ | `getComponentNetworkContext()` | returns the Component Network Provider Contract |
33
+ | `getA11yPreferences()` | returns reduced-motion, forced-colors, and color-scheme snapshot |
34
+ | `getMotionPreference()` | returns `default` or `reduced` |
35
+ | `getContrastPreference()` | returns `normal` or `forced-colors` |
36
+ | `getA11yProfile()` | returns the runtime a11y provider contract |
37
+ | `getMotionContrastPolicy()` | returns the motion/contrast policy for gates |
38
+
39
+ ## `set(name, value)` Contract
40
+
41
+ ```js
42
+ window.XTend.theme.setTheme('dark');
43
+ window.XTend.theme.set('light');
44
+ window.XTend.theme.set('--primary-color', '#0e4e81');
45
+ ```
46
+
47
+ - `set('dark')` is an alias for `setTheme('dark')`
48
+ - `set('--primary-color', '#0e4e81')` writes a CSS variable into the current
49
+ theme
50
+
51
+ ## Theme Lifecycle
52
+
53
+ - the active theme is mirrored to `data-theme` on `document.documentElement`
54
+ - density is mirrored to `data-xtend-density` on `document.documentElement`
55
+ - motion and contrast preferences are mirrored to `data-xtend-motion`,
56
+ `data-xtend-contrast`, and `data-xtend-forced-colors`
57
+ - `document.documentElement.style.colorScheme` follows the active theme
58
+ (`light`/`dark`)
59
+ - registered CSS variables are managed per theme and reapplied on switch
60
+ - externally loaded themes are cached and reapplied when activated later
61
+ - theme changes are synchronized through `xstate`:
62
+ - `theme`
63
+ - `themes`
64
+ - `xtend.theme.current`
65
+ - `xtend.theme.density`
66
+ - `xtend.theme.available`
67
+ - `xtend.theme.preferences`
68
+ - `xtend.theme.context`
69
+ - `xtend.theme.performanceProfile`
70
+ - `xtend.theme.performanceSnapshot`
71
+ - `xtend.theme.rmtMetadata`
72
+ - `xtend.theme.componentNetwork`
73
+ - `xtend.theme.prefersReducedMotion`
74
+ - `xtend.theme.forcedColors`
75
+ - `xtend.a11y.motion`
76
+ - `xtend.a11y.contrast`
77
+
78
+ ## Central XTend Tokens
79
+
80
+ The default themes provide productive base tokens for core components,
81
+ including:
82
+
83
+ - `--xtend-color-primary`
84
+ - `--xtend-color-primary-dark`
85
+ - `--xtend-color-accent`
86
+ - `--xtend-glass-bg`
87
+ - `--xtend-glass-blur`
88
+ - `--xtend-shadow`
89
+ - `--xtend-border`
90
+ - `--xtend-radius`
91
+ - `--xtend-font-family`
92
+ - `--xtend-focus-outline`
93
+ - `--xtend-focus-outline-offset`
94
+ - `--xtend-surface`
95
+ - `--xtend-surface-muted`
96
+ - `--xtend-text`
97
+ - `--xtend-overlay-bg`
98
+ - `--xtend-motion-duration-fast`
99
+ - `--xtend-motion-duration-base`
100
+ - `--xtend-motion-scale`
101
+ - `--xtend-density-scale`
102
+ - `--xtend-density-spacing`
103
+ - `--xtend-control-height`
104
+ - `--xtend-font-scale`
105
+
106
+ Starting with `WP-E12-12`, these tokens are part of the product contract
107
+ `xtend.design-tokens.product-contract.v1`. `getDesignTokenContract()` returns
108
+ theme packs (`light`, `dark`, `high-contrast`, `forced-colors`), density packs
109
+ (`compact`, `comfortable`, `dense`), and stable CSS parts. The separate
110
+ developer documentation is [Design Tokens](../design-tokens.md).
111
+
112
+ ## Performance Profile and Density Boundary
113
+
114
+ Since `WP-E12-05`, `x-theme` is the central theme, preference, and density
115
+ boundary for the component stack. The module has an explicit performance
116
+ profile:
117
+
118
+ - Schema: `xtend.performance.component-profile.v1`
119
+ - Lane: `user-blocking`
120
+ - Hydration Policy: `eager`
121
+ - Measurement points: `xtend.theme.initialize`, `xtend.theme.apply`,
122
+ `xtend.theme.propagate`, `xtend.theme.density`, and
123
+ `xtend.theme.external-css`
124
+ - Fabric Snapshot Path: `xtend.theme.performanceSnapshot`
125
+
126
+ Density is treated as provider context, not as a local component property.
127
+ `setDensity('compact')`, `setDensity('comfortable')`, and
128
+ `setDensity('dense')` set `data-xtend-density` and the tokens
129
+ `--xtend-density-scale`, `--xtend-density-spacing`,
130
+ `--xtend-control-height`, and `--xtend-font-scale`. `spacious` is no longer a
131
+ productive density name and is normalized to `comfortable` for old persisted
132
+ data.
133
+
134
+ The propagated context lives under `xtend.theme.context` and uses schema
135
+ `xtend.theme.context.v1`. It contains theme, density, a11y preferences, active
136
+ tokens, density tokens, RMT metadata, Fabric lane, and a `propagationVersion`.
137
+
138
+ ## RMT and Component Network
139
+
140
+ `x-theme` provides RMT shell authoring metadata without embedding XTend in the
141
+ RMT kernel:
142
+
143
+ - RMT Schema: `xtend.rmt.component-contract.v1`
144
+ - Adapter: `xtend.theme-provider`
145
+ - Shell Authoring Schema: `xtend.rmt.shell-authoring.component.v1`
146
+ - Kernel Boundary: `no-rmt-kernel-import-of-xtend-types`
147
+
148
+ The Component Network Contract uses `xtend.component.network.v1`. Consumers
149
+ such as `xtend.component`, `xtend.xrouter`, `xtend.fabric-telemetry`, or
150
+ `rmt.shell-authoring` read the published context through events and `xstate`,
151
+ not through hard imports.
152
+
153
+ ## Reduced Motion and Forced Colors
154
+
155
+ Since `WP-E12-04`, `x-theme` is the central a11y preference boundary for the
156
+ component stack. The module observes `prefers-reduced-motion: reduce`,
157
+ `forced-colors: active`, and `prefers-color-scheme: dark` without importing
158
+ XTendRMT or host frameworks.
159
+
160
+ - Reduced motion sets `data-xtend-motion="reduced"` and reduces central motion
161
+ tokens to `0ms`.
162
+ - Forced colors sets `data-xtend-contrast="forced-colors"` and
163
+ `data-xtend-forced-colors="active"`.
164
+ - Internal CSS rules use `forced-color-adjust: auto`, `Canvas`, `CanvasText`,
165
+ `Highlight`, and `HighlightText`.
166
+ - System preference changes fire `theme-preference-changed`.
167
+ - An invisible live region with `role="status"` and `aria-live="polite"`
168
+ announces theme and preference changes for screen readers.
169
+ - The policy exists as `xtend.a11y.motion-contrast-policy.v1` and is exposed
170
+ through `getMotionContrastPolicy()`.
171
+
172
+ ## Events
173
+
174
+ | Event | Description |
175
+ |-------|-------------|
176
+ | `theme-initialized` | after theme manager initialization |
177
+ | `theme-changed` | after theme switch |
178
+ | `theme-variable-changed` | after a CSS variable change |
179
+ | `theme-preference-changed` | after reduced-motion, forced-colors, or system preference changes |
180
+ | `theme-a11y-announcement` | after screen reader announcement for theme or preference change |
181
+ | `theme-density-changed` | after density change |
182
+ | `theme-context-changed` | after propagation of a new theme context |
183
+ | `theme-performance-measured` | after local theme/density/propagation measurement |
184
+
185
+ ## Example
186
+
187
+ ```js
188
+ window.XTend.theme.setTheme('light');
189
+ window.XTend.theme.set('--body-bg', '#f9f9f9');
190
+
191
+ window.XTend.theme.registerTheme('dark', {
192
+ '--body-bg': '#181a1b',
193
+ '--text-color': '#fff'
194
+ });
195
+ ```
196
+
197
+ ## Notes
198
+
199
+ - `xtheme.js` is a core module, not a separate styling framework.
200
+ - The runtime is namespaced under `window.XTend.theme`; `window.XTheme` is only
201
+ the public compatibility facade.
202
+ - External theme CSS files remain available for later activations after their
203
+ first load.
@@ -0,0 +1,78 @@
1
+ # xtoast - XTend Component
2
+
3
+ ## Overview
4
+
5
+ `<x-toast>` is the compact feedback component for temporary notices. Toasts are
6
+ non-blocking, short-lived, and are preferably created through `window.XToast`
7
+ in XTend Core.
8
+
9
+ ## Usage
10
+
11
+ ```html
12
+ <x-toast type="success" duration="3000">Saved</x-toast>
13
+ ```
14
+
15
+ ## Attributes
16
+
17
+ | Attribute | Type | Description |
18
+ |-----------|------|-------------|
19
+ | `type` | string | `info`, `success`, `warning`, `error` |
20
+ | `duration` | number | duration in milliseconds, `0` disables auto-close |
21
+
22
+ ## Events
23
+
24
+ | Event | Description |
25
+ |-------|-------------|
26
+ | `toast-shown` | after the toast is inserted |
27
+ | `toast-dismissed` | after the toast is closed |
28
+
29
+ Events provide:
30
+
31
+ ```js
32
+ {
33
+ id: 'toast-abc123',
34
+ message: 'Saved',
35
+ type: 'success',
36
+ duration: 3000,
37
+ reason: 'timeout'
38
+ }
39
+ ```
40
+
41
+ ## Runtime Contract
42
+
43
+ - API-managed toasts are aggregated in `xstate.get('ui').toasts`
44
+ - the component itself exposes lifecycle through events
45
+ - the hidden global helper path lives in `api.js`, no longer in the component
46
+ - the API toast stack uses `#xtoast-container` as a viewport-safe surface with
47
+ `width: min(24rem, calc(100vw - 2rem))`
48
+
49
+ ## Layout
50
+
51
+ `window.XToast.show()` places API-managed toasts in a framework-owned stack.
52
+ This stack stays bottom-right in the viewport, uses safe-area spacing, and
53
+ stretches toasts within the available width instead of letting them overflow
54
+ past the right viewport edge.
55
+
56
+ Directly placed `<x-toast>` elements are container-friendly as well: the
57
+ component uses `max-width: 100%`, wraps long content, and reserves space for
58
+ the close button.
59
+
60
+ ## Feedback Status UX from WP-E11-09
61
+
62
+ `<x-toast>` exposes `xtendFeedbackStatusUxProfile` with
63
+ `xtend.component.feedback-status-ux-profile.v1`. The profile describes
64
+ `x-toast` as a short-lived feedback shell with `toast-shown`,
65
+ `toast-dismissed`, `xtoast-state-<id>`, `a11y.announce`, Fabric lane `a11y`,
66
+ and RMT shell authoring.
67
+
68
+ Timeouts provide `reason: 'timeout'`; manual dismiss paths provide
69
+ `reason: 'button'` or `manual`. Event details include `source: 'x-toast'`,
70
+ `stateKey`, and `dismissed`, so status and diagnostics lanes can unambiguously
71
+ map toast lifecycles.
72
+
73
+ ## Notes
74
+
75
+ - Toasts are semantically meant for short-lived, non-blocking notices.
76
+ - Use `x-alert` for messages that should remain visible longer or carry more
77
+ important content.
78
+ - `window.XToast.show()` is the preferred entry point for API-managed toasts.
@@ -0,0 +1,85 @@
1
+ # xtooltip - XTend Component
2
+
3
+ > **See also:** [xpopover](./xpopover.md), [xdrawer](./xdrawer.md), [xdialog](./xdialog.md), [xmodal](./xmodal.md)
4
+
5
+ ## Overview
6
+
7
+ `<x-tooltip>` is the lightweight overlay help component from `WP-E10-11`. The
8
+ component connects to a target element through `aria-describedby`, opens on
9
+ hover or focus, and closes on blur, mouseleave, or `Escape`.
10
+
11
+ ## Usage
12
+
13
+ ```html
14
+ <button id="schedule-help">Inspect schedule</button>
15
+ <x-tooltip id="route-tooltip" for="schedule-help" placement="top" delay="20" label="Tooltip help">
16
+ Explains the scheduled action.
17
+ </x-tooltip>
18
+ ```
19
+
20
+ ## Attributes
21
+
22
+ | Attribute | Type | Description |
23
+ |-----------|------|-------------|
24
+ | `for` | String | ID of the anchor element |
25
+ | `placement` | String | `top`, `right`, `bottom`, or `left` |
26
+ | `open` | Boolean | opens the tooltip in controlled mode |
27
+ | `delay` | Number | opening delay in milliseconds |
28
+ | `label` | String | accessible name for the tooltip |
29
+
30
+ ## Events
31
+
32
+ | Event | Detail |
33
+ |-------|--------|
34
+ | `tooltip-opened` | `{ id, open, source, placement }` |
35
+ | `tooltip-closed` | `{ id, open, source, placement }` |
36
+
37
+ ## API
38
+
39
+ - `show()`
40
+ - `hide()`
41
+ - `toggle()`
42
+
43
+ ## State, RMT, and Fabric
44
+
45
+ `<x-tooltip>` writes to `xtooltip-open-<id>`. The RMT contract is
46
+ `xtend.rmt.component-contract.v1` and uses the schedules
47
+ `component.visible.mount`, `component.idle.hydrate`, and
48
+ `overlay.tooltip.position`. The kernel boundary remains
49
+ `no-rmt-kernel-import-of-xtend-types`.
50
+
51
+ ## A11y and Performance
52
+
53
+ The component uses `role="tooltip"`, sets `aria-describedby` on the anchor, and
54
+ documents `dismiss-on-escape` as a screen reader signal. The performance
55
+ profile is `xtend.performance.component-profile.v1` with
56
+ `budgetClass: 'overlay-small'`, `lane: 'visible'`, and `hydrationPolicy:
57
+ 'idle'`.
58
+
59
+ ## Overlay Interaction UX Profile
60
+
61
+ Since `WP-E11-11`, `<x-tooltip>` declares the runtime profile
62
+ `xtend.component.overlay-interaction-ux-profile.v1` through
63
+ `xtendOverlayInteractionUxProfile`.
64
+
65
+ | Field | Value |
66
+ |-------|-------|
67
+ | Family | `tooltip` |
68
+ | State Key | `xtooltip-open-<id>` |
69
+ | Schedule | `overlay.position.update` |
70
+ | Commands | `show`, `hide`, `toggle`, `snapshot` |
71
+
72
+ The profile intentionally keeps tooltip overlays non-modal: no focus trap, no
73
+ inert, no scroll lock. RMT can schedule positioning and dismissal while the
74
+ host continues to manage `aria-describedby`, hover/focus, and Escape.
75
+
76
+ ## ECH-WP-06 Overlay Parity
77
+
78
+ `x-tooltip` exposes `surface`, `backdrop`, `close`, and `content` as overlay
79
+ parts, with `backdrop` and `close` intentionally acting as non-interactive
80
+ sentinels for theme/part parity. The tooltip remains non-modal and
81
+ information-oriented.
82
+
83
+ Surface, text, elevation, radius, typography, and z-index use
84
+ `--xtend-overlay-*`, `--tooltip-*`, or `--xtooltip-*` tokens. Focus trap, inert,
85
+ and scroll lock do not apply to tooltips.
@@ -0,0 +1,91 @@
1
+ # xtype - XTend Component
2
+
3
+ > **See also:** [xwriter](./xwriter.md)
4
+
5
+ ## Overview
6
+
7
+ `<x-type>` is a component for animated text effects such as typing animation.
8
+ It is suitable for hero areas, headings, and interactive UI elements.
9
+
10
+ ---
11
+
12
+ ## Features
13
+
14
+ - Animated text effects (typing, loop)
15
+ - Customizable speed
16
+ - Theming through CSS custom properties
17
+
18
+ ---
19
+
20
+ ## Usage
21
+
22
+ ```html
23
+ <x-type text="XTend rocks!" speed="80"></x-type>
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Attributes
29
+
30
+ | Attribute | Type | Description |
31
+ |-----------|------|-------------|
32
+ | `text` | String | text to display |
33
+ | `speed` | Number | speed in ms per character |
34
+ | `loop` | Boolean | endless loop |
35
+
36
+ ---
37
+
38
+ ## Events
39
+
40
+ | Event | Description |
41
+ |-------|-------------|
42
+ | `done` | emitted after animation |
43
+
44
+ ---
45
+
46
+ ## API
47
+
48
+ - **Set text dynamically:** `element.setAttribute('text', 'Hello')`
49
+
50
+ ---
51
+
52
+ ## Example: Dynamic JS
53
+
54
+ ```js
55
+ const type = document.createElement('x-type');
56
+ type.setAttribute('text', 'Hello world!');
57
+ document.body.appendChild(type);
58
+ ```
59
+
60
+ ---
61
+
62
+ ## Styling and Theming
63
+
64
+ ```css
65
+ x-type {
66
+ --type-color: #007bff;
67
+ }
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Accessibility
73
+
74
+ - Semantic HTML
75
+
76
+ ---
77
+
78
+ *Last updated: July 16, 2025*
79
+
80
+ ## Layout Display Media UX Profile
81
+
82
+ Starting with `WP-E11-12`, `x-type` exposes the profile
83
+ `xtend.component.layout-display-media-ux-profile.v1`. The component uses a
84
+ Shadow DOM shell for text and cursor, can be hydrated on idle, and writes its
85
+ current text to `xtype-current`.
86
+
87
+ - Profile getter: `xtendLayoutDisplayMediaUxProfile`
88
+ - Schedule: `component.idle.hydrate`
89
+ - Events: `typing-started`, `typing-completed`, `text-erased`
90
+ - Snapshot: `snapshot()`
91
+ - CSS parts: `root`, `text`, `cursor`