@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,82 @@
|
|
|
1
|
+
# xcalendar – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xcards](./xcards.md), [xform](./xform.md), [xstate](./xstate.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-calendar>` ist ein moderner, barrierearmer Kalender mit Form-Integration, State-Management und Theming. Er eignet sich für Datumsauswahl und Terminverwaltung.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Form-assoziiert (HTML5 Form API)
|
|
13
|
+
- State-Integration via xstate
|
|
14
|
+
- Theming via CSS Custom Properties
|
|
15
|
+
- Responsive Design
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Verwendung
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<x-calendar></x-calendar>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Attribute
|
|
28
|
+
| Attribut | Typ | Beschreibung |
|
|
29
|
+
|-------------|---------|-------------------------------------|
|
|
30
|
+
| `value` | String | Ausgewähltes Datum (ISO-Format) |
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Events
|
|
35
|
+
| Event | Beschreibung |
|
|
36
|
+
|---------------|-------------------------------------|
|
|
37
|
+
| `change` | Wird bei Datumsauswahl ausgelöst |
|
|
38
|
+
| `date-select` | aktueller XTend-Contract bei Datumsauswahl, Detail: `{ value, date }` |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## API
|
|
43
|
+
- **Wert setzen/lesen:** `element.value = '2025-07-16'`
|
|
44
|
+
- **State-Integration:** Automatisch via xstate
|
|
45
|
+
|
|
46
|
+
## Component-Level-Contract ab ER-WP-33
|
|
47
|
+
|
|
48
|
+
`<x-calendar>` ist form-associated, schreibt Auswahl und View-Date nach `xcalendar-state-<id>` und rendert die Monatsansicht als ARIA-Grid. Tageszellen nutzen `role="gridcell"` und `aria-selected`; Monatsnavigation wird ueber beschriftete Buttons angeboten.
|
|
49
|
+
|
|
50
|
+
## Form Controls UX ab WP-E11-08
|
|
51
|
+
|
|
52
|
+
`<x-calendar>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil verbindet Datumsauswahl, `date-select`, `xcalendar-state-<id>`, `ui.user-blocking.input`, Grid-A11y, Fabric-Lane `user-blocking` und RMT Shell Authoring.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Beispiel: Dynamisch per JS
|
|
57
|
+
|
|
58
|
+
```js
|
|
59
|
+
const cal = document.createElement('x-calendar');
|
|
60
|
+
cal.value = '2025-07-16';
|
|
61
|
+
document.body.appendChild(cal);
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Styling & Theming
|
|
67
|
+
|
|
68
|
+
```css
|
|
69
|
+
x-calendar {
|
|
70
|
+
--border-color: #ccc;
|
|
71
|
+
--background-color: #fff;
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Accessibility
|
|
78
|
+
- ARIA-Rollen, Keyboard-Navigation
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# xcards – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xmasonry](./xmasonry.md), [xcalendar](./xcalendar.md), [xstate](./xstate.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-cards>` ist ein flexibles Grid-Layout für beliebige Inhalte. Es unterstützt Responsive Design, Theming und State-Integration.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Grid-Layout mit variabler Spaltenzahl
|
|
13
|
+
- Responsive (1 Spalte auf Mobilgeräten)
|
|
14
|
+
- Theming via CSS Custom Properties
|
|
15
|
+
- State-Integration via xstate
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Verwendung
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<x-cards columns="4" gap="2rem">
|
|
23
|
+
<div>Card 1</div>
|
|
24
|
+
<div>Card 2</div>
|
|
25
|
+
</x-cards>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Attribute
|
|
31
|
+
| Attribut | Typ | Beschreibung |
|
|
32
|
+
|-------------|---------|-------------------------------------|
|
|
33
|
+
| `columns` | Number | Anzahl der Spalten (default: 3) |
|
|
34
|
+
| `gap` | String | Abstand zwischen Karten (default: 1.5rem) |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Events
|
|
39
|
+
| Event | Beschreibung |
|
|
40
|
+
|---------------|-------------------------------------|
|
|
41
|
+
| – | – |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## API
|
|
46
|
+
- **Spalten dynamisch setzen:** `element.setAttribute('columns', 2)`
|
|
47
|
+
- **State-Integration:** Automatisch via xstate
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Beispiel: Dynamisch per JS
|
|
52
|
+
|
|
53
|
+
```js
|
|
54
|
+
const cards = document.createElement('x-cards');
|
|
55
|
+
cards.setAttribute('columns', 2);
|
|
56
|
+
document.body.appendChild(cards);
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Styling & Theming
|
|
62
|
+
|
|
63
|
+
```css
|
|
64
|
+
x-cards {
|
|
65
|
+
--card-columns: 4;
|
|
66
|
+
--card-gap: 2rem;
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Accessibility
|
|
73
|
+
- Grid-Rolle, semantisches HTML
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
78
|
+
|
|
79
|
+
## Layout Display Media UX Profil
|
|
80
|
+
|
|
81
|
+
`x-cards` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente beschreibt ein responsive Card-Grid fuer RMT Shell Authoring und nutzt den State-Key `xcards-state-<id>`.
|
|
82
|
+
|
|
83
|
+
- Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
|
|
84
|
+
- Schedule: `layout.reflow.commit`
|
|
85
|
+
- Event: `cards-layout`
|
|
86
|
+
- Snapshot: `snapshot()`
|
|
87
|
+
- CSS Parts: `root`, `grid`, `item`
|
|
88
|
+
|
|
89
|
+
## ECH-WP-07 Token-Tabelle und signatureDesign
|
|
90
|
+
|
|
91
|
+
`signatureDesign`: Eigenstaendiger Enterprise-Card-Rhythmus mit tokenisiertem Glas, Kante, Tiefe und Typografie. Das Default-Grid soll nicht wie ein generisches SaaS-Kartenraster wirken und trotzdem voll themebar bleiben.
|
|
92
|
+
|
|
93
|
+
| Token | Zweck |
|
|
94
|
+
| --- | --- |
|
|
95
|
+
| `--xtend-layout-surface` | Card-Flaeche |
|
|
96
|
+
| `--xtend-layout-text` | Card-Textfarbe |
|
|
97
|
+
| `--xtend-layout-border-color` | Card-Kante |
|
|
98
|
+
| `--xtend-layout-radius` | Card-Radius |
|
|
99
|
+
| `--xtend-layout-elevation` | Card-Schatten |
|
|
100
|
+
| `--xtend-layout-spacing` | Card-Padding |
|
|
101
|
+
| `--xtend-layout-gap` | Grid-Abstand |
|
|
102
|
+
| `--xtend-layout-font-family` | Card-Typografie |
|
|
103
|
+
| `--xtend-layout-font-size` | Card-Textgroesse |
|
|
104
|
+
| `--xtend-layout-media-radius` | Bild-/Medienradius |
|
|
105
|
+
| `--xtend-layout-focus-ring` | Card-Fokus |
|
|
106
|
+
| `--xtend-layout-grid-min` | Grid-Untergrenze |
|
|
107
|
+
| `--xtend-layout-content-max` | Grid-Maximalbreite |
|
|
108
|
+
|
|
109
|
+
## ECH-WP-07 Fremdtheme
|
|
110
|
+
|
|
111
|
+
```css
|
|
112
|
+
[data-xtend-layout-theme="enterprise-foreign"] x-cards,
|
|
113
|
+
[data-xtend-layout-theme="enterprise-foreign"] x-card {
|
|
114
|
+
--xtend-layout-surface: #f8f4ef;
|
|
115
|
+
--xtend-layout-text: #1b2823;
|
|
116
|
+
--xtend-layout-border-color: rgba(27, 40, 35, 0.18);
|
|
117
|
+
--xtend-layout-radius: 0.3rem;
|
|
118
|
+
--xtend-layout-elevation: 0 12px 30px rgba(27, 40, 35, 0.12);
|
|
119
|
+
--xtend-layout-spacing: 1.35rem;
|
|
120
|
+
--xtend-layout-gap: 1.1rem;
|
|
121
|
+
--xtend-layout-font-family: "Aptos", "Segoe UI", sans-serif;
|
|
122
|
+
--xtend-layout-font-size: 1rem;
|
|
123
|
+
--xtend-layout-media-radius: 0.25rem;
|
|
124
|
+
--xtend-layout-focus-ring: 3px solid #8f4f2a;
|
|
125
|
+
--xtend-layout-grid-min: minmax(15rem, 1fr);
|
|
126
|
+
--xtend-layout-content-max: 74rem;
|
|
127
|
+
}
|
|
128
|
+
```
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# xcheckbox – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xform](./xform.md), [xinput](./xinput.md), [xstate](./xstate.md)
|
|
4
|
+
|
|
5
|
+
## Uebersicht
|
|
6
|
+
|
|
7
|
+
`<x-checkbox>` ist das TypeScript-first Binary-Control aus `WP-E10-09`. Es ist form-associated, unterstuetzt `checked` und `indeterminate`, meldet Aenderungen ueber XTend Events und kann von RMT als framework-agnostische UI-Komponente scheduled werden.
|
|
8
|
+
|
|
9
|
+
## Verwendung
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<x-checkbox id="terms" name="terms" required checked>
|
|
13
|
+
<span slot="label">Nutzungsbedingungen akzeptieren</span>
|
|
14
|
+
<span slot="error">Die Zustimmung ist erforderlich.</span>
|
|
15
|
+
</x-checkbox>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Attribute
|
|
19
|
+
|
|
20
|
+
| Attribut | Typ | Beschreibung |
|
|
21
|
+
|----------|-----|--------------|
|
|
22
|
+
| `name` | String | Formularname |
|
|
23
|
+
| `value` | String | Formularwert bei aktivem Zustand, Standard `on` |
|
|
24
|
+
| `checked` | Boolean | aktueller Auswahlzustand |
|
|
25
|
+
| `indeterminate` | Boolean | visueller Mischzustand |
|
|
26
|
+
| `required` | Boolean | aktiviert Validierung |
|
|
27
|
+
| `disabled` | Boolean | deaktiviert das Control |
|
|
28
|
+
| `label` | String | ARIA-/Textlabel ohne Slot |
|
|
29
|
+
|
|
30
|
+
## Slots
|
|
31
|
+
|
|
32
|
+
| Slot | Zweck |
|
|
33
|
+
|------|-------|
|
|
34
|
+
| `label` | sichtbares Label |
|
|
35
|
+
| `hint` | zusaetzlicher Hinweistext |
|
|
36
|
+
| `error` | Validierungsfehler |
|
|
37
|
+
|
|
38
|
+
## Events
|
|
39
|
+
|
|
40
|
+
| Event | Detail |
|
|
41
|
+
|-------|--------|
|
|
42
|
+
| `checkbox-changed` | `{ checked, value, source: 'x-checkbox' }` |
|
|
43
|
+
| `checkbox-invalid` | `{ checked, value, message, source: 'x-checkbox' }` |
|
|
44
|
+
|
|
45
|
+
## API
|
|
46
|
+
|
|
47
|
+
- `element.checked`
|
|
48
|
+
- `element.value`
|
|
49
|
+
- `element.indeterminate`
|
|
50
|
+
- `element.toggle()`
|
|
51
|
+
- `element.checkValidity()`
|
|
52
|
+
- `element.reportValidity()`
|
|
53
|
+
- `element.validate()`
|
|
54
|
+
- `element.reset()`
|
|
55
|
+
- `element.focus()`
|
|
56
|
+
|
|
57
|
+
## State, RMT und Fabric
|
|
58
|
+
|
|
59
|
+
`<x-checkbox>` schreibt nach `xcheckbox-checked-<id>`. RMT sieht die Komponente ueber `xtend.rmt.component-contract.v1` als DOM-Descriptor und nicht als XTend-Kernel-Abhaengigkeit. Die Fabric-Metadaten binden Events an die `user-blocking` Lane und halten den Boundary-String `no-rmt-kernel-import-of-xtend-types` sichtbar.
|
|
60
|
+
|
|
61
|
+
## A11y und Performance
|
|
62
|
+
|
|
63
|
+
Das Control spiegelt `aria-checked`, `aria-describedby`, `required` und `disabled` auf die native Checkbox. Das Performance-Profil nutzt `xtend.performance.component-profile.v1` mit `budgetClass: 'interactive-small'`, `lane: 'user-blocking'` und `hydrationPolicy: 'visible'`.
|
|
64
|
+
|
|
65
|
+
## Form Controls UX ab WP-E11-08
|
|
66
|
+
|
|
67
|
+
`<x-checkbox>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil verbindet Label, Hint, Error, `checkbox-changed`, `checkbox-invalid`, `xcheckbox-checked-<id>`, `ui.user-blocking.input`, Fabric-Lane `user-blocking` und RMT Shell Authoring.
|
|
68
|
+
|
|
69
|
+
## ECH-WP-08 Form Theme/A11y Hardening
|
|
70
|
+
|
|
71
|
+
`signatureDesign`: Taktile Enterprise-Checkbox mit nativer Zuverlaessigkeit, separat themebarer Selection-Affordance und statusfestem Helper/Error-Rhythmus.
|
|
72
|
+
|
|
73
|
+
| Token | Zweck |
|
|
74
|
+
| --- | --- |
|
|
75
|
+
| `--xtend-form-text` | Host-Textfarbe |
|
|
76
|
+
| `--xtend-form-control-surface` | Native Control-Flaeche |
|
|
77
|
+
| `--xtend-form-control-text` | Control-Text-Fallback |
|
|
78
|
+
| `--xtend-form-label-text` | Label |
|
|
79
|
+
| `--xtend-form-helper-text` | Helper |
|
|
80
|
+
| `--xtend-form-error-text` | Fehlertext |
|
|
81
|
+
| `--xtend-form-error-surface` | Fehlerflaeche |
|
|
82
|
+
| `--xtend-form-error-border` | Fehlerkante und Marker |
|
|
83
|
+
| `--xtend-form-focus-ring` | Focus-Outline |
|
|
84
|
+
| `--xtend-form-radius` | Native Control-/Error-Radius |
|
|
85
|
+
| `--xtend-form-gap` | Label-/Helper-Abstand |
|
|
86
|
+
| `--xtend-form-font-family` | Form-Typografie |
|
|
87
|
+
| `--xtend-form-control-font-size` | Label-Schrift |
|
|
88
|
+
| `--xtend-form-helper-font-size` | Helper/Error-Schrift |
|
|
89
|
+
| `--xtend-form-icon-color` | Checkbox-Akzent |
|
|
90
|
+
|
|
91
|
+
Density-Profile: `comfortable`, `compact`, `dense`. Invalid ist zusaetzlich zu Farbe durch Outline und Error-Marker erkennbar.
|
|
92
|
+
|
|
93
|
+
```css
|
|
94
|
+
[data-xtend-form-theme="enterprise-foreign"] x-checkbox {
|
|
95
|
+
--xtend-form-icon-color: #8f4f2a;
|
|
96
|
+
--xtend-form-label-text: #22312c;
|
|
97
|
+
--xtend-form-helper-text: #596861;
|
|
98
|
+
--xtend-form-error-text: #7d231c;
|
|
99
|
+
--xtend-form-error-border: #a64036;
|
|
100
|
+
--xtend-form-focus-ring: 3px solid #8f4f2a;
|
|
101
|
+
}
|
|
102
|
+
```
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# xcode – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xwriter](./xwriter.md), [xstate](./xstate.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-code>` ist eine Komponente zur Anzeige und Bearbeitung von Quellcode mit Syntax-Highlighting, State-Integration und Theming.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Syntax-Highlighting (z.B. via Prism.js)
|
|
13
|
+
- Sprache wählbar (`lang`-Attribut)
|
|
14
|
+
- State-Integration via xstate
|
|
15
|
+
- Theming via CSS Custom Properties
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Verwendung
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<x-code lang="js">
|
|
23
|
+
console.log('Hallo XTend!');
|
|
24
|
+
</x-code>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Attribute
|
|
30
|
+
| Attribut | Typ | Beschreibung |
|
|
31
|
+
|-------------|---------|-------------------------------------|
|
|
32
|
+
| `lang` | String | Programmiersprache (default: text) |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Events
|
|
37
|
+
| Event | Beschreibung |
|
|
38
|
+
|---------------|-------------------------------------|
|
|
39
|
+
| – | – |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## API
|
|
44
|
+
- **Sprache setzen:** `element.setAttribute('lang', 'css')`
|
|
45
|
+
- **State-Integration:** Automatisch via xstate
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Beispiel: Dynamisch per JS
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
const code = document.createElement('x-code');
|
|
53
|
+
code.setAttribute('lang', 'html');
|
|
54
|
+
code.textContent = '<h1>Hallo</h1>';
|
|
55
|
+
document.body.appendChild(code);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Styling & Theming
|
|
61
|
+
|
|
62
|
+
```css
|
|
63
|
+
x-code {
|
|
64
|
+
--background: #222;
|
|
65
|
+
--color: #fff;
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Accessibility
|
|
72
|
+
- Semantisches HTML, Copy-Support
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
77
|
+
|
|
78
|
+
## Layout Display Media UX Profil
|
|
79
|
+
|
|
80
|
+
`x-code` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Code-Bloecke koennen damit als idle hydrierbare Display-Shell in RMT authoriert werden und nutzen den State-Key `xcode-state-<id>`.
|
|
81
|
+
|
|
82
|
+
- Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
|
|
83
|
+
- Schedule: `component.idle.hydrate`
|
|
84
|
+
- Event: `code-copied`
|
|
85
|
+
- Snapshot: `snapshot()`
|
|
86
|
+
- CSS Parts: `root`, `copy`, `pre`, `code`
|
|
87
|
+
|
|
88
|
+
## ECH-WP-07 Token-Tabelle und signatureDesign
|
|
89
|
+
|
|
90
|
+
`signatureDesign`: Lesbare Enterprise-Codeflaeche mit klarem Copy-Control, internem Overflow und eigenstaendiger, themebarer Monospace-Persoenlichkeit. Docs-, IDE- und Corporate-Themes sollen ohne DOM-Aenderung funktionieren.
|
|
91
|
+
|
|
92
|
+
| Token | Zweck |
|
|
93
|
+
| --- | --- |
|
|
94
|
+
| `--xtend-layout-surface` | Code-Flaeche |
|
|
95
|
+
| `--xtend-layout-text` | Code-Textfarbe |
|
|
96
|
+
| `--xtend-layout-border-color` | Code- und Copy-Kante |
|
|
97
|
+
| `--xtend-layout-radius` | Code- und Copy-Radius |
|
|
98
|
+
| `--xtend-layout-elevation` | Code-Schatten |
|
|
99
|
+
| `--xtend-layout-spacing` | Code-Padding |
|
|
100
|
+
| `--xtend-layout-gap` | Theme-Abstand fuer Tooling |
|
|
101
|
+
| `--xtend-layout-font-family` | Monospace-/Code-Typografie |
|
|
102
|
+
| `--xtend-layout-font-size` | Code-Schriftgroesse |
|
|
103
|
+
| `--xtend-layout-media-radius` | Copy-Control-Radius |
|
|
104
|
+
| `--xtend-layout-focus-ring` | Copy-Control-Fokus |
|
|
105
|
+
| `--xtend-layout-grid-min` | Code-Layout-Untergrenze |
|
|
106
|
+
| `--xtend-layout-content-max` | Code-Maximalbreite |
|
|
107
|
+
|
|
108
|
+
## ECH-WP-07 Fremdtheme
|
|
109
|
+
|
|
110
|
+
```css
|
|
111
|
+
[data-xtend-layout-theme="enterprise-foreign"] x-code {
|
|
112
|
+
--xtend-layout-surface: #151b19;
|
|
113
|
+
--xtend-layout-text: #f7f1e7;
|
|
114
|
+
--xtend-layout-border-color: rgba(247, 241, 231, 0.18);
|
|
115
|
+
--xtend-layout-radius: 0.35rem;
|
|
116
|
+
--xtend-layout-elevation: 0 16px 40px rgba(21, 27, 25, 0.22);
|
|
117
|
+
--xtend-layout-spacing: 1.25rem 1.4rem;
|
|
118
|
+
--xtend-layout-gap: 0.75rem;
|
|
119
|
+
--xtend-layout-font-family: "Cascadia Code", "Fira Mono", monospace;
|
|
120
|
+
--xtend-layout-font-size: 0.95rem;
|
|
121
|
+
--xtend-layout-media-radius: 999px;
|
|
122
|
+
--xtend-layout-focus-ring: 3px solid #d48b57;
|
|
123
|
+
--xtend-layout-grid-min: minmax(0, 1fr);
|
|
124
|
+
--xtend-layout-content-max: 68rem;
|
|
125
|
+
}
|
|
126
|
+
```
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# xdialog - XTend Komponente
|
|
2
|
+
|
|
3
|
+
## Uebersicht
|
|
4
|
+
|
|
5
|
+
`<x-dialog>` ist die state-getriebene Dialog-Komponente fuer XTend. Sie verbindet Attributsteuerung, `xstate`-Open-Flags und den aggregierten `ui.dialogs`-State zu einem gemeinsamen Overlay-Contract.
|
|
6
|
+
|
|
7
|
+
## Verwendung
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<x-dialog overlay title="Beispieldialog" width="400px">
|
|
11
|
+
<p>Inhalt</p>
|
|
12
|
+
<div slot="actions">
|
|
13
|
+
<button onclick="this.closest('x-dialog').close()">Schliessen</button>
|
|
14
|
+
</div>
|
|
15
|
+
</x-dialog>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Attribute
|
|
19
|
+
|
|
20
|
+
| Attribut | Typ | Beschreibung |
|
|
21
|
+
|----------|-----|--------------|
|
|
22
|
+
| `open` | boolean | Dialog ist geoeffnet |
|
|
23
|
+
| `overlay` | boolean | zeigt einen Overlay-Hintergrund |
|
|
24
|
+
| `title` | string | Titelzeile des Dialogs |
|
|
25
|
+
| `width` | string | Zielbreite des Dialogs |
|
|
26
|
+
| `height` | string | Zielhoehe des Dialogs |
|
|
27
|
+
|
|
28
|
+
## Slots
|
|
29
|
+
|
|
30
|
+
| Slot | Beschreibung |
|
|
31
|
+
|------|--------------|
|
|
32
|
+
| default | Hauptinhalt des Dialogs |
|
|
33
|
+
| `actions` | Aktionen im Footer |
|
|
34
|
+
|
|
35
|
+
## Events
|
|
36
|
+
|
|
37
|
+
| Event | Beschreibung |
|
|
38
|
+
|-------|--------------|
|
|
39
|
+
| `dialog-opened` | nach erfolgreichem Oeffnen |
|
|
40
|
+
| `dialog-closed` | nach erfolgreichem Schliessen |
|
|
41
|
+
|
|
42
|
+
Die Events liefern:
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
{
|
|
46
|
+
id: 'dialog-abc123',
|
|
47
|
+
open: false,
|
|
48
|
+
source: 'button'
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## API
|
|
53
|
+
|
|
54
|
+
- `element.open()`
|
|
55
|
+
- `element.close()`
|
|
56
|
+
|
|
57
|
+
API- und XState-gesteuerte Dialoge verwenden dieselben Open-Flags:
|
|
58
|
+
|
|
59
|
+
- `xtend.component.x-dialog.<id>.open`
|
|
60
|
+
- `dialog-open-<id>`
|
|
61
|
+
- `xdialog-open-<id>`
|
|
62
|
+
|
|
63
|
+
## Runtime-Contract
|
|
64
|
+
|
|
65
|
+
- API-gemanagte Dialoge lesen Titel, Inhalt und Aktionen aus `xstate.get('ui').dialogs`
|
|
66
|
+
- Benutzerinteraktionen wie ESC, Overlay-Klick und Close-Button schreiben den Open-State zurueck
|
|
67
|
+
- API-gemanagte Dialoge entfernen sich nach dem Schliessen aus `ui.dialogs` und aus dem DOM
|
|
68
|
+
|
|
69
|
+
## Hinweise
|
|
70
|
+
|
|
71
|
+
- direkte DOM-Nutzung ueber Slots bleibt unterstuetzt
|
|
72
|
+
- fuer API-gemanagte Dialoge ist `window.XDialog.show()` der bevorzugte Einstieg
|
|
73
|
+
- Fokusfalle, Rueckfokus und ARIA-Rollen sind Teil des Standardverhaltens
|
|
74
|
+
|
|
75
|
+
## Overlay Interaction UX Profil
|
|
76
|
+
|
|
77
|
+
Seit `WP-E11-11` deklariert `<x-dialog>` das Runtime-Profil `xtend.component.overlay-interaction-ux-profile.v1` ueber `xtendOverlayInteractionUxProfile`.
|
|
78
|
+
|
|
79
|
+
| Feld | Wert |
|
|
80
|
+
|------|------|
|
|
81
|
+
| Family | `dialog` |
|
|
82
|
+
| State Key | `dialog-open-<id>` |
|
|
83
|
+
| Schedule | `overlay.stack.open` |
|
|
84
|
+
| Commands | `open`, `close`, `focus-trap`, `apply-inert`, `lock-scroll`, `snapshot` |
|
|
85
|
+
|
|
86
|
+
Das Profil standardisiert Focus Trap, Rueckfokus, Escape-Topmost-Regel, Background-Inert, balanced Scroll Lock und host-lokale Portal-Semantik. RMT kann den Dialog in Shell-first Templates planen, waehrend der RMT-Kernel durch `no-rmt-kernel-import-of-xtend-types` framework-agnostisch bleibt.
|
|
87
|
+
|
|
88
|
+
## ECH-WP-06 Overlay-Paritaet
|
|
89
|
+
|
|
90
|
+
`x-dialog` expose `surface`, `backdrop`, `close` und `content` als gemeinsame Overlay-Parts. `overlay` bleibt als Alias fuer `backdrop` erhalten. Surface, Text, Backdrop, Elevation, Radius, Z-Index, Action-Farben, Close-Flaeche und Focus Ring sind ueber `--xtend-overlay-*`, `--dialog-*` oder `--xdialog-*` Tokens ueberschreibbar.
|
|
91
|
+
|
|
92
|
+
`x-dialog` ist modal: Focus Trap, Background-Inert, Scroll Lock, Escape und Rueckfokus bleiben im Standardpfad aktiv. Dialoge ohne `overlay` behalten die Surface-Parts, verzichten aber auf den visuellen Backdrop.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# xdrawer - XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xpopover](./xpopover.md), [xtooltip](./xtooltip.md), [xrouter](./xrouter.md), [xlink](./xlink.md)
|
|
4
|
+
|
|
5
|
+
## Uebersicht
|
|
6
|
+
|
|
7
|
+
`<x-drawer>` ist die Shell- und Navigationskomponente aus `WP-E10-11`. Sie liefert Side Panels und Navigation Drawer fuer RMT-first Apps, unterstuetzt Focus Trap, Escape Close, Outside Click und optional route-aware Verhalten.
|
|
8
|
+
|
|
9
|
+
## Verwendung
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<x-drawer id="app-nav" placement="left" modal label="App navigation" route-aware>
|
|
13
|
+
<button slot="trigger" type="button">Open navigation</button>
|
|
14
|
+
<strong slot="header">Navigation</strong>
|
|
15
|
+
<a href="#/overview">Overview</a>
|
|
16
|
+
<small slot="footer">Signed in</small>
|
|
17
|
+
</x-drawer>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Attribute
|
|
21
|
+
|
|
22
|
+
| Attribut | Typ | Beschreibung |
|
|
23
|
+
|----------|-----|--------------|
|
|
24
|
+
| `open` | Boolean | oeffnet den Drawer kontrolliert |
|
|
25
|
+
| `placement` | String | `left`, `right` oder `bottom` |
|
|
26
|
+
| `modal` | Boolean | aktiviert Focus Trap und `aria-modal` |
|
|
27
|
+
| `label` | String | zugaenglicher Name fuer den Drawer |
|
|
28
|
+
| `route-aware` | Boolean | schliesst nach XRouter-Routenwechseln und emittiert Routensignal |
|
|
29
|
+
|
|
30
|
+
## Events
|
|
31
|
+
|
|
32
|
+
| Event | Detail |
|
|
33
|
+
|-------|--------|
|
|
34
|
+
| `drawer-opened` | `{ id, open, source, placement, modal }` |
|
|
35
|
+
| `drawer-closed` | `{ id, open, source, placement, modal }` |
|
|
36
|
+
| `drawer-route-selected` | `{ id, routeRef, source: 'x-router' }` |
|
|
37
|
+
|
|
38
|
+
## API
|
|
39
|
+
|
|
40
|
+
- `openDrawer()`
|
|
41
|
+
- `closeDrawer()`
|
|
42
|
+
- `toggle()`
|
|
43
|
+
|
|
44
|
+
## Theme und Tokens
|
|
45
|
+
|
|
46
|
+
`<x-drawer>` synchronisiert `data-theme` vom `document.documentElement` und nutzt automatisch die globalen XTend-Tokens aus `x-theme`. Ohne eigene Drawer-Tokens fallen Hintergrund, Text, Border und Overlay auf `--xtend-surface`, `--xtend-text`, `--xtend-border-color` und `--xtend-overlay-bg` zurueck. Dadurch bleiben Navigation Drawer in Bright Mode und Dark Mode lesbar, auch wenn eine App Shell keine eigenen Drawer-Farben setzt.
|
|
47
|
+
|
|
48
|
+
| Token | Zweck |
|
|
49
|
+
|-------|-------|
|
|
50
|
+
| `--drawer-bg` / `--drawer-bg-dark` | Surface-Hintergrund |
|
|
51
|
+
| `--drawer-color` / `--drawer-color-dark` | Textfarbe |
|
|
52
|
+
| `--drawer-border` / `--drawer-border-dark` | Rahmen und Trenner |
|
|
53
|
+
| `--drawer-overlay-bg` / `--drawer-overlay-bg-dark` | Backdrop-Farbe |
|
|
54
|
+
| `--drawer-focus` | Focus-Ring |
|
|
55
|
+
| `--drawer-close-size` | Groesse des Close-Icon-Buttons |
|
|
56
|
+
| `--drawer-close-border` / `--drawer-close-color` | Rahmen und Icon-Farbe des Close-Buttons |
|
|
57
|
+
| `--drawer-close-hover-bg` / `--drawer-close-hover-bg-dark` | Hover-Flaeche des Close-Buttons |
|
|
58
|
+
|
|
59
|
+
## State, RMT und Fabric
|
|
60
|
+
|
|
61
|
+
`<x-drawer>` schreibt nach `xdrawer-open-<id>`. Der RMT Contract ist `xtend.rmt.component-contract.v1` und nutzt `component.lazy.hydrate`, `route.visible.render` und `overlay.drawer.transition`. Der Kernel Boundary bleibt `no-rmt-kernel-import-of-xtend-types`.
|
|
62
|
+
|
|
63
|
+
## A11y und Performance
|
|
64
|
+
|
|
65
|
+
Die Komponente nutzt `role="dialog"`, `aria-modal`, `aria-hidden`, `aria-expanded`, `inert`, Focus Trap und Focus Return. Beim Schliessen wird Fokus zuerst auf den Trigger oder das zuletzt aktive Element zurueckgegeben, bevor die Drawer-Surface vor Assistive Technology verborgen wird. Das Screenreader-Signal `route-change-announcement` ist fuer App-Shell-Navigation vorgesehen. Das Performance-Profil ist `xtend.performance.component-profile.v1` mit `budgetClass: 'overlay-large'`, `lane: 'visible'` und `hydrationPolicy: 'lazy'`.
|
|
66
|
+
|
|
67
|
+
## Overlay Interaction UX Profil
|
|
68
|
+
|
|
69
|
+
Seit `WP-E11-11` deklariert `<x-drawer>` das Runtime-Profil `xtend.component.overlay-interaction-ux-profile.v1` ueber `xtendOverlayInteractionUxProfile`.
|
|
70
|
+
|
|
71
|
+
| Feld | Wert |
|
|
72
|
+
|------|------|
|
|
73
|
+
| Family | `drawer` |
|
|
74
|
+
| State Key | `xdrawer-open-<id>` |
|
|
75
|
+
| Schedule | `overlay.stack.open` |
|
|
76
|
+
| Commands | `open`, `close`, `toggle`, `focus-trap`, `apply-inert`, `lock-scroll`, `snapshot` |
|
|
77
|
+
|
|
78
|
+
Das Profil beschreibt Drawer als route-aware Overlay: modal optional, Focus Trap nur bei modalem Betrieb, Escape schliesst das oberste Overlay und XRouter-Routenwechsel duerfen den Drawer kontrolliert schliessen.
|
|
79
|
+
|
|
80
|
+
## ECH-WP-06 Overlay-Paritaet
|
|
81
|
+
|
|
82
|
+
`x-drawer` nutzt die gemeinsamen Overlay-Part-Aliase `surface`, `backdrop`, `close` und `content`. `overlay` bleibt als Legacy-Alias fuer `backdrop` erhalten. Host-Themes koennen Surface, Text, Border, Elevation, Backdrop, Z-Index und Focus Ring ueber `--xtend-overlay-*` oder die kompatiblen `--drawer-*` Tokens steuern.
|
|
83
|
+
|
|
84
|
+
Modalitaet ist optional: `modal` aktiviert Focus Trap, Background-Inert und Scroll Lock; nicht-modale Drawer bleiben fuer App-Shell-Navigation offen steuerbar.
|