@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,124 @@
|
|
|
1
|
+
# xmasonry – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xcards](./xcards.md), [xsection](./xsection.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-masonry>` ist ein flexibles Grid-Layout für kachelartige Anordnungen (Masonry-Layout). Es eignet sich für Galerien, Cards und dynamische Inhalte.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Masonry-Layout (Pinterest-Style)
|
|
13
|
+
- Responsive Design
|
|
14
|
+
- Theming via CSS Custom Properties
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Verwendung
|
|
19
|
+
|
|
20
|
+
```html
|
|
21
|
+
<x-masonry>
|
|
22
|
+
<div>Item 1</div>
|
|
23
|
+
<div>Item 2</div>
|
|
24
|
+
</x-masonry>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Attribute
|
|
30
|
+
| Attribut | Typ | Beschreibung |
|
|
31
|
+
|-------------|---------|-------------------------------------|
|
|
32
|
+
| `columns` | Number | Anzahl der Spalten (default: 3) |
|
|
33
|
+
| `gap` | String | Abstand zwischen Items (default: 1rem) |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Events
|
|
38
|
+
| Event | Beschreibung |
|
|
39
|
+
|---------------|-------------------------------------|
|
|
40
|
+
| – | – |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## API
|
|
45
|
+
- **Spalten dynamisch setzen:** `element.setAttribute('columns', 4)`
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Beispiel: Dynamisch per JS
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
const masonry = document.createElement('x-masonry');
|
|
53
|
+
masonry.setAttribute('columns', 4);
|
|
54
|
+
document.body.appendChild(masonry);
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Styling & Theming
|
|
60
|
+
|
|
61
|
+
```css
|
|
62
|
+
x-masonry {
|
|
63
|
+
--masonry-gap: 2rem;
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Accessibility
|
|
70
|
+
- Semantisches HTML
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
75
|
+
|
|
76
|
+
## Layout Display Media UX Profil
|
|
77
|
+
|
|
78
|
+
`x-masonry` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente ist als responsive Layout-Grid mit deterministischem Reflow-Schedule authorierbar und nutzt den State-Key `xmasonry-state-<id>`.
|
|
79
|
+
|
|
80
|
+
- Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
|
|
81
|
+
- Schedule: `layout.reflow.commit`
|
|
82
|
+
- Event: `masonry-layout`
|
|
83
|
+
- Snapshot: `snapshot()`
|
|
84
|
+
- CSS Parts: `root`, `grid`, `item`, `toggle`, `content`
|
|
85
|
+
|
|
86
|
+
## ECH-WP-07 Token-Tabelle und signatureDesign
|
|
87
|
+
|
|
88
|
+
`signatureDesign`: Reorderable Enterprise-Masonry mit taktiler Tiefe, icon-only Toggle-Control und themebarem Drag-Feedback. Die Komponente eignet sich fuer Galerien, Dashboards und Knowledge-Layouts ohne Textzeichen-Controls.
|
|
89
|
+
|
|
90
|
+
| Token | Zweck |
|
|
91
|
+
| --- | --- |
|
|
92
|
+
| `--xtend-layout-surface` | Masonry-Item-Flaeche |
|
|
93
|
+
| `--xtend-layout-text` | Item-Textfarbe |
|
|
94
|
+
| `--xtend-layout-border-color` | Item- und Drop-Kanten |
|
|
95
|
+
| `--xtend-layout-radius` | Item-Radius |
|
|
96
|
+
| `--xtend-layout-elevation` | Item- und Drag-Schatten |
|
|
97
|
+
| `--xtend-layout-spacing` | Item-Padding |
|
|
98
|
+
| `--xtend-layout-gap` | Grid-Abstand |
|
|
99
|
+
| `--xtend-layout-font-family` | Masonry-Typografie |
|
|
100
|
+
| `--xtend-layout-font-size` | Item-Textgroesse |
|
|
101
|
+
| `--xtend-layout-media-radius` | Toggle-/Medienradius |
|
|
102
|
+
| `--xtend-layout-focus-ring` | Toggle-Fokus |
|
|
103
|
+
| `--xtend-layout-grid-min` | Grid-Untergrenze |
|
|
104
|
+
| `--xtend-layout-content-max` | Masonry-Maximalbreite |
|
|
105
|
+
|
|
106
|
+
## ECH-WP-07 Fremdtheme
|
|
107
|
+
|
|
108
|
+
```css
|
|
109
|
+
[data-xtend-layout-theme="enterprise-foreign"] x-masonry {
|
|
110
|
+
--xtend-layout-surface: #fbf7f1;
|
|
111
|
+
--xtend-layout-text: #1b2823;
|
|
112
|
+
--xtend-layout-border-color: rgba(27, 40, 35, 0.2);
|
|
113
|
+
--xtend-layout-radius: 0.35rem;
|
|
114
|
+
--xtend-layout-elevation: 0 10px 28px rgba(27, 40, 35, 0.12);
|
|
115
|
+
--xtend-layout-spacing: 1.25rem;
|
|
116
|
+
--xtend-layout-gap: 1rem;
|
|
117
|
+
--xtend-layout-font-family: "Aptos", "Segoe UI", sans-serif;
|
|
118
|
+
--xtend-layout-font-size: 1rem;
|
|
119
|
+
--xtend-layout-media-radius: 999px;
|
|
120
|
+
--xtend-layout-focus-ring: 3px solid #8f4f2a;
|
|
121
|
+
--xtend-layout-grid-min: minmax(14rem, 1fr);
|
|
122
|
+
--xtend-layout-content-max: 72rem;
|
|
123
|
+
}
|
|
124
|
+
```
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# xmenu – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xlink](./xlink.md), [xrouter](./xrouter.md), [xheader](./xheader.md), [xfooter](./xfooter.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-menu>` ist die Enterprise-Navigationskomponente fuer Menuebars, Toolbars und App-Navigation. Seit `WP-E12-07` besitzt sie einen expliziten Performance-, RMT-, Fabric- und Routing-Contract. RMT kann Menueintraege deklarativ als DOM-Descriptoren erzeugen; der XTend Host Adapter uebernimmt Hydration, Keyboard-Navigation, Active-State-Sync und XRouter-Kompatibilitaet.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- Slotted Eintraege fuer `a`, `button`, `x-link` und `[role="menuitem"]`
|
|
12
|
+
- ARIA-Rollen mit `role="menubar"` und `role="menuitem"`
|
|
13
|
+
- Keyboard-Navigation mit Arrow Keys, `Home`, `End`, `Enter` und `Space`
|
|
14
|
+
- Roving `tabindex` und `aria-current="page"` fuer aktive Eintraege
|
|
15
|
+
- `x-link`- und `x-router`-Kompatibilitaet ueber `x-navigate` und `router-navigate`
|
|
16
|
+
- `xtend.performance.component-profile.v1` mit Navigation- und Interaction-Budgets
|
|
17
|
+
- Fabric-kompatible Events fuer Navigation, Keyboard und Performance
|
|
18
|
+
|
|
19
|
+
## Verwendung
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<x-menu data-rmt-schedule="ui.user-blocking.navigation" data-xtend-lane="user-blocking">
|
|
23
|
+
<a href="/overview">Overview</a>
|
|
24
|
+
<x-link href="/settings">Settings</x-link>
|
|
25
|
+
<button type="button">Action</button>
|
|
26
|
+
</x-menu>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Events
|
|
30
|
+
|
|
31
|
+
| Event | Detail | Beschreibung |
|
|
32
|
+
|-------|--------|--------------|
|
|
33
|
+
| `menu-item-clicked` | `{ href, index, label, source, scheduleRef }` | Wird bei Click oder Keyboard-Aktivierung eines Eintrags emittiert |
|
|
34
|
+
| `menu-navigate` | `{ href, path, mode, scheduleRef }` | Signalisiert eine interne Navigation an XRouter/RMT |
|
|
35
|
+
| `menu-keyboard-navigation` | `{ key, fromIndex, toIndex }` | Misst Roving-Focus-Navigation |
|
|
36
|
+
| `menu-performance-measured` | `xtend.performance.measurement.v1` | Fabric-/Diagnostics-Messpunkt fuer Hydration, Slotchange, Keyboard und Route Activation |
|
|
37
|
+
|
|
38
|
+
## Runtime API
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
const menu = document.querySelector('x-menu');
|
|
42
|
+
|
|
43
|
+
menu.getPerformanceBudget();
|
|
44
|
+
menu.getInteractionBudget();
|
|
45
|
+
menu.snapshotPerformance();
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
`snapshotPerformance()` liefert `xtend.component.performance-snapshot.v1` mit Countern, Budgets und den letzten Messpunkten.
|
|
49
|
+
|
|
50
|
+
## Performance Contract
|
|
51
|
+
|
|
52
|
+
`x-menu` nutzt:
|
|
53
|
+
|
|
54
|
+
- Schema: `xtend.performance.component-profile.v1`
|
|
55
|
+
- `componentRef`: `x-menu`
|
|
56
|
+
- Profile: `interactive`, `routing`
|
|
57
|
+
- Budget Class: `navigation-small`
|
|
58
|
+
- Lane: `user-blocking`
|
|
59
|
+
- Hydration Policy: `visible`
|
|
60
|
+
- kritische Messpunkte:
|
|
61
|
+
- `xtend.component.hydrate`
|
|
62
|
+
- `xtend.component.render`
|
|
63
|
+
- `xtend.component.slotchange`
|
|
64
|
+
- `xtend.interaction.keyboard`
|
|
65
|
+
- `xtend.route.navigate`
|
|
66
|
+
- `xtend.state.sync`
|
|
67
|
+
|
|
68
|
+
Das Interaction Budget enthaelt `keyboardBudgetMs`, `routeActivationBudgetMs`, `touchTargetMinPx: 44`, `rovingTabindexRequired`, `xLinkCompatible` und `xRouterCompatible`.
|
|
69
|
+
|
|
70
|
+
## RMT und Fabric
|
|
71
|
+
|
|
72
|
+
Der RMT Contract bleibt host-neutral:
|
|
73
|
+
|
|
74
|
+
- Adapter: `xtend.component`
|
|
75
|
+
- Template Mode: `dom_descriptor`
|
|
76
|
+
- Event Binding Mode: `dom-event-to-rmt-command`
|
|
77
|
+
- Schedule Refs: `component.visible.hydrate`, `ui.user-blocking.navigation`, `route.transition.navigate`, `diagnostics.snapshot`
|
|
78
|
+
- Boundary: `no-rmt-kernel-import-of-xtend-types`
|
|
79
|
+
|
|
80
|
+
Fabric kann die Komponente ueber `menu-performance-measured`, `menu-keyboard-navigation`, `menu-navigate` und `snapshotPerformance()` anbinden.
|
|
81
|
+
|
|
82
|
+
## State und Routing
|
|
83
|
+
|
|
84
|
+
- `xmenu-active` ist der kanonische `xstate`-Key fuer den aktiven Eintrag.
|
|
85
|
+
- `xmenu-state-<id>` enthaelt den vollstaendigen lokalen State inklusive Performance Snapshot.
|
|
86
|
+
- Interne Links schreiben `router-navigate` und emittieren `x-navigate`, damit XRouter Hash- und History-Mode ausloesen kann.
|
|
87
|
+
- Aktive Eintraege erhalten `aria-current="page"` und bleiben im Roving-Tabindex fokussierbar.
|
|
88
|
+
|
|
89
|
+
## Styling & Theming
|
|
90
|
+
|
|
91
|
+
```css
|
|
92
|
+
x-menu {
|
|
93
|
+
--xtend-menu-bg: rgba(40, 60, 120, 0.25);
|
|
94
|
+
--xtend-menu-color: #fff;
|
|
95
|
+
--xtend-menu-min-touch-target: 44px;
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Accessibility
|
|
100
|
+
|
|
101
|
+
- ARIA-Rollen: `menubar` auf der Shell, `menuitem` auf slotted Items.
|
|
102
|
+
- Keyboard-Navigation: `ArrowRight`, `ArrowDown`, `ArrowLeft`, `ArrowUp`, `Home`, `End`, `Enter`, `Space`.
|
|
103
|
+
- Focus Visible und Forced Colors werden ohne Bewegungsabhaengigkeit unterstuetzt.
|
|
104
|
+
- `prefers-reduced-motion` deaktiviert nicht notwendige Transitions.
|
|
105
|
+
|
|
106
|
+
## Component-Level-Contract ab WP-E12-07
|
|
107
|
+
|
|
108
|
+
- `xtendComponentContract`, `xtendRmtMetadata`, `xtendComponentLifecycleTelemetry`, `xtendScaffoldA11yProfile` und `xtendScaffoldPerformanceProfile` sind in der Runtime vorhanden.
|
|
109
|
+
- `menu-item-clicked`, `menu-navigate`, `menu-keyboard-navigation` und `menu-performance-measured` bilden die oeffentliche Event-Oberflaeche.
|
|
110
|
+
- `snapshotPerformance()`, `getPerformanceBudget()` und `getInteractionBudget()` machen die Komponente fuer Fabric, RMT Adapter und lokale Gates testbar.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
*Letzte Aktualisierung: 7. Mai 2026*
|
|
115
|
+
|
|
116
|
+
## ECH-WP-09 Token-Tabelle und Navigation States
|
|
117
|
+
|
|
118
|
+
`signatureDesign`: `x-menu` nutzt eine ruhige Enterprise-Menueleiste mit klar sichtbarer aktiver Route, nicht farb-only Current-Indikator und frei ersetzbarer Typografie. Active/Current/Selected, Hover, Focus und Disabled muessen in Fremdthemes sichtbar bleiben.
|
|
119
|
+
|
|
120
|
+
| Token | Zweck |
|
|
121
|
+
| --- | --- |
|
|
122
|
+
| `--xtend-nav-surface` | Menue-Surface |
|
|
123
|
+
| `--xtend-nav-text` | Menue- und Item-Text |
|
|
124
|
+
| `--xtend-nav-border-color` | Menuekante |
|
|
125
|
+
| `--xtend-nav-radius` | Menue- und Item-Radius |
|
|
126
|
+
| `--xtend-nav-gap` | Abstand zwischen Navigationseintraegen |
|
|
127
|
+
| `--xtend-nav-font-family` | Navigationstypografie |
|
|
128
|
+
| `--xtend-nav-font-size` | Navigationstextgroesse |
|
|
129
|
+
| `--xtend-nav-active-surface` | Active/Current/Selected Flaeche |
|
|
130
|
+
| `--xtend-nav-active-text` | Active/Current/Selected Text |
|
|
131
|
+
| `--xtend-nav-current-indicator` | nicht farb-only Route-Indikator |
|
|
132
|
+
| `--xtend-nav-hover-surface` | Hover-Flaeche |
|
|
133
|
+
| `--xtend-nav-focus-ring` | Tastaturfokus |
|
|
134
|
+
| `--xtend-nav-disabled-opacity` | Disabled-Dimmung |
|
|
135
|
+
|
|
136
|
+
## ECH-WP-09 Keyboard-Verhalten
|
|
137
|
+
|
|
138
|
+
`ArrowRight`, `ArrowDown`, `ArrowLeft`, `ArrowUp`, `Home`, `End`, `Enter` und `Space` bleiben gatebar. Disabled Items werden nicht aktiviert und beim Roving Focus uebersprungen. Verschachtelte Menues duerfen Disclosure Controls nur mit Icon Controls wie `part="disclosure-icon control icon"` oder autorisierten `x-icon`-Elementen darstellen, nicht mit Textglyphen.
|
|
139
|
+
|
|
140
|
+
## ECH-WP-09 Fremdtheme
|
|
141
|
+
|
|
142
|
+
```css
|
|
143
|
+
[data-xtend-nav-theme="enterprise-foreign"] x-menu {
|
|
144
|
+
--xtend-nav-surface: #f7f4ee;
|
|
145
|
+
--xtend-nav-text: #19231f;
|
|
146
|
+
--xtend-nav-border-color: rgba(25, 35, 31, 0.24);
|
|
147
|
+
--xtend-nav-radius: 0.4rem;
|
|
148
|
+
--xtend-nav-gap: 0.35rem;
|
|
149
|
+
--xtend-nav-font-family: "Aptos", "Segoe UI", sans-serif;
|
|
150
|
+
--xtend-nav-font-size: 0.96rem;
|
|
151
|
+
--xtend-nav-active-surface: #173f35;
|
|
152
|
+
--xtend-nav-active-text: #fffaf0;
|
|
153
|
+
--xtend-nav-current-indicator: #b56b35;
|
|
154
|
+
--xtend-nav-hover-surface: rgba(181, 107, 53, 0.14);
|
|
155
|
+
--xtend-nav-focus-ring: 3px solid #b56b35;
|
|
156
|
+
--xtend-nav-disabled-opacity: 0.44;
|
|
157
|
+
}
|
|
158
|
+
```
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# xmodal - XTend Komponente
|
|
2
|
+
|
|
3
|
+
## Uebersicht
|
|
4
|
+
|
|
5
|
+
`<x-modal>` ist die state-getriebene Modal-Komponente fuer XTend. Sie wird vor allem ueber `window.XModal.show()` verwendet, kann aber auch direkt im DOM mit Attributen und Slots betrieben werden.
|
|
6
|
+
|
|
7
|
+
## Verwendung
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<x-modal title="Hinweis" open>
|
|
11
|
+
<p>Modal-Inhalt</p>
|
|
12
|
+
</x-modal>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Attribute
|
|
16
|
+
|
|
17
|
+
| Attribut | Typ | Beschreibung |
|
|
18
|
+
|----------|-----|--------------|
|
|
19
|
+
| `open` | boolean | Modal ist geoeffnet |
|
|
20
|
+
| `overlay` | boolean | zeigt einen Overlay-Hintergrund |
|
|
21
|
+
| `title` | string | Titel des Modals |
|
|
22
|
+
| `content` | string | textueller Inhalt |
|
|
23
|
+
| `actions` | string | JSON-Array fuer Action-Buttons |
|
|
24
|
+
|
|
25
|
+
## Slots
|
|
26
|
+
|
|
27
|
+
| Slot | Beschreibung |
|
|
28
|
+
|------|--------------|
|
|
29
|
+
| default | Hauptinhalt des Modals |
|
|
30
|
+
| `actions` | optionaler Action-Bereich |
|
|
31
|
+
|
|
32
|
+
## Events
|
|
33
|
+
|
|
34
|
+
| Event | Beschreibung |
|
|
35
|
+
|-------|--------------|
|
|
36
|
+
| `modal-opened` | nach erfolgreichem Oeffnen |
|
|
37
|
+
| `modal-closed` | nach erfolgreichem Schliessen |
|
|
38
|
+
| `modal-action` | wenn ein konfigurierte Action ausgewaehlt wird |
|
|
39
|
+
|
|
40
|
+
## API
|
|
41
|
+
|
|
42
|
+
- `element.open()`
|
|
43
|
+
- `element.close()`
|
|
44
|
+
|
|
45
|
+
Open-State wird ueber dieselben Pfade gefuehrt:
|
|
46
|
+
|
|
47
|
+
- `xtend.component.x-modal.<id>.open`
|
|
48
|
+
- `modal-open-<id>`
|
|
49
|
+
|
|
50
|
+
## Runtime-Contract
|
|
51
|
+
|
|
52
|
+
- API-gemanagte Modals lesen Titel, Inhalt und Aktionen aus `xstate.get('ui').modals`
|
|
53
|
+
- ESC, Overlay-Klick und Close-Button schreiben den Open-State zurueck
|
|
54
|
+
- API-gemanagte Modals entfernen sich nach dem Schliessen aus `ui.modals` und aus dem DOM
|
|
55
|
+
- direkt eingebettete Overlay-Modals werden waehrend `open` in eine `document.body` Portal-Schicht gehoben, damit Blur und Overlay den gesamten Viewport abdecken
|
|
56
|
+
|
|
57
|
+
## Hinweise
|
|
58
|
+
|
|
59
|
+
- `modal-action` enthaelt die ausgewaehlte Action-Definition im Event-Detail
|
|
60
|
+
- fuer API-gemanagte Modals ist `window.XModal.show()` der bevorzugte Einstieg
|
|
61
|
+
- der Focus-Ruecksprung zum zuletzt aktiven Element ist Teil des Standardverhaltens
|
|
62
|
+
|
|
63
|
+
## Overlay Interaction UX Profil
|
|
64
|
+
|
|
65
|
+
Seit `WP-E11-11` deklariert `<x-modal>` das Runtime-Profil `xtend.component.overlay-interaction-ux-profile.v1` ueber `xtendOverlayInteractionUxProfile`.
|
|
66
|
+
|
|
67
|
+
| Feld | Wert |
|
|
68
|
+
|------|------|
|
|
69
|
+
| Family | `modal-dialog` |
|
|
70
|
+
| State Key | `modal-open-<id>` |
|
|
71
|
+
| Schedule | `overlay.stack.open` |
|
|
72
|
+
| Commands | `open`, `close`, `focus-trap`, `apply-inert`, `lock-scroll`, `snapshot` |
|
|
73
|
+
|
|
74
|
+
Das Profil legt Focus Trap, Rueckfokus, Escape-Topmost-Regel, Background-Inert, balanced Scroll Lock und eine dokumentweite Portal-Schicht fest. RMT beschreibt diese Regeln shell-first ueber `tests/fixtures/rmt-overlay-interaction-ux.rmt`; der RMT-Kernel importiert weiterhin keine XTend-Typen.
|
|
75
|
+
|
|
76
|
+
Die Portal-Schicht ist dokumentweit: Wenn ein Modal mit `overlay` in verschachtelten App-Shells, XRouter-Routen oder transformierten Layout-Containern geoeffnet wird, wird der Host temporaer unter `document.body` geparkt und nach dem Schliessen an seine urspruengliche Position zurueckgesetzt. Dadurch bleibt die Slot-Faehigkeit erhalten, waehrend Overlay und Blur nicht auf den lokalen `main`- oder Route-Container begrenzt sind.
|
|
77
|
+
|
|
78
|
+
## ECH-WP-06 Overlay-Paritaet
|
|
79
|
+
|
|
80
|
+
`x-modal` expose `surface`, `backdrop`, `close` und `content` als gemeinsame Overlay-Parts. `overlay` bleibt als Alias fuer `backdrop` erhalten. Host-Themes koennen Backdrop, Surface, Text, Elevation, Radius, Z-Index, Action-Text, Close-Flaeche und Focus Ring ueber `--xtend-overlay-*`, `--modal-*` oder `--xmodal-*` Tokens steuern.
|
|
81
|
+
|
|
82
|
+
`x-modal` ist modal: Focus Trap, Background-Inert, Scroll Lock, Escape und Rueckfokus sind Teil des Standardpfads. Ein Modal ohne `overlay` behält die Surface-Parts, rendert aber keinen visuellen Backdrop.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# xplayer – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xlightbox](./xlightbox.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-player>` ist eine vielseitige Media-Player-Komponente für Audio und Video. Sie unterstützt Playlists, Custom Controls, Theming, State-Integration, Download, Media-Chooser und Vollbild.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Wiedergabe von Audio/Video
|
|
13
|
+
- Playlists und Media-Controls
|
|
14
|
+
- Download-Button (optional)
|
|
15
|
+
- Media-Chooser (Quellenauswahl)
|
|
16
|
+
- Poster-Bild für Videos
|
|
17
|
+
- Vollbildmodus
|
|
18
|
+
- State-Integration via xstate
|
|
19
|
+
- Theming via CSS Custom Properties
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Verwendung
|
|
24
|
+
|
|
25
|
+
```html
|
|
26
|
+
<x-player src="song.mp3" type="audio"></x-player>
|
|
27
|
+
<x-player src="video.mp4" poster="cover.jpg" type="video" title="Demo Video" downloadable="true"></x-player>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Attribute
|
|
33
|
+
| Attribut | Typ | Beschreibung |
|
|
34
|
+
|------------------|---------|----------------------------------------------------------|
|
|
35
|
+
| `src` | String | Media-URL (Audio/Video) |
|
|
36
|
+
| `poster` | String | Vorschaubild für Video |
|
|
37
|
+
| `type` | String | Medientyp (`audio` oder `video`, Standard: `video`) |
|
|
38
|
+
| `media-chooser` | String | `true` für Quellenauswahl (Dropdown) |
|
|
39
|
+
| `downloadable` | String | `true` für Download-Button |
|
|
40
|
+
| `autoplay` | Boolean | Autoplay beim Laden |
|
|
41
|
+
| `title` | String | Titelanzeige im Player |
|
|
42
|
+
| `height` | String | Höhe (z.B. `360`) |
|
|
43
|
+
| `width` | String | Breite (z.B. `640`) |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Events
|
|
48
|
+
| Event | Beschreibung |
|
|
49
|
+
|-------------------|----------------------------------------------|
|
|
50
|
+
| `xplayer-play` | Wiedergabe gestartet, Detail: `{ currentTime }` |
|
|
51
|
+
| `xplayer-pause` | Wiedergabe pausiert, Detail: `{ currentTime }` |
|
|
52
|
+
| `xplayer-mute` | Stummschaltung geändert, Detail: `{ muted }` |
|
|
53
|
+
| `xplayer-volume` | Lautstärke geändert, Detail: `{ volume }` |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## API
|
|
58
|
+
- **Abspielen:** `element.play()`
|
|
59
|
+
- **Pausieren:** `element.pause()`
|
|
60
|
+
- **State-Integration:** Automatisch via xstate
|
|
61
|
+
- **Vollbild:** `element.requestFullscreen()`
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Beispiel: Dynamisch per JS
|
|
66
|
+
|
|
67
|
+
```js
|
|
68
|
+
const player = document.createElement('x-player');
|
|
69
|
+
player.setAttribute('src', 'song.mp3');
|
|
70
|
+
document.body.appendChild(player);
|
|
71
|
+
player.play();
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Styling & Theming
|
|
77
|
+
|
|
78
|
+
```css
|
|
79
|
+
x-player {
|
|
80
|
+
--primary-color: #4fc3f7;
|
|
81
|
+
--border-radius: 8px;
|
|
82
|
+
/* Weitere Custom Properties siehe CSS */
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Accessibility
|
|
89
|
+
- Semantisches HTML, ARIA
|
|
90
|
+
- Tastaturbedienung
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
95
|
+
|
|
96
|
+
## Layout Display Media UX Profil
|
|
97
|
+
|
|
98
|
+
`x-player` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Media kann dadurch shell-first gerendert und erst ueber `media.lazy.load` bzw. `media.playback.user` geplant werden. Der State-Key lautet `xplayer-state-<id>`.
|
|
99
|
+
|
|
100
|
+
- Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
|
|
101
|
+
- Schedule: `media.lazy.load`
|
|
102
|
+
- Events: `xplayer-play`, `xplayer-pause`, `xplayer-fullscreen`, `xplayer-pip`
|
|
103
|
+
- Snapshot: `snapshot()`
|
|
104
|
+
- CSS Parts: `root`, `media`, `controls`, `progress`, `overlay`
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# xpopover - XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xtooltip](./xtooltip.md), [xdrawer](./xdrawer.md), [xdialog](./xdialog.md), [xmodal](./xmodal.md)
|
|
4
|
+
|
|
5
|
+
## Uebersicht
|
|
6
|
+
|
|
7
|
+
`<x-popover>` ist ein interaktives, verankertes Overlay aus `WP-E10-11`. Es eignet sich fuer Filter, Menues, Toolbars und kontextuelle Aktionen, kann modal betrieben werden und bleibt als Custom Element ueber RMT beschreibbar.
|
|
8
|
+
|
|
9
|
+
## Verwendung
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<x-popover id="filters" placement="bottom" modal label="Filter options">
|
|
13
|
+
<button slot="trigger" type="button">Open filters</button>
|
|
14
|
+
<p>Filter content can be mounted by RMT.</p>
|
|
15
|
+
<button slot="actions" type="button">Apply</button>
|
|
16
|
+
</x-popover>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Attribute
|
|
20
|
+
|
|
21
|
+
| Attribut | Typ | Beschreibung |
|
|
22
|
+
|----------|-----|--------------|
|
|
23
|
+
| `open` | Boolean | oeffnet das Popover kontrolliert |
|
|
24
|
+
| `placement` | String | `top`, `right`, `bottom` oder `left` |
|
|
25
|
+
| `modal` | Boolean | aktiviert Focus Trap und `aria-modal` |
|
|
26
|
+
| `anchor` | String | vorbereitetes Anchor-Mapping fuer RMT Authoring |
|
|
27
|
+
| `label` | String | zugaenglicher Name fuer den Dialog |
|
|
28
|
+
|
|
29
|
+
## Events
|
|
30
|
+
|
|
31
|
+
| Event | Detail |
|
|
32
|
+
|-------|--------|
|
|
33
|
+
| `popover-opened` | `{ id, open, source, placement, modal }` |
|
|
34
|
+
| `popover-closed` | `{ id, open, source, placement, modal }` |
|
|
35
|
+
|
|
36
|
+
## API
|
|
37
|
+
|
|
38
|
+
- `show()`
|
|
39
|
+
- `hide()`
|
|
40
|
+
- `toggle()`
|
|
41
|
+
|
|
42
|
+
## State, RMT und Fabric
|
|
43
|
+
|
|
44
|
+
`<x-popover>` schreibt nach `xpopover-open-<id>`. RMT nutzt `xtend.rmt.component-contract.v1`, `dom_descriptor` Templates und kann Events als `dom-event-to-rmt-command` binden. Fuer interaktive UIs ist die Lane `user-blocking`; der Kernel Boundary bleibt `no-rmt-kernel-import-of-xtend-types`.
|
|
45
|
+
|
|
46
|
+
## A11y und Performance
|
|
47
|
+
|
|
48
|
+
Das Popover nutzt `role="dialog"`, `aria-expanded`, `aria-controls`, optional `aria-modal` und Focus Return. `Escape`, Outside Click und `focus-return` sind Pflichtsignale. Das Performance-Profil ist `xtend.performance.component-profile.v1` mit `budgetClass: 'overlay-medium'`, `lane: 'user-blocking'` und `hydrationPolicy: 'visible'`.
|
|
49
|
+
|
|
50
|
+
## Overlay Interaction UX Profil
|
|
51
|
+
|
|
52
|
+
Seit `WP-E11-11` deklariert `<x-popover>` das Runtime-Profil `xtend.component.overlay-interaction-ux-profile.v1` ueber `xtendOverlayInteractionUxProfile`.
|
|
53
|
+
|
|
54
|
+
| Feld | Wert |
|
|
55
|
+
|------|------|
|
|
56
|
+
| Family | `popover` |
|
|
57
|
+
| State Key | `xpopover-open-<id>` |
|
|
58
|
+
| Schedule | `overlay.position.update` |
|
|
59
|
+
| Commands | `show`, `hide`, `toggle`, `focus-trap`, `snapshot` |
|
|
60
|
+
|
|
61
|
+
Das Profil trennt die leichte Anchor-Schicht vom modal optionalen Betrieb. Focus Trap wird nur bei `modal` aktiviert, Escape schliesst das oberste Popover und Outside Click bleibt als bewusstes Dismiss-Verhalten dokumentiert.
|
|
62
|
+
|
|
63
|
+
## ECH-WP-06 Overlay-Paritaet
|
|
64
|
+
|
|
65
|
+
`x-popover` expose `surface`, `backdrop`, `close` und `content` als gemeinsame Overlay-Parts. Der Backdrop wird nur bei `modal` sichtbar; der Close-Button ist tokenisiert und kann ueber `--popover-close-display` sowie `--xpopover-close-*` an Corporate-Patterns angepasst werden.
|
|
66
|
+
|
|
67
|
+
Der Default bleibt nicht-modal: kein Inert und kein Scroll Lock. Mit `modal` aktiviert das Popover Backdrop, Focus Trap, Escape und Rueckfokus. Surface, Text, Border, Elevation, Radius, Backdrop und Z-Index laufen ueber `--xtend-overlay-*`, `--popover-*` oder `--xpopover-*` Tokens.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# xprogress - XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xstatus](./xstatus.md), [xspinner](./xspinner.md), [xstate](./xstate.md)
|
|
4
|
+
|
|
5
|
+
## Uebersicht
|
|
6
|
+
|
|
7
|
+
`<x-progress>` ist das RMT-first Progress-Control aus `WP-E10-10`. Es visualisiert determinate und indeterminate Fortschritte, meldet Fortschrittsereignisse an Fabric/Telemetry und kann in Shell-first RMT-Templates fuer Hydration, Upload, Route- oder Worker-Aufgaben eingesetzt werden.
|
|
8
|
+
|
|
9
|
+
## Verwendung
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<x-progress id="route-progress" value="64" max="100" status="Hydrating route" busy>
|
|
13
|
+
<span slot="label">Route hydration</span>
|
|
14
|
+
</x-progress>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Attribute
|
|
18
|
+
|
|
19
|
+
| Attribut | Typ | Beschreibung |
|
|
20
|
+
|----------|-----|--------------|
|
|
21
|
+
| `value` | Number | aktueller Wert |
|
|
22
|
+
| `max` | Number | Maximalwert |
|
|
23
|
+
| `label` | String | Label ohne Slot |
|
|
24
|
+
| `status` | String | Statusmeldung fuer Screenreader und UI |
|
|
25
|
+
| `indeterminate` | Boolean | aktiviert unbestimmten Fortschritt |
|
|
26
|
+
| `busy` | Boolean | setzt `aria-busy` |
|
|
27
|
+
|
|
28
|
+
## Events
|
|
29
|
+
|
|
30
|
+
| Event | Detail |
|
|
31
|
+
|-------|--------|
|
|
32
|
+
| `progress-changed` | `{ value, max, percent, source: 'x-progress' }` |
|
|
33
|
+
| `progress-complete` | `{ value, max, percent: 100, source: 'x-progress' }` |
|
|
34
|
+
|
|
35
|
+
## API
|
|
36
|
+
|
|
37
|
+
- `element.value`
|
|
38
|
+
- `element.max`
|
|
39
|
+
- `element.percent`
|
|
40
|
+
- `element.setProgress(value)`
|
|
41
|
+
- `element.complete()`
|
|
42
|
+
- `element.reset()`
|
|
43
|
+
|
|
44
|
+
## State, RMT und Fabric
|
|
45
|
+
|
|
46
|
+
`<x-progress>` schreibt nach `xprogress-value-<id>` und ist fuer `feedback.progress.update` vorbereitet. Die RMT-Metadaten nutzen `xtend.rmt.component-contract.v1`, `adapter: 'xtend.component'` und `kernelBoundary: 'no-rmt-kernel-import-of-xtend-types'`. Dadurch kann RMT Progress als scheduled UI-Feedback behandeln, waehrend XTend die Web Component rendert.
|
|
47
|
+
|
|
48
|
+
## A11y und Performance
|
|
49
|
+
|
|
50
|
+
Das Control nutzt `role="progressbar"`, `aria-valuenow`, `aria-valuemax`, `aria-valuetext`, `aria-busy` und eine polite Statusregion. Das Performance-Profil ist `xtend.performance.component-profile.v1` mit `budgetClass: 'feedback-small'`, `lane: 'background'` und `hydrationPolicy: 'visible'`.
|
|
51
|
+
|
|
52
|
+
## Feedback Status UX ab WP-E11-09
|
|
53
|
+
|
|
54
|
+
`<x-progress>` stellt `xtendFeedbackStatusUxProfile` mit `xtend.component.feedback-status-ux-profile.v1` bereit. Das Profil beschreibt Progress als scheduled Feedback mit `progress-changed`, `progress-complete`, `xprogress-value-<id>`, `feedback.progress.update`, Fabric-Lane `background`, A11y-Lane `a11y` und RMT Shell Authoring.
|
|
55
|
+
|
|
56
|
+
Determinate und indeterminate Progress-Zustaende duerfen nicht nur ueber Farbe oder Animation vermittelt werden. `aria-valuetext`, die Statusregion und Reduced-Motion-Regeln bleiben deshalb Teil der Public UX-Oberflaeche.
|