@ccslabs/xtend 0.1.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +65 -0
- package/LICENSE +201 -0
- package/README.md +184 -0
- package/a11y/motion-contrast-policy.d.ts +32 -0
- package/a11y/motion-contrast-policy.js +261 -0
- package/a11y/runtime-a11y-contract.d.ts +44 -0
- package/a11y/runtime-a11y-contract.js +385 -0
- package/a11y/screenreader-signals.d.ts +32 -0
- package/a11y/screenreader-signals.js +372 -0
- package/api.d.ts +168 -0
- package/api.js +864 -0
- package/catalog/catalog-public-types.d.ts +66 -0
- package/catalog/component-catalog-coverage.d.ts +20 -0
- package/catalog/component-catalog-coverage.js +377 -0
- package/catalog/component-long-tail-migration.d.ts +18 -0
- package/catalog/component-long-tail-migration.js +305 -0
- package/catalog/component-regression-priority.d.ts +20 -0
- package/catalog/component-regression-priority.js +305 -0
- package/catalog/enterprise-component-flex-release-handoff.d.ts +32 -0
- package/catalog/enterprise-component-flex-release-handoff.js +437 -0
- package/catalog/enterprise-component-style-audit.d.ts +22 -0
- package/catalog/enterprise-component-style-audit.js +353 -0
- package/catalog/enterprise-form-control-theme-a11y.d.ts +19 -0
- package/catalog/enterprise-form-control-theme-a11y.js +220 -0
- package/catalog/enterprise-icon-control-audit.d.ts +21 -0
- package/catalog/enterprise-icon-control-audit.js +258 -0
- package/catalog/enterprise-layout-display-media-tokenization.d.ts +20 -0
- package/catalog/enterprise-layout-display-media-tokenization.js +237 -0
- package/catalog/enterprise-navigation-routing-state-hardening.d.ts +20 -0
- package/catalog/enterprise-navigation-routing-state-hardening.js +255 -0
- package/catalog/enterprise-overlay-mode-token-parity.d.ts +15 -0
- package/catalog/enterprise-overlay-mode-token-parity.js +178 -0
- package/catalog/enterprise-third-party-authoring-guide.d.ts +23 -0
- package/catalog/enterprise-third-party-authoring-guide.js +310 -0
- package/catalog/enterprise-visual-dom-snapshot-matrix.d.ts +31 -0
- package/catalog/enterprise-visual-dom-snapshot-matrix.js +357 -0
- package/catalog/epic10-existing-component-metadata.d.ts +25 -0
- package/catalog/epic10-existing-component-metadata.js +534 -0
- package/catalog/epic10-p0-component-wave.d.ts +28 -0
- package/catalog/epic10-p0-component-wave.js +688 -0
- package/catalog/epic10-platform-gates.d.ts +31 -0
- package/catalog/epic10-platform-gates.js +425 -0
- package/catalog/epic10-release-handoff.d.ts +30 -0
- package/catalog/epic10-release-handoff.js +195 -0
- package/catalog/epic11-enterprise-ux-handoff.d.ts +29 -0
- package/catalog/epic11-enterprise-ux-handoff.js +403 -0
- package/catalog/epic12-docs-adoption.d.ts +29 -0
- package/catalog/epic12-docs-adoption.js +183 -0
- package/catalog/epic12-rc0-gate-matrix.d.ts +36 -0
- package/catalog/epic12-rc0-gate-matrix.js +439 -0
- package/catalog/epic12-rc0-handoff.d.ts +30 -0
- package/catalog/epic12-rc0-handoff.js +385 -0
- package/catalog/epic13-conditional-network-evidence-ci.d.ts +35 -0
- package/catalog/epic13-conditional-network-evidence-ci.js +278 -0
- package/catalog/epic13-conditional-network-evidence.d.ts +34 -0
- package/catalog/epic13-conditional-network-evidence.js +280 -0
- package/catalog/epic13-docs-rmt-production-hardening.d.ts +39 -0
- package/catalog/epic13-docs-rmt-production-hardening.js +286 -0
- package/catalog/epic13-hydration-performance-closure.d.ts +33 -0
- package/catalog/epic13-hydration-performance-closure.js +234 -0
- package/catalog/epic13-known-residual-triage.d.ts +32 -0
- package/catalog/epic13-known-residual-triage.js +339 -0
- package/catalog/epic13-package-export-lock.d.ts +41 -0
- package/catalog/epic13-package-export-lock.js +604 -0
- package/catalog/epic13-prod-browser-csp-smoke.d.ts +35 -0
- package/catalog/epic13-prod-browser-csp-smoke.js +218 -0
- package/catalog/epic13-rc1-gate-matrix-ci-handoff.d.ts +36 -0
- package/catalog/epic13-rc1-gate-matrix-ci-handoff.js +418 -0
- package/catalog/epic13-rc1-migration-notes.d.ts +36 -0
- package/catalog/epic13-rc1-migration-notes.js +271 -0
- package/catalog/epic13-rc1-readiness.d.ts +33 -0
- package/catalog/epic13-rc1-readiness.js +487 -0
- package/catalog/epic13-release-owner-acceptance.d.ts +33 -0
- package/catalog/epic13-release-owner-acceptance.js +354 -0
- package/catalog/epic13-release-report-pack-dry-run-evidence.d.ts +36 -0
- package/catalog/epic13-release-report-pack-dry-run-evidence.js +253 -0
- package/catalog/epic13-rmt-production-readiness.d.ts +35 -0
- package/catalog/epic13-rmt-production-readiness.js +314 -0
- package/catalog/epic13-trusted-dom-boundary.d.ts +36 -0
- package/catalog/epic13-trusted-dom-boundary.js +230 -0
- package/catalog/epic13-visual-owner-artifact.d.ts +35 -0
- package/catalog/epic13-visual-owner-artifact.js +233 -0
- package/catalog/epic14-lsp-handoff.d.ts +28 -0
- package/catalog/epic14-lsp-handoff.js +312 -0
- package/catalog/epic14-rmt-tooling.d.ts +33 -0
- package/catalog/epic14-rmt-tooling.js +282 -0
- package/catalog/surface-manager-adapter-runtime.d.ts +37 -0
- package/catalog/surface-manager-adapter-runtime.js +203 -0
- package/catalog/surface-manager-browser-lab.d.ts +39 -0
- package/catalog/surface-manager-browser-lab.js +225 -0
- package/catalog/surface-manager-controller.d.ts +43 -0
- package/catalog/surface-manager-controller.js +290 -0
- package/catalog/surface-manager-layout-engines.d.ts +32 -0
- package/catalog/surface-manager-layout-engines.js +161 -0
- package/catalog/surface-manager-lazy-loading.d.ts +35 -0
- package/catalog/surface-manager-lazy-loading.js +173 -0
- package/catalog/surface-manager-materialization.d.ts +37 -0
- package/catalog/surface-manager-materialization.js +202 -0
- package/catalog/surface-manager-native-rmt-surfaces.d.ts +48 -0
- package/catalog/surface-manager-native-rmt-surfaces.js +325 -0
- package/catalog/surface-manager-overlay-bridge.d.ts +42 -0
- package/catalog/surface-manager-overlay-bridge.js +247 -0
- package/catalog/surface-manager-persistence.d.ts +37 -0
- package/catalog/surface-manager-persistence.js +178 -0
- package/catalog/surface-manager-quality-gates.d.ts +48 -0
- package/catalog/surface-manager-quality-gates.js +324 -0
- package/catalog/surface-manager-release-handoff.d.ts +47 -0
- package/catalog/surface-manager-release-handoff.js +274 -0
- package/catalog/surface-manager-remote-policy.d.ts +34 -0
- package/catalog/surface-manager-remote-policy.js +199 -0
- package/catalog/surface-manager-rmt-authoring.d.ts +44 -0
- package/catalog/surface-manager-rmt-authoring.js +368 -0
- package/catalog/surface-manager-route-lifecycle.d.ts +32 -0
- package/catalog/surface-manager-route-lifecycle.js +162 -0
- package/catalog/surface-manager-runtime-release-handoff.d.ts +36 -0
- package/catalog/surface-manager-runtime-release-handoff.js +245 -0
- package/catalog/surface-manager-side-panel-runtime.d.ts +46 -0
- package/catalog/surface-manager-side-panel-runtime.js +307 -0
- package/catalog/surface-manager-stack-policy.d.ts +32 -0
- package/catalog/surface-manager-stack-policy.js +169 -0
- package/catalog/surface-manager-window-runtime.d.ts +45 -0
- package/catalog/surface-manager-window-runtime.js +285 -0
- package/catalog/surface-manager-workbench-fixture.d.ts +50 -0
- package/catalog/surface-manager-workbench-fixture.js +315 -0
- package/catalog/type-exports-api.js +236 -0
- package/catalog/type-exports-builder.js +405 -0
- package/catalog/type-exports-catalog.js +394 -0
- package/catalog/type-exports-loader.js +266 -0
- package/catalog/type-exports-policy.js +461 -0
- package/catalog/type-exports-rmt.js +407 -0
- package/catalog/type-exports-vendor.js +365 -0
- package/catalog/type-exports.js +574 -0
- package/components/icon-packs/core.js +154 -0
- package/components/icon-packs/lucide.js +136 -0
- package/components/manifest.json +44 -0
- package/components/prism.d.ts +73 -0
- package/components/prism.js +300 -0
- package/components/turndown.d.ts +34 -0
- package/components/turndown.js +107 -0
- package/components/x-rmt-lifecycle-demo-build.d.ts +78 -0
- package/components/x-rmt-lifecycle-demo-build.js +1175 -0
- package/components/x-rmt-lifecycle-demo.d.ts +83 -0
- package/components/x-rmt-lifecycle-demo.js +1175 -0
- package/components/xalert.d.ts +42 -0
- package/components/xalert.js +538 -0
- package/components/xbutton.d.ts +127 -0
- package/components/xbutton.js +612 -0
- package/components/xcalendar.d.ts +39 -0
- package/components/xcalendar.js +338 -0
- package/components/xcards.d.ts +34 -0
- package/components/xcards.js +253 -0
- package/components/xcheckbox.d.ts +48 -0
- package/components/xcheckbox.js +448 -0
- package/components/xcode.d.ts +35 -0
- package/components/xcode.js +370 -0
- package/components/xdialog.d.ts +48 -0
- package/components/xdialog.js +763 -0
- package/components/xdrawer.d.ts +61 -0
- package/components/xdrawer.js +654 -0
- package/components/xfooter.d.ts +41 -0
- package/components/xfooter.js +351 -0
- package/components/xform.d.ts +43 -0
- package/components/xform.js +456 -0
- package/components/xheader.d.ts +68 -0
- package/components/xheader.js +1253 -0
- package/components/xhero.d.ts +42 -0
- package/components/xhero.js +475 -0
- package/components/xicon.d.ts +146 -0
- package/components/xicon.js +688 -0
- package/components/xinput.d.ts +37 -0
- package/components/xinput.js +444 -0
- package/components/xlightbox.d.ts +48 -0
- package/components/xlightbox.js +571 -0
- package/components/xlink.d.ts +63 -0
- package/components/xlink.js +565 -0
- package/components/xmasonry.d.ts +35 -0
- package/components/xmasonry.js +666 -0
- package/components/xmenu.d.ts +118 -0
- package/components/xmenu.js +1005 -0
- package/components/xmodal.d.ts +64 -0
- package/components/xmodal.js +831 -0
- package/components/xplayer.d.ts +57 -0
- package/components/xplayer.js +1748 -0
- package/components/xpopover.d.ts +54 -0
- package/components/xpopover.js +466 -0
- package/components/xprogress.d.ts +40 -0
- package/components/xprogress.js +345 -0
- package/components/xradio.d.ts +50 -0
- package/components/xradio.js +474 -0
- package/components/xrouter.d.ts +244 -0
- package/components/xrouter.js +1841 -0
- package/components/xsection.d.ts +34 -0
- package/components/xsection.js +253 -0
- package/components/xselect.d.ts +46 -0
- package/components/xselect.js +463 -0
- package/components/xsidepanel.d.ts +56 -0
- package/components/xsidepanel.js +728 -0
- package/components/xspinner.d.ts +38 -0
- package/components/xspinner.js +388 -0
- package/components/xstate.d.ts +137 -0
- package/components/xstate.js +493 -0
- package/components/xstatus.d.ts +41 -0
- package/components/xstatus.js +381 -0
- package/components/xsummary.d.ts +43 -0
- package/components/xsummary.js +293 -0
- package/components/xsurfacemanager-controller.d.ts +130 -0
- package/components/xsurfacemanager-controller.js +699 -0
- package/components/xsurfacemanager.d.ts +452 -0
- package/components/xsurfacemanager.js +3775 -0
- package/components/xsurfaceoverlay-bridge.d.ts +43 -0
- package/components/xsurfaceoverlay-bridge.js +238 -0
- package/components/xsurfacewindow.d.ts +50 -0
- package/components/xsurfacewindow.js +576 -0
- package/components/xtabs.d.ts +73 -0
- package/components/xtabs.js +611 -0
- package/components/xtend-public-types.d.ts +208 -0
- package/components/xtextarea.d.ts +46 -0
- package/components/xtextarea.js +451 -0
- package/components/xtheme.d.ts +253 -0
- package/components/xtheme.js +1438 -0
- package/components/xtoast.d.ts +39 -0
- package/components/xtoast.js +389 -0
- package/components/xtooltip.d.ts +53 -0
- package/components/xtooltip.js +432 -0
- package/components/xtype.d.ts +42 -0
- package/components/xtype.js +244 -0
- package/components/xutils.d.ts +164 -0
- package/components/xutils.js +496 -0
- package/components/xwriter.d.ts +67 -0
- package/components/xwriter.js +854 -0
- package/design-tokens/themes/enterprise-light.json +40 -0
- package/design-tokens/themes/xtend-signature.json +126 -0
- package/design-tokens/xtend-design-tokens.d.ts +95 -0
- package/design-tokens/xtend-design-tokens.js +395 -0
- package/design-tokens/xtheme-token-alias-layer.d.ts +84 -0
- package/design-tokens/xtheme-token-alias-layer.js +423 -0
- package/docs/.htaccess +51 -0
- package/docs/README.md +340 -0
- package/docs/XTend-ADR.md +221 -0
- package/docs/a11y-keyboard-smokes.md +62 -0
- package/docs/about.md +18 -0
- package/docs/api.md +157 -0
- package/docs/best-practices.md +76 -0
- package/docs/component-catalog-coverage.md +58 -0
- package/docs/component-lab.md +103 -0
- package/docs/component-long-tail-migration.md +41 -0
- package/docs/component-platform.md +159 -0
- package/docs/component-ux-app-authoring.md +130 -0
- package/docs/component-ux-authoring.md +96 -0
- package/docs/component-ux-gates.md +45 -0
- package/docs/components/x-rmt-lifecycle-demo-build.md +60 -0
- package/docs/components/xalert.md +81 -0
- package/docs/components/xbutton.md +103 -0
- package/docs/components/xcalendar.md +82 -0
- package/docs/components/xcards.md +128 -0
- package/docs/components/xcheckbox.md +102 -0
- package/docs/components/xcode.md +126 -0
- package/docs/components/xdialog.md +92 -0
- package/docs/components/xdrawer.md +84 -0
- package/docs/components/xfooter.md +126 -0
- package/docs/components/xform.md +128 -0
- package/docs/components/xheader.md +308 -0
- package/docs/components/xhero.md +142 -0
- package/docs/components/xicon.md +125 -0
- package/docs/components/xinput.md +129 -0
- package/docs/components/xlightbox.md +98 -0
- package/docs/components/xlink.md +109 -0
- package/docs/components/xmasonry.md +124 -0
- package/docs/components/xmenu.md +158 -0
- package/docs/components/xmodal.md +82 -0
- package/docs/components/xplayer.md +104 -0
- package/docs/components/xpopover.md +67 -0
- package/docs/components/xprogress.md +56 -0
- package/docs/components/xradio.md +103 -0
- package/docs/components/xrouter.md +260 -0
- package/docs/components/xsection.md +125 -0
- package/docs/components/xselect.md +105 -0
- package/docs/components/xsidepanel.md +30 -0
- package/docs/components/xspinner.md +102 -0
- package/docs/components/xstate.md +148 -0
- package/docs/components/xstatus.md +55 -0
- package/docs/components/xsummary.md +78 -0
- package/docs/components/xsurfacemanager.md +27 -0
- package/docs/components/xsurfacewindow.md +21 -0
- package/docs/components/xtabs.md +160 -0
- package/docs/components/xtextarea.md +98 -0
- package/docs/components/xtheme.md +167 -0
- package/docs/components/xtoast.md +62 -0
- package/docs/components/xtooltip.md +66 -0
- package/docs/components/xtype.md +82 -0
- package/docs/components/xutils.md +144 -0
- package/docs/components/xwriter.md +94 -0
- package/docs/components.md +117 -0
- package/docs/conditional-network-evidence-ci.md +38 -0
- package/docs/conditional-network-evidence.md +50 -0
- package/docs/core-migration-guide.md +110 -0
- package/docs/design-tokens.md +116 -0
- package/docs/docs-rmt-production-hardening.md +31 -0
- package/docs/enterprise-adoption.md +411 -0
- package/docs/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/epic10-platform-gates.md +62 -0
- package/docs/epic10-release-handoff.md +81 -0
- package/docs/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/epic12-rc0-handoff.md +61 -0
- package/docs/existing-component-metadata.md +67 -0
- package/docs/hydration-performance-closure.md +34 -0
- package/docs/hydration-policies.md +71 -0
- package/docs/index.php +1625 -0
- package/docs/known-residual-triage.md +22 -0
- package/docs/manifest-import-policy.md +79 -0
- package/docs/manifest.md +106 -0
- package/docs/menu.json +1190 -0
- package/docs/motion-contrast.md +67 -0
- package/docs/package-export-lock.md +44 -0
- package/docs/performance-measurements.md +106 -0
- package/docs/performance-regression.md +89 -0
- package/docs/performance.md +94 -0
- package/docs/previews/README.md +17 -0
- package/docs/prod-browser-csp-smokes.md +40 -0
- package/docs/public-component-types.md +79 -0
- package/docs/quick-start-guide.md +152 -0
- package/docs/rc0-adoption-guide.md +102 -0
- package/docs/rc0-gate-matrix.md +58 -0
- package/docs/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/rc1-migration-notes.md +69 -0
- package/docs/rc1-readiness.md +46 -0
- package/docs/release-owner-acceptance.md +56 -0
- package/docs/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/rmt-dsl-authoring-polish.md +122 -0
- package/docs/rmt-first-demo-app.md +77 -0
- package/docs/rmt-first-xtend-apps.md +105 -0
- package/docs/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
- package/docs/rmt-kernel-security-hardening-migration.md +50 -0
- package/docs/rmt-kernel-trusted-output-authoring.md +69 -0
- package/docs/rmt-language-server.md +177 -0
- package/docs/rmt-lifecycle-demo.md +25 -0
- package/docs/rmt-linter.md +140 -0
- package/docs/rmt-production-readiness.md +63 -0
- package/docs/rmt-tooling-release-gates.md +77 -0
- package/docs/rmt-vnext-authoring.md +60 -0
- package/docs/rmt-vnext-cross-surface-events.md +68 -0
- package/docs/rmt-vnext-enterprise-mfe-handoff.md +70 -0
- package/docs/rmt-vnext-migration-notes.md +62 -0
- package/docs/rmt-vnext-release-handoff.md +69 -0
- package/docs/rmt-vnext-remote-surfaces.md +90 -0
- package/docs/rmt-vnext-surface-registry-enterprise.md +76 -0
- package/docs/screenreader-signals.md +56 -0
- package/docs/supply-chain-gates.md +100 -0
- package/docs/surface-manager-authoring-guide.md +94 -0
- package/docs/surface-manager-browser-lab.md +45 -0
- package/docs/surface-manager-component-lab.md +43 -0
- package/docs/surface-manager-controller.md +66 -0
- package/docs/surface-manager-layout-engines.md +32 -0
- package/docs/surface-manager-lazy-hydration.md +63 -0
- package/docs/surface-manager-migration-guide.md +94 -0
- package/docs/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/surface-manager-overlay-bridge.md +53 -0
- package/docs/surface-manager-persistence.md +30 -0
- package/docs/surface-manager-quality-gates.md +51 -0
- package/docs/surface-manager-release-handoff.md +68 -0
- package/docs/surface-manager-remote-policy.md +54 -0
- package/docs/surface-manager-rmt-authoring.md +86 -0
- package/docs/surface-manager-route-lifecycle.md +59 -0
- package/docs/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/surface-manager-side-panel-runtime.md +36 -0
- package/docs/surface-manager-stack-policy.md +39 -0
- package/docs/surface-manager-window-runtime.md +47 -0
- package/docs/surface-manager-workbench-fixture.md +43 -0
- package/docs/third-party-design-authoring.md +406 -0
- package/docs/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/trusted-dom-sanitizing.md +110 -0
- package/docs/type-exports.md +61 -0
- package/docs/typescript-components.md +63 -0
- package/docs/utils/fabric-runtime.js +650 -0
- package/docs/utils/pageloader.js +2823 -0
- package/docs/utils/parsedown.php +298 -0
- package/docs/visual-browser-regression.md +83 -0
- package/docs/visual-owner-artifacts.md +46 -0
- package/docs/visual-snapshot-automation.md +87 -0
- package/docs/xtend-api-types.md +55 -0
- package/docs/xtend-builder-types.md +55 -0
- package/docs/xtend-catalog-types.md +44 -0
- package/docs/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/xtend-fabric.md +474 -0
- package/docs/xtend-loader-types.md +58 -0
- package/docs/xtend-loader.md +265 -0
- package/docs/xtend-policy-types.md +38 -0
- package/docs/xtend-rmt-types.md +39 -0
- package/docs/xtend-vendor-types.md +36 -0
- package/docs/xtendrmt-app-dsl.md +269 -0
- package/docs/xtendrmt-migration-guide.md +235 -0
- package/docs/xtendrmt-native-authoring.md +337 -0
- package/docs/xtendrmt-overview.md +89 -0
- package/docs/xtendrmt-parsedown-docs.rmt +956 -0
- package/docs/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/xtendrmt-runtime-bridge.md +155 -0
- package/fabric/hydration-policy.d.ts +27 -0
- package/fabric/hydration-policy.js +306 -0
- package/fabric/package.json +58 -0
- package/fabric/rmt-lane-mapping.d.ts +47 -0
- package/fabric/rmt-lane-mapping.js +504 -0
- package/fabric/xtend-fabric.d.ts +81 -0
- package/fabric/xtend-fabric.js +2669 -0
- package/fabric/xtend-policy-public-types.d.ts +135 -0
- package/package.json +8225 -0
- package/security/README.md +54 -0
- package/security/manifest-import-policy.d.ts +43 -0
- package/security/manifest-import-policy.js +260 -0
- package/security/supply-chain-gate-policy.d.ts +45 -0
- package/security/supply-chain-gate-policy.js +249 -0
- package/security/trusted-dom-policy.d.ts +36 -0
- package/security/trusted-dom-policy.js +316 -0
- package/tools/package.json +77 -0
- package/tools/rmt-editor/vscode/README.md +33 -0
- package/tools/rmt-editor/vscode/extension.d.ts +9 -0
- package/tools/rmt-editor/vscode/extension.js +55 -0
- package/tools/rmt-editor/vscode/language-configuration.json +28 -0
- package/tools/rmt-editor/vscode/package.json +83 -0
- package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +243 -0
- package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +13 -0
- package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
- package/tools/rmt-language/code-actions.d.ts +15 -0
- package/tools/rmt-language/code-actions.js +566 -0
- package/tools/rmt-language/completions.d.ts +22 -0
- package/tools/rmt-language/completions.js +475 -0
- package/tools/rmt-language/definitions.d.ts +13 -0
- package/tools/rmt-language/definitions.js +212 -0
- package/tools/rmt-language/diagnostics.d.ts +23 -0
- package/tools/rmt-language/diagnostics.js +486 -0
- package/tools/rmt-language/format-adapter.d.ts +16 -0
- package/tools/rmt-language/format-adapter.js +270 -0
- package/tools/rmt-language/hover.d.ts +12 -0
- package/tools/rmt-language/hover.js +326 -0
- package/tools/rmt-language/kernel-escalation.d.ts +122 -0
- package/tools/rmt-language/kernel-escalation.js +427 -0
- package/tools/rmt-language/kernel-panic-monitor.d.ts +176 -0
- package/tools/rmt-language/kernel-panic-monitor.js +674 -0
- package/tools/rmt-language/kernel-policy-parity.d.ts +142 -0
- package/tools/rmt-language/kernel-policy-parity.js +629 -0
- package/tools/rmt-language/kernel-recovery.d.ts +173 -0
- package/tools/rmt-language/kernel-recovery.js +666 -0
- package/tools/rmt-language/kernel-scheduler-failure.d.ts +136 -0
- package/tools/rmt-language/kernel-scheduler-failure.js +486 -0
- package/tools/rmt-language/kernel-security-regression.d.ts +154 -0
- package/tools/rmt-language/kernel-security-regression.js +465 -0
- package/tools/rmt-language/kernel-trust-authority.d.ts +120 -0
- package/tools/rmt-language/kernel-trust-authority.js +549 -0
- package/tools/rmt-language/parser.d.ts +14 -0
- package/tools/rmt-language/parser.js +111 -0
- package/tools/rmt-language/rmt-tooling-public-types.d.ts +179 -0
- package/tools/rmt-language/rules/boundary-policy.js +81 -0
- package/tools/rmt-language/rules/document-policy.js +65 -0
- package/tools/rmt-language/rules/index.js +29 -0
- package/tools/rmt-language/rules/route-policy.js +81 -0
- package/tools/rmt-language/rules/scheduler-policy.js +66 -0
- package/tools/rmt-language/rules/template-policy.js +130 -0
- package/tools/rmt-language/semantic-graph.d.ts +18 -0
- package/tools/rmt-language/semantic-graph.js +827 -0
- package/tools/rmt-language/snippets/README.md +17 -0
- package/tools/rmt-language/snippets/index.d.ts +17 -0
- package/tools/rmt-language/snippets/index.js +417 -0
- package/tools/rmt-language/snippets/rmt.code-snippets +243 -0
- package/tools/rmt-language/source-model.d.ts +14 -0
- package/tools/rmt-language/source-model.js +731 -0
- package/tools/rmt-language/symbols.d.ts +13 -0
- package/tools/rmt-language/symbols.js +183 -0
- package/tools/rmt-language/vnext-compatibility.d.ts +28 -0
- package/tools/rmt-language/vnext-compatibility.js +675 -0
- package/tools/rmt-language/vnext-compiler.d.ts +17 -0
- package/tools/rmt-language/vnext-compiler.js +716 -0
- package/tools/rmt-language/vnext-composition.d.ts +30 -0
- package/tools/rmt-language/vnext-composition.js +595 -0
- package/tools/rmt-language/vnext-conditions.d.ts +25 -0
- package/tools/rmt-language/vnext-conditions.js +474 -0
- package/tools/rmt-language/vnext-cross-surface-events.d.ts +30 -0
- package/tools/rmt-language/vnext-cross-surface-events.js +607 -0
- package/tools/rmt-language/vnext-degradation.d.ts +23 -0
- package/tools/rmt-language/vnext-degradation.js +428 -0
- package/tools/rmt-language/vnext-enterprise-fixtures.d.ts +28 -0
- package/tools/rmt-language/vnext-enterprise-fixtures.js +487 -0
- package/tools/rmt-language/vnext-enterprise-registry.d.ts +21 -0
- package/tools/rmt-language/vnext-enterprise-registry.js +495 -0
- package/tools/rmt-language/vnext-enterprise-release.d.ts +44 -0
- package/tools/rmt-language/vnext-enterprise-release.js +472 -0
- package/tools/rmt-language/vnext-event-governance.d.ts +29 -0
- package/tools/rmt-language/vnext-event-governance.js +488 -0
- package/tools/rmt-language/vnext-events.d.ts +44 -0
- package/tools/rmt-language/vnext-events.js +680 -0
- package/tools/rmt-language/vnext-import-resolver.d.ts +28 -0
- package/tools/rmt-language/vnext-import-resolver.js +642 -0
- package/tools/rmt-language/vnext-lifecycle.d.ts +22 -0
- package/tools/rmt-language/vnext-lifecycle.js +404 -0
- package/tools/rmt-language/vnext-parser.d.ts +21 -0
- package/tools/rmt-language/vnext-parser.js +1391 -0
- package/tools/rmt-language/vnext-regression.d.ts +25 -0
- package/tools/rmt-language/vnext-regression.js +394 -0
- package/tools/rmt-language/vnext-release.d.ts +29 -0
- package/tools/rmt-language/vnext-release.js +293 -0
- package/tools/rmt-language/vnext-remote-compatibility.d.ts +33 -0
- package/tools/rmt-language/vnext-remote-compatibility.js +892 -0
- package/tools/rmt-language/vnext-remote-compiler.d.ts +14 -0
- package/tools/rmt-language/vnext-remote-compiler.js +520 -0
- package/tools/rmt-language/vnext-remote-manifest.d.ts +33 -0
- package/tools/rmt-language/vnext-remote-manifest.js +538 -0
- package/tools/rmt-language/vnext-remote-security.d.ts +27 -0
- package/tools/rmt-language/vnext-remote-security.js +380 -0
- package/tools/rmt-language/vnext-remote-tooling.d.ts +25 -0
- package/tools/rmt-language/vnext-remote-tooling.js +805 -0
- package/tools/rmt-language/vnext-scheduler.d.ts +24 -0
- package/tools/rmt-language/vnext-scheduler.js +469 -0
- package/tools/rmt-language/vnext-security.d.ts +28 -0
- package/tools/rmt-language/vnext-security.js +597 -0
- package/tools/rmt-language/vnext-streaming.d.ts +28 -0
- package/tools/rmt-language/vnext-streaming.js +593 -0
- package/tools/rmt-language/vnext-surfaces.d.ts +24 -0
- package/tools/rmt-language/vnext-surfaces.js +406 -0
- package/tools/rmt-language/vnext-tooling.d.ts +25 -0
- package/tools/rmt-language/vnext-tooling.js +728 -0
- package/tools/rmt-language-server/protocol.d.ts +22 -0
- package/tools/rmt-language-server/protocol.js +352 -0
- package/tools/rmt-language-server/server.d.ts +15 -0
- package/tools/rmt-language-server/server.js +622 -0
- package/tools/rmt-linter/cli.d.ts +14 -0
- package/tools/rmt-linter/cli.js +450 -0
- package/tools/rmt-linter/reporter.d.ts +16 -0
- package/tools/rmt-linter/reporter.js +472 -0
- package/xtend-builder/README.md +83 -0
- package/xtend-builder/a11y/README.md +42 -0
- package/xtend-builder/a11y/component-a11y-profile.d.ts +14 -0
- package/xtend-builder/a11y/component-a11y-profile.js +314 -0
- package/xtend-builder/blueprints/README.md +105 -0
- package/xtend-builder/blueprints/component-blueprint.contract.d.ts +16 -0
- package/xtend-builder/blueprints/component-blueprint.contract.js +343 -0
- package/xtend-builder/builder-public-types.d.ts +234 -0
- package/xtend-builder/extensions/README.md +26 -0
- package/xtend-builder/extensions/component-extension-points.d.ts +11 -0
- package/xtend-builder/extensions/component-extension-points.js +277 -0
- package/xtend-builder/generators/README.md +149 -0
- package/xtend-builder/generators/component-files.d.ts +5 -0
- package/xtend-builder/generators/component-files.js +769 -0
- package/xtend-builder/generators/component-plan.d.ts +4 -0
- package/xtend-builder/generators/component-plan.js +104 -0
- package/xtend-builder/generators/registry.d.ts +6 -0
- package/xtend-builder/generators/registry.js +118 -0
- package/xtend-builder/generators/rmt-build.js +738 -0
- package/xtend-builder/generators/rmt-lifecycle-demo.js +922 -0
- package/xtend-builder/lib/cli.d.ts +9 -0
- package/xtend-builder/lib/cli.js +543 -0
- package/xtend-builder/lib/layout.d.ts +6 -0
- package/xtend-builder/lib/layout.js +153 -0
- package/xtend-builder/lib/package-resolver.js +25 -0
- package/xtend-builder/package.json +90 -0
- package/xtend-builder/performance/README.md +31 -0
- package/xtend-builder/performance/component-performance-profile.d.ts +11 -0
- package/xtend-builder/performance/component-performance-profile.js +347 -0
- package/xtend-builder/performance/component-ux-performance-contract.d.ts +27 -0
- package/xtend-builder/performance/component-ux-performance-contract.js +424 -0
- package/xtend-builder/preview/README.md +61 -0
- package/xtend-builder/preview/component-lab-ux-inspector.d.ts +20 -0
- package/xtend-builder/preview/component-lab-ux-inspector.js +448 -0
- package/xtend-builder/preview/component-lab.d.ts +14 -0
- package/xtend-builder/preview/component-lab.js +278 -0
- package/xtend-builder/preview/component-preview.d.ts +5 -0
- package/xtend-builder/preview/component-preview.js +160 -0
- package/xtend-builder/scaffold.config.d.ts +4 -0
- package/xtend-builder/scaffold.config.js +2056 -0
- package/xtend-builder/scaffold.d.ts +3 -0
- package/xtend-builder/scaffold.js +11 -0
- package/xtend-builder/templates/README.md +33 -0
- package/xtend-builder/templates/component/a11y.template.ts +11 -0
- package/xtend-builder/templates/component/component-suite.template.d.ts +2 -0
- package/xtend-builder/templates/component/component-suite.template.js +108 -0
- package/xtend-builder/templates/component/contract.template.ts +10 -0
- package/xtend-builder/templates/component/demo-plan.template.md +73 -0
- package/xtend-builder/templates/component/docs.template.md +301 -0
- package/xtend-builder/templates/component/fixture-data.template.ts +28 -0
- package/xtend-builder/templates/component/fixture.template.html +37 -0
- package/xtend-builder/templates/component/manifest-plan.template.json +22 -0
- package/xtend-builder/templates/component/performance.template.ts +13 -0
- package/xtend-builder/templates/component/rmt.template.ts +12 -0
- package/xtend-builder/templates/component/source.template.d.ts +2 -0
- package/xtend-builder/templates/component/source.template.js +137 -0
- package/xtend-builder/templates/component/source.template.ts +110 -0
- package/xtend-builder/templates/component/types.template.d.ts +423 -0
- package/xtend-builder/templates/loader.d.ts +4 -0
- package/xtend-builder/templates/loader.js +51 -0
- package/xtend-builder/templates/registry.d.ts +6 -0
- package/xtend-builder/templates/registry.js +119 -0
- package/xtend-builder/typing/README.md +130 -0
- package/xtend-builder/typing/component-contract-v2.d.ts +15 -0
- package/xtend-builder/typing/component-contract-v2.js +248 -0
- package/xtend-builder/typing/component-network-contract.d.ts +22 -0
- package/xtend-builder/typing/component-network-contract.js +478 -0
- package/xtend-builder/typing/component-shell-contract.d.ts +21 -0
- package/xtend-builder/typing/component-shell-contract.js +312 -0
- package/xtend-builder/typing/component-styling-contract.d.ts +22 -0
- package/xtend-builder/typing/component-styling-contract.js +301 -0
- package/xtend-builder/typing/component-types.d.ts +10 -0
- package/xtend-builder/typing/component-types.js +551 -0
- package/xtend-builder/typing/enterprise-component-flex-hardening-contract.d.ts +20 -0
- package/xtend-builder/typing/enterprise-component-flex-hardening-contract.js +332 -0
- package/xtend-builder/typing/feedback-status-ux-contract.d.ts +25 -0
- package/xtend-builder/typing/feedback-status-ux-contract.js +347 -0
- package/xtend-builder/typing/form-controls-ux-contract.d.ts +25 -0
- package/xtend-builder/typing/form-controls-ux-contract.js +357 -0
- package/xtend-builder/typing/layout-display-media-ux-contract.d.ts +25 -0
- package/xtend-builder/typing/layout-display-media-ux-contract.js +420 -0
- package/xtend-builder/typing/navigation-routing-ux-contract.d.ts +17 -0
- package/xtend-builder/typing/navigation-routing-ux-contract.js +297 -0
- package/xtend-builder/typing/overlay-interaction-ux-contract.d.ts +25 -0
- package/xtend-builder/typing/overlay-interaction-ux-contract.js +383 -0
- package/xtend-builder/typing/rmt-dsl-authoring-polish.d.ts +27 -0
- package/xtend-builder/typing/rmt-dsl-authoring-polish.js +419 -0
- package/xtend-builder/typing/rmt-shell-authoring-contract.d.ts +26 -0
- package/xtend-builder/typing/rmt-shell-authoring-contract.js +315 -0
- package/xtend-builder/utils/README.md +8 -0
- package/xtend-builder/utils/naming.d.ts +7 -0
- package/xtend-builder/utils/naming.js +36 -0
- package/xtend-builder/utils/validation.d.ts +5 -0
- package/xtend-builder/utils/validation.js +95 -0
- package/xtend-builder/wiring/README.md +46 -0
- package/xtend-builder/wiring/features.d.ts +5 -0
- package/xtend-builder/wiring/features.js +165 -0
- package/xtend-builder/wiring/hydration.d.ts +4 -0
- package/xtend-builder/wiring/hydration.js +44 -0
- package/xtend-builder/wiring/manifest.d.ts +5 -0
- package/xtend-builder/wiring/manifest.js +48 -0
- package/xtend-builder/workflows/README.md +47 -0
- package/xtend-builder/workflows/developer-workflow.d.ts +6 -0
- package/xtend-builder/workflows/developer-workflow.js +125 -0
- package/xtend-builder/writing/manifest-patcher.d.ts +49 -0
- package/xtend-builder/writing/manifest-patcher.js +391 -0
- package/xtend-builder/writing/write-plan.d.ts +148 -0
- package/xtend-builder/writing/write-plan.js +646 -0
- package/xtend-dev.d.ts +23 -0
- package/xtend-dev.js +4 -0
- package/xtend-loader.d.ts +201 -0
- package/xtend-loader.js +1704 -0
- package/xtend.css +402 -0
- package/xtendrmt/package.json +64 -0
- package/xtendrmt/rmt-core.d.ts +4452 -0
- package/xtendrmt/rmt-core.esm.js +25793 -0
- package/xtendrmt/rmt-first-demo-app.js +265 -0
- package/xtendrmt/rmt-first-demo-app.rmt +737 -0
- package/xtendrmt/rmt-lifecycle-demo.app.js +493 -0
- package/xtendrmt/rmt-lifecycle-demo.core.json +810 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt +35 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +153 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.core.json +810 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +202 -0
- package/xtendrmt/rmt-lifecycle-demo.scaffold.json +187 -0
- package/xtendrmt/rmt-manifest.json +548 -0
- package/xtendrmt/rmt-runtime.browser.js +26183 -0
- package/xtendrmt/rmt-runtime.esm.js +26214 -0
- package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +849 -0
- package/xtendrmt/rmt-vnext-enterprise-mfe-demo.rmt +50 -0
- package/xtendrmt/rmt-vnext-reference-demo.core.json +1069 -0
- package/xtendrmt/rmt-vnext-reference-demo.rmt +50 -0
- package/xtendrmt/rmt.schema.json +3145 -0
- package/xtendrmt/surface-workbench.js +316 -0
- package/xtendrmt/surface-workbench.rmt +762 -0
- package/xtendrmt/xtendrmt-bestcase-demo.core.json +1187 -0
- package/xtendrmt/xtendrmt-bestcase-demo.js +1728 -0
- package/xtendrmt/xtendrmt-bestcase-demo.rmt +57 -0
|
@@ -0,0 +1,159 @@
|
|
|
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
|
+
## P0-Komponentenwelle
|
|
19
|
+
|
|
20
|
+
WP-E10-08 legt die erste P0-Komponentenwelle als `xtend.epic10.p0-component-wave.v1` fest.
|
|
21
|
+
|
|
22
|
+
| Komponente | Paket | Schwerpunkt |
|
|
23
|
+
|------------|-------|-------------|
|
|
24
|
+
| `x-select` | `WP-E10-09` | Select Control, Option Slots, Value Events |
|
|
25
|
+
| `x-checkbox` | `WP-E10-09` | Binary Input, checked/indeterminate State |
|
|
26
|
+
| `x-radio` | `WP-E10-09` | Radio Group Coordination und Keyboard Navigation |
|
|
27
|
+
| `x-textarea` | `WP-E10-10` | Long-Form Input, Validation, Counter |
|
|
28
|
+
| `x-status` | `WP-E10-10` | Live Region, Validation Feedback, Scheduler Status |
|
|
29
|
+
| `x-progress` | `WP-E10-10` | Async Progress, Hydration/Task Feedback |
|
|
30
|
+
| `x-tooltip` | `WP-E10-11` | leichte Overlay-Hilfe und describedby Mapping |
|
|
31
|
+
| `x-popover` | `WP-E10-11` | interaktives, verankertes Overlay |
|
|
32
|
+
| `x-drawer` | `WP-E10-11` | App-Shell Navigation und Side Panels |
|
|
33
|
+
|
|
34
|
+
`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.
|
|
35
|
+
|
|
36
|
+
## Component Lab und RMT Inspector
|
|
37
|
+
|
|
38
|
+
`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.
|
|
39
|
+
|
|
40
|
+
Die Pilot-Oberflaeche besteht aus:
|
|
41
|
+
|
|
42
|
+
- Component Preview fuer Fixture, Docs, Types und Contract-Pfade
|
|
43
|
+
- RMT Inspector fuer `manifest`, `adapters`, `components`, `routes`, `schedules`, `templates` und `diagnostics`
|
|
44
|
+
- Telemetry Panel fuer `snapshot.componentTelemetry`
|
|
45
|
+
- A11y- und Performance-Hinweisen aus Component Contract v2
|
|
46
|
+
- Source Links auf Runtime, TS Source, RMT Metadata, Fixture, Docs und Suite
|
|
47
|
+
|
|
48
|
+
Der lokale Gate lautet:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
node scripts/run_xtend_tests.js component-lab-rmt-inspector --json
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## RMT-first Demo-App
|
|
55
|
+
|
|
56
|
+
`WP-E10-13` liefert mit `xtendrmt-rmt-first-demo.html` und `xtendrmt/rmt-first-demo-app.rmt` die erste produktive RMT-first Demo-App ohne manuelle Shell. Die Hostseite stellt nur einen `data-rmt-host="rmt-first-demo"` Root, den lokalen XTend Loader, das lokale Manifest und die RMT Runtime bereit.
|
|
57
|
+
|
|
58
|
+
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`.
|
|
59
|
+
|
|
60
|
+
Der lokale Gate lautet:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
node scripts/run_xtend_tests.js rmt-first-demo-app --json
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Existing Component Metadata
|
|
67
|
+
|
|
68
|
+
`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`.
|
|
69
|
+
|
|
70
|
+
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.
|
|
71
|
+
|
|
72
|
+
Der lokale Gate lautet:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
node scripts/run_xtend_tests.js existing-component-metadata --json
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Epic 10 Platform Gates
|
|
79
|
+
|
|
80
|
+
`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.
|
|
81
|
+
|
|
82
|
+
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.
|
|
83
|
+
|
|
84
|
+
Der lokale Gate lautet:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
node scripts/run_xtend_tests.js epic10-platform-gates --json
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Epic 10 Release Handoff
|
|
91
|
+
|
|
92
|
+
`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`.
|
|
93
|
+
|
|
94
|
+
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.
|
|
95
|
+
|
|
96
|
+
Der lokale Gate lautet:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
node scripts/run_xtend_tests.js epic10-release-handoff --json
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Epic 11 Enterprise UX Handoff
|
|
103
|
+
|
|
104
|
+
`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`.
|
|
105
|
+
|
|
106
|
+
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.
|
|
107
|
+
|
|
108
|
+
Der lokale Gate lautet:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
node scripts/run_xtend_tests.js epic11-enterprise-ux-handoff --json
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## RMT First-Class Support
|
|
115
|
+
|
|
116
|
+
Jede neue Komponente muss als RMT Component Record authorbar sein:
|
|
117
|
+
|
|
118
|
+
- Adapter: `xtend.component`
|
|
119
|
+
- Template-Modus: `dom_descriptor`
|
|
120
|
+
- Event Binding: `dom-event-to-rmt-command`
|
|
121
|
+
- Pflicht-Schedules: `component.visible.mount`, Hydration Schedule und `diagnostics.snapshot`
|
|
122
|
+
- Kernel Boundary: `no-rmt-kernel-import-of-xtend-types`
|
|
123
|
+
|
|
124
|
+
RMT beschreibt also Komponente, Props, Attribute, Slots, Events, Hydration und Schedule. XTend fuehrt die Custom Elements lokal aus.
|
|
125
|
+
|
|
126
|
+
## Fabric, Telemetry und Lanes
|
|
127
|
+
|
|
128
|
+
Neue Komponenten muessen Fabric-Kontext aufnehmen koennen. Dazu gehoeren:
|
|
129
|
+
|
|
130
|
+
- `@xtend-fabric` Boundary
|
|
131
|
+
- Lifecycle-Operationen `mount`, `hydrate`, `render`, `update`, `event`, `error`, `unmount`
|
|
132
|
+
- Telemetry Snapshot `xtend.fabric.telemetry-snapshot.v1`
|
|
133
|
+
- Backpressure-faehige Messpunkte
|
|
134
|
+
- deterministische Lane-Precedence aus RMT, Component Metadata, Fabric Override und Blueprint Default
|
|
135
|
+
|
|
136
|
+
## A11y und Performance
|
|
137
|
+
|
|
138
|
+
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.
|
|
139
|
+
|
|
140
|
+
Performance ist ebenfalls Contract-Bestandteil. Jede Komponente muss Budgetklasse, Lane, Hydration Policy und kritische Messpunkte deklarieren.
|
|
141
|
+
|
|
142
|
+
## Lokale Gates
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
node scripts/run_xtend_tests.js component-ux-authoring-docs --json
|
|
146
|
+
node scripts/run_xtend_tests.js component-long-tail-migration --json
|
|
147
|
+
node scripts/run_xtend_tests.js epic11-enterprise-ux-handoff --json
|
|
148
|
+
node scripts/run_xtend_tests.js component-shell-theme-matrix --json
|
|
149
|
+
node scripts/run_xtend_tests.js component-ux-browser-smokes --json
|
|
150
|
+
node scripts/run_xtend_tests.js epic10-p0-component-wave --json
|
|
151
|
+
node scripts/run_xtend_tests.js component-lab-rmt-inspector --json
|
|
152
|
+
node scripts/run_xtend_tests.js rmt-first-demo-app --json
|
|
153
|
+
node scripts/run_xtend_tests.js existing-component-metadata --json
|
|
154
|
+
node scripts/run_xtend_tests.js epic10-platform-gates --json
|
|
155
|
+
node scripts/run_xtend_tests.js epic10-release-handoff --json
|
|
156
|
+
node scripts/run_xtend_tests.js builder-typescript-blueprint --json
|
|
157
|
+
node scripts/run_xtend_tests.js component-contract-v2 --json
|
|
158
|
+
node scripts/run_xtend_tests.js references --json
|
|
159
|
+
```
|
|
@@ -0,0 +1,130 @@
|
|
|
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 XTend-Komponenten in RMT-first Apps einsetzen. Die App kann vollstaendig in RMT templated werden; XTend liefert lokale Web Components und XTendRMT orchestriert Shell, Routes, Templates, Schedules und Diagnostics.
|
|
6
|
+
|
|
7
|
+
## Grundregeln
|
|
8
|
+
|
|
9
|
+
- Die App Shell rendert `shell-first`.
|
|
10
|
+
- XTend-Komponenten werden als `xtend.component` Records beschrieben.
|
|
11
|
+
- XRouter wird ueber den Router-Adapter angebunden.
|
|
12
|
+
- Templates verwenden bevorzugt `dom_descriptor`.
|
|
13
|
+
- Events werden als `dom-event-to-rmt-command` gebunden.
|
|
14
|
+
- Hydration, Fabric-Lane, Fiber und Diagnostics bleiben schedulebare Metadata.
|
|
15
|
+
- Der RMT-Kernel importiert keine XTend-Klassen oder XTend-Typen.
|
|
16
|
+
|
|
17
|
+
Boundary:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
no-rmt-kernel-import-of-xtend-types
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Minimaler Component Record
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"id": "settings.feedback.status",
|
|
28
|
+
"kind": "custom_element",
|
|
29
|
+
"adapter": "xtend.component",
|
|
30
|
+
"tag": "x-status",
|
|
31
|
+
"props": {
|
|
32
|
+
"type": "success",
|
|
33
|
+
"label": "Scheduler",
|
|
34
|
+
"message": "Ready"
|
|
35
|
+
},
|
|
36
|
+
"a11y": {
|
|
37
|
+
"role": "status",
|
|
38
|
+
"live": "polite"
|
|
39
|
+
},
|
|
40
|
+
"style": {
|
|
41
|
+
"theme": "dark",
|
|
42
|
+
"density": "compact"
|
|
43
|
+
},
|
|
44
|
+
"schedule": "component.visible.mount",
|
|
45
|
+
"fabric": {
|
|
46
|
+
"lane": "visible",
|
|
47
|
+
"fiber": "component.mount"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## App-Shell-Muster
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"manifest": {
|
|
57
|
+
"metadata": {
|
|
58
|
+
"contractVersion": "xtend.rmt.first-class-app-authoring.v1",
|
|
59
|
+
"renderMode": "shell-first"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"adapters": [
|
|
63
|
+
{ "id": "xtend.component", "kind": "component" },
|
|
64
|
+
{ "id": "xtend.xrouter", "kind": "router" }
|
|
65
|
+
],
|
|
66
|
+
"routes": [
|
|
67
|
+
{ "id": "dashboard", "path": "/", "template": "dashboard.page" }
|
|
68
|
+
],
|
|
69
|
+
"templates": [
|
|
70
|
+
{
|
|
71
|
+
"id": "dashboard.page",
|
|
72
|
+
"mode": "dom_descriptor",
|
|
73
|
+
"children": [
|
|
74
|
+
{ "component": "settings.feedback.status" }
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"schedules": [
|
|
79
|
+
{
|
|
80
|
+
"id": "dashboard.visible.mount",
|
|
81
|
+
"lane": "visible",
|
|
82
|
+
"endpoint": "xtend.component.mount",
|
|
83
|
+
"metadata": {
|
|
84
|
+
"theme": "dark",
|
|
85
|
+
"density": "compact",
|
|
86
|
+
"motion": "reduced-motion"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## UX-Regeln fuer Apps
|
|
94
|
+
|
|
95
|
+
| Dimension | App-Regel |
|
|
96
|
+
| --- | --- |
|
|
97
|
+
| Shell | Hostseite stellt nur den Root, Loader, Manifest und RMT Runtime bereit |
|
|
98
|
+
| Routing | Routen kommen aus RMT und werden ueber XRouter aktiviert |
|
|
99
|
+
| Theme | `light`, `dark`, `high-contrast` und `forced-colors` bleiben App-States |
|
|
100
|
+
| Motion | `reduced-motion` muss bis in Overlays, Feedback und Media sichtbar sein |
|
|
101
|
+
| Density | `comfortable`, `compact` und `dense` duerfen Layout nicht brechen |
|
|
102
|
+
| A11y | Route Announcements, Live Regions, Error Regions und Focus Restore sind Teil der App |
|
|
103
|
+
| Performance | Hydration Policies und Fabric-Lanes sind Schedule-Daten, keine Host-Sonderlogik |
|
|
104
|
+
|
|
105
|
+
## Gates fuer App-Autoren
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
node scripts/run_xtend_tests.js rmt-first-class-app --json
|
|
109
|
+
node scripts/run_xtend_tests.js rmt-shell-authoring-ux --json
|
|
110
|
+
node scripts/run_xtend_tests.js component-ux-browser-smokes --json
|
|
111
|
+
node scripts/run_xtend_tests.js component-shell-theme-matrix --json
|
|
112
|
+
node scripts/run_xtend_tests.js browser --json
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Fuer PRs ist der gemeinsame schnelle Pfad:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
npm run test:pr
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Wann ein App-Pfad reif ist
|
|
122
|
+
|
|
123
|
+
Ein RMT-first XTend App-Pfad gilt als reif, wenn:
|
|
124
|
+
|
|
125
|
+
- die Shell nicht manuell aus statischem XTend-Markup zusammengesetzt wird,
|
|
126
|
+
- Komponenten ueber `xtend.component` Records kommen,
|
|
127
|
+
- Route, Theme, Motion, Density und Hydration in RMT sichtbar sind,
|
|
128
|
+
- Browser-Smokes die Kernjourneys abdecken,
|
|
129
|
+
- die Component Shell Theme Matrix nicht bricht,
|
|
130
|
+
- 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.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# x-rmt-lifecycle-demo-build - XTend Komponente
|
|
2
|
+
|
|
3
|
+
## Uebersicht
|
|
4
|
+
|
|
5
|
+
`<x-rmt-lifecycle-demo-build>` ist die aus `xtendrmt/rmt-lifecycle-demo.rmt` erzeugte RC1-Test-Build-Komponente. Sie dient als lokaler, manifestierter Nachweis fuer den RMT-vNext-App-Build-Pfad und verbindet Root-Lifecycle, Template-Extension, Scheduler-Handschlag, A11y-Profil und Performance-Profil in einem Custom Element.
|
|
6
|
+
|
|
7
|
+
## Verwendung
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<x-rmt-lifecycle-demo-build
|
|
11
|
+
variant="rc1"
|
|
12
|
+
aria-label="RMT Lifecycle Demo Build">
|
|
13
|
+
Lifecycle Demo
|
|
14
|
+
</x-rmt-lifecycle-demo-build>
|
|
15
|
+
<script type="module" src="/components/x-rmt-lifecycle-demo-build.js"></script>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Attribute
|
|
19
|
+
|
|
20
|
+
| Attribut | Typ | Beschreibung |
|
|
21
|
+
|----------|-----|--------------|
|
|
22
|
+
| `variant` | String | Markiert die lokale Demo-Variante fuer Fixtures und Browser-Smokes. |
|
|
23
|
+
| `aria-label` | String | Pflichtname fuer die semantische `region` im Shadow DOM. |
|
|
24
|
+
|
|
25
|
+
## Scaffold Contracts
|
|
26
|
+
|
|
27
|
+
Die generierte Komponente exposes folgende statische Contracts:
|
|
28
|
+
|
|
29
|
+
- `xtendScaffoldWiring` mit `xtend.scaffold.feature-wiring.v1`
|
|
30
|
+
- `xtendScaffoldExtensionPoints` mit `xtend.scaffold.component-extension-points.v1`
|
|
31
|
+
- `xtendScaffoldA11yProfile` mit `xtend.a11y.profile.v1`
|
|
32
|
+
- `xtendScaffoldPerformanceProfile` mit `xtend.performance.component-profile.v1`
|
|
33
|
+
|
|
34
|
+
Der Root-Lifecycle nutzt `xtend.rmt.root-handshake.v1` und bleibt ueber Scheduler Endpoint Hints an den XTend Host Adapter gekoppelt. Der RMT Kernel liest die XTend-Komponente nicht direkt, sondern behandelt Component Refs, Templates und Events als Daten.
|
|
35
|
+
|
|
36
|
+
## Events
|
|
37
|
+
|
|
38
|
+
| Event | Beschreibung |
|
|
39
|
+
|-------|--------------|
|
|
40
|
+
| `rmt-lifecycle-demo-build-ready` | im Scaffold-Wiring deklarierter Ready-Kanal fuer Host-Adapter. |
|
|
41
|
+
| `rmt-lifecycle-demo-build-changed` | im Scaffold-Wiring deklarierter State-Change-Kanal fuer Host-Adapter. |
|
|
42
|
+
|
|
43
|
+
## A11y-Profil
|
|
44
|
+
|
|
45
|
+
Das A11y-Profil setzt `role="region"`, verlangt ein `aria-label`, beschreibt Screenreader-Signale fuer semantische Region und Statusaenderungen und fuehrt Reduced-Motion-/Forced-Colors-Regeln im Shadow DOM.
|
|
46
|
+
|
|
47
|
+
## Performance-Profil
|
|
48
|
+
|
|
49
|
+
Das Performance-Profil nutzt `xtend.performance.component-profile.v1`, `budgetClass: critical`, `lane: user-blocking` und `hydrationPolicy: visible`. Kritische Messpunkte sind Loader, Mount, Hydration, Render, Update, State-Sync und Event-Action.
|
|
50
|
+
|
|
51
|
+
## RC1 Build Boundary
|
|
52
|
+
|
|
53
|
+
Die Komponente ist absichtlich ein Build-Artefakt aus dem RMT-vNext-Pfad:
|
|
54
|
+
|
|
55
|
+
- Source: `xtendrmt/rmt-lifecycle-demo.rmt`
|
|
56
|
+
- Generator: `xtend-builder/generators/rmt-build.js`
|
|
57
|
+
- Build-Komponente: `components/x-rmt-lifecycle-demo-build.js`
|
|
58
|
+
- Browser Smoke: `tests/browser/fixtures/rmt-lifecycle-demo-rmt-build-smoke.html`
|
|
59
|
+
|
|
60
|
+
Damit ist sie Teil der RC1-Test-Build-Recovery: Manifest, Docs, Suite, Fixture und Public Types bleiben im Component Catalog sichtbar.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# xalert - XTend Komponente
|
|
2
|
+
|
|
3
|
+
## Uebersicht
|
|
4
|
+
|
|
5
|
+
`<x-alert>` ist die prominente Feedback-Komponente fuer laenger sichtbare Hinweise, Warnungen und Fehler. Im Unterschied zu Toasts kann ein Alert blockierend oder explizit schliessbar auftreten.
|
|
6
|
+
|
|
7
|
+
## Verwendung
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<x-alert type="error" closable overlay aria-label="Fehlerhinweis">
|
|
11
|
+
Ein Fehler ist aufgetreten
|
|
12
|
+
</x-alert>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Attribute
|
|
16
|
+
|
|
17
|
+
| Attribut | Typ | Beschreibung |
|
|
18
|
+
|----------|-----|--------------|
|
|
19
|
+
| `type` | string | `info`, `success`, `warning`, `error` |
|
|
20
|
+
| `closable` | boolean | zeigt einen Schliessen-Button |
|
|
21
|
+
| `duration` | number | optionale Auto-Close-Dauer |
|
|
22
|
+
| `overlay` | boolean | zeigt den Alert als zentriertes Overlay |
|
|
23
|
+
| `aria-label` | string | Screenreader-Label |
|
|
24
|
+
|
|
25
|
+
## Events
|
|
26
|
+
|
|
27
|
+
| Event | Beschreibung |
|
|
28
|
+
|-------|--------------|
|
|
29
|
+
| `alert-shown` | nach dem Anzeigen des Alerts |
|
|
30
|
+
| `alert-dismissed` | nach dem Schliessen des Alerts |
|
|
31
|
+
|
|
32
|
+
## State-Contract
|
|
33
|
+
|
|
34
|
+
Die Instanz spiegelt ihren Zustand kompatibel in `xstate`:
|
|
35
|
+
|
|
36
|
+
- `xtend.component.x-alert.<id>`
|
|
37
|
+
- `xalert-state-<id>`
|
|
38
|
+
|
|
39
|
+
Das Event-Detail enthaelt unter anderem:
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
{
|
|
43
|
+
id: 'alert-abc123',
|
|
44
|
+
type: 'error',
|
|
45
|
+
closable: true,
|
|
46
|
+
overlay: true,
|
|
47
|
+
dismissed: false,
|
|
48
|
+
reason: 'connected'
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Runtime-Contract
|
|
53
|
+
|
|
54
|
+
- API-gemanagte Alerts werden aggregiert in `xstate.get('ui').alerts`
|
|
55
|
+
- die Instanz selbst fuehrt ihren Lifecycle ueber `alert-shown` und `alert-dismissed`
|
|
56
|
+
- API und Komponente sprechen keine separaten Close-Pfade mehr
|
|
57
|
+
|
|
58
|
+
## Feedback Status UX ab WP-E11-09
|
|
59
|
+
|
|
60
|
+
`<x-alert>` stellt `xtendFeedbackStatusUxProfile` mit `xtend.component.feedback-status-ux-profile.v1` bereit. Das Profil beschreibt `x-alert` als laenger sichtbare Feedback-Shell mit `alert-shown`, `alert-dismissed`, `xalert-state-<id>`, `a11y.announce`, Fabric-Lane `a11y` und RMT Shell Authoring.
|
|
61
|
+
|
|
62
|
+
Fehler und Warnungen nutzen assertive Live Regions; neutrale und erfolgreiche Hinweise bleiben polite. Event-Details enthalten `source: 'x-alert'` und `stateKey`, sodass Form-, Router- oder RMT-Adapter Alerts konsistent schedulen und diagnostizieren koennen.
|
|
63
|
+
|
|
64
|
+
## Kontrastfarben
|
|
65
|
+
|
|
66
|
+
`<x-alert>` nutzt solide Kontrastfarben ohne Farbverlaeufe. Die Varianten `info`, `success`, `warning` und `error` setzen jeweils eigene Tokens fuer Hintergrund, Text, Border und Accent, damit Alerts in Light- und Dark-Mode lesbar bleiben und ihre Signalwirkung behalten.
|
|
67
|
+
|
|
68
|
+
Die wichtigsten Theme-Tokens sind:
|
|
69
|
+
|
|
70
|
+
- `--xtend-alert-info-bg`, `--xtend-alert-info-fg`, `--xtend-alert-info-border`, `--xtend-alert-info-accent`
|
|
71
|
+
- `--xtend-alert-success-bg`, `--xtend-alert-success-fg`, `--xtend-alert-success-border`, `--xtend-alert-success-accent`
|
|
72
|
+
- `--xtend-alert-warning-bg`, `--xtend-alert-warning-fg`, `--xtend-alert-warning-border`, `--xtend-alert-warning-accent`
|
|
73
|
+
- `--xtend-alert-error-bg`, `--xtend-alert-error-fg`, `--xtend-alert-error-border`, `--xtend-alert-error-accent`
|
|
74
|
+
|
|
75
|
+
Fuer Dark-Mode koennen dieselben Tokens mit dem Suffix `-dark` ueberschrieben werden, etwa `--xtend-alert-error-bg-dark`.
|
|
76
|
+
|
|
77
|
+
## Hinweise
|
|
78
|
+
|
|
79
|
+
- Alerts sind fuer inhaltlich wichtigere, laenger sichtbare oder blockierende Rueckmeldungen gedacht
|
|
80
|
+
- `window.XAlert.show()` ist der bevorzugte Einstieg fuer API-gemanagte Alerts
|
|
81
|
+
- fuer kurze, nicht blockierende Hinweise ist `x-toast` die passendere Komponente
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# xbutton – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xalert](./xalert.md), [xstate](./xstate.md), [xtheme](./xtheme.md)
|
|
4
|
+
|
|
5
|
+
## Uebersicht
|
|
6
|
+
|
|
7
|
+
`<x-button>` ist der interaktive Basisbutton fuer XTend Apps. Die Komponente bietet Varianten, Groessen, Ladezustand, dekorative Icons, Focus-Visible-Styles, Reduced-Motion-/Forced-Colors-Pfade und seit `WP-E12-06` ein explizites Performance- und Interaction-Budget.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- Varianten: `primary`, `secondary`, `danger`
|
|
12
|
+
- Groessen: `small`, normal, `large`
|
|
13
|
+
- Ladezustand ueber `loading` und `aria-busy`
|
|
14
|
+
- Disabled-/Busy-Guards fuer Click- und Keyboard-Aktivierung
|
|
15
|
+
- Touch Target Token `--xtend-button-min-touch-target`
|
|
16
|
+
- State-Integration ueber `xbutton-state-<id>`
|
|
17
|
+
- Fabric-kompatible Events `button-interaction` und `button-performance-measured`
|
|
18
|
+
- Slot-Fallback bleibt erhalten, damit spaet nachgereichte Inhalte wie `x-icon` sauber hydrieren
|
|
19
|
+
|
|
20
|
+
## Verwendung
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<x-button variant="primary" size="large" icon="/icons/save.svg">Speichern</x-button>
|
|
24
|
+
<x-button loading aria-label="Speichern laeuft">Bitte warten...</x-button>
|
|
25
|
+
<x-button aria-label="Theme wechseln"><x-icon name="sun" decorative></x-icon></x-button>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Attribute
|
|
29
|
+
|
|
30
|
+
| Attribut | Typ | Beschreibung |
|
|
31
|
+
|----------|-----|--------------|
|
|
32
|
+
| `disabled` | Boolean | Deaktiviert Interaktion und setzt `aria-disabled` |
|
|
33
|
+
| `label` | String | Fallback-Text, wenn kein Slot-Inhalt vorhanden ist |
|
|
34
|
+
| `variant` | String | `primary`, `secondary`, `danger` oder Custom-Klasse |
|
|
35
|
+
| `size` | String | `small`, normal oder `large` |
|
|
36
|
+
| `icon` | String | SVG-String oder Icon-URL |
|
|
37
|
+
| `loading` | Boolean | Zeigt Spinner, sperrt Interaktion und setzt Busy-State |
|
|
38
|
+
| `aria-label` | String | Zugänglicher Name fuer Screenreader |
|
|
39
|
+
| `aria-busy` | Boolean | Expliziter Busy-Status ohne zwingenden Loading-Spinner |
|
|
40
|
+
|
|
41
|
+
## Events
|
|
42
|
+
|
|
43
|
+
| Event | Beschreibung |
|
|
44
|
+
|-------|--------------|
|
|
45
|
+
| `click` | weitergeleiteter Click der internen Button-Shell |
|
|
46
|
+
| `focus` / `blur` | weitergeleitete Focus-Events |
|
|
47
|
+
| `loading-start` | `loading` wurde aktiviert |
|
|
48
|
+
| `loading-end` | `loading` wurde deaktiviert |
|
|
49
|
+
| `button-interaction` | Fabric-kompatible Interaktionsmessung fuer Click/Keyboard |
|
|
50
|
+
| `button-performance-measured` | Performance-Messpunkt nach Hydration, Update oder Interaktion |
|
|
51
|
+
|
|
52
|
+
## API
|
|
53
|
+
|
|
54
|
+
| Methode | Zweck |
|
|
55
|
+
|---------|-------|
|
|
56
|
+
| `setLoading(loading, options?)` | toggelt den Ladezustand programmatisch |
|
|
57
|
+
| `getPerformanceBudget()` | liefert die ms-Budgets des Performance-Profils |
|
|
58
|
+
| `getInteractionBudget()` | liefert Click-, Keyboard-, Busy- und Touch-Target-Budgets |
|
|
59
|
+
| `snapshotPerformance()` | liefert den aktuellen Snapshot `xtend.component.performance-snapshot.v1` |
|
|
60
|
+
|
|
61
|
+
## Performance-Profil
|
|
62
|
+
|
|
63
|
+
`x-button` besitzt das Runtime-Profil `xtend.performance.component-profile.v1` mit:
|
|
64
|
+
|
|
65
|
+
- `budgetClass`: `interactive-small`
|
|
66
|
+
- `lane`: `user-blocking`
|
|
67
|
+
- `hydrationPolicy`: `visible`
|
|
68
|
+
- `criticalMeasurements`: `xtend.component.hydrate`, `xtend.component.render`, `xtend.component.update`, `xtend.event.handler`, `xtend.interaction.click`, `xtend.interaction.keyboard`
|
|
69
|
+
- `budgetsMs`: `hydrate`, `renderUpdate`, `eventAction`, `keyboardAction`, `busyToggle`, `stateSync`
|
|
70
|
+
|
|
71
|
+
Damit kann der Button von Fabric, Regression-Gates und spaeteren RMT Shells als kleine, user-blocking Interaktion geplant werden.
|
|
72
|
+
|
|
73
|
+
## RMT und Fabric
|
|
74
|
+
|
|
75
|
+
Die Komponente deklariert `xtendRmtMetadata` mit `adapter: 'xtend.component'`, `templateMode: 'dom_descriptor'`, `eventBindingMode: 'dom-event-to-rmt-command'` und der Boundary `no-rmt-kernel-import-of-xtend-types`. RMT kann den Button damit authoren und schedulen, ohne XTend-Typen in den Kernel zu importieren.
|
|
76
|
+
|
|
77
|
+
Fabric konsumiert:
|
|
78
|
+
|
|
79
|
+
- `button-interaction`
|
|
80
|
+
- `button-performance-measured`
|
|
81
|
+
- `snapshotPerformance()`
|
|
82
|
+
- State-Key `xbutton-state-<id>`
|
|
83
|
+
|
|
84
|
+
## Styling & Theming
|
|
85
|
+
|
|
86
|
+
```css
|
|
87
|
+
x-button {
|
|
88
|
+
--primary-color: #007bff;
|
|
89
|
+
--focus-color: #80bfff;
|
|
90
|
+
--xtend-button-min-touch-target: 44px;
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Der Button respektiert `prefers-reduced-motion` und `forced-colors`. In Forced-Colors-Modus werden Systemfarben, sichtbarer Fokus und ein textuelles Busy-Signal genutzt.
|
|
95
|
+
|
|
96
|
+
## Accessibility
|
|
97
|
+
|
|
98
|
+
- nativer Button im Shadow DOM mit `role="button"`
|
|
99
|
+
- sichtbarer `:focus-visible` Zustand
|
|
100
|
+
- `aria-disabled` und `aria-busy`
|
|
101
|
+
- dekorative Icons mit leerem `alt`
|
|
102
|
+
- minimale Touch-Zielflaeche ueber Token
|
|
103
|
+
- Keyboard-Aktivierung ueber native Button-Semantik plus Messpunkt fuer `Enter` und `Space`
|