@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.
- package/CHANGELOG.md +2 -0
- package/README.md +4 -0
- package/catalog/component-catalog-coverage.js +2 -0
- package/catalog/epic13-package-export-lock.js +11 -1
- package/catalog/epic13-rmt-production-readiness.js +0 -1
- package/catalog/epic18-rmt-action-effect-runtime.d.ts +36 -0
- package/catalog/epic18-rmt-action-effect-runtime.js +249 -0
- package/catalog/epic18-rmt-app-platform-authoring.d.ts +39 -0
- package/catalog/epic18-rmt-app-platform-authoring.js +319 -0
- package/catalog/epic18-rmt-app-platform-fixture.d.ts +33 -0
- package/catalog/epic18-rmt-app-platform-fixture.js +221 -0
- package/catalog/epic18-rmt-app-platform-release-handoff.d.ts +30 -0
- package/catalog/epic18-rmt-app-platform-release-handoff.js +231 -0
- package/catalog/epic18-rmt-app-platform-tooling.d.ts +38 -0
- package/catalog/epic18-rmt-app-platform-tooling.js +242 -0
- package/catalog/epic18-rmt-component-template-primitives.d.ts +33 -0
- package/catalog/epic18-rmt-component-template-primitives.js +240 -0
- package/catalog/epic18-rmt-dom-descriptor-renderer.d.ts +35 -0
- package/catalog/epic18-rmt-dom-descriptor-renderer.js +232 -0
- package/catalog/epic18-rmt-event-routing-runtime.d.ts +35 -0
- package/catalog/epic18-rmt-event-routing-runtime.js +234 -0
- package/catalog/epic18-rmt-state-selector-runtime.d.ts +34 -0
- package/catalog/epic18-rmt-state-selector-runtime.js +216 -0
- package/catalog/epic18-rmt-surface-resource-graph-runtime.d.ts +36 -0
- package/catalog/epic18-rmt-surface-resource-graph-runtime.js +256 -0
- package/catalog/surface-manager-controller.js +5 -1
- package/catalog/surface-manager-materialization.js +7 -1
- package/catalog/surface-manager-overlay-bridge.js +41 -6
- package/catalog/surface-manager-workbench-fixture.js +1 -1
- package/catalog/surface-type-capability-matrix.d.ts +61 -0
- package/catalog/surface-type-capability-matrix.js +183 -0
- package/catalog/type-exports-rmt.js +37 -1
- package/catalog/type-exports.js +3 -3
- package/components/icon-packs/lucide.js +4 -0
- package/components/manifest.json +2 -0
- package/components/prism-rmt.d.ts +34 -0
- package/components/prism-rmt.js +130 -0
- package/components/xcards.js +15 -0
- package/components/xcode.d.ts +36 -1
- package/components/xcode.js +215 -20
- package/components/xfooter.js +17 -0
- package/components/xheader.js +14 -0
- package/components/xhero.js +16 -1
- package/components/xlink.js +97 -14
- package/components/xmasonry.js +15 -0
- package/components/xplayer.d.ts +44 -2
- package/components/xplayer.js +242 -15
- package/components/xrouter.js +27 -2
- package/components/xsection.js +15 -0
- package/components/xsidepanel.js +10 -2
- package/components/xsurfacemanager-controller.d.ts +2 -1
- package/components/xsurfacemanager-controller.js +27 -3
- package/components/xsurfacemanager.d.ts +2 -0
- package/components/xsurfacemanager.js +20 -8
- package/components/xsurfaceoverlay-bridge.d.ts +20 -5
- package/components/xsurfaceoverlay-bridge.js +114 -18
- package/components/xsurfaceportal.d.ts +29 -0
- package/components/xsurfaceportal.js +122 -0
- package/components/xsurfaceregion.d.ts +50 -0
- package/components/xsurfaceregion.js +285 -0
- package/components/xsurfacewindow.js +2 -1
- package/components/xtooltip.js +89 -23
- package/docs/README.md +222 -298
- package/docs/changelog.md +107 -0
- package/docs/component-catalog-coverage.md +9 -9
- package/docs/component-platform.md +19 -1
- package/docs/component-ux-app-authoring.md +56 -63
- package/docs/components/xcode.md +83 -53
- package/docs/components/xsurfaceportal.md +32 -0
- package/docs/components/xsurfaceregion.md +37 -0
- package/docs/components.md +105 -69
- package/docs/de/README.md +264 -0
- package/docs/de/XTend-ADR.md +221 -0
- package/docs/de/a11y-keyboard-smokes.md +62 -0
- package/docs/de/about.md +18 -0
- package/docs/de/api.md +157 -0
- package/docs/de/best-practices.md +76 -0
- package/docs/de/changelog.md +107 -0
- package/docs/de/component-catalog-coverage.md +58 -0
- package/docs/de/component-lab.md +103 -0
- package/docs/de/component-long-tail-migration.md +41 -0
- package/docs/de/component-platform.md +177 -0
- package/docs/de/component-ux-app-authoring.md +123 -0
- package/docs/de/component-ux-authoring.md +96 -0
- package/docs/de/component-ux-gates.md +45 -0
- package/docs/de/components/x-rmt-lifecycle-demo-build.md +60 -0
- package/docs/de/components/xalert.md +81 -0
- package/docs/de/components/xbutton.md +103 -0
- package/docs/de/components/xcalendar.md +82 -0
- package/docs/de/components/xcards.md +128 -0
- package/docs/de/components/xcheckbox.md +102 -0
- package/docs/de/components/xcode.md +156 -0
- package/docs/de/components/xdialog.md +92 -0
- package/docs/de/components/xdrawer.md +84 -0
- package/docs/de/components/xfooter.md +126 -0
- package/docs/de/components/xform.md +128 -0
- package/docs/de/components/xheader.md +308 -0
- package/docs/de/components/xhero.md +142 -0
- package/docs/de/components/xicon.md +125 -0
- package/docs/de/components/xinput.md +129 -0
- package/docs/de/components/xlightbox.md +98 -0
- package/docs/de/components/xlink.md +109 -0
- package/docs/de/components/xmasonry.md +124 -0
- package/docs/de/components/xmenu.md +158 -0
- package/docs/de/components/xmodal.md +82 -0
- package/docs/de/components/xplayer.md +104 -0
- package/docs/de/components/xpopover.md +67 -0
- package/docs/de/components/xprogress.md +56 -0
- package/docs/de/components/xradio.md +103 -0
- package/docs/de/components/xrouter.md +260 -0
- package/docs/de/components/xsection.md +125 -0
- package/docs/de/components/xselect.md +105 -0
- package/docs/de/components/xsidepanel.md +30 -0
- package/docs/de/components/xspinner.md +102 -0
- package/docs/de/components/xstate.md +148 -0
- package/docs/de/components/xstatus.md +55 -0
- package/docs/de/components/xsummary.md +78 -0
- package/docs/de/components/xsurfacemanager.md +27 -0
- package/docs/de/components/xsurfacewindow.md +21 -0
- package/docs/de/components/xtabs.md +160 -0
- package/docs/de/components/xtextarea.md +98 -0
- package/docs/de/components/xtheme.md +167 -0
- package/docs/de/components/xtoast.md +62 -0
- package/docs/de/components/xtooltip.md +66 -0
- package/docs/de/components/xtype.md +82 -0
- package/docs/de/components/xutils.md +144 -0
- package/docs/de/components/xwriter.md +94 -0
- package/docs/de/components.md +153 -0
- package/docs/de/conditional-network-evidence-ci.md +38 -0
- package/docs/de/conditional-network-evidence.md +50 -0
- package/docs/de/core-migration-guide.md +110 -0
- package/docs/de/design-tokens.md +116 -0
- package/docs/de/docs-rmt-production-hardening.md +31 -0
- package/docs/de/enterprise-adoption.md +413 -0
- package/docs/de/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/de/epic10-platform-gates.md +62 -0
- package/docs/de/epic10-release-handoff.md +81 -0
- package/docs/de/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/de/epic12-rc0-handoff.md +61 -0
- package/docs/de/epic18-media-manager-vendor-upstream.md +318 -0
- package/docs/de/epic18-rmt-app-platform-release-handoff.md +67 -0
- package/docs/de/epic18-vendor-bugfixes.md +34 -0
- package/docs/de/existing-component-metadata.md +67 -0
- package/docs/de/hydration-performance-closure.md +34 -0
- package/docs/de/hydration-policies.md +71 -0
- package/docs/de/known-residual-triage.md +22 -0
- package/docs/de/manifest-import-policy.md +79 -0
- package/docs/de/manifest.md +112 -0
- package/docs/de/motion-contrast.md +67 -0
- package/docs/de/package-export-lock.md +44 -0
- package/docs/de/performance-measurements.md +106 -0
- package/docs/de/performance-regression.md +89 -0
- package/docs/de/performance.md +94 -0
- package/docs/de/previews/README.md +17 -0
- package/docs/de/prod-browser-csp-smokes.md +40 -0
- package/docs/de/public-component-types.md +79 -0
- package/docs/de/quick-start-guide.md +220 -0
- package/docs/de/rc0-adoption-guide.md +102 -0
- package/docs/de/rc0-gate-matrix.md +58 -0
- package/docs/de/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/de/rc1-migration-notes.md +69 -0
- package/docs/de/rc1-readiness.md +46 -0
- package/docs/de/release-owner-acceptance.md +56 -0
- package/docs/de/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/de/rmt-action-effect-runtime.md +81 -0
- package/docs/de/rmt-app-platform-authoring.md +54 -0
- package/docs/de/rmt-app-platform-fixture.md +46 -0
- package/docs/de/rmt-app-platform-migration-guide.md +88 -0
- package/docs/de/rmt-app-platform-tooling.md +79 -0
- package/docs/de/rmt-component-template-primitives.md +57 -0
- package/docs/de/rmt-dom-descriptor-renderer.md +64 -0
- package/docs/de/rmt-dsl-authoring-polish.md +145 -0
- package/docs/de/rmt-event-routing-runtime.md +81 -0
- package/docs/de/rmt-first-demo-app.md +77 -0
- package/docs/de/rmt-first-xtend-apps.md +129 -0
- package/docs/de/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
- package/docs/de/rmt-kernel-security-hardening-migration.md +50 -0
- package/docs/de/rmt-kernel-trusted-output-authoring.md +69 -0
- package/docs/de/rmt-language-server.md +234 -0
- package/docs/de/rmt-lifecycle-demo.md +24 -0
- package/docs/de/rmt-linter.md +140 -0
- package/docs/de/rmt-node-ssr-adapter.md +100 -0
- package/docs/de/rmt-php-ssr-adapter.md +120 -0
- package/docs/de/rmt-production-readiness.md +63 -0
- package/docs/de/rmt-state-selector-runtime.md +47 -0
- package/docs/de/rmt-surface-resource-graph-runtime.md +92 -0
- package/docs/de/rmt-tooling-release-gates.md +77 -0
- package/docs/de/rmt-vnext-authoring.md +170 -0
- package/docs/de/rmt-vnext-component-primitives.md +188 -0
- package/docs/de/rmt-vnext-cross-surface-events.md +68 -0
- package/docs/de/rmt-vnext-enterprise-mfe-handoff.md +70 -0
- package/docs/de/rmt-vnext-fabric-bridge-evidence.md +81 -0
- package/docs/de/rmt-vnext-migration-notes.md +62 -0
- package/docs/de/rmt-vnext-primitive-authoring-tooling.md +247 -0
- package/docs/de/rmt-vnext-primitive-grammar-design.md +289 -0
- package/docs/de/rmt-vnext-primitive-lowering.md +108 -0
- package/docs/de/rmt-vnext-primitive-migration.md +119 -0
- package/docs/de/rmt-vnext-primitive-parser-ast.md +76 -0
- package/docs/de/rmt-vnext-primitive-semantic-graph.md +118 -0
- package/docs/de/rmt-vnext-primitives-compiler-backlog.md +739 -0
- package/docs/de/rmt-vnext-release-handoff.md +83 -0
- package/docs/de/rmt-vnext-remote-surfaces.md +90 -0
- package/docs/de/rmt-vnext-source-to-sea-gate.md +612 -0
- package/docs/de/rmt-vnext-surface-registry-enterprise.md +76 -0
- package/docs/de/screenreader-signals.md +56 -0
- package/docs/de/supply-chain-gates.md +100 -0
- package/docs/de/surface-manager-authoring-guide.md +94 -0
- package/docs/de/surface-manager-browser-lab.md +45 -0
- package/docs/de/surface-manager-component-lab.md +43 -0
- package/docs/de/surface-manager-controller.md +66 -0
- package/docs/de/surface-manager-layout-engines.md +32 -0
- package/docs/de/surface-manager-lazy-hydration.md +63 -0
- package/docs/de/surface-manager-migration-guide.md +122 -0
- package/docs/de/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/de/surface-manager-overlay-bridge.md +53 -0
- package/docs/de/surface-manager-persistence.md +30 -0
- package/docs/de/surface-manager-quality-gates.md +51 -0
- package/docs/de/surface-manager-release-handoff.md +68 -0
- package/docs/de/surface-manager-remote-policy.md +54 -0
- package/docs/de/surface-manager-rmt-authoring.md +102 -0
- package/docs/de/surface-manager-route-lifecycle.md +59 -0
- package/docs/de/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/de/surface-manager-side-panel-runtime.md +36 -0
- package/docs/de/surface-manager-stack-policy.md +39 -0
- package/docs/de/surface-manager-window-runtime.md +47 -0
- package/docs/de/surface-manager-workbench-fixture.md +43 -0
- package/docs/de/third-party-design-authoring.md +406 -0
- package/docs/de/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/de/trusted-dom-sanitizing.md +110 -0
- package/docs/de/type-exports.md +61 -0
- package/docs/de/typescript-components.md +63 -0
- package/docs/de/visual-browser-regression.md +83 -0
- package/docs/de/visual-owner-artifacts.md +46 -0
- package/docs/de/visual-snapshot-automation.md +87 -0
- package/docs/de/xtend-api-types.md +55 -0
- package/docs/de/xtend-builder-types.md +55 -0
- package/docs/de/xtend-catalog-types.md +44 -0
- package/docs/de/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/de/xtend-fabric.md +474 -0
- package/docs/de/xtend-loader-types.md +58 -0
- package/docs/de/xtend-loader.md +265 -0
- package/docs/de/xtend-policy-types.md +38 -0
- package/docs/de/xtend-rmt-types.md +40 -0
- package/docs/de/xtend-vendor-types.md +36 -0
- package/docs/de/xtendrmt-app-dsl.md +334 -0
- package/docs/de/xtendrmt-migration-guide.md +266 -0
- package/docs/de/xtendrmt-native-authoring.md +333 -0
- package/docs/de/xtendrmt-overview.md +109 -0
- package/docs/de/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/de/xtendrmt-runtime-bridge.md +155 -0
- package/docs/en/README.md +163 -0
- package/docs/en/XTend-ADR.md +221 -0
- package/docs/en/a11y-keyboard-smokes.md +68 -0
- package/docs/en/about.md +25 -0
- package/docs/en/api.md +171 -0
- package/docs/en/best-practices.md +125 -0
- package/docs/en/changelog.md +104 -0
- package/docs/en/component-catalog-coverage.md +104 -0
- package/docs/en/component-lab.md +103 -0
- package/docs/en/component-long-tail-migration.md +41 -0
- package/docs/en/component-platform.md +243 -0
- package/docs/en/component-ux-app-authoring.md +118 -0
- package/docs/en/component-ux-authoring.md +96 -0
- package/docs/en/component-ux-gates.md +45 -0
- package/docs/en/components/x-rmt-lifecycle-demo-build.md +75 -0
- package/docs/en/components/xalert.md +94 -0
- package/docs/en/components/xbutton.md +118 -0
- package/docs/en/components/xcalendar.md +95 -0
- package/docs/en/components/xcards.md +139 -0
- package/docs/en/components/xcheckbox.md +118 -0
- package/docs/en/components/xcode.md +153 -0
- package/docs/en/components/xdialog.md +108 -0
- package/docs/en/components/xdrawer.md +110 -0
- package/docs/en/components/xfooter.md +138 -0
- package/docs/en/components/xform.md +147 -0
- package/docs/en/components/xheader.md +308 -0
- package/docs/en/components/xhero.md +157 -0
- package/docs/en/components/xicon.md +149 -0
- package/docs/en/components/xinput.md +147 -0
- package/docs/en/components/xlightbox.md +113 -0
- package/docs/en/components/xlink.md +130 -0
- package/docs/en/components/xmasonry.md +136 -0
- package/docs/en/components/xmenu.md +185 -0
- package/docs/en/components/xmodal.md +102 -0
- package/docs/en/components/xplayer.md +114 -0
- package/docs/en/components/xpopover.md +87 -0
- package/docs/en/components/xprogress.md +73 -0
- package/docs/en/components/xradio.md +119 -0
- package/docs/en/components/xrouter.md +260 -0
- package/docs/en/components/xsection.md +136 -0
- package/docs/en/components/xselect.md +122 -0
- package/docs/en/components/xsidepanel.md +48 -0
- package/docs/en/components/xspinner.md +118 -0
- package/docs/en/components/xstate.md +163 -0
- package/docs/en/components/xstatus.md +71 -0
- package/docs/en/components/xsummary.md +90 -0
- package/docs/en/components/xsurfacemanager.md +42 -0
- package/docs/en/components/xsurfacewindow.md +31 -0
- package/docs/en/components/xtabs.md +187 -0
- package/docs/en/components/xtextarea.md +115 -0
- package/docs/en/components/xtheme.md +203 -0
- package/docs/en/components/xtoast.md +78 -0
- package/docs/en/components/xtooltip.md +85 -0
- package/docs/en/components/xtype.md +91 -0
- package/docs/en/components/xutils.md +161 -0
- package/docs/en/components/xwriter.md +106 -0
- package/docs/en/components.md +151 -0
- package/docs/en/conditional-network-evidence-ci.md +38 -0
- package/docs/en/conditional-network-evidence.md +50 -0
- package/docs/en/core-migration-guide.md +110 -0
- package/docs/en/design-tokens.md +137 -0
- package/docs/en/docs-rmt-production-hardening.md +31 -0
- package/docs/en/enterprise-adoption.md +413 -0
- package/docs/en/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/en/epic10-platform-gates.md +62 -0
- package/docs/en/epic10-release-handoff.md +81 -0
- package/docs/en/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/en/epic12-rc0-handoff.md +61 -0
- package/docs/en/epic18-media-manager-vendor-upstream.md +232 -0
- package/docs/en/epic18-rmt-app-platform-release-handoff.md +60 -0
- package/docs/en/epic18-vendor-bugfixes.md +29 -0
- package/docs/en/existing-component-metadata.md +67 -0
- package/docs/en/hydration-performance-closure.md +34 -0
- package/docs/en/hydration-policies.md +75 -0
- package/docs/en/known-residual-triage.md +22 -0
- package/docs/en/manifest-import-policy.md +81 -0
- package/docs/en/manifest.md +135 -0
- package/docs/en/motion-contrast.md +67 -0
- package/docs/en/package-export-lock.md +44 -0
- package/docs/en/performance-measurements.md +106 -0
- package/docs/en/performance-regression.md +89 -0
- package/docs/en/performance.md +132 -0
- package/docs/en/previews/README.md +17 -0
- package/docs/en/prod-browser-csp-smokes.md +40 -0
- package/docs/en/public-component-types.md +79 -0
- package/docs/en/quick-start-guide.md +189 -0
- package/docs/en/rc0-adoption-guide.md +102 -0
- package/docs/en/rc0-gate-matrix.md +58 -0
- package/docs/en/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/en/rc1-migration-notes.md +69 -0
- package/docs/en/rc1-readiness.md +46 -0
- package/docs/en/release-owner-acceptance.md +56 -0
- package/docs/en/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/en/rmt-action-effect-runtime.md +101 -0
- package/docs/en/rmt-app-platform-authoring.md +47 -0
- package/docs/en/rmt-app-platform-fixture.md +35 -0
- package/docs/en/rmt-app-platform-migration-guide.md +75 -0
- package/docs/en/rmt-app-platform-tooling.md +58 -0
- package/docs/en/rmt-component-template-primitives.md +49 -0
- package/docs/en/rmt-dom-descriptor-renderer.md +54 -0
- package/docs/en/rmt-dsl-authoring-polish.md +143 -0
- package/docs/en/rmt-event-routing-runtime.md +98 -0
- package/docs/en/rmt-first-demo-app.md +87 -0
- package/docs/en/rmt-first-xtend-apps.md +127 -0
- package/docs/en/rmt-kernel-panic-recovery-incident-handoff.md +60 -0
- package/docs/en/rmt-kernel-security-hardening-migration.md +49 -0
- package/docs/en/rmt-kernel-trusted-output-authoring.md +68 -0
- package/docs/en/rmt-language-server.md +243 -0
- package/docs/en/rmt-lifecycle-demo.md +23 -0
- package/docs/en/rmt-linter.md +146 -0
- package/docs/en/rmt-node-ssr-adapter.md +99 -0
- package/docs/en/rmt-php-ssr-adapter.md +118 -0
- package/docs/en/rmt-production-readiness.md +63 -0
- package/docs/en/rmt-state-selector-runtime.md +34 -0
- package/docs/en/rmt-surface-resource-graph-runtime.md +68 -0
- package/docs/en/rmt-tooling-release-gates.md +77 -0
- package/docs/en/rmt-vnext-authoring.md +102 -0
- package/docs/en/rmt-vnext-component-primitives.md +185 -0
- package/docs/en/rmt-vnext-cross-surface-events.md +59 -0
- package/docs/en/rmt-vnext-enterprise-mfe-handoff.md +62 -0
- package/docs/en/rmt-vnext-fabric-bridge-evidence.md +64 -0
- package/docs/en/rmt-vnext-migration-notes.md +62 -0
- package/docs/en/rmt-vnext-primitive-authoring-tooling.md +174 -0
- package/docs/en/rmt-vnext-primitive-grammar-design.md +268 -0
- package/docs/en/rmt-vnext-primitive-lowering.md +91 -0
- package/docs/en/rmt-vnext-primitive-migration.md +93 -0
- package/docs/en/rmt-vnext-primitive-parser-ast.md +59 -0
- package/docs/en/rmt-vnext-primitive-semantic-graph.md +103 -0
- package/docs/en/rmt-vnext-primitives-compiler-backlog.md +327 -0
- package/docs/en/rmt-vnext-release-handoff.md +83 -0
- package/docs/en/rmt-vnext-remote-surfaces.md +81 -0
- package/docs/en/rmt-vnext-source-to-sea-gate.md +482 -0
- package/docs/en/rmt-vnext-surface-registry-enterprise.md +68 -0
- package/docs/en/screenreader-signals.md +56 -0
- package/docs/en/supply-chain-gates.md +106 -0
- package/docs/en/surface-manager-authoring-guide.md +94 -0
- package/docs/en/surface-manager-browser-lab.md +45 -0
- package/docs/en/surface-manager-component-lab.md +43 -0
- package/docs/en/surface-manager-controller.md +66 -0
- package/docs/en/surface-manager-layout-engines.md +32 -0
- package/docs/en/surface-manager-lazy-hydration.md +63 -0
- package/docs/en/surface-manager-migration-guide.md +113 -0
- package/docs/en/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/en/surface-manager-overlay-bridge.md +53 -0
- package/docs/en/surface-manager-persistence.md +30 -0
- package/docs/en/surface-manager-quality-gates.md +51 -0
- package/docs/en/surface-manager-release-handoff.md +68 -0
- package/docs/en/surface-manager-remote-policy.md +54 -0
- package/docs/en/surface-manager-rmt-authoring.md +89 -0
- package/docs/en/surface-manager-route-lifecycle.md +59 -0
- package/docs/en/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/en/surface-manager-side-panel-runtime.md +36 -0
- package/docs/en/surface-manager-stack-policy.md +39 -0
- package/docs/en/surface-manager-window-runtime.md +47 -0
- package/docs/en/surface-manager-workbench-fixture.md +43 -0
- package/docs/en/third-party-design-authoring.md +406 -0
- package/docs/en/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/en/trusted-dom-sanitizing.md +124 -0
- package/docs/en/type-exports.md +61 -0
- package/docs/en/typescript-components.md +63 -0
- package/docs/en/visual-browser-regression.md +83 -0
- package/docs/en/visual-owner-artifacts.md +46 -0
- package/docs/en/visual-snapshot-automation.md +87 -0
- package/docs/en/xtend-api-types.md +55 -0
- package/docs/en/xtend-builder-types.md +55 -0
- package/docs/en/xtend-catalog-types.md +44 -0
- package/docs/en/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/en/xtend-fabric.md +474 -0
- package/docs/en/xtend-loader-types.md +58 -0
- package/docs/en/xtend-loader.md +265 -0
- package/docs/en/xtend-policy-types.md +38 -0
- package/docs/en/xtend-rmt-types.md +40 -0
- package/docs/en/xtend-vendor-types.md +36 -0
- package/docs/en/xtendrmt-app-dsl.md +331 -0
- package/docs/en/xtendrmt-migration-guide.md +256 -0
- package/docs/en/xtendrmt-native-authoring.md +336 -0
- package/docs/en/xtendrmt-overview.md +63 -0
- package/docs/en/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/en/xtendrmt-runtime-bridge.md +155 -0
- package/docs/enterprise-adoption.md +4 -2
- package/docs/epic18-media-manager-vendor-upstream.md +318 -0
- package/docs/epic18-rmt-app-platform-release-handoff.md +67 -0
- package/docs/epic18-vendor-bugfixes.md +34 -0
- package/docs/index.php +1056 -109
- package/docs/manifest.md +8 -2
- package/docs/menu.json +986 -133
- package/docs/package-export-lock.md +2 -2
- package/docs/public-component-types.md +2 -2
- package/docs/quick-start-guide.md +126 -58
- package/docs/rmt-action-effect-runtime.md +101 -0
- package/docs/rmt-app-platform-authoring.md +54 -0
- package/docs/rmt-app-platform-fixture.md +46 -0
- package/docs/rmt-app-platform-migration-guide.md +88 -0
- package/docs/rmt-app-platform-tooling.md +79 -0
- package/docs/rmt-component-template-primitives.md +57 -0
- package/docs/rmt-dom-descriptor-renderer.md +64 -0
- package/docs/rmt-dsl-authoring-polish.md +67 -44
- package/docs/rmt-event-routing-runtime.md +98 -0
- package/docs/rmt-first-demo-app.md +2 -2
- package/docs/rmt-first-xtend-apps.md +70 -46
- package/docs/rmt-language-server.md +61 -4
- package/docs/rmt-lifecycle-demo.md +1 -2
- package/docs/rmt-node-ssr-adapter.md +144 -0
- package/docs/rmt-php-ssr-adapter.md +158 -0
- package/docs/rmt-state-selector-runtime.md +47 -0
- package/docs/rmt-surface-resource-graph-runtime.md +92 -0
- package/docs/rmt-vnext-authoring.md +128 -18
- package/docs/rmt-vnext-component-primitives.md +188 -0
- package/docs/rmt-vnext-fabric-bridge-evidence.md +81 -0
- package/docs/rmt-vnext-primitive-authoring-tooling.md +247 -0
- package/docs/rmt-vnext-primitive-grammar-design.md +289 -0
- package/docs/rmt-vnext-primitive-lowering.md +108 -0
- package/docs/rmt-vnext-primitive-migration.md +119 -0
- package/docs/rmt-vnext-primitive-parser-ast.md +76 -0
- package/docs/rmt-vnext-primitive-semantic-graph.md +118 -0
- package/docs/rmt-vnext-primitives-compiler-backlog.md +742 -0
- package/docs/rmt-vnext-release-handoff.md +14 -0
- package/docs/rmt-vnext-source-to-sea-gate.md +629 -0
- package/docs/surface-manager-migration-guide.md +34 -6
- package/docs/surface-manager-overlay-bridge.md +9 -4
- package/docs/surface-manager-rmt-authoring.md +50 -34
- package/docs/surface-manager-workbench-fixture.md +1 -2
- package/docs/third-party-design-authoring.md +1 -1
- package/docs/type-exports.md +3 -3
- package/docs/utils/pageloader.js +811 -62
- package/docs/visual-browser-regression.md +1 -1
- package/docs/xtend-rmt-types.md +3 -2
- package/docs/xtendrmt-app-dsl.md +187 -122
- package/docs/xtendrmt-docs-shell-vnext.rmt +165 -0
- package/docs/xtendrmt-migration-guide.md +48 -17
- package/docs/xtendrmt-native-authoring.md +213 -217
- package/docs/xtendrmt-overview.md +81 -61
- package/docs/xtendrmt-parsedown-scheduling.md +23 -8
- package/fabric/package.json +1 -1
- package/package.json +684 -21
- package/tools/package.json +5 -1
- package/tools/rmt-editor/vscode/README.md +72 -5
- package/tools/rmt-editor/vscode/XTend-Logo.png +0 -0
- package/tools/rmt-editor/vscode/extension.d.ts +33 -0
- package/tools/rmt-editor/vscode/extension.js +1816 -7
- package/tools/rmt-editor/vscode/language-configuration.json +2 -1
- package/tools/rmt-editor/vscode/package.json +193 -2
- package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +41 -0
- package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +103 -1
- package/tools/rmt-editor/vscode/templates/launch.json +70 -0
- package/tools/rmt-editor/vscode/templates/tasks.json +172 -0
- package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
- package/tools/rmt-language/app-platform-tooling.d.ts +128 -0
- package/tools/rmt-language/app-platform-tooling.js +677 -0
- package/tools/rmt-language/completions.d.ts +5 -0
- package/tools/rmt-language/completions.js +185 -3
- package/tools/rmt-language/diagnostics.js +54 -0
- package/tools/rmt-language/hover.js +36 -0
- package/tools/rmt-language/rmt-tooling-public-types.d.ts +7 -0
- package/tools/rmt-language/rules/app-platform-policy.js +39 -0
- package/tools/rmt-language/rules/index.js +5 -1
- package/tools/rmt-language/semantic-graph.d.ts +6 -0
- package/tools/rmt-language/semantic-graph.js +928 -0
- package/tools/rmt-language/snippets/index.js +44 -0
- package/tools/rmt-language/snippets/rmt.code-snippets +41 -0
- package/tools/rmt-language/vnext-compatibility.d.ts +10 -0
- package/tools/rmt-language/vnext-compatibility.js +642 -0
- package/tools/rmt-language/vnext-compiler.d.ts +5 -0
- package/tools/rmt-language/vnext-compiler.js +863 -17
- package/tools/rmt-language/vnext-parser.js +725 -9
- package/tools/rmt-language/vnext-release.d.ts +1 -0
- package/tools/rmt-language/vnext-release.js +20 -0
- package/tools/rmt-language/vnext-source-to-sea.d.ts +33 -0
- package/tools/rmt-language/vnext-source-to-sea.js +2227 -0
- package/tools/rmt-language/vnext-surfaces.js +111 -52
- package/tools/rmt-language/vnext-tooling.d.ts +19 -1
- package/tools/rmt-language/vnext-tooling.js +1247 -5
- package/tools/rmt-language-server/protocol.js +3 -0
- package/tools/rmt-language-server/server.d.ts +2 -0
- package/tools/rmt-language-server/server.js +176 -22
- package/tools/rmt-linter/cli.d.ts +2 -0
- package/tools/rmt-linter/cli.js +62 -0
- package/xtend-builder/generators/registry.js +11 -0
- package/xtend-builder/generators/rmt-app-platform.js +239 -0
- package/xtend-builder/generators/rmt-lifecycle-demo.js +3 -11
- package/xtend-builder/lib/cli.js +38 -0
- package/xtend-builder/package.json +3 -3
- package/xtend-builder/scaffold.config.js +29 -2
- package/xtend.css +49 -2
- package/xtendrmt/package.json +49 -1
- package/xtendrmt/rmt-action-effect-runtime.d.ts +126 -0
- package/xtendrmt/rmt-action-effect-runtime.js +494 -0
- package/xtendrmt/rmt-component-capability-registry.d.ts +180 -0
- package/xtendrmt/rmt-component-capability-registry.js +636 -0
- package/xtendrmt/rmt-core.d.ts +6 -0
- package/xtendrmt/rmt-core.esm.js +32 -6
- package/xtendrmt/rmt-dom-descriptor-renderer.d.ts +107 -0
- package/xtendrmt/rmt-dom-descriptor-renderer.js +1066 -0
- package/xtendrmt/rmt-event-routing-runtime.d.ts +144 -0
- package/xtendrmt/rmt-event-routing-runtime.js +666 -0
- package/xtendrmt/rmt-lifecycle-demo.app.js +2 -2
- package/xtendrmt/rmt-lifecycle-demo.core.json +4 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +1 -1
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +2 -2
- package/xtendrmt/rmt-lifecycle-demo.scaffold.json +4 -4
- package/xtendrmt/rmt-native-shell-runtime.d.ts +77 -0
- package/xtendrmt/rmt-native-shell-runtime.js +309 -0
- package/xtendrmt/rmt-node-ssr-adapter.d.ts +197 -0
- package/xtendrmt/rmt-node-ssr-adapter.js +1006 -0
- package/xtendrmt/rmt-php-ssr-adapter.php +976 -0
- package/xtendrmt/rmt-runtime.browser.js +32 -6
- package/xtendrmt/rmt-runtime.esm.js +32 -6
- package/xtendrmt/rmt-state-selector-runtime.d.ts +166 -0
- package/xtendrmt/rmt-state-selector-runtime.js +866 -0
- package/xtendrmt/rmt-surface-resource-graph-runtime.d.ts +224 -0
- package/xtendrmt/rmt-surface-resource-graph-runtime.js +932 -0
- package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +3 -0
- package/xtendrmt/rmt-vnext-reference-demo.core.json +3 -0
- package/xtendrmt/xtendrmt-bestcase-demo.core.json +3420 -372
- package/xtendrmt/xtendrmt-bestcase-demo.js +424 -8
- package/xtendrmt/xtendrmt-bestcase-demo.rmt +214 -6
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Component Catalog Coverage
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.docs.component-catalog-coverage.v1`
|
|
4
|
+
- Matrix Contract: `xtend.catalog.component-coverage-matrix.v1`
|
|
5
|
+
- Gate Contract: `xtend.catalog.component-coverage-gate.v1`
|
|
6
|
+
- Workpackage: `ER-WP-31`, fortgeschrieben durch `ER-WP-32`, `ER-WP-33`, `ER-WP-34`, `ER-WP-35`, `WP-E11-12`, `WP-E11-17`, `WP-E12-02`, `WP-E12-03`, `WP-E12-04`, `WP-E12-05`, `WP-E12-06`, `WP-E12-07`, `WP-E12-08`, `WP-E12-09`, `WP-E13-12A`, `WP-SM-03`, `WP-SM-04` und `RC1TB-WP-03`
|
|
7
|
+
|
|
8
|
+
Die Component Catalog Coverage Matrix zeigt, wie reif jede Komponente aus `components/manifest.json` gerade ist. Sie verbindet Source, Dokumentation, Component-Level-Suite, Fixture, Types, A11y und Performance zu einem Statusmodell.
|
|
9
|
+
|
|
10
|
+
## Lokal pruefen
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm run test:catalog-coverage
|
|
14
|
+
node scripts/run_xtend_tests.js catalog-coverage --json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Der Gate ist aktuell gruen, wenn alle Manifest-Sources lokal aufloesbar sind und der Matrix-Report strukturell valide ist. Fehlende Suites, Fixtures, Types, A11y- und Performance-Profile erscheinen als Warnungen. So kann der Catalog Schritt fuer Schritt gehaertet werden, ohne offene Folgepakete zu verstecken.
|
|
18
|
+
|
|
19
|
+
## Statusmodell
|
|
20
|
+
|
|
21
|
+
| Status | Bedeutung |
|
|
22
|
+
|--------|-----------|
|
|
23
|
+
| `enterprise-ready` | vollstaendige Source-, Docs-, Suite-, Fixture-, Types-, A11y- und Performance-Coverage |
|
|
24
|
+
| `typed-contract-gated` | Types und A11y sind vorhanden, Performance fehlt noch |
|
|
25
|
+
| `contract-gated` | Source, Docs, Component-Suite und Fixture sind vorhanden |
|
|
26
|
+
| `documented` | Source und Docs sind vorhanden |
|
|
27
|
+
| `source-only` | Source ist vorhanden, Docs oder Gates fehlen |
|
|
28
|
+
| `missing-source` | Manifest zeigt auf keine lokale Source; dieser Zustand blockiert |
|
|
29
|
+
|
|
30
|
+
## Aktueller Stand
|
|
31
|
+
|
|
32
|
+
Der Snapshot nach `RC1TB-WP-03` zeigt:
|
|
33
|
+
|
|
34
|
+
- 44 Manifest-Komponenten
|
|
35
|
+
- 44 lokale Source-Dateien
|
|
36
|
+
- 44 Komponenten-Dokumente
|
|
37
|
+
- 44 Component-Level-Suites und Fixtures
|
|
38
|
+
- 44 Public-Type-Artefakte fuer priorisierte Komponenten
|
|
39
|
+
- 43 Komponenten mit erkennbarer A11y-Oberflaeche
|
|
40
|
+
- 42 Komponenten mit explizitem Runtime-/UI-Performance-Profil
|
|
41
|
+
|
|
42
|
+
`x-input`, `x-select`, `x-checkbox`, `x-radio`, `x-rmt-lifecycle-demo-build`, `x-textarea`, `x-form`, `x-calendar`, `x-writer`, `x-status`, `x-progress`, `x-tooltip`, `x-popover`, `x-drawer`, `x-surface-manager`, `x-surface-portal`, `x-surface-region`, `x-surface-window`, `x-side-panel`, `x-modal`, `x-dialog`, `x-alert`, `x-toast`, `x-spinner`, `x-router`, `x-link`, `x-tabs`, `x-theme`, `x-button`, `x-icon`, `x-menu`, `x-footer`, `x-lightbox`, `x-masonry`, `x-code`, `x-header`, `x-hero`, `x-type`, `x-summary`, `x-section`, `x-cards` und `x-player` bilden die aktuelle `enterprise-ready` Linie: Source, Docs, Component-Suite, Fixture, Public Types, A11y und Performance-Profil sind vollstaendig vorhanden. `xstate` ist seit [Known Residual Triage](./known-residual-triage.md) als Runtime-Boundary geschlossen; `x-utils` ist als Utility-Boundary geschlossen. Beide bleiben bewusst nicht als visuelle `enterprise-ready` Komponenten klassifiziert.
|
|
43
|
+
|
|
44
|
+
Seit `ER-WP-35` existiert zusaetzlich der Regression-Priority-Plan `xtend.catalog.component-regression-priority-plan.v1`. Er priorisiert alle 44 Manifest-Eintraege fuer `desktop-1280`, `mobile-390`, `light`, `dark`, `forced-colors`, `reduced-motion`, Browser-Smokes und Performance-Profil-Ableitung. Die 42 sichtbaren Runtime-/UI-Komponenten bringen ihre Performance-Profile mit; `xstate` und `x-utils` werden stattdessen ueber ihre Boundary-Contracts bewertet.
|
|
45
|
+
|
|
46
|
+
## Handoff
|
|
47
|
+
|
|
48
|
+
| Paket | Aufgabe |
|
|
49
|
+
|-------|---------|
|
|
50
|
+
| `ER-WP-32` | abgeschlossen: Docs- und Naming-Luecken schliessen |
|
|
51
|
+
| `ER-WP-33` | abgeschlossen: Component-Level-Suites und Fixtures fuer priorisierte Komponenten nachziehen |
|
|
52
|
+
| `ER-WP-34` | abgeschlossen: Public Types und Event Contracts fuer priorisierte Komponenten vervollstaendigen |
|
|
53
|
+
| `ER-WP-35` | abgeschlossen: Long-Tail-Suites, Performance-Profile sowie visuelle und browsernahe Regression priorisieren |
|
|
54
|
+
| `WP-E11-12` | abgeschlossen: Layout-, Display- und Media-Shell-Reife in Katalog, Types, Suites und Performance-Profilen nachziehen |
|
|
55
|
+
|
|
56
|
+
`WP-E11-17` fuehrt diese Matrix mit dem Regression-Priority-Plan in `xtend.epic11.legacy-long-tail-migration.v1` zusammen. Nach `WP-E12-09` sind `x-tabs`, `x-theme`, `x-button` und `x-menu` aus diesem Long-Tail geschlossen. Seit `WP-E13-05` sind auch `xstate` und `x-utils` als Boundary-Contracts geschlossen: `xstate` als Runtime-Boundary mit Suite, Fixture, Types, Lifecycle Events, Fabric Diagnostics und RMT State Adapter; `x-utils` als Utility-Boundary mit Utility Contract, Import Policy, Fixture und Public Types. Der Gate `node scripts/run_xtend_tests.js component-long-tail-migration --json` prueft diese geschlossene Long-Tail-Linie weiter gegen Plan, Package, Scaffold, Referenzen und Handoff.
|
|
57
|
+
|
|
58
|
+
Die vollstaendige Matrix liegt in `development/XTend-Component-Catalog-Coverage-Matrix.md`. Die Naming-Konvention liegt in `development/XTend-Component-Catalog-Naming-Konvention.md`. Public Types sind in `docs/public-component-types.md` dokumentiert. Visual-/Browser-Regression ist in `docs/visual-browser-regression.md` dokumentiert. Das maschinenlesbare Coverage-Modul liegt in `catalog/component-catalog-coverage.js`; der Regression-Priority-Plan liegt in `catalog/component-regression-priority.js`; der Long-Tail-Migrationsplan liegt in `catalog/component-long-tail-migration.js`.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# XTend Component Lab
|
|
2
|
+
|
|
3
|
+
Contract: `xtend.docs.component-lab.v1`
|
|
4
|
+
|
|
5
|
+
Das Component Lab ist ab `WP-E10-12` der lokale Preview- und Inspect-Pfad fuer TypeScript-first XTend-Komponenten. Es verbindet Component Contract v2, RMT Metadata, Fabric/Lane Context, Lifecycle Telemetry, A11y-Profile und Performance-Profile in einem Shell-first RMT-Pilot.
|
|
6
|
+
|
|
7
|
+
## Pilot-Artefakte
|
|
8
|
+
|
|
9
|
+
- Plan-Modul: `xtend-builder/preview/component-lab.js`
|
|
10
|
+
- RMT Fixture: `tests/fixtures/rmt-component-lab-pilot.rmt`
|
|
11
|
+
- Contract: `development/XTend-Component-Lab-und-RMT-Inspector-Pilot.md`
|
|
12
|
+
- Gate: `node scripts/run_xtend_tests.js component-lab-rmt-inspector --json`
|
|
13
|
+
|
|
14
|
+
## Preview Targets
|
|
15
|
+
|
|
16
|
+
Das Lab startet mit den neun `enterprise-ready` Komponenten aus Epic 10:
|
|
17
|
+
|
|
18
|
+
- `x-select`
|
|
19
|
+
- `x-checkbox`
|
|
20
|
+
- `x-radio`
|
|
21
|
+
- `x-textarea`
|
|
22
|
+
- `x-status`
|
|
23
|
+
- `x-progress`
|
|
24
|
+
- `x-tooltip`
|
|
25
|
+
- `x-popover`
|
|
26
|
+
- `x-drawer`
|
|
27
|
+
|
|
28
|
+
Jeder Target-Eintrag verweist auf Runtime, TypeScript Source, RMT Metadata, Contract, A11y, Performance, Fixture Data, Browser-Fixture, Docs, Public Types und Component-Suite.
|
|
29
|
+
|
|
30
|
+
## RMT Inspector
|
|
31
|
+
|
|
32
|
+
Der RMT Inspector zeigt im Pilot die Domains:
|
|
33
|
+
|
|
34
|
+
- `manifest`
|
|
35
|
+
- `adapters`
|
|
36
|
+
- `components`
|
|
37
|
+
- `routes`
|
|
38
|
+
- `schedules`
|
|
39
|
+
- `templates`
|
|
40
|
+
- `diagnostics`
|
|
41
|
+
|
|
42
|
+
RMT bleibt dabei host-neutral. Der Kernel importiert keine XTend-Klassen und keine XTend-Typen. Execution, DOM-Materialisierung, XRouter-Registrierung und Fabric-Laufzeit bleiben Adapteraufgabe.
|
|
43
|
+
|
|
44
|
+
## Panels
|
|
45
|
+
|
|
46
|
+
| Panel | Zweck |
|
|
47
|
+
|-------|-------|
|
|
48
|
+
| `component-preview` | Preview Target, Fixture und Component Contract anzeigen |
|
|
49
|
+
| `rmt-inspector` | RMT-Dokument, Routes, Schedules und Templates inspizieren |
|
|
50
|
+
| `telemetry` | Component Lifecycle Records und Fabric Snapshots sichtbar machen |
|
|
51
|
+
| `a11y` | Rollen, Keyboard, Screenreader-Signale und Pflichtassertions zeigen |
|
|
52
|
+
| `performance` | Budgetklasse, Lane, Hydration Policy und Messpunkte zeigen |
|
|
53
|
+
| `source-links` | Runtime-, TS-, RMT-, Docs-, Types- und Suite-Pfade verlinken |
|
|
54
|
+
|
|
55
|
+
## Lokaler Gate
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
node scripts/run_xtend_tests.js component-lab-rmt-inspector --json
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Der Gate validiert den Plan, das RMT-Fixture, die neun Preview Targets, alle Panels, Inspector-Domains, Package-Metadaten, Runner-Registrierung und Referenzpfade.
|
|
62
|
+
|
|
63
|
+
## Epic 11 UX Inspector
|
|
64
|
+
|
|
65
|
+
Ab `WP-E11-13` liegt zusaetzlich der UX Inspector `xtend.epic11.component-lab-ux-inspector.v1` vor.
|
|
66
|
+
|
|
67
|
+
Artefakte:
|
|
68
|
+
|
|
69
|
+
- Plan-Modul: `xtend-builder/preview/component-lab-ux-inspector.js`
|
|
70
|
+
- RMT Fixture: `tests/fixtures/rmt-component-lab-ux-inspector.rmt`
|
|
71
|
+
- Contract: `development/XTend-Component-Lab-UX-Inspector.md`
|
|
72
|
+
- Gate: `node scripts/run_xtend_tests.js component-lab-ux-inspector --json`
|
|
73
|
+
|
|
74
|
+
Der UX Inspector arbeitet ueber 31 `enterprise-ready` Komponenten aus den fuenf Epic-11-Familien:
|
|
75
|
+
|
|
76
|
+
- Form Controls
|
|
77
|
+
- Feedback und Status
|
|
78
|
+
- Navigation und Routing
|
|
79
|
+
- Overlay und Interaction
|
|
80
|
+
- Layout, Display und Media
|
|
81
|
+
|
|
82
|
+
Die Panels erweitern den alten Pilot um `ux-family-matrix`, `state`, `styling` und `component-network`. Die Inspector-Domains sind `shell`, `style`, `a11y`, `performance`, `state`, `componentNetwork`, `rmtAuthoring`, `fabricTelemetry`, `diagnostics` und `sourceLinks`.
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
node scripts/run_xtend_tests.js component-lab-ux-inspector --json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Auch diese Schicht bleibt shell-first, lokal und host-neutral. RMT beschreibt Shell, Routes, Templates und Schedules; XTend-Komponenten laufen ueber Adapter ausserhalb des Kernels.
|
|
89
|
+
|
|
90
|
+
## SurfaceManager Component Lab
|
|
91
|
+
|
|
92
|
+
Ab `WP-SM-09` gibt es eine Surface-spezifische Lab-Fixture:
|
|
93
|
+
|
|
94
|
+
- Docs: [SurfaceManager Component Lab](./surface-manager-component-lab.md)
|
|
95
|
+
- Fixture: `tests/fixtures/rmt-surface-manager-component-lab.rmt`
|
|
96
|
+
- Contract: `xtend.surface.component-lab-fixture.v1`
|
|
97
|
+
- Gate: `node scripts/run_xtend_tests.js surface-release-handoff --json`
|
|
98
|
+
|
|
99
|
+
Die Panels `surface-preview`, `native-rmt-inspector`, `migration-diff`, `quality-gates` und `source-links` zeigen die SurfaceManager-Linie als App-Shell-Lab: native `surfaces[*]`, kompatible `components[*].metadata.surface` Records, `x-surface-manager`, Windows, SidePanels und Overlay-Bridge bleiben zusammen pruefbar, ohne eine produktive `xtend.surface` Runtime zu behaupten.
|
|
100
|
+
|
|
101
|
+
## Handoff
|
|
102
|
+
|
|
103
|
+
Das Lab ist noch kein produktiver Browser-Lab-Server. Es ist der gatebare Pilot fuer `WP-E10-13`, in dem die RMT-first Demo-App ohne manuelle Shell-Sonderlogik gebaut wird.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Component Long-Tail Migration
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.docs.component-long-tail-migration.v1`
|
|
4
|
+
- Plan Contract: `xtend.epic11.legacy-long-tail-migration.v1`
|
|
5
|
+
- Gate Contract: `xtend.epic11.legacy-long-tail-migration-gate.v1`
|
|
6
|
+
- Workpackage: `WP-E11-17`
|
|
7
|
+
|
|
8
|
+
Diese Seite beschreibt, wie XTend die letzten nicht vollstaendig `enterprise-ready` Komponenten nach Epic 11 behandelt. Der Plan ist bewusst inkrementell: sichtbare Custom Elements werden gegen Shell, Styling, A11y, Performance, Browser-Smokes und Theme-Matrix gehaertet; Infrastruktur- und Utility-Module erhalten Integration-Probes statt kuenstlicher UI-Shells.
|
|
9
|
+
|
|
10
|
+
Fortschreibung nach `WP-E13-05`: `x-tabs` besitzt ein explizites Performance-Profil und ist nicht mehr Teil des offenen Long-Tail-Plans. `x-theme` besitzt A11y-, Reduced-Motion-, Forced-Colors-, Performance-, Theme-Propagation- und Density-Coverage. `x-button` besitzt Performance-, Interaction-Budget-, Fabric-Measurement- und RMT-Metadaten. `x-menu` besitzt Performance-, Keyboard-, Routing-, Fabric- und RMT-Metadaten. `xstate` besitzt Suite, Fixture, Public Types, Lifecycle Events, Fabric Diagnostics und RMT State Adapter und ist durch [Known Residual Triage](./known-residual-triage.md) als `closed-as-runtime-boundary` bewertet. `x-utils` besitzt Utility Contract, Import Policy, Fixture und Public Types und ist als `closed-as-utility-boundary` bewertet. Es bleiben keine offenen Long-Tail- oder Boundary-Profilentscheidungen aus diesem Plan.
|
|
11
|
+
|
|
12
|
+
## Lokal pruefen
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
node scripts/run_xtend_tests.js component-long-tail-migration --json
|
|
16
|
+
npm run test:component-long-tail-migration
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Migrationswellen
|
|
20
|
+
|
|
21
|
+
| Wave | Komponenten | Ziel |
|
|
22
|
+
|------|-------------|------|
|
|
23
|
+
| `wave-1-p0-routing-interaction` | geschlossen: `x-tabs` | Performance-Profil, Browser-Smoke und Theme-Matrix sind abgeschlossen |
|
|
24
|
+
| `wave-2-p1-theme-and-interaction` | geschlossen: `x-theme`, `x-button`, `x-menu` | Performance-, A11y-, Interaction- und Routing-Haertung sind abgeschlossen |
|
|
25
|
+
| `wave-3-infrastructure-and-utility-probes` | geschlossen: `xstate`, `x-utils` | Suite-, Fixture-, Type- und Boundary-Entscheidungen sind abgeschlossen; beide bleiben als nicht-visuelle Runtime-/Utility-Boundaries dokumentiert |
|
|
26
|
+
|
|
27
|
+
## Regeln fuer Komponentenautoren
|
|
28
|
+
|
|
29
|
+
- Keine Long-Tail-Komponente wird per Big-Bang auf TypeScript oder neue Shells umgeschrieben.
|
|
30
|
+
- Custom Elements muessen ihre fehlenden Profile zuerst in `components/*`, Docs, Types und Component-Suites nachziehen.
|
|
31
|
+
- Nicht-Custom-Elemente wie `xstate` und `x-utils` werden als Infrastruktur- oder Utility-Grenzen getestet.
|
|
32
|
+
- Browser-Smokes und Theme-Matrix sind nur Pflicht, wenn die Oberflaeche wirklich visuell oder interaktiv ist.
|
|
33
|
+
- RMT beschreibt weiterhin Adapterdaten; der Kernel importiert keine XTend-Typen.
|
|
34
|
+
|
|
35
|
+
## Quelle
|
|
36
|
+
|
|
37
|
+
Der Migrationsplan wird aus `catalog/component-catalog-coverage.js` und `catalog/component-regression-priority.js` erzeugt. Die akzeptierte Spezifikation liegt in `development/XTend-Epic11-Legacy-Long-Tail-Migrationsplan.md`.
|
|
38
|
+
|
|
39
|
+
## RC0 Adoption Update
|
|
40
|
+
|
|
41
|
+
Seit `WP-E12-15` fasst der [RC0 Adoption Guide](./rc0-adoption-guide.md) diesen Long-Tail-Status als Migration Note fuer Component Authors und App Authors zusammen. Fuer RC0 galten `xstate` und `x-utils` als bekannte, akzeptierte Residuals aus der Known Residual Policy; sie blockierten den lokalen RC0 Review nicht und oeffneten keine Publish Boundary. Seit `WP-E13-05` sind beide Scopes fuer RC1 geschlossen: `xstate` als Runtime-Boundary, `x-utils` als Utility-Boundary.
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# XTend Component Platform
|
|
2
|
+
|
|
3
|
+
Contract: `xtend.docs.component-platform.v1`
|
|
4
|
+
|
|
5
|
+
Diese Seite beschreibt den aktuellen Epic-10-Stand fuer neue XTend-Komponenten. Neue Komponenten werden TypeScript-first geplant, lokal als ESM-Artefakte ausgeliefert und als RMT-first Authoring-Ziele vorbereitet. RMT bleibt dabei Framework-agnostisch: XTend-Komponenten sind `xtend.component` Records, aber der RMT-Kernel importiert keine XTend-Klassen oder Typen.
|
|
6
|
+
|
|
7
|
+
Seit `WP-E10-16` ist Epic 10 abgeschlossen. Der Release-Handoff liegt in [Epic 10 Release Handoff](./epic10-release-handoff.md), und vollstaendige App-Authoring-Regeln liegen in [RMT-first XTend Apps](./rmt-first-xtend-apps.md). Seit `WP-E11-17` sind die sichtbaren UX-Regeln in [Component UX Authoring](./component-ux-authoring.md), [Component UX App Authoring](./component-ux-app-authoring.md), [Component UX Gates](./component-ux-gates.md) und [Component Long-Tail Migration](./component-long-tail-migration.md) zusammengefuehrt.
|
|
8
|
+
|
|
9
|
+
## Plattform-Schichten
|
|
10
|
+
|
|
11
|
+
- TypeScript Source liegt unter `src/components/<tag>/`
|
|
12
|
+
- Runtime-Artefakte bleiben lokale ESM-Dateien unter `components/`
|
|
13
|
+
- Public Types bleiben `.d.ts` Artefakte unter `components/`
|
|
14
|
+
- RMT Metadata liegt als eigenes `ts-rmt` Artefakt vor
|
|
15
|
+
- Fabric, Telemetry, Lanes, A11y und Performance sind Pflichtdomains im `xtend.component.contract.v2`
|
|
16
|
+
- der Builder erzeugt Contract-, Source-, RMT-, A11y-, Performance- und Fixture-Artefakte als Dry-Run
|
|
17
|
+
|
|
18
|
+
## RMT vNext Component Capability Registry
|
|
19
|
+
|
|
20
|
+
Die aktuelle RMT-vNext-Linie ergaenzt diese Plattform um
|
|
21
|
+
`xtend.rmt.component-capability-registry.v1`. Die Registry ist die generische
|
|
22
|
+
RMT-Schnittstelle fuer XTend UI: Sie liest `components/manifest.json`,
|
|
23
|
+
`xtend.component.contract.v2`, `xtendRmtMetadata`, `observedAttributes`,
|
|
24
|
+
Events, Slots, Parts, Form-Assoziation, A11y-Profile und Performance-Profile.
|
|
25
|
+
|
|
26
|
+
Das Ergebnis ist eine Matrix fuer alle 44 public Manifest-Eintraege und 40
|
|
27
|
+
renderbare UI-Komponenten. RMT kann daraus DOM Descriptoren bauen, Events und
|
|
28
|
+
State-Bridges binden und Komponenten lazy ueber Manifest-Pfade importieren.
|
|
29
|
+
Der RMT-Kernel bleibt dabei framework-neutral und importiert keine XTend-
|
|
30
|
+
Klassen oder Typen.
|
|
31
|
+
|
|
32
|
+
Details stehen in
|
|
33
|
+
[RMT vNext Component Primitives und XTend UI](./rmt-vnext-component-primitives.md).
|
|
34
|
+
|
|
35
|
+
## P0-Komponentenwelle
|
|
36
|
+
|
|
37
|
+
WP-E10-08 legt die erste P0-Komponentenwelle als `xtend.epic10.p0-component-wave.v1` fest.
|
|
38
|
+
|
|
39
|
+
| Komponente | Paket | Schwerpunkt |
|
|
40
|
+
|------------|-------|-------------|
|
|
41
|
+
| `x-select` | `WP-E10-09` | Select Control, Option Slots, Value Events |
|
|
42
|
+
| `x-checkbox` | `WP-E10-09` | Binary Input, checked/indeterminate State |
|
|
43
|
+
| `x-radio` | `WP-E10-09` | Radio Group Coordination und Keyboard Navigation |
|
|
44
|
+
| `x-textarea` | `WP-E10-10` | Long-Form Input, Validation, Counter |
|
|
45
|
+
| `x-status` | `WP-E10-10` | Live Region, Validation Feedback, Scheduler Status |
|
|
46
|
+
| `x-progress` | `WP-E10-10` | Async Progress, Hydration/Task Feedback |
|
|
47
|
+
| `x-tooltip` | `WP-E10-11` | leichte Overlay-Hilfe und describedby Mapping |
|
|
48
|
+
| `x-popover` | `WP-E10-11` | interaktives, verankertes Overlay |
|
|
49
|
+
| `x-drawer` | `WP-E10-11` | App-Shell Navigation und Side Panels |
|
|
50
|
+
|
|
51
|
+
`x-select`, `x-checkbox`, `x-radio`, `x-textarea`, `x-status`, `x-progress`, `x-tooltip`, `x-popover` und `x-drawer` sind seit `WP-E10-11` als TypeScript-first Referenzlinie umgesetzt und bilden die erste P0-Welle mit `enterprise-ready` Catalog-Status.
|
|
52
|
+
|
|
53
|
+
## Component Lab und RMT Inspector
|
|
54
|
+
|
|
55
|
+
`WP-E10-12` legt das Component Lab als Shell-first RMT-Pilot an. Das Lab nutzt `tests/fixtures/rmt-component-lab-pilot.rmt` und das Plan-Modul `xtend-builder/preview/component-lab.js`, um alle neun `enterprise-ready` Komponenten lokal inspizierbar zu machen.
|
|
56
|
+
|
|
57
|
+
Die Pilot-Oberflaeche besteht aus:
|
|
58
|
+
|
|
59
|
+
- Component Preview fuer Fixture, Docs, Types und Contract-Pfade
|
|
60
|
+
- RMT Inspector fuer `manifest`, `adapters`, `components`, `routes`, `schedules`, `templates` und `diagnostics`
|
|
61
|
+
- Telemetry Panel fuer `snapshot.componentTelemetry`
|
|
62
|
+
- A11y- und Performance-Hinweisen aus Component Contract v2
|
|
63
|
+
- Source Links auf Runtime, TS Source, RMT Metadata, Fixture, Docs und Suite
|
|
64
|
+
|
|
65
|
+
Der lokale Gate lautet:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
node scripts/run_xtend_tests.js component-lab-rmt-inspector --json
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## RMT-first Demo-App
|
|
72
|
+
|
|
73
|
+
`WP-E10-13` liefert mit `tests/browser/fixtures/rmt-first-demo-app-smoke.html` und `xtendrmt/rmt-first-demo-app.rmt` die erste produktive RMT-first Demo-App ohne manuelle Shell. Die Host-/Smoke-Fixture stellt nur einen `data-rmt-host="rmt-first-demo"` Root, den lokalen XTend Loader, das lokale Manifest und die RMT Runtime bereit.
|
|
74
|
+
|
|
75
|
+
Die App Shell, Navigation, Routen, Seiten-Templates, Component Records, Schedules, Fabric Lanes und Diagnostics werden aus dem RMT-Dokument gerendert. Die Demo nutzt die komplette Epic-10 P0-Welle: `x-select`, `x-checkbox`, `x-radio`, `x-textarea`, `x-status`, `x-progress`, `x-tooltip`, `x-popover` und `x-drawer`.
|
|
76
|
+
|
|
77
|
+
Der lokale Gate lautet:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
node scripts/run_xtend_tests.js rmt-first-demo-app --json
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Existing Component Metadata
|
|
84
|
+
|
|
85
|
+
`WP-E10-14` zieht bestehende priorisierte Komponenten als `js-legacy` Contract Overlay in die RMT/Fabric-Linie. Der maschinenlesbare Katalog liegt in `catalog/epic10-existing-component-metadata.js` und nutzt die Migration Strategy `js-legacy-contract-overlay-no-runtime-rewrite`.
|
|
86
|
+
|
|
87
|
+
Die Zielkomponenten sind `x-router`, `x-link`, `x-input`, `x-form`, `x-modal`, `x-dialog`, `x-tabs`, `x-toast` und `x-alert`. Jede Komponente erhaelt Contract-v2-, RMT-, Fabric-, Telemetry-, Lane-, A11y- und Performance-Metadata, ohne dass die Runtime in diesem Paket umgebaut werden muss.
|
|
88
|
+
|
|
89
|
+
Der lokale Gate lautet:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
node scripts/run_xtend_tests.js existing-component-metadata --json
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Epic 10 Platform Gates
|
|
96
|
+
|
|
97
|
+
`WP-E10-15` buendelt die Plattformregeln als `xtend.epic10.platform-gates.v1`. Der maschinenlesbare Plan liegt in `catalog/epic10-platform-gates.js` und verbindet Component Contract v2, Existing Component Metadata, RMT-first Demo-App, Browser-Smokes, A11y, Performance und Visual Regression.
|
|
98
|
+
|
|
99
|
+
Der Fast-PR-Pfad enthaelt `component-contract-v2`, `epic10-p0-component-wave`, `component-lab-rmt-inspector`, `rmt-first-demo-app`, `existing-component-metadata`, `browser`, `a11y-hydration`, `screenreader-signals`, `motion-contrast`, `regression-priority` und `references`. Release-only Performance bleibt ueber `fabric-performance-measurements`, `performance-regression` und `hydration-policy` getrennt.
|
|
100
|
+
|
|
101
|
+
Der lokale Gate lautet:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
node scripts/run_xtend_tests.js epic10-platform-gates --json
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Epic 10 Release Handoff
|
|
108
|
+
|
|
109
|
+
`WP-E10-16` finalisiert die kanonische Guide-Struktur und den Abschlusscontract `xtend.epic10.release-handoff.v1`. Der maschinenlesbare Plan liegt in `catalog/epic10-release-handoff.js`.
|
|
110
|
+
|
|
111
|
+
Die kanonische Component-Fabric-Boundary ist `adapter-injection-via-xtend-component-resolveFabricContext`. `window.XTendFabric` bleibt Host-Komfort- und Enterprise-Integrationsflaeche, aber Komponenten beziehen Fabric-, Lane- und Fiber-Kontext ueber den `xtend.component` Adapter.
|
|
112
|
+
|
|
113
|
+
Der lokale Gate lautet:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
node scripts/run_xtend_tests.js epic10-release-handoff --json
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Epic 11 Enterprise UX Handoff
|
|
120
|
+
|
|
121
|
+
`WP-E11-18` finalisiert die sichtbare Component-UX-Reife als `xtend.epic11.enterprise-ux-handoff.v1`. Der maschinenlesbare Plan liegt in `catalog/epic11-enterprise-ux-handoff.js`.
|
|
122
|
+
|
|
123
|
+
Der Abschlussmodus lautet `completed-with-accepted-long-tail-handoff`: Shell, Styling, Runtime-A11y, Performance, Component Network, RMT Shell Authoring, Component Lab, Browser-Smokes, Theme-Matrix und Authoring Guides sind als Produktlinie akzeptiert. Nach `WP-E12-09` sind `x-tabs`, `x-theme`, `x-button` und `x-menu` runtime-seitig geschlossen; `xstate` besitzt Suite, Fixture, Types und Adapter-Boundary-Probe; `x-utils` besitzt Utility Contract, Import Policy, Fixture und Types. Seit `WP-E13-05` sind `xstate` als Runtime-Boundary und `x-utils` als Utility-Boundary fuer RC1 geschlossen.
|
|
124
|
+
|
|
125
|
+
Der lokale Gate lautet:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
node scripts/run_xtend_tests.js epic11-enterprise-ux-handoff --json
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## RMT First-Class Support
|
|
132
|
+
|
|
133
|
+
Jede neue Komponente muss als RMT Component Record authorbar sein:
|
|
134
|
+
|
|
135
|
+
- Adapter: `xtend.component`
|
|
136
|
+
- Template-Modus: `dom_descriptor`
|
|
137
|
+
- Event Binding: `dom-event-to-rmt-command`
|
|
138
|
+
- Pflicht-Schedules: `component.visible.mount`, Hydration Schedule und `diagnostics.snapshot`
|
|
139
|
+
- Kernel Boundary: `no-rmt-kernel-import-of-xtend-types`
|
|
140
|
+
|
|
141
|
+
RMT beschreibt also Komponente, Props, Attribute, Slots, Events, Hydration und Schedule. XTend fuehrt die Custom Elements lokal aus.
|
|
142
|
+
|
|
143
|
+
## Fabric, Telemetry und Lanes
|
|
144
|
+
|
|
145
|
+
Neue Komponenten muessen Fabric-Kontext aufnehmen koennen. Dazu gehoeren:
|
|
146
|
+
|
|
147
|
+
- `@xtend-fabric` Boundary
|
|
148
|
+
- Lifecycle-Operationen `mount`, `hydrate`, `render`, `update`, `event`, `error`, `unmount`
|
|
149
|
+
- Telemetry Snapshot `xtend.fabric.telemetry-snapshot.v1`
|
|
150
|
+
- Backpressure-faehige Messpunkte
|
|
151
|
+
- deterministische Lane-Precedence aus RMT, Component Metadata, Fabric Override und Blueprint Default
|
|
152
|
+
|
|
153
|
+
## A11y und Performance
|
|
154
|
+
|
|
155
|
+
A11y ist kein nachgelagerter Test. Form Controls brauchen Labels, Error Regions, Keyboard-Verhalten und Screenreader-Signale. Feedback-Komponenten brauchen Live Regions und non-color Statussignale. Overlays brauchen Escape, Fokus-Rueckgabe und Reduced Motion.
|
|
156
|
+
|
|
157
|
+
Performance ist ebenfalls Contract-Bestandteil. Jede Komponente muss Budgetklasse, Lane, Hydration Policy und kritische Messpunkte deklarieren.
|
|
158
|
+
|
|
159
|
+
## Lokale Gates
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
node scripts/run_xtend_tests.js component-ux-authoring-docs --json
|
|
163
|
+
node scripts/run_xtend_tests.js rmt-vnext-component-primitives --json
|
|
164
|
+
node scripts/run_xtend_tests.js component-long-tail-migration --json
|
|
165
|
+
node scripts/run_xtend_tests.js epic11-enterprise-ux-handoff --json
|
|
166
|
+
node scripts/run_xtend_tests.js component-shell-theme-matrix --json
|
|
167
|
+
node scripts/run_xtend_tests.js component-ux-browser-smokes --json
|
|
168
|
+
node scripts/run_xtend_tests.js epic10-p0-component-wave --json
|
|
169
|
+
node scripts/run_xtend_tests.js component-lab-rmt-inspector --json
|
|
170
|
+
node scripts/run_xtend_tests.js rmt-first-demo-app --json
|
|
171
|
+
node scripts/run_xtend_tests.js existing-component-metadata --json
|
|
172
|
+
node scripts/run_xtend_tests.js epic10-platform-gates --json
|
|
173
|
+
node scripts/run_xtend_tests.js epic10-release-handoff --json
|
|
174
|
+
node scripts/run_xtend_tests.js builder-typescript-blueprint --json
|
|
175
|
+
node scripts/run_xtend_tests.js component-contract-v2 --json
|
|
176
|
+
node scripts/run_xtend_tests.js references --json
|
|
177
|
+
```
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Component UX App Authoring
|
|
2
|
+
|
|
3
|
+
Docs Contract: `xtend.docs.component-ux-app-authoring.v1`
|
|
4
|
+
|
|
5
|
+
Dieser Guide richtet sich an App-Autorinnen und App-Autoren, die
|
|
6
|
+
XTend-Komponenten in RMT-first Apps einsetzen. Die App kann vollstaendig in RMT
|
|
7
|
+
vNext geschrieben werden; XTend liefert lokale Web Components und XTendRMT
|
|
8
|
+
orchestriert Shell, Routes, Templates, Schedules und Diagnostics.
|
|
9
|
+
|
|
10
|
+
## Grundregeln
|
|
11
|
+
|
|
12
|
+
- Die App Shell rendert `shell-first`.
|
|
13
|
+
- XTend-Komponenten werden in vNext als `surface ... component x-*`
|
|
14
|
+
beschrieben und in `xtend.component` Records kompiliert.
|
|
15
|
+
- XRouter wird ueber den Router-Adapter angebunden.
|
|
16
|
+
- Templates verwenden bevorzugt `dom_descriptor` als generierten Output.
|
|
17
|
+
- Events werden mit `on ... -> action ...` gebunden.
|
|
18
|
+
- Hydration, Fabric-Lane, Fiber und Diagnostics bleiben schedulebare Metadata.
|
|
19
|
+
- Der RMT-Kernel importiert keine XTend-Klassen oder XTend-Typen.
|
|
20
|
+
|
|
21
|
+
Boundary:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
no-rmt-kernel-import-of-xtend-types
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Minimaler Component-Surface
|
|
28
|
+
|
|
29
|
+
```rmt
|
|
30
|
+
template settings.feedback {
|
|
31
|
+
state settings.feedback.status type string initial "ready"
|
|
32
|
+
|
|
33
|
+
selector settings.feedback.view from state settings.feedback.status {
|
|
34
|
+
output StatusView
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
portal surface.root root "#settings-root" layer surface
|
|
38
|
+
|
|
39
|
+
surface settings.feedback.status kind card component x-status {
|
|
40
|
+
source selector settings.feedback.view
|
|
41
|
+
portal surface.root
|
|
42
|
+
|
|
43
|
+
lane visible weight 80 {
|
|
44
|
+
mount x-status
|
|
45
|
+
hydrate feedback-status from selector settings.feedback.view
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Der Output enthaelt weiterhin `xtend.component`, A11y-, Style-, Schedule- und
|
|
52
|
+
Fabric-Metadaten. Geschrieben wird aber die vNext-Quelle.
|
|
53
|
+
|
|
54
|
+
## App-Shell-Muster
|
|
55
|
+
|
|
56
|
+
```rmt
|
|
57
|
+
template dashboard.app {
|
|
58
|
+
state dashboard.theme type string initial "dark"
|
|
59
|
+
state dashboard.density type string initial "compact"
|
|
60
|
+
state dashboard.motion type string initial "reduced-motion"
|
|
61
|
+
|
|
62
|
+
action dashboard.refresh {
|
|
63
|
+
emit dashboard.refresh.requested with action dashboard.refresh
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
portal surface.root root "#app-root" layer surface
|
|
67
|
+
|
|
68
|
+
surface dashboard.page kind page component x-section {
|
|
69
|
+
source state dashboard.theme
|
|
70
|
+
portal surface.root
|
|
71
|
+
|
|
72
|
+
lane visible weight 80 {
|
|
73
|
+
hydrate dashboard-shell from endpoint xtendrmt.route.render
|
|
74
|
+
hydrate settings-feedback-status from endpoint xtendrmt.component.mount
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
on click target refresh-button -> action dashboard.refresh {
|
|
78
|
+
payload theme from state.dashboard.theme
|
|
79
|
+
payload density from state.dashboard.density
|
|
80
|
+
payload motion from state.dashboard.motion
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## UX-Regeln fuer Apps
|
|
87
|
+
|
|
88
|
+
| Dimension | App-Regel |
|
|
89
|
+
| --- | --- |
|
|
90
|
+
| Shell | Hostseite stellt nur den Root, Loader, Manifest und RMT Runtime bereit |
|
|
91
|
+
| Routing | Routen kommen aus RMT und werden ueber XRouter aktiviert |
|
|
92
|
+
| Theme | `light`, `dark`, `high-contrast` und `forced-colors` bleiben App-States |
|
|
93
|
+
| Motion | `reduced-motion` muss bis in Overlays, Feedback und Media sichtbar sein |
|
|
94
|
+
| Density | `comfortable`, `compact` und `dense` duerfen Layout nicht brechen |
|
|
95
|
+
| A11y | Route Announcements, Live Regions, Error Regions und Focus Restore sind Teil der App |
|
|
96
|
+
| Performance | Hydration Policies und Fabric-Lanes sind Schedule-Daten, keine Host-Sonderlogik |
|
|
97
|
+
|
|
98
|
+
## Gates fuer App-Autoren
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
node scripts/run_xtend_tests.js rmt-first-class-app --json
|
|
102
|
+
node scripts/run_xtend_tests.js rmt-shell-authoring-ux --json
|
|
103
|
+
node scripts/run_xtend_tests.js component-ux-browser-smokes --json
|
|
104
|
+
node scripts/run_xtend_tests.js component-shell-theme-matrix --json
|
|
105
|
+
node scripts/run_xtend_tests.js browser --json
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Fuer PRs ist der gemeinsame schnelle Pfad:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
npm run test:pr
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Wann ein App-Pfad reif ist
|
|
115
|
+
|
|
116
|
+
Ein RMT-first XTend App-Pfad gilt als reif, wenn:
|
|
117
|
+
|
|
118
|
+
- die Shell nicht manuell aus statischem XTend-Markup zusammengesetzt wird,
|
|
119
|
+
- Komponenten ueber `xtend.component` Records kommen,
|
|
120
|
+
- Route, Theme, Motion, Density und Hydration in RMT sichtbar sind,
|
|
121
|
+
- Browser-Smokes die Kernjourneys abdecken,
|
|
122
|
+
- die Component Shell Theme Matrix nicht bricht,
|
|
123
|
+
- keine externen CDN- oder Importmap-Abhaengigkeiten eingefuehrt werden.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Component UX Authoring
|
|
2
|
+
|
|
3
|
+
Docs Contract: `xtend.docs.component-ux-authoring.v1`
|
|
4
|
+
|
|
5
|
+
Dieser Guide ist die kanonische Arbeitsanleitung fuer XTend-Komponentenautorinnen und -autoren nach `WP-E11-16`. Er uebersetzt die Epic-11-Vertraege in konkrete Regeln fuer neue und modernisierte Web Components.
|
|
6
|
+
|
|
7
|
+
## Grundsatz
|
|
8
|
+
|
|
9
|
+
Eine XTend-Komponente ist erst dann UX-reif, wenn ihre sichtbare Shell, ihr Styling, ihre A11y, ihre Performance, ihr Component Network, ihre RMT-Autorierbarkeit und ihre browsernahen Smokes zusammenpassen. Einzelne Komponenten duerfen klein bleiben, aber ihre Contracts muessen vollstaendig sein.
|
|
10
|
+
|
|
11
|
+
Die technische Boundary bleibt:
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
no-rmt-kernel-import-of-xtend-types
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
RMT darf XTend-Komponenten schedulen, rendern und konfigurieren. Der RMT-Kernel importiert aber keine XTend-Klassen oder XTend-Typen.
|
|
18
|
+
|
|
19
|
+
## Pflichtcontracts
|
|
20
|
+
|
|
21
|
+
| Contract | Zweck | Gate |
|
|
22
|
+
| --- | --- | --- |
|
|
23
|
+
| `xtend.component.shell.v1` | Root, DOM-Modus, States, Slots, Parts, Focus und Lifecycle | `component-shell-contract` |
|
|
24
|
+
| `xtend.component.styling.v1` | Tokens, CSS Parts, Variants, Size, Density und Theme Bridges | `component-styling-contract` |
|
|
25
|
+
| `xtend.component.runtime-a11y.v1` | Keyboard, Focus, ARIA, Screenreader und High Contrast | `runtime-a11y-contract` |
|
|
26
|
+
| `xtend.component.ux-performance.v1` | Shell-, Hydration-, Render-, Event- und Interaction-Budgets | `component-ux-performance` |
|
|
27
|
+
| `xtend.component.network.v1` | Events, Commands, Form Association, Router Context und Feedback | `component-network-contract` |
|
|
28
|
+
| `xtend.rmt.shell-authoring.v1` | Shell, Style, A11y, Variants, Commands und Events in RMT | `rmt-shell-authoring-ux` |
|
|
29
|
+
| `xtend.epic11.component-lab-ux-inspector.v1` | Preview, RMT Inspector, State, A11y, Performance und Source Links | `component-lab-ux-inspector` |
|
|
30
|
+
| `xtend.epic11.component-ux-browser-smokes.v1` | reale UX-Journeys fuer priorisierte Familien | `component-ux-browser-smokes` |
|
|
31
|
+
| `xtend.epic11.component-shell-theme-matrix.v1` | Theme, Motion, Density, Viewport und Visual States | `component-shell-theme-matrix` |
|
|
32
|
+
|
|
33
|
+
## Authoring-Reihenfolge
|
|
34
|
+
|
|
35
|
+
1. Familie waehlen: `form-controls`, `feedback-status`, `navigation-routing`, `overlay-interaction` oder `layout-display-media`.
|
|
36
|
+
2. Shell Contract definieren: Root, Slots, States, Parts, Focus und Lifecycle festlegen.
|
|
37
|
+
3. Styling als API behandeln: Tokens, Parts, Variants, Size und Density dokumentieren.
|
|
38
|
+
4. A11y zuerst modellieren: Keyboard, Labels, ARIA, Live Regions, Focus Restore und Screenreader-Signale festlegen.
|
|
39
|
+
5. Performance-Profil setzen: Lane, Hydration Policy, kritische Messpunkte und Budgetklasse festlegen.
|
|
40
|
+
6. Component Network beschreiben: Events, Commands, Form Association, Router Context oder Feedback-Kanaele definieren.
|
|
41
|
+
7. RMT-Authoring ergaenzen: `xtend.component` Record, `dom_descriptor`, Schedules, Commands und Events pflegen.
|
|
42
|
+
8. Fabric-Kontext akzeptieren: Lane, Fiber und Telemetry ueber Adapterdaten aufnehmen.
|
|
43
|
+
9. Component Lab sichtbar machen: Preview, Docs, Types, Fixture, State, A11y und Performance verlinken.
|
|
44
|
+
10. Browser- und Theme-Matrix pruefen: lokale Smokes und Shell-Matrix laufen lassen.
|
|
45
|
+
|
|
46
|
+
## Familienregeln
|
|
47
|
+
|
|
48
|
+
| Familie | Minimum |
|
|
49
|
+
| --- | --- |
|
|
50
|
+
| Form Controls | Label, Help Text, Error Region, Required/Invalid, Form Association, Value Event, Keyboard Entry |
|
|
51
|
+
| Feedback/Status | Live Region, Role, Tone, Dismiss/Timeout, non-color Status, Reduced Motion |
|
|
52
|
+
| Navigation/Routing | Active State, `aria-current`, Keyboard Activation, Route Announcement, Focus Restore, Tablist ARIA und roving `tabindex` |
|
|
53
|
+
| Overlay/Interaction | Initial Focus, Focus Trap, Escape, Focus Restore, Scroll Lock, Reduced Motion |
|
|
54
|
+
| Layout/Display/Media | Responsive Slots, Stable Layout, Lazy/Visible Hydration, Media Shell, Code/Display Semantics |
|
|
55
|
+
|
|
56
|
+
## Theme Matrix
|
|
57
|
+
|
|
58
|
+
Jede priorisierte Shell muss in der Component Shell Theme Matrix darstellbar bleiben:
|
|
59
|
+
|
|
60
|
+
- Themes: `light`, `dark`, `high-contrast`, `forced-colors`
|
|
61
|
+
- Motion: `default-motion`, `reduced-motion`
|
|
62
|
+
- Density: `comfortable`, `compact`, `dense`
|
|
63
|
+
- Viewports: `desktop-1280`, `tablet-768`, `mobile-390`
|
|
64
|
+
|
|
65
|
+
Der Gate prueft aktuell `360` Shell-Kombinationen:
|
|
66
|
+
|
|
67
|
+
Seit `WP-E12-03` ist `x-tabs` Teil der Navigation/Routing-Matrix und muss Arrow-Key, `Home`, `End`, `aria-controls`, `role=tabpanel`, `aria-selected` und sichtbaren Fokus in Browser-Smokes und Theme-Matrix halten.
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
node scripts/run_xtend_tests.js component-shell-theme-matrix --json
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Lokale Gates
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
node scripts/run_xtend_tests.js component-shell-contract --json
|
|
77
|
+
node scripts/run_xtend_tests.js component-styling-contract --json
|
|
78
|
+
node scripts/run_xtend_tests.js runtime-a11y-contract --json
|
|
79
|
+
node scripts/run_xtend_tests.js component-ux-performance --json
|
|
80
|
+
node scripts/run_xtend_tests.js component-network-contract --json
|
|
81
|
+
node scripts/run_xtend_tests.js rmt-shell-authoring-ux --json
|
|
82
|
+
node scripts/run_xtend_tests.js component-lab-ux-inspector --json
|
|
83
|
+
node scripts/run_xtend_tests.js component-ux-browser-smokes --json
|
|
84
|
+
node scripts/run_xtend_tests.js component-shell-theme-matrix --json
|
|
85
|
+
node scripts/run_xtend_tests.js references --json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Definition of Done
|
|
89
|
+
|
|
90
|
+
- Docs, `.d.ts`, Fixture, Component Suite und RMT Metadata existieren.
|
|
91
|
+
- Shell, Styling, A11y, Performance und Network Contracts sind sichtbar.
|
|
92
|
+
- Events sind `bubbles: true` und `composed: true`, wenn Hosts oder RMT sie konsumieren sollen.
|
|
93
|
+
- Commands sind deklarierbar und nicht nur private Methoden.
|
|
94
|
+
- Theme, Density und Motion sind nicht hart im Shadow DOM versteckt.
|
|
95
|
+
- Browser-Smoke oder Theme-Matrix deckt den relevanten sichtbaren Pfad ab.
|
|
96
|
+
- Kein neuer Pfad fuehrt eine harte XTend-Abhaengigkeit in den RMT-Kernel ein.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Component UX Gates
|
|
2
|
+
|
|
3
|
+
Docs Contract: `xtend.docs.component-ux-gates.v1`
|
|
4
|
+
|
|
5
|
+
Diese Seite beschreibt die lokale Gate-Kette fuer Epic 11. Sie verbindet Authoring Guides, Browser-Smokes, Theme-Matrix, RMT Shell Authoring, Component Lab und Reference-Gates.
|
|
6
|
+
|
|
7
|
+
## Gate-Gruppen
|
|
8
|
+
|
|
9
|
+
| Gruppe | Gate | Zweck |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| Foundation | `component-shell-contract` | Component Shell Contract `xtend.component.shell.v1` |
|
|
12
|
+
| Foundation | `component-styling-contract` | Styling Contract `xtend.component.styling.v1` |
|
|
13
|
+
| Foundation | `runtime-a11y-contract` | Runtime A11y `xtend.component.runtime-a11y.v1` |
|
|
14
|
+
| Foundation | `component-ux-performance` | Performance Profile `xtend.component.ux-performance.v1` |
|
|
15
|
+
| Foundation | `component-network-contract` | Component Network `xtend.component.network.v1` |
|
|
16
|
+
| RMT | `rmt-shell-authoring-ux` | RMT Shell Authoring `xtend.rmt.shell-authoring.v1` |
|
|
17
|
+
| Lab | `component-lab-ux-inspector` | Component Lab UX Inspector `xtend.epic11.component-lab-ux-inspector.v1` |
|
|
18
|
+
| Browser | `component-ux-browser-smokes` | Browser UX Smokes `xtend.epic11.component-ux-browser-smokes.v1` |
|
|
19
|
+
| Visual | `component-shell-theme-matrix` | Component Shell Theme Matrix `xtend.epic11.component-shell-theme-matrix.v1` |
|
|
20
|
+
| Docs | `component-ux-authoring-docs` | Component UX Authoring Docs `xtend.epic11.component-ux-authoring-docs.v1` |
|
|
21
|
+
| Migration | `component-long-tail-migration` | Legacy Long-Tail Migration `xtend.epic11.legacy-long-tail-migration.v1` |
|
|
22
|
+
| Handoff | `epic11-enterprise-ux-handoff` | Epic 11 Enterprise UX Handoff `xtend.epic11.enterprise-ux-handoff.v1` |
|
|
23
|
+
| References | `references` | Dokumentations- und Demo-Referenzpfade |
|
|
24
|
+
|
|
25
|
+
## Schneller Epic-11-Check
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
node scripts/run_xtend_tests.js component-network-contract rmt-shell-authoring-ux form-controls-ux feedback-status-ux navigation-routing-ux overlay-interaction-ux layout-display-media-ux component-lab-ux-inspector component-ux-browser-smokes component-shell-theme-matrix component-ux-authoring-docs component-long-tail-migration epic11-enterprise-ux-handoff references --json
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## PR-Gate
|
|
32
|
+
|
|
33
|
+
Der PR-Gate enthaelt die Component-UX-Doku, damit neue Guides nicht neben der produktiven Gate-Kette veralten:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm run test:pr
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Release-Hinweis
|
|
40
|
+
|
|
41
|
+
`component-shell-theme-matrix` ist noch kein Screenshot-Diff-Runner. Es ist der deterministische, lokale Contract fuer spaetere visuelle Snapshot-Automation. Bis echte Snapshots angeschlossen sind, bleibt diese Matrix die verbindliche Quelle fuer Theme-, Motion-, Density- und Viewport-Pflichten.
|
|
42
|
+
|
|
43
|
+
## Handoff
|
|
44
|
+
|
|
45
|
+
Nach `WP-E11-18` ist Epic 11 im Modus `completed-with-accepted-long-tail-handoff` abgeschlossen. Die Legacy Long-Tail Migration ist als Plan gatebar; offene Umsetzungen bleiben bewusst in Wellen priorisiert.
|