@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,67 @@
|
|
|
1
|
+
# Motion und Contrast
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.docs.motion-contrast.v1`
|
|
4
|
+
- Runtime-/Gate-Contract: `xtend.a11y.motion-contrast-policy.v1`
|
|
5
|
+
- Motion Contract: `xtend.a11y.motion-policy.v1`
|
|
6
|
+
- Contrast Contract: `xtend.a11y.contrast-policy.v1`
|
|
7
|
+
- Gate: `node scripts/run_xtend_tests.js motion-contrast --json`
|
|
8
|
+
|
|
9
|
+
## Zweck
|
|
10
|
+
|
|
11
|
+
Motion und Contrast sind in XTend Bestandteil von A11y-by-design. Komponenten muessen reduzierte Bewegung, erzwungene Kontrastmodi, sichtbaren Fokus und Nicht-Farbstatus respektieren, ohne dass XTendRMT oder ein Host-Framework konkrete CSS-Details kennen muss.
|
|
12
|
+
|
|
13
|
+
## Pflichtregeln
|
|
14
|
+
|
|
15
|
+
| Bereich | Umsetzung |
|
|
16
|
+
|---------|-----------|
|
|
17
|
+
| Reduced Motion | `@media (prefers-reduced-motion: reduce)` deaktiviert nicht essentielle Animationen und Transitions |
|
|
18
|
+
| High Contrast | `@media (forced-colors: active)` nutzt Systemfarben wie `CanvasText`, `ButtonText`, `Highlight`, `Mark` |
|
|
19
|
+
| Fokus | `:focus-visible` bleibt sichtbar und verwendet im Forced-Colors-Pfad `Highlight` |
|
|
20
|
+
| Status | Error, Warning, Busy und Active haben eine nicht nur farbliche Semantik |
|
|
21
|
+
| Tokens | Theme Tokens duerfen Forced-Colors nicht ueberschreiben, wenn Systemfarben gebraucht werden |
|
|
22
|
+
|
|
23
|
+
## Component Contract
|
|
24
|
+
|
|
25
|
+
Relevante Komponenten deklarieren statisch:
|
|
26
|
+
|
|
27
|
+
```js
|
|
28
|
+
static get xtendMotionContrastPolicy() {
|
|
29
|
+
return {
|
|
30
|
+
schema: 'xtend.a11y.motion-contrast-policy.v1',
|
|
31
|
+
componentRef: 'x-component',
|
|
32
|
+
motion: {
|
|
33
|
+
schema: 'xtend.a11y.motion-policy.v1',
|
|
34
|
+
mediaQuery: '(prefers-reduced-motion: reduce)',
|
|
35
|
+
noMotionOnlyState: true
|
|
36
|
+
},
|
|
37
|
+
contrast: {
|
|
38
|
+
schema: 'xtend.a11y.contrast-policy.v1',
|
|
39
|
+
mediaQuery: '(forced-colors: active)',
|
|
40
|
+
focusVisible: 'required',
|
|
41
|
+
nonColorStatus: 'required'
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Scaffold
|
|
48
|
+
|
|
49
|
+
Neue Scaffold-Komponenten erhalten:
|
|
50
|
+
|
|
51
|
+
- `motionContrast.policy` im A11y-Profil
|
|
52
|
+
- Manifest-Key `motionContrastPolicy`
|
|
53
|
+
- Docs-Abschnitt `Motion-und-Contrast-Policy`
|
|
54
|
+
- Fixture-Felder `motionContrastPolicy`, `motionMediaQuery`, `contrastMediaQuery`
|
|
55
|
+
- TypeScript-Type `X<Component>MotionContrastPolicy`
|
|
56
|
+
|
|
57
|
+
## Fabric und RMT
|
|
58
|
+
|
|
59
|
+
Preference-Signale nutzen die Fabric-Lane `a11y`, Fiber `a11y.preference` und Schedule `a11y.user-blocking.preference`. RMT bleibt framework-agnostisch und bekommt nur host-neutrale Schedule-/Diagnostic-Signale, keine CSS-Ausfuehrung.
|
|
60
|
+
|
|
61
|
+
## Lokale Verifikation
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npm run test:motion-contrast
|
|
65
|
+
node scripts/run_xtend_tests.js motion-contrast --json
|
|
66
|
+
node scripts/run_xtend_tests.js references --json
|
|
67
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Package Export Lock
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.epic13.package-export-lock.v1`
|
|
4
|
+
- Report: `xtend.epic13.package-export-lock-report.v1`
|
|
5
|
+
- Surface: `xtend.epic13.package-export-surface.v1`
|
|
6
|
+
- Dry-Run Artifact: `xtend.epic13.package-dry-run-artifact.v1`
|
|
7
|
+
- Lokaler Gate: `node scripts/run_xtend_tests.js epic13-package-export-lock --json`
|
|
8
|
+
|
|
9
|
+
Der Package Export Lock macht den RC1-Paketinhalt pruefbar. Der lokale Gate validiert `package.json#exports`, `files`, die erwarteten Package Roots und die Surface Groups ohne `npm pack` auszufuehren.
|
|
10
|
+
|
|
11
|
+
## Surface Groups
|
|
12
|
+
|
|
13
|
+
| Gruppe | Zweck |
|
|
14
|
+
|--------|-------|
|
|
15
|
+
| Loader | `xtend-loader.js`, Legacy Stub, API, CSS und Manifest |
|
|
16
|
+
| Components | Manifest und Component-Dateien |
|
|
17
|
+
| Fabric | Fabric Runtime, RMT Lane Mapping und Hydration Policy |
|
|
18
|
+
| XTendRMT | ESM- und Browser-Runtime |
|
|
19
|
+
| Builder | Scaffold CLI, Preview, Typing und Performance Contracts |
|
|
20
|
+
| Docs | Docs-App, Markdown, Parsedown/RMT Shell und Referenzen |
|
|
21
|
+
| Security | Manifest, Trusted DOM und Supply-Chain Policies |
|
|
22
|
+
| Catalog | Gate-, Handoff- und Epic-Contracts |
|
|
23
|
+
|
|
24
|
+
## Release Owner Artifact
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm run pack:dry-run:report
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Das Script schreibt:
|
|
31
|
+
|
|
32
|
+
- `.xtend-test-results/xtend-pack-dry-run.json`
|
|
33
|
+
- `.xtend-test-results/xtend-package-export-surface-lock.json`
|
|
34
|
+
- `.xtend-test-results/xtend-package-export-lock-report.json`
|
|
35
|
+
|
|
36
|
+
`private-until-release-owner-acceptance` bleibt aktiv. Der Lock beweist nur, dass Paketinhalt und Export Surface kontrolliert sind; er oeffnet kein Publishing.
|
|
37
|
+
|
|
38
|
+
## TypeExports Anschluss
|
|
39
|
+
|
|
40
|
+
Ab `WP-TypeExports-01` nutzt [TypeExports](./type-exports.md) den Package Export Lock als Quelle fuer die Public Export Surface. Der Gate `node scripts/run_xtend_tests.js type-exports --json` koppelt die 115 erwarteten Exports ueber Count und Fingerprint an `xtend.epic13.package-export-lock.v1` und erzwingt fuer neue Public Exports eine Type-Entscheidung. Ab `WP-TypeExports-02` besitzen `.`, `./loader` und `./legacy-loader` die Type-Ziele `./xtend-loader.d.ts` und `./xtend-dev.d.ts`; `node scripts/run_xtend_tests.js type-exports-loader --json` prueft diesen Anschluss gegen die Loader-Runtime. Ab `WP-TypeExports-03` besitzt `./api` das Type-Ziel `./api.d.ts`; `node scripts/run_xtend_tests.js type-exports-api --json` prueft den Core-API-Namespace gegen `api.js`. Ab `WP-TypeExports-04` besitzen `./rmt`, `./rmt/browser` und die RMT-Language-/Tooling-Exports Type-Ziele wie `./xtendrmt/rmt-core.d.ts` und `./tools/rmt-language/rmt-tooling-public-types.d.ts`; `node scripts/run_xtend_tests.js type-exports-rmt --json` prueft diesen Anschluss gegen die RMT Runtime- und Tooling-Surface. Ab `WP-TypeExports-05` besitzen Fabric/A11y/Security Exports Type-Ziele wie `./fabric/xtend-fabric.d.ts` und `./fabric/xtend-policy-public-types.d.ts`; `node scripts/run_xtend_tests.js type-exports-policy --json` prueft diesen Anschluss gegen die Policy-Surface. Ab `WP-TypeExports-06` besitzen Builder-Exports Type-Ziele wie `./xtend-builder/scaffold.d.ts`, `./xtend-builder/builder-public-types.d.ts` und `./xtend-builder/*.d.ts`; `node scripts/run_xtend_tests.js type-exports-builder --json` prueft diesen Anschluss gegen Scaffold, Generatoren, Component Lab und Typing Contracts. Ab `WP-TypeExports-07` besitzen Catalog-Exports Type-Ziele wie `./catalog/epic13-package-export-lock.d.ts` und das gemeinsame `./catalog/catalog-public-types.d.ts`; `node scripts/run_xtend_tests.js type-exports-catalog --json` prueft diesen Anschluss gegen Plan-/Report-/Validation-Catalogs. Ab `WP-TypeExports-08` besitzen Design Tokens und Vendor-Facades Type-Ziele wie `./design-tokens/xtend-design-tokens.d.ts`, `./design-tokens/xtheme-token-alias-layer.d.ts`, `./components/prism.d.ts` und `./components/turndown.d.ts`; `node scripts/run_xtend_tests.js type-exports-vendor --json` prueft diesen Anschluss gegen die Utility-Grenzen. Ab `WP-TypeExports-09` buendelt `npm run test:type-exports:release` die TypeExports-Gates als Release-Handoff und schreibt `.xtend-test-results/xtend-type-exports-report.json`.
|
|
41
|
+
|
|
42
|
+
## Handoff
|
|
43
|
+
|
|
44
|
+
Nach `WP-E13-04` hat `WP-E13-05` die Known Residual Triage unter [Known Residual Triage](./known-residual-triage.md) mit `xtend.epic13.known-residual-triage.v1` abgeschlossen. `WP-E13-06` hat die [Hydration Performance Closure](./hydration-performance-closure.md) mit `xtend.epic13.hydration-performance-closure.v1` abgeschlossen. `WP-E13-07` hat die [PROD Browser CSP Smokes](./prod-browser-csp-smokes.md) vorbereitet, `WP-E13-08` hat [Visual Owner Artifacts](./visual-owner-artifacts.md) normalisiert, `WP-E13-09` hat [RMT Production Readiness](./rmt-production-readiness.md) gebuendelt, `WP-E13-10` hat [Docs RMT Production Hardening](./docs-rmt-production-hardening.md) abgeschlossen, `WP-E13-11` hat [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md) abgeschlossen, `WP-E13-12` hat [RC1 Migration Notes](./rc1-migration-notes.md) abgeschlossen, `WP-E13-13` hat [RC1 Gate Matrix und CI-Handoff](./rc1-gate-matrix-ci-handoff.md) registriert, `DPF-WP-02` hat [Release Report und Pack Dry Run Evidence](./release-report-pack-dry-run-evidence.md) nachgezogen und `DPF-WP-03` hat [Conditional Network Evidence CI](./conditional-network-evidence-ci.md) nachgezogen. Der aktuelle Export Lock erwartet 115 Package-Exports inklusive `./design-tokens/xtheme-token-alias-layer`, `./catalog/epic13-rc1-migration-notes`, `./catalog/epic13-rc1-gate-matrix-ci-handoff`, `./catalog/epic13-release-report-pack-dry-run-evidence`, `./catalog/epic13-conditional-network-evidence-ci`, `./rmt-language/kernel-trust-authority`, `./rmt-language/kernel-security-regression`, `./catalog/epic14-rmt-tooling`, `./catalog/epic14-lsp-handoff` sowie der klassischen und vNext RMT-Tooling-Surface.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Performance Measurements
|
|
2
|
+
|
|
3
|
+
XTend misst ab `ER-WP-18` Loader-, Hydration-, Render- und Route-Kernpfade lokal.
|
|
4
|
+
|
|
5
|
+
Der stabile Measurement Contract lautet:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
xtend.performance.measurement.v1
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Messpunkte
|
|
12
|
+
|
|
13
|
+
| Measure | Phase | Quelle |
|
|
14
|
+
|---------|-------|--------|
|
|
15
|
+
| `xtend.loader.manifest` | `load` | `xtend-loader.js` |
|
|
16
|
+
| `xtend.loader.module` | `load` | `xtend-loader.js`, Fabric Fibers |
|
|
17
|
+
| `xtend.component.define` | `define` | `xtend-loader.js` |
|
|
18
|
+
| `xtend.component.mount` | `mount` | Fabric Fibers |
|
|
19
|
+
| `xtend.component.hydrate` | `hydrate` | Fabric Fibers |
|
|
20
|
+
| `xtend.component.render` | `render` | Fabric Fibers |
|
|
21
|
+
| `xtend.component.update` | `update` | Fabric Fibers |
|
|
22
|
+
| `xtend.event.handler` | `event` | Fabric Fibers |
|
|
23
|
+
| `xtend.route.navigate` | `route` | Fabric Fibers |
|
|
24
|
+
| `xtend.route.render` | `route` | Fabric Fibers |
|
|
25
|
+
| `xtend.diagnostics.snapshot` | `diagnostics` | Fabric Fibers |
|
|
26
|
+
|
|
27
|
+
## Loader
|
|
28
|
+
|
|
29
|
+
Der Loader setzt `performance.mark` und `performance.measure` fuer:
|
|
30
|
+
|
|
31
|
+
- Manifest laden und aufloesen
|
|
32
|
+
- ESM-Modul laden
|
|
33
|
+
- Custom Element Definition abwarten
|
|
34
|
+
|
|
35
|
+
Zusätzlich emittiert er ein lokales Browser-Event:
|
|
36
|
+
|
|
37
|
+
```js
|
|
38
|
+
window.addEventListener('xtend-loader-performance', (event) => {
|
|
39
|
+
console.log(event.detail.name, event.detail.durationMs);
|
|
40
|
+
});
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Die automatische Boot-Promise enthaelt die Loader-Messwerte:
|
|
44
|
+
|
|
45
|
+
```js
|
|
46
|
+
const boot = await window.__XTendLoaderBootPromise;
|
|
47
|
+
console.log(boot.performanceMeasurements);
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Fabric
|
|
51
|
+
|
|
52
|
+
Fabric misst bekannte Fibers automatisch:
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
const fabric = window.XTendFabric.createXtendFabric({
|
|
56
|
+
performance: window.performance
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
const component = fabric.createComponentFiberInstrumentation('x-alert');
|
|
60
|
+
await component.hydrate(() => hydrateAlert());
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Die Messung kann fuer Spezialtests deaktiviert werden:
|
|
64
|
+
|
|
65
|
+
```js
|
|
66
|
+
const fabric = window.XTendFabric.createXtendFabric({
|
|
67
|
+
markPerformance: false
|
|
68
|
+
});
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Telemetry Snapshot
|
|
72
|
+
|
|
73
|
+
`createTelemetrySnapshot()` liest `mark` und `measure` Eintraege mit Prefix `xtend.` und normalisiert sie:
|
|
74
|
+
|
|
75
|
+
```js
|
|
76
|
+
const snapshot = fabric.createTelemetrySnapshot({
|
|
77
|
+
performance: window.performance
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
console.log(snapshot.performance.measurements);
|
|
81
|
+
console.log(snapshot.performance.phaseSummary.hydrate);
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Die Snapshot-Sektion enthaelt:
|
|
85
|
+
|
|
86
|
+
- `measurementSchema`
|
|
87
|
+
- `measurementCount`
|
|
88
|
+
- `measurements`
|
|
89
|
+
- `phaseSummary`
|
|
90
|
+
- `entries`
|
|
91
|
+
- `totalDurationMs`
|
|
92
|
+
- `maxDurationMs`
|
|
93
|
+
|
|
94
|
+
## Gates
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
node scripts/run_xtend_tests.js fabric-performance-measurements --json
|
|
98
|
+
npm run test:fabric-performance
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Seit `ER-WP-19` nutzt [Performance Regression](./performance-regression.md) dieselben Measurements fuer lokale deterministische Baselines:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
node scripts/run_xtend_tests.js performance-regression --json
|
|
105
|
+
npm run test:performance
|
|
106
|
+
```
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Performance Regression
|
|
2
|
+
|
|
3
|
+
- Docs Contract: `xtend.docs.performance-regression.v1`
|
|
4
|
+
- Gate Contract: `xtend.performance.regression-gate.v1`
|
|
5
|
+
- Baseline Contract: `xtend.performance.regression-baseline.v1`
|
|
6
|
+
- Report Schema: `xtend.performance.regression-report.v1`
|
|
7
|
+
- Seit: `ER-WP-19`
|
|
8
|
+
|
|
9
|
+
XTend misst Loader-, Hydration-, Render- und Route-Arbeit bereits als `xtend.performance.measurement.v1`. Das Performance Regression Gate wertet diese Measurements gegen lokale Baselines aus.
|
|
10
|
+
|
|
11
|
+
## Lokaler Gate
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
node scripts/run_xtend_tests.js performance-regression
|
|
15
|
+
npm run test:performance
|
|
16
|
+
node scripts/run_xtend_tests.js performance-regression --json
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Die Suite nutzt:
|
|
20
|
+
|
|
21
|
+
- `tests/performance/performance_regression_suite.js`
|
|
22
|
+
- `tests/performance/baselines/local-performance-baseline.json`
|
|
23
|
+
- Fabric `createTelemetrySnapshot`
|
|
24
|
+
- Budgetwerte aus `fabric/xtend-fabric.js` und `development/XTend-Performance-Budget-Matrix.md`
|
|
25
|
+
|
|
26
|
+
## Statusmodell
|
|
27
|
+
|
|
28
|
+
| Status | Bedingung | Wirkung |
|
|
29
|
+
|--------|-----------|---------|
|
|
30
|
+
| `pass` | `durationMs <= budgetMs` | keine Aktion |
|
|
31
|
+
| `warn` | `durationMs <= budgetMs * 1.5` | sichtbar im Report |
|
|
32
|
+
| `fail` | `durationMs > budgetMs * 1.5` | Suite schlaegt fehl |
|
|
33
|
+
|
|
34
|
+
Warnungen sind Kalibrierungssignale. Harte `fail`-Eintraege sind Regressionen und erscheinen im Runner-Report unter `failures`. Seit `WP-E13-06` muss die lokale RC1-Baseline `warnCount === 0` melden; die fruehere Hydration-Warnung ist ueber [Hydration Performance Closure](./hydration-performance-closure.md) owner-frei geschlossen.
|
|
35
|
+
|
|
36
|
+
## Baseline
|
|
37
|
+
|
|
38
|
+
Die erste Baseline ist bewusst deterministisch und lokal:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
tests/performance/baselines/local-performance-baseline.json
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Sie deckt mindestens diese Messpunkte ab:
|
|
45
|
+
|
|
46
|
+
- `xtend.loader.manifest`
|
|
47
|
+
- `xtend.loader.module`
|
|
48
|
+
- `xtend.component.define`
|
|
49
|
+
- `xtend.component.mount`
|
|
50
|
+
- `xtend.component.hydrate`
|
|
51
|
+
- `xtend.component.render`
|
|
52
|
+
- `xtend.component.update`
|
|
53
|
+
- `xtend.event.handler`
|
|
54
|
+
- `xtend.route.navigate`
|
|
55
|
+
- `xtend.route.render`
|
|
56
|
+
- `xtend.diagnostics.snapshot`
|
|
57
|
+
|
|
58
|
+
## JSON-Report
|
|
59
|
+
|
|
60
|
+
Der eingebettete Regression-Report nutzt:
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
xtend.performance.regression-report.v1
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Wichtige Felder:
|
|
67
|
+
|
|
68
|
+
- `measurementSchema`
|
|
69
|
+
- `measurementCount`
|
|
70
|
+
- `passCount`
|
|
71
|
+
- `warnCount`
|
|
72
|
+
- `failCount`
|
|
73
|
+
- `warnings`
|
|
74
|
+
- `failures`
|
|
75
|
+
- `phaseSummary`
|
|
76
|
+
|
|
77
|
+
`phaseSummary` macht sichtbar, welche Phase Budgetdruck erzeugt, ohne dass jede Komponente einen eigenen Browser-Test braucht.
|
|
78
|
+
|
|
79
|
+
## Beziehung zu Measurements
|
|
80
|
+
|
|
81
|
+
Das Regression Gate baut auf [Performance Measurements](./performance-measurements.md) auf. Es fuehrt keine zweite Messlogik ein, sondern nimmt Fabric Telemetry Snapshots als Quelle.
|
|
82
|
+
|
|
83
|
+
## RC1 Closure
|
|
84
|
+
|
|
85
|
+
`WP-E13-06` hat `xtend.component.hydrate` von `36ms / 32ms` auf `31ms / 32ms` kalibriert, ohne das Budget anzuheben. Die Failure-Fixture bleibt aktiv und belegt weiterhin, dass echte Budgetverletzungen hart fehlschlagen.
|
|
86
|
+
|
|
87
|
+
## Handoff
|
|
88
|
+
|
|
89
|
+
`ER-WP-20` nutzt diese Reports fuer Lazy/Idle/Visible Hydration Policies. `ER-WP-21` hat daraus die praktischen Regeln fuer Komponentenautoren in [Performance fuer Komponentenautoren](./performance.md) abgeleitet.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Performance fuer Komponentenautoren
|
|
2
|
+
|
|
3
|
+
- Docs Contract: `xtend.docs.performance-authoring.v1`
|
|
4
|
+
- Scaffold Policy: `xtend.scaffold.performance-policy.v1`
|
|
5
|
+
- Component Profile Contract: `xtend.performance.component-profile.v1`
|
|
6
|
+
- Budget Matrix: `xtend.performance.budget-matrix.v1`
|
|
7
|
+
- Measurement Contract: `xtend.performance.measurement.v1`
|
|
8
|
+
- Regression Gate: `xtend.performance.regression-gate.v1`
|
|
9
|
+
- Hydration Policy: `xtend.fabric.hydration-policy.v1`
|
|
10
|
+
- Seit: `ER-WP-21`
|
|
11
|
+
|
|
12
|
+
Dieses Dokument uebersetzt die Performance-Budget-Matrix in konkrete Autorenregeln. Neue Komponenten sollen nicht erst nachtraeglich optimiert werden, sondern ihr Performance-Profil bereits im Scaffold, in der Component-Doku, in Fabric Measurements und im lokalen Regression Gate sichtbar machen.
|
|
13
|
+
|
|
14
|
+
## Performance-Profil
|
|
15
|
+
|
|
16
|
+
Jede neue Scaffold-Komponente erhaelt `xtendScaffoldPerformanceProfile` im Source, `performanceProfile` im Manifest-Patch-Plan und die Docs-Abschnitte `Performance-Profil` sowie `Performance-Regeln`. Diese Artefakte referenzieren dieselbe Policy `xtend.scaffold.performance-policy.v1`.
|
|
17
|
+
|
|
18
|
+
| Profil | Lane | Budgetklasse | Hydration | Kritische Phasen |
|
|
19
|
+
|--------|------|--------------|-----------|------------------|
|
|
20
|
+
| `display` | `visible` | `interactive` | `visible` | load, mount, hydrate, render, update |
|
|
21
|
+
| `interactive` | `user-blocking` | `critical` | `visible` | hydrate, render, update, event |
|
|
22
|
+
| `overlay` | `user-blocking` | `critical` | `visible` | mount, hydrate, render, event |
|
|
23
|
+
| `routing` | `transition` | `interactive` | `visible` | route navigate, route render, hydrate, event |
|
|
24
|
+
| `form` | `user-blocking` | `critical` | `visible` | hydrate, update, event |
|
|
25
|
+
| `media` | `visible` | `interactive` | `visible-or-idle` | mount, hydrate, render, event |
|
|
26
|
+
| `stateful` | `user-blocking` | `critical` | `visible` | update, event, state sync |
|
|
27
|
+
| `feedback` | `a11y` | `critical` | `visible` | render, update, event, announcement |
|
|
28
|
+
| `theme` | `visible` | `interactive` | `visible` | render, update, theme apply |
|
|
29
|
+
|
|
30
|
+
Komponenten mit mehreren Profilen verwenden die strengste Budgetklasse und die hoechstpriorisierte Lane. `feedback` darf eine eigene `a11y` Fiber nutzen; `media` darf nicht sichtbare Arbeit auf `idle` verschieben.
|
|
31
|
+
|
|
32
|
+
## DOM-Regeln
|
|
33
|
+
|
|
34
|
+
- DOM-Suchen muessen auf `this.shadowRoot`, den Host oder einen bekannten Container begrenzt sein.
|
|
35
|
+
- `document.querySelectorAll` und globale DOM-Loops brauchen eine begruendete Ausnahme und ein Budget.
|
|
36
|
+
- Statische Referenzen duerfen gecacht werden; dynamische Node-Listen duerfen nicht unkontrolliert wachsen.
|
|
37
|
+
- Wiederholte Voll-Renderings sind nur fuer kleine, statische Komponenten akzeptabel. Groessere Komponenten muessen gezielt updaten.
|
|
38
|
+
- `MutationObserver`, `ResizeObserver`, Timer und Subscriptions muessen in `disconnectedCallback` bereinigt werden.
|
|
39
|
+
|
|
40
|
+
## Event-Regeln
|
|
41
|
+
|
|
42
|
+
- `interactive`, `overlay` und `form` behandeln User Events als `critical`; der synchrone Handler-Zielwert ist 16 ms.
|
|
43
|
+
- Handler duerfen keine synchronen Netzwerk-, Storage- oder grossen DOM-Scan-Arbeiten ausfuehren.
|
|
44
|
+
- High-frequency Events wie `input`, `scroll`, `pointermove` und `resize` muessen gedrosselt, zusammengefasst oder auf `requestAnimationFrame` gelegt werden.
|
|
45
|
+
- Event-Daten sollen in kanonischen State oder lokale Render-Caches ueberfuehrt werden; abgeleitete DOM-Arbeit erfolgt danach gebuendelt.
|
|
46
|
+
|
|
47
|
+
## Shadow DOM
|
|
48
|
+
|
|
49
|
+
- Styles sollten statisch bleiben. Wiederholtes Einfuegen identischer `<style>` Bloecke im Update-Pfad ist ein Review-Signal.
|
|
50
|
+
- Wo moeglich werden CSS Custom Properties und Parts genutzt, damit Theme-Arbeit nicht ueber JS-Layout-Loops laeuft.
|
|
51
|
+
- `slotchange` muss budgetiert sein und darf keine unbeschraenkten DOM-Scans ausloesen.
|
|
52
|
+
- Shadow-DOM-Updates sollen kleine Teilbaeume austauschen, statt bei jeder State-Aenderung die gesamte Oberflaeche neu zu schreiben.
|
|
53
|
+
|
|
54
|
+
## Layout und Animation
|
|
55
|
+
|
|
56
|
+
- Layout-Reads passieren vor Layout-Writes. Gemischte Read/Write-Schleifen in derselben Sync-Phase sind verboten.
|
|
57
|
+
- Animationen sollen `transform` und `opacity` bevorzugen und `prefers-reduced-motion` respektieren.
|
|
58
|
+
- Messbare sichtbare Arbeit muss mit `componentRef`, `fiberId`, `lane`, `phase` und `durationMs` korrelierbar sein.
|
|
59
|
+
- Nicht sichtbare Arbeit nutzt `idle`, `background` oder `diagnostics`; sie darf keine `user-blocking` Lane beanspruchen.
|
|
60
|
+
|
|
61
|
+
## Hydration
|
|
62
|
+
|
|
63
|
+
`visible` ist der Default fuer sichtbare UI. `idle` ist fuer nicht sofort benoetigte, aber bald erwartete Arbeit geeignet. `lazy` ist fuer Arbeit reserviert, die erst bei Bedarf oder Sichtbarkeit aktiviert wird. Nicht sichtbare Hydration darf nicht als `user-blocking` geplant werden.
|
|
64
|
+
|
|
65
|
+
Die operative Policy steht in [Hydration Policies](./hydration-policies.md). Die Messpunkte und Gate-Auswertung stehen in [Performance Measurements](./performance-measurements.md) und [Performance Regression](./performance-regression.md).
|
|
66
|
+
|
|
67
|
+
## Scaffold-Pflicht
|
|
68
|
+
|
|
69
|
+
Neue Scaffold-Ausgaben muessen diese Daten sichtbar machen:
|
|
70
|
+
|
|
71
|
+
- `performanceProfile`
|
|
72
|
+
- `budgetClass`
|
|
73
|
+
- `lane`
|
|
74
|
+
- `hydrationPolicy`
|
|
75
|
+
- `criticalMeasurements`
|
|
76
|
+
- `idleOrBackgroundAllowed`
|
|
77
|
+
- `requiresA11yFiber`
|
|
78
|
+
|
|
79
|
+
Die Policy ist in `xtend-builder/scaffold.config.js` unter `performance` hinterlegt. Der Generator spiegelt sie in `xtend-builder/performance/component-performance-profile.js`, den Component-Templates und dem Manifest-Patch-Plan.
|
|
80
|
+
|
|
81
|
+
## Gates
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
node scripts/run_xtend_tests.js fabric-performance-measurements --json
|
|
85
|
+
node scripts/run_xtend_tests.js performance-regression --json
|
|
86
|
+
node scripts/run_xtend_tests.js hydration-policy --json
|
|
87
|
+
node scripts/run_xtend_tests.js references --json
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
`performance-regression` darf lokale Warnungen erzeugen, wenn ein deterministischer Fixture-Pfad sein Budget ueberschreitet. Harte Failures bleiben fuer priorisierte Kernpfade und dokumentierte Budgetverletzungen reserviert.
|
|
91
|
+
|
|
92
|
+
## Handoff
|
|
93
|
+
|
|
94
|
+
`ER-WP-25` ist abgeschlossen und verbindet Screenreader-Signale mit Performance-Fibers und der `a11y` Lane. `ER-WP-26` ist ebenfalls abgeschlossen: Reduced-Motion- und High-Contrast-Regeln nutzen dieselbe Profil-, Lane- und Gate-Sprache ueber `xtend.a11y.motion-contrast-policy.v1`.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# XTend Scaffold Previews
|
|
2
|
+
|
|
3
|
+
- Status: scaffold preview convention
|
|
4
|
+
- Reference gate: `node scripts/run_xtend_tests.js references`
|
|
5
|
+
- Generator: `node xtend-builder/scaffold.js preview --tag x-example --profile display --feature state --json`
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
This directory is reserved for scaffolded component preview plans. A preview plan is a local Markdown reference that connects generated component source, docs, fixture, types and manifest patch output to the documentation and demo reference registry.
|
|
10
|
+
|
|
11
|
+
## Minimum Contract
|
|
12
|
+
|
|
13
|
+
- Preview paths follow `docs/previews/<name>.preview.md`.
|
|
14
|
+
- Preview plans must be listed in `development/XTend-Dokumentations-und-Demo-Referenzpfade.md` before they become automated references.
|
|
15
|
+
- Preview plans must use repo-local component, fixture and manifest paths.
|
|
16
|
+
- External network dependencies are not allowed for automated scaffold previews.
|
|
17
|
+
- Productive preview writes remain review-first until a later package introduces a write mode.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# PROD Browser CSP Smokes
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.epic13.prod-browser-csp-smoke.v1`
|
|
4
|
+
- Fixture Contract: `xtend.epic13.prod-browser-csp-smoke-fixture.v1`
|
|
5
|
+
- Report: `xtend.epic13.prod-browser-csp-smoke-report.v1`
|
|
6
|
+
- Workpackage: `WP-E13-07`
|
|
7
|
+
- Lokaler Gate: `node scripts/run_xtend_tests.js epic13-prod-browser-csp-smoke --json`
|
|
8
|
+
- Dev Server: `npm run dev:local:csp`
|
|
9
|
+
- Fixture: `tests/browser/fixtures/epic13-prod-csp-smoke.html`
|
|
10
|
+
- Publish Boundary: `private-until-release-owner-acceptance`
|
|
11
|
+
|
|
12
|
+
## Zweck
|
|
13
|
+
|
|
14
|
+
Der PROD Browser CSP Smoke prueft den XTend-Loader unter einer PROD-aehnlichen Content Security Policy, ohne externe Netzwerke oder CDN-Fallbacks zu nutzen.
|
|
15
|
+
|
|
16
|
+
Die Fixture nutzt:
|
|
17
|
+
|
|
18
|
+
- eine `nonce` fuer alle Inline- und Loader-Skripte
|
|
19
|
+
- ein same-origin Manifest unter `/tests/browser/fixtures/components/manifest.json`
|
|
20
|
+
- den root-lokalen Loader `/xtend-loader.js`
|
|
21
|
+
- keine `importmap`
|
|
22
|
+
- keine `https://cdn.ccs-networks.de/xtend` Referenz
|
|
23
|
+
- XState und XRouter als minimale Hydration-Linie
|
|
24
|
+
|
|
25
|
+
## Lokale Nutzung
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm run test:epic13-prod-browser-csp-smoke
|
|
29
|
+
npm run dev:local:csp
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Der lokale Server setzt zusaetzlich zum CSP Meta der Fixture einen `content-security-policy` Header. Damit kann die HTML-Datei sowohl statisch als auch servernah geprueft werden.
|
|
33
|
+
|
|
34
|
+
## Grenzen
|
|
35
|
+
|
|
36
|
+
Dieser Smoke ist eine PROD-nahe Boot- und Policy-Vorbereitung. Die Trusted-DOM-Pruefung fuer Parsedown, RMT HTML-Fragmente und untrusted Content liegt seit `WP-E13-11` unter [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md) und `xtend.epic13.trusted-dom-boundary.v1`.
|
|
37
|
+
|
|
38
|
+
## Handoff
|
|
39
|
+
|
|
40
|
+
`WP-E13-07` ist abgeschlossen. `WP-E13-08` hat [Visual Owner Artifacts](./visual-owner-artifacts.md) normalisiert. `WP-E13-09` ist ready und buendelt als naechstes die RMT-first App Production Readiness.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Public Component Types
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.docs.public-component-types.v1`
|
|
4
|
+
- Type Contract: `xtend.enterprise.er-wp-34.public-component-types.v1`
|
|
5
|
+
- Workpackage: `ER-WP-34`
|
|
6
|
+
|
|
7
|
+
XTend liefert fuer priorisierte Public Components lokale TypeScript-Declaration-Artefakte neben der jeweiligen Runtime-Source aus. Die Dateien liegen direkt in `components/*.d.ts` und werden ueber den Package-Export `xtend/components/*` erreichbar.
|
|
8
|
+
|
|
9
|
+
## Lokaler Contract
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
components/xtend-public-types.d.ts
|
|
13
|
+
components/xalert.d.ts
|
|
14
|
+
components/xtoast.d.ts
|
|
15
|
+
components/xmodal.d.ts
|
|
16
|
+
components/xrouter.d.ts
|
|
17
|
+
components/xlink.d.ts
|
|
18
|
+
components/xinput.d.ts
|
|
19
|
+
components/xselect.d.ts
|
|
20
|
+
components/xcheckbox.d.ts
|
|
21
|
+
components/xradio.d.ts
|
|
22
|
+
components/xtextarea.d.ts
|
|
23
|
+
components/xstatus.d.ts
|
|
24
|
+
components/xprogress.d.ts
|
|
25
|
+
components/xtooltip.d.ts
|
|
26
|
+
components/xpopover.d.ts
|
|
27
|
+
components/xdrawer.d.ts
|
|
28
|
+
components/xform.d.ts
|
|
29
|
+
components/xtabs.d.ts
|
|
30
|
+
components/xdialog.d.ts
|
|
31
|
+
components/xlightbox.d.ts
|
|
32
|
+
components/xcalendar.d.ts
|
|
33
|
+
components/xwriter.d.ts
|
|
34
|
+
components/xtheme.d.ts
|
|
35
|
+
components/xbutton.d.ts
|
|
36
|
+
components/xspinner.d.ts
|
|
37
|
+
components/xmenu.d.ts
|
|
38
|
+
components/xsummary.d.ts
|
|
39
|
+
components/xplayer.d.ts
|
|
40
|
+
components/xsection.d.ts
|
|
41
|
+
components/xcards.d.ts
|
|
42
|
+
components/xheader.d.ts
|
|
43
|
+
components/xfooter.d.ts
|
|
44
|
+
components/xhero.d.ts
|
|
45
|
+
components/xtype.d.ts
|
|
46
|
+
components/xcode.d.ts
|
|
47
|
+
components/xmasonry.d.ts
|
|
48
|
+
components/xstate.d.ts
|
|
49
|
+
components/xutils.d.ts
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Jede Komponenten-Datei beschreibt:
|
|
53
|
+
|
|
54
|
+
- Public Attribute-Namen
|
|
55
|
+
- Public Property- und Methodenflaechen
|
|
56
|
+
- Eventnamen
|
|
57
|
+
- `CustomEvent` Detail-Payloads
|
|
58
|
+
- `HTMLElementTagNameMap` fuer Custom Elements
|
|
59
|
+
- typed `addEventListener` Overloads fuer komponentenspezifische Events
|
|
60
|
+
|
|
61
|
+
`x-theme` ist kein Custom Element, sondern ein Core-Modul. Seine Typen beschreiben deshalb `window.XTend.theme`, `window.XTheme`, A11y-Preference-Snapshots, Motion-/Contrast-Policy, Density, Theme Context, Performance Snapshot, RMT Metadata und die Document-Events `theme-initialized`, `theme-changed`, `theme-variable-changed`, `theme-preference-changed`, `theme-a11y-announcement`, `theme-density-changed`, `theme-context-changed` und `theme-performance-measured`.
|
|
62
|
+
|
|
63
|
+
## Gate
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
node scripts/run_xtend_tests.js components
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Die Component-Suite enthaelt ab `ER-WP-34` den Sub-Gate `component-public-types`. Nach `RC1TB-WP-03` prueft er die Shared-Type-Helfer, alle 42 priorisierten `.d.ts` Dateien, Eventnamen, Detail-Typen, API-Methoden und Element-/Window-Mappings.
|
|
70
|
+
|
|
71
|
+
Ab `WP-TypeExports-09` ist der Component-Wildcard-Export auch im produktiven TypeExports-Handoff abgedeckt. `./components/*` bleibt eine adjacent-Declaration-Grenze: Consumer bekommen `components/*.d.ts` ueber die nebenliegenden Dateien, waehrend `node scripts/run_xtend_tests.js type-exports --json` verhindert, dass neue Public Component Exports ohne Type-Entscheidung in die Package Surface geraten.
|
|
72
|
+
|
|
73
|
+
## Coverage-Status
|
|
74
|
+
|
|
75
|
+
Nach `RC1TB-WP-03` stehen `types` in der Component Catalog Coverage Matrix bei `42/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-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` sind die aktuelle `enterprise-ready` Referenzlinie mit Public Types, Component-Suite, Fixture, A11y und Performance-Profil. `xstate` besitzt Public Types fuer Boundary Contract, RMT State Adapter, Lifecycle Events und Diagnostics. `x-utils` besitzt Public Types fuer Utility Contract, Import Policy, Boundary Snapshot, UI Effects, Template API sowie die Events `xutils:import-policy-check` und `xutils:ui-effects-change`.
|
|
76
|
+
|
|
77
|
+
Es gibt nach `WP-E12-09` keinen verbleibenden Type-Gap. Seit `WP-E13-05` sind auch die frueheren Boundary-Residuals geschlossen: `xstate` ist `closed-as-runtime-boundary`, `x-utils` ist `closed-as-utility-boundary`. Beide bleiben Public-Type-Boundaries, aber keine offenen Type- oder Performance-Aufgaben.
|
|
78
|
+
|
|
79
|
+
Die frueheren Vendor-Grenzen `components/prism.js` und `components/turndown.js` besitzen ab `WP-TypeExports-08` schmale Facade-Declarations. Sie sind keine Public XTend UI Komponenten, werden aber vom TypeExports-Release-Gate gegen unbeabsichtigten Declaration Drift mitgeprueft.
|