@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,126 @@
|
|
|
1
|
+
# xfooter – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xheader](./xheader.md), [xtheme](./xtheme.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-footer>` ist eine anpassbare Footer-Komponente mit Logo, Sticky-Option und State-Integration. Sie eignet sich für Branding und Navigation am Seitenende.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Optionales Logo (src-Attribut)
|
|
13
|
+
- Sticky-Funktion (bleibt am unteren Rand)
|
|
14
|
+
- State-Integration via xstate
|
|
15
|
+
- Theming via CSS Custom Properties
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Verwendung
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<x-footer src="logo.svg" logo-size="48" sticky></x-footer>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Attribute
|
|
28
|
+
| Attribut | Typ | Beschreibung |
|
|
29
|
+
|-------------|---------|-------------------------------------|
|
|
30
|
+
| `src` | String | Logo-URL |
|
|
31
|
+
| `logo-size` | String | Größe des Logos (z.B. 48, 64px) |
|
|
32
|
+
| `sticky` | Boolean | Footer bleibt am unteren Rand |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Events
|
|
37
|
+
| Event | Beschreibung |
|
|
38
|
+
|---------------|-------------------------------------|
|
|
39
|
+
| – | – |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## API
|
|
44
|
+
- **Logo dynamisch setzen:** `element.setAttribute('src', 'logo.svg')`
|
|
45
|
+
- **Sticky aktivieren:** `element.setAttribute('sticky', '')`
|
|
46
|
+
- **State-Integration:** Automatisch via xstate
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Beispiel: Dynamisch per JS
|
|
51
|
+
|
|
52
|
+
```js
|
|
53
|
+
const footer = document.createElement('x-footer');
|
|
54
|
+
footer.setAttribute('src', 'logo.svg');
|
|
55
|
+
document.body.appendChild(footer);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Styling & Theming
|
|
61
|
+
|
|
62
|
+
```css
|
|
63
|
+
x-footer {
|
|
64
|
+
--header-bg: #222;
|
|
65
|
+
--header-fg: #fff;
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Accessibility
|
|
72
|
+
- Semantisches HTML, ARIA
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
77
|
+
|
|
78
|
+
## Layout Display Media UX Profil
|
|
79
|
+
|
|
80
|
+
`x-footer` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente kann als RMT Shell Footer sichtbar gemountet werden und nutzt den State-Key `xfooter-state-<id>`.
|
|
81
|
+
|
|
82
|
+
- Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
|
|
83
|
+
- Schedule: `component.visible.mount`
|
|
84
|
+
- Events: `footer-ready`, `theme-applied`, `logo-loaded`
|
|
85
|
+
- Snapshot: `snapshot()`
|
|
86
|
+
- CSS Parts: `root`, `title`, `logo`, `nav`, `extra`
|
|
87
|
+
|
|
88
|
+
## ECH-WP-07 Token-Tabelle und signatureDesign
|
|
89
|
+
|
|
90
|
+
`signatureDesign`: Ruhiger Enterprise-Footer mit praeziser Navigation, logo-sicherem Medienbereich und dezenter Signature-Tiefe. Das Default-Design bleibt hochwertig, laesst sich aber durch Corporate-Themes vollstaendig ueberschreiben.
|
|
91
|
+
|
|
92
|
+
| Token | Zweck |
|
|
93
|
+
| --- | --- |
|
|
94
|
+
| `--xtend-layout-surface` | Footer-Flaeche |
|
|
95
|
+
| `--xtend-layout-text` | Text- und Linkfarbe |
|
|
96
|
+
| `--xtend-layout-border-color` | Footer- und Linkkante |
|
|
97
|
+
| `--xtend-layout-radius` | Footer- und Linkradius |
|
|
98
|
+
| `--xtend-layout-elevation` | Footer-Schatten |
|
|
99
|
+
| `--xtend-layout-spacing` | Footer-Padding |
|
|
100
|
+
| `--xtend-layout-gap` | Titel-, Nav- und Inhaltsabstand |
|
|
101
|
+
| `--xtend-layout-font-family` | Footer-Typografie |
|
|
102
|
+
| `--xtend-layout-font-size` | Footer-Schriftgroesse |
|
|
103
|
+
| `--xtend-layout-media-radius` | Logo-Radius |
|
|
104
|
+
| `--xtend-layout-focus-ring` | Link-Fokus |
|
|
105
|
+
| `--xtend-layout-grid-min` | Responsive Footer-Zellbreite |
|
|
106
|
+
| `--xtend-layout-content-max` | Footer-Maximalbreite |
|
|
107
|
+
|
|
108
|
+
## ECH-WP-07 Fremdtheme
|
|
109
|
+
|
|
110
|
+
```css
|
|
111
|
+
[data-xtend-layout-theme="enterprise-foreign"] x-footer {
|
|
112
|
+
--xtend-layout-surface: #f8f4ef;
|
|
113
|
+
--xtend-layout-text: #1e2420;
|
|
114
|
+
--xtend-layout-border-color: rgba(30, 36, 32, 0.2);
|
|
115
|
+
--xtend-layout-radius: 0.25rem;
|
|
116
|
+
--xtend-layout-elevation: 0 8px 24px rgba(30, 36, 32, 0.1);
|
|
117
|
+
--xtend-layout-spacing: 1.15rem;
|
|
118
|
+
--xtend-layout-gap: 0.85rem;
|
|
119
|
+
--xtend-layout-font-family: "Aptos", "Segoe UI", sans-serif;
|
|
120
|
+
--xtend-layout-font-size: 0.95rem;
|
|
121
|
+
--xtend-layout-media-radius: 0.15rem;
|
|
122
|
+
--xtend-layout-focus-ring: 3px solid #8f4f2a;
|
|
123
|
+
--xtend-layout-grid-min: minmax(11rem, 1fr);
|
|
124
|
+
--xtend-layout-content-max: 72rem;
|
|
125
|
+
}
|
|
126
|
+
```
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# xform – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xinput](./xinput.md), [xselect](./xselect.md), [xcheckbox](./xcheckbox.md), [xradio](./xradio.md), [xtextarea](./xtextarea.md), [xcalendar](./xcalendar.md), [xstate](./xstate.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-form>` ist eine flexible Formular-Komponente, die beliebige Inhalte kapselt und State-Integration sowie Theming unterstützt.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Flexibles Layout für Formulare
|
|
13
|
+
- Slot für beliebige Inhalte
|
|
14
|
+
- State-Integration via xstate
|
|
15
|
+
- Aggregation von `x-input`, `x-slider`, `x-calendar`, `x-select`, `x-checkbox`, `x-radio` und `x-textarea`
|
|
16
|
+
- Theming via CSS Custom Properties
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Verwendung
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<x-form>
|
|
24
|
+
<input type="text" />
|
|
25
|
+
<x-button>Absenden</x-button>
|
|
26
|
+
</x-form>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Attribute
|
|
32
|
+
| Attribut | Typ | Beschreibung |
|
|
33
|
+
|-------------|---------|-------------------------------------|
|
|
34
|
+
| – | – | – |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Events
|
|
39
|
+
| Event | Beschreibung |
|
|
40
|
+
|---------------|-------------------------------------|
|
|
41
|
+
| `submit` | Wird beim Absenden ausgelöst |
|
|
42
|
+
| `invalid` | Wird bei fehlgeschlagener Kind-Validierung ausgelöst |
|
|
43
|
+
| `reset` | Wird nach Formular-Reset ausgelöst |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## API
|
|
48
|
+
- **Formular per JS absenden:** `element.submit()`
|
|
49
|
+
- **Formulardaten lesen:** `element.getFormData()`
|
|
50
|
+
- **State-Integration:** Automatisch via xstate
|
|
51
|
+
|
|
52
|
+
## State- und Validierungscontract ab ER-WP-33
|
|
53
|
+
|
|
54
|
+
`<x-form>` sammelt Werte aus `x-input`, `x-slider`, `x-calendar`, `x-select`, `x-checkbox`, `x-radio`, `x-textarea` und `x-writer`, spiegelt sie nach `xform-data-<id>` und aktualisiert diesen Key bei `input-changed`, `select-changed`, `checkbox-changed`, `radio-changed`, `textarea-changed`, `date-select` und `writer:change`. Checkboxen liefern Boolean-Werte, Radio-Gruppen liefern den Wert des aktivierten Controls. Der Shadow DOM enthaelt `role="form"`, eine `role="status"` Region fuer Submit/Reset-Rueckmeldungen und eine `role="alert"` Region fuer Validierungsfehler.
|
|
55
|
+
|
|
56
|
+
## Form Controls UX ab WP-E11-08
|
|
57
|
+
|
|
58
|
+
`<x-form>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil beschreibt den Form Host, `submit`, `invalid`, `reset`, `xform-data-<id>`, Validation Aggregation, Fabric-Lane `user-blocking` und RMT Shell Authoring.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Beispiel: Dynamisch per JS
|
|
63
|
+
|
|
64
|
+
```js
|
|
65
|
+
const form = document.createElement('x-form');
|
|
66
|
+
form.innerHTML = '<input type="text" />';
|
|
67
|
+
document.body.appendChild(form);
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Styling & Theming
|
|
73
|
+
|
|
74
|
+
```css
|
|
75
|
+
x-form {
|
|
76
|
+
--form-gap: 2em;
|
|
77
|
+
--form-border: 2px solid #007bff;
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Accessibility
|
|
84
|
+
- Semantisches HTML, ARIA
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
89
|
+
|
|
90
|
+
## ECH-WP-08 Form Theme/A11y Hardening
|
|
91
|
+
|
|
92
|
+
`signatureDesign`: Enterprise-Formhost mit hochwertiger Surface-Komposition, aggregierten Statusregionen und density-sicherem Rhythmus fuer verschachtelte Controls.
|
|
93
|
+
|
|
94
|
+
| Token | Zweck |
|
|
95
|
+
| --- | --- |
|
|
96
|
+
| `--xtend-form-text` | Form-Textfarbe |
|
|
97
|
+
| `--xtend-form-surface` | Form-Flaeche |
|
|
98
|
+
| `--xtend-form-control-surface` | Child-Control-Flaeche |
|
|
99
|
+
| `--xtend-form-control-text` | Child-Control-Text |
|
|
100
|
+
| `--xtend-form-label-text` | Label-Cascade |
|
|
101
|
+
| `--xtend-form-helper-text` | Helper-Cascade |
|
|
102
|
+
| `--xtend-form-error-text` | Error-Cascade |
|
|
103
|
+
| `--xtend-form-error-surface` | Error-Cascade-Flaeche |
|
|
104
|
+
| `--xtend-form-error-border` | Form- und Error-Kante |
|
|
105
|
+
| `--xtend-form-focus-ring` | Focus-Cascade |
|
|
106
|
+
| `--xtend-form-radius` | Form- und Control-Radius |
|
|
107
|
+
| `--xtend-form-gap` | Form- und Control-Abstand |
|
|
108
|
+
| `--xtend-form-font-family` | Form-Typografie |
|
|
109
|
+
| `--xtend-form-control-font-size` | Control-Schrift |
|
|
110
|
+
| `--xtend-form-helper-font-size` | Helper-/Error-Schrift fuer Child Controls |
|
|
111
|
+
| `--xtend-form-icon-color` | Child-Control-Icon-Akzent |
|
|
112
|
+
|
|
113
|
+
Density-Profile: `comfortable`, `compact`, `dense`. `busy`, `disabled` und Invalid werden am Formhost als Flaechenzustand und via ARIA gespiegelt.
|
|
114
|
+
|
|
115
|
+
```css
|
|
116
|
+
[data-xtend-form-theme="enterprise-foreign"] x-form {
|
|
117
|
+
--xtend-form-surface: #fffaf2;
|
|
118
|
+
--xtend-form-control-surface: #fbf8f2;
|
|
119
|
+
--xtend-form-text: #16231f;
|
|
120
|
+
--xtend-form-label-text: #22312c;
|
|
121
|
+
--xtend-form-helper-text: #596861;
|
|
122
|
+
--xtend-form-error-text: #7d231c;
|
|
123
|
+
--xtend-form-error-border: #a64036;
|
|
124
|
+
--xtend-form-focus-ring: 3px solid #8f4f2a;
|
|
125
|
+
--xtend-form-radius: 0.45rem;
|
|
126
|
+
--xtend-form-gap: 0.8rem;
|
|
127
|
+
}
|
|
128
|
+
```
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
# xheader – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xfooter](./xfooter.md), [xtheme](./xtheme.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-header>` ist eine vielseitige, barrierearme Header-Komponente für Branding, Navigation und flexible Layouts. Sie unterstützt Logo, Titel, Search-, Actions-/Utility- und Navigationsslots, Theming, State-Integration und mehrere Menu Presentation Modes für Enterprise App-Shells.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Optionales Logo (src-Attribut)
|
|
13
|
+
- Slot-System für Titel, Suche, Actions, Legacy-Utility und Navigation
|
|
14
|
+
- Sticky-Header
|
|
15
|
+
- State-Integration via xstate
|
|
16
|
+
- Theming via CSS Custom Properties (voll themefähig)
|
|
17
|
+
- **Responsives Verhalten:** Header-Inhalte laufen über ein Slot-Grid. Suche und Actions umbrechen auf kleinen Displays kontrolliert, Navigation nutzt den konfigurierten Menu Presentation Mode.
|
|
18
|
+
- **Slot Alignment:** Brand, Actions und Menü-Trigger bleiben bei schmalen Viewports in einer festen Kopfzeile; Search liegt darunter und verhindert dadurch verschobene Action-Buttons.
|
|
19
|
+
- **Menu Presentation Modes:** `drawer`, `side-panel`, `popover`, `fullscreen` und `inline-main` decken Shell-, App- und Portal-Navigation ab.
|
|
20
|
+
- **Full-Width-Drawer:** Der Default `drawer` rendert weiterhin als fixed Overlay über die verfügbare Seitenbreite und verlängert den Dokument-Scrollbereich nicht.
|
|
21
|
+
- **Overflow-sichere Navigation:** Direkte `x-link`-Einträge und komplexe `[data-menu-shell]`-Menüs bleiben im Menü-Surface innerhalb ihrer Container.
|
|
22
|
+
- **Burger-Menü:** Animierter Button, Farbe per Theme steuerbar
|
|
23
|
+
- **Barrierefreiheit:** Landmark-Rollen, ARIA, Keyboard-Navigation, Fokus-Management
|
|
24
|
+
- **Events:** Menü geöffnet/geschlossen, Logo geladen
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Verwendung
|
|
29
|
+
|
|
30
|
+
```html
|
|
31
|
+
<x-header src="logo.svg" logo-size="40">
|
|
32
|
+
<span slot="title">Meine App</span>
|
|
33
|
+
<x-form slot="search">...</x-form>
|
|
34
|
+
<button slot="actions">Theme</button>
|
|
35
|
+
<x-link slot="nav" href="/docs">Docs</x-link>
|
|
36
|
+
</x-header>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Hinweis:** `utility` bleibt als kompatibler Alias erhalten. Neue Apps sollten `search` für Suche und `actions` für Buttons, Toggle oder Status verwenden.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Menu Presentation Modes
|
|
44
|
+
|
|
45
|
+
`menu-mode` steuert, wie die Navigation sichtbar wird. Ohne neues Attribut bleibt `drawer` aktiv und damit das bisherige Full-Width-Drawer-Verhalten kompatibel.
|
|
46
|
+
|
|
47
|
+
| Mode | Verhalten | A11y-Verhalten |
|
|
48
|
+
|------|-----------|----------------|
|
|
49
|
+
| `drawer` | Fixed Overlay unter dem Header, standardmäßig full-width | Navigation, Escape, Outside Click, Focus Return |
|
|
50
|
+
| `side-panel` | Seitliches Panel über `menu-placement="start"` oder `end` | optional modal per `menu-modal`, dann Focus Trap und Backdrop |
|
|
51
|
+
| `popover` | Kompaktes Menü nahe Trigger | nicht modal, Escape und Outside Click |
|
|
52
|
+
| `fullscreen` | Vollflächige Navigation | modal, Backdrop, Focus Trap, Escape und Focus Return |
|
|
53
|
+
| `inline-main` | Menü im Header-Dokumentfluss | keine Overlay-Falle, sauberer Navigation-Landmark |
|
|
54
|
+
|
|
55
|
+
```html
|
|
56
|
+
<x-header
|
|
57
|
+
menu-mode="side-panel"
|
|
58
|
+
menu-placement="end"
|
|
59
|
+
menu-modal
|
|
60
|
+
menu-width="min(32rem, 92vw)"
|
|
61
|
+
menu-max-height="calc(100dvh - 2rem)"
|
|
62
|
+
menu-align="stretch">
|
|
63
|
+
<span slot="title">Enterprise Shell</span>
|
|
64
|
+
<x-link slot="nav" href="/workbench">Workbench</x-link>
|
|
65
|
+
</x-header>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`menu-open` kann deklarativ gesetzt werden. Programmatisch bleibt `toggleMenu(true | false, { source })` die stabile API. `snapshot()` liefert `menuMode`, `menuPlacement`, `menuModal`, `menuBreakpoint`, `menuWidth`, `menuMaxHeight` und `menuAlign`; `drawerMode: 'fixed-full-width-overlay'` bleibt als Legacy-Alias erhalten.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Responsive Slot-Logik
|
|
73
|
+
- Desktop: Brand, Search, Actions und Menübutton stehen in einer stabilen Grid-Zeile.
|
|
74
|
+
- Tablet: Search belegt eine eigene Grid-Zeile, damit Eingabefelder nicht mit Actions clippen.
|
|
75
|
+
- Mobile: Brand, Actions und Menübutton bleiben in der ersten Zeile. Search belegt die zweite Zeile. Navigation nutzt den konfigurierten Menu Presentation Mode.
|
|
76
|
+
- Der Drawer wird als `fixed` Overlay positioniert. Dadurch bleibt die App-Shell stabil, und Route-Wechsel von geöffneter Navigation auf kurze Seiten erzeugen keine zusätzliche Dokumenthöhe.
|
|
77
|
+
- Slotted Navigation nutzt `max-width: 100%`, `min-width: 0`, `box-sizing: border-box` und `overflow-wrap: anywhere`, damit lange Menüpunkte nicht aus App-Shell-Containern herausragen.
|
|
78
|
+
- `header-layout-changed` wird emittiert, wenn der Header in den kompakten Zustand wechselt.
|
|
79
|
+
|
|
80
|
+
## Slot Alignment
|
|
81
|
+
|
|
82
|
+
`x-header` nutzt standardmäßig das Alignment `fixed-responsive-slot-grid`.
|
|
83
|
+
|
|
84
|
+
| Viewport | Slot-Mapping |
|
|
85
|
+
|----------|--------------|
|
|
86
|
+
| Desktop | `brand search actions trigger` |
|
|
87
|
+
| Tablet | `brand actions trigger` + `search search search` |
|
|
88
|
+
| Mobile | `brand actions trigger` + `search search search` |
|
|
89
|
+
|
|
90
|
+
Corporate Designs können dieses Mapping über CSS Custom Properties überschreiben, ohne die Komponente zu forken:
|
|
91
|
+
|
|
92
|
+
```css
|
|
93
|
+
x-header {
|
|
94
|
+
--header-slot-template-areas: "brand search actions trigger";
|
|
95
|
+
--header-tablet-slot-template-areas: "brand actions trigger" "search search search";
|
|
96
|
+
--header-mobile-slot-template-areas: "brand actions trigger" "search search search";
|
|
97
|
+
--header-mobile-actions-justify: flex-end;
|
|
98
|
+
--header-mobile-actions-wrap: nowrap;
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Slots
|
|
105
|
+
| Name | Beschreibung |
|
|
106
|
+
|-----------|----------------------------------------------|
|
|
107
|
+
| `title` | Bereich für den Titel/Branding |
|
|
108
|
+
| `search` | Suchformular oder Filter-Eingabe |
|
|
109
|
+
| `actions` | Buttons, Theme Toggle, Status-Aktionen |
|
|
110
|
+
| `utility` | Kompatibler Alias für Actions |
|
|
111
|
+
| `nav` | Navigationseinträge (Links, Menüs) |
|
|
112
|
+
| `logo` | Optional: eigenes Logo-Element |
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Attribute
|
|
117
|
+
| Attribut | Typ | Beschreibung |
|
|
118
|
+
|---------------|---------|-------------------------------------|
|
|
119
|
+
| `src` | String | Logo-URL |
|
|
120
|
+
| `logo-size` | String | Größe des Logos (z.B. 40, 64px) |
|
|
121
|
+
| `sticky` | Boolean | Header bleibt oben fixiert |
|
|
122
|
+
| `shadow` | Boolean | Schatten aktivieren |
|
|
123
|
+
| `menu-mode` | `drawer`, `side-panel`, `popover`, `fullscreen`, `inline-main` | Menu Presentation Mode |
|
|
124
|
+
| `menu-placement` | `start`, `end`, `top`, `bottom` | bevorzugte Position |
|
|
125
|
+
| `menu-modal` | Boolean | Modalität mit Backdrop und Focus Trap |
|
|
126
|
+
| `menu-open` | Boolean | Menü deklarativ öffnen |
|
|
127
|
+
| `menu-breakpoint` | String | Preset (`sm`, `md`, `lg`, `xl`) oder CSS Length |
|
|
128
|
+
| `menu-width` | String | Breite für Panel/Popover |
|
|
129
|
+
| `menu-max-height` | String | Höhenbegrenzung des Menü-Surfaces |
|
|
130
|
+
| `menu-align` | `start`, `center`, `end`, `stretch` | Ausrichtung im Menü-Surface |
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Events
|
|
135
|
+
| Event | Beschreibung |
|
|
136
|
+
|---------------|-------------------------------------|
|
|
137
|
+
| `header-layout-changed` | Wird bei responsive Layoutwechseln ausgelöst |
|
|
138
|
+
| `menu-before-open` | Cancelable Event vor dem Öffnen |
|
|
139
|
+
| `menu-before-close` | Cancelable Event vor dem Schließen |
|
|
140
|
+
| `menu-opened` | Wird mit Snapshot ausgelöst, wenn Menü öffnet |
|
|
141
|
+
| `menu-closed` | Wird mit Snapshot ausgelöst, wenn Menü schließt |
|
|
142
|
+
| `menu-mode-changed` | Wird bei Wechsel von `menu-mode` ausgelöst |
|
|
143
|
+
| `menu-placement-changed` | Wird bei Wechsel von `menu-placement` ausgelöst |
|
|
144
|
+
| `logo-loaded` | Wird ausgelöst, wenn Logo geladen |
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## API
|
|
149
|
+
- **Logo dynamisch setzen:** `element.setAttribute('src', 'logo.svg')`
|
|
150
|
+
- **Menü direkt steuern:** `header.toggleMenu(false, { source: 'router' })`
|
|
151
|
+
- **State-Integration:** Automatisch via xstate (`xheader-state-<id>`, z.B. Menü öffnen/schließen)
|
|
152
|
+
- **Menü programmatisch öffnen:**
|
|
153
|
+
```js
|
|
154
|
+
xstate.set('xheader-state-<id>', { menuOpen: true });
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Beispiel: Dynamisch per JS
|
|
160
|
+
|
|
161
|
+
```js
|
|
162
|
+
const header = document.createElement('x-header');
|
|
163
|
+
header.setAttribute('src', 'logo.svg');
|
|
164
|
+
document.body.appendChild(header);
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Styling & Theming
|
|
170
|
+
|
|
171
|
+
```css
|
|
172
|
+
x-header {
|
|
173
|
+
--xtend-header-surface: #fff;
|
|
174
|
+
--xtend-header-text: #222;
|
|
175
|
+
--xtend-header-border-color: #d9dde5;
|
|
176
|
+
--xtend-header-menu-surface: #fff;
|
|
177
|
+
--xtend-header-menu-width: min(30rem, 92vw);
|
|
178
|
+
--xtend-header-menu-max-height: min(72dvh, 820px);
|
|
179
|
+
--xtend-header-menu-backdrop: rgba(15, 23, 42, 0.45);
|
|
180
|
+
--header-bg: var(--xtend-header-surface);
|
|
181
|
+
--header-fg: var(--xtend-header-text);
|
|
182
|
+
--header-title-color: #222; /* Titel im Light Mode */
|
|
183
|
+
--burger-color: #222; /* Burger-Button-Striche im Light Mode */
|
|
184
|
+
--header-menu-bg: var(--xtend-header-menu-surface);
|
|
185
|
+
--header-mobile-slot-template-areas: "brand actions trigger" "search search search";
|
|
186
|
+
--header-drawer-inline-offset: 1rem;
|
|
187
|
+
--header-drawer-content-max: none;
|
|
188
|
+
}
|
|
189
|
+
x-header[theme="dark"] {
|
|
190
|
+
--header-bg: #222;
|
|
191
|
+
--header-fg: #fff;
|
|
192
|
+
--header-title-color: #fff; /* Titel im Dark Mode */
|
|
193
|
+
--burger-color: #fff; /* Burger-Button-Striche im Dark Mode */
|
|
194
|
+
}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Accessibility
|
|
200
|
+
- Semantisches HTML, Landmark-Rollen (`role="banner"`)
|
|
201
|
+
- ARIA-Attribute für Menü, Burger-Button, Navigation
|
|
202
|
+
- Keyboard-Navigation (Tab, Escape)
|
|
203
|
+
- Fokus-Management im Overlay; `fullscreen` und `menu-modal` nutzen Focus Trap, Backdrop und Focus Return
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Changelog
|
|
208
|
+
- **18.07.2025:** Modernisierung, Theme-Variablen für Titel und Burger, Events, Accessibility, API, Doku aktualisiert
|
|
209
|
+
- **bis 07/2025:** Diverse Bugfixes, Responsive-Verbesserungen
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
*Letzte Aktualisierung: 18. Juli 2025*
|
|
214
|
+
|
|
215
|
+
## Layout Display Media UX Profil
|
|
216
|
+
|
|
217
|
+
`x-header` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente ist als Docs-/App-Shell-Header RMT-schedulbar und nutzt den State-Key `xheader-state-<id>`.
|
|
218
|
+
|
|
219
|
+
- Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
|
|
220
|
+
- Schedule: `component.visible.mount`
|
|
221
|
+
- Events: `header-ready`, `menu-before-open`, `menu-before-close`, `menu-opened`, `menu-closed`, `menu-mode-changed`, `menu-placement-changed`
|
|
222
|
+
- Snapshot: `snapshot()`
|
|
223
|
+
- CSS Parts: `root`, `brand`, `title`, `logo`, `search`, `actions`, `utility`, `trigger`, `trigger-icon`, `menu`, `menu-surface`, `menu-content`, `nav`, `backdrop`
|
|
224
|
+
- Legacy CSS Parts: `drawer` und `drawer-surface` bleiben als Alias für `menu` und `menu-surface` erhalten.
|
|
225
|
+
|
|
226
|
+
## ECH-WP-07 Token-Tabelle und signatureDesign
|
|
227
|
+
|
|
228
|
+
`signatureDesign`: Praezise Enterprise App-Shell mit ruhiger Flaechenhierarchie, dichter Slot-Rhythmik, hochwertigem Menue-Surface und brand-neutraler Premium-Wirkung. Das Default-Design soll eigenstaendig wirken, ohne eine One-Brand-Optik zu erzwingen.
|
|
229
|
+
|
|
230
|
+
| Token | Zweck |
|
|
231
|
+
| --- | --- |
|
|
232
|
+
| `--xtend-layout-surface` | Shell- und Menueflaeche |
|
|
233
|
+
| `--xtend-layout-text` | Header-, Brand- und Navigationsfarbe |
|
|
234
|
+
| `--xtend-layout-border-color` | Header-, Trigger- und Menuekanten |
|
|
235
|
+
| `--xtend-layout-radius` | Header- und Menue-Radius |
|
|
236
|
+
| `--xtend-layout-elevation` | Header- und Menue-Schatten |
|
|
237
|
+
| `--xtend-layout-spacing` | Header-Padding |
|
|
238
|
+
| `--xtend-layout-gap` | Slot- und Menueabstand |
|
|
239
|
+
| `--xtend-layout-font-family` | Shell-Typografie |
|
|
240
|
+
| `--xtend-layout-font-size` | Brand-/Navigationstypografie |
|
|
241
|
+
| `--xtend-layout-media-radius` | Logo- und Medienradius |
|
|
242
|
+
| `--xtend-layout-focus-ring` | Tastaturfokus |
|
|
243
|
+
| `--xtend-layout-grid-min` | Slot-Grid-Untergrenze |
|
|
244
|
+
| `--xtend-layout-content-max` | Menuebreite und Content-Grenze |
|
|
245
|
+
|
|
246
|
+
## ECH-WP-07 Fremdtheme
|
|
247
|
+
|
|
248
|
+
```css
|
|
249
|
+
[data-xtend-layout-theme="enterprise-foreign"] x-header {
|
|
250
|
+
--xtend-layout-surface: #f6f2ea;
|
|
251
|
+
--xtend-layout-text: #17231f;
|
|
252
|
+
--xtend-layout-border-color: rgba(23, 35, 31, 0.22);
|
|
253
|
+
--xtend-layout-radius: 0.35rem;
|
|
254
|
+
--xtend-layout-elevation: 0 14px 34px rgba(23, 35, 31, 0.14);
|
|
255
|
+
--xtend-layout-spacing: 0.9rem;
|
|
256
|
+
--xtend-layout-gap: 0.7rem;
|
|
257
|
+
--xtend-layout-font-family: "Aptos", "Segoe UI", sans-serif;
|
|
258
|
+
--xtend-layout-font-size: 1rem;
|
|
259
|
+
--xtend-layout-media-radius: 0.2rem;
|
|
260
|
+
--xtend-layout-focus-ring: 3px solid #8f4f2a;
|
|
261
|
+
--xtend-layout-grid-min: minmax(0, 1fr);
|
|
262
|
+
--xtend-layout-content-max: 24rem;
|
|
263
|
+
}
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## ECH-WP-09 Token-Tabelle und Navigation States
|
|
267
|
+
|
|
268
|
+
`signatureDesign`: `x-header` verbindet eine hochwertige Enterprise-App-Shell mit sichtbar stabiler Navigation. Active/Current/Selected, Hover, Focus und Disabled gelten fuer slotted `nav`-Eintraege in `drawer`, `side-panel`, `popover`, `fullscreen` und `inline-main`.
|
|
269
|
+
|
|
270
|
+
| Token | Zweck |
|
|
271
|
+
| --- | --- |
|
|
272
|
+
| `--xtend-nav-surface` | Menue- und Nav-Surface |
|
|
273
|
+
| `--xtend-nav-text` | Nav-Text |
|
|
274
|
+
| `--xtend-nav-border-color` | Menue- und Nav-Kante |
|
|
275
|
+
| `--xtend-nav-radius` | Nav-Radius |
|
|
276
|
+
| `--xtend-nav-gap` | Abstand im Menue |
|
|
277
|
+
| `--xtend-nav-font-family` | Navigationstypografie |
|
|
278
|
+
| `--xtend-nav-font-size` | Navigationstextgroesse |
|
|
279
|
+
| `--xtend-nav-active-surface` | Active/Current/Selected Flaeche |
|
|
280
|
+
| `--xtend-nav-active-text` | Active/Current/Selected Text |
|
|
281
|
+
| `--xtend-nav-current-indicator` | nicht farb-only Current-Indikator |
|
|
282
|
+
| `--xtend-nav-hover-surface` | Hover-Flaeche |
|
|
283
|
+
| `--xtend-nav-focus-ring` | Tastaturfokus |
|
|
284
|
+
| `--xtend-nav-disabled-opacity` | Disabled-Dimmung |
|
|
285
|
+
|
|
286
|
+
## ECH-WP-09 Keyboard-Verhalten
|
|
287
|
+
|
|
288
|
+
Der Menue-Trigger ist ein Icon Control mit `part="trigger-icon control icon"`. Overlay-Modi unterstuetzen Escape, Outside Click, Focus Return und bei `menu-modal` Focus Trap. Slotted Navigation kann `aria-current="page"`, `aria-selected="true"`, `active`, `disabled` oder `aria-disabled="true"` tragen. Verschachtelte Navigation muss Disclosure Icons als Icon Controls, z.B. `part="disclosure-icon control icon"`, auszeichnen.
|
|
289
|
+
|
|
290
|
+
## ECH-WP-09 Fremdtheme
|
|
291
|
+
|
|
292
|
+
```css
|
|
293
|
+
[data-xtend-nav-theme="enterprise-foreign"] x-header {
|
|
294
|
+
--xtend-nav-surface: #f7f4ee;
|
|
295
|
+
--xtend-nav-text: #17231f;
|
|
296
|
+
--xtend-nav-border-color: rgba(23, 35, 31, 0.22);
|
|
297
|
+
--xtend-nav-radius: 0.35rem;
|
|
298
|
+
--xtend-nav-gap: 0.45rem;
|
|
299
|
+
--xtend-nav-font-family: "Aptos", "Segoe UI", sans-serif;
|
|
300
|
+
--xtend-nav-font-size: 0.98rem;
|
|
301
|
+
--xtend-nav-active-surface: #173f35;
|
|
302
|
+
--xtend-nav-active-text: #fffaf0;
|
|
303
|
+
--xtend-nav-current-indicator: #b56b35;
|
|
304
|
+
--xtend-nav-hover-surface: rgba(181, 107, 53, 0.14);
|
|
305
|
+
--xtend-nav-focus-ring: 3px solid #b56b35;
|
|
306
|
+
--xtend-nav-disabled-opacity: 0.44;
|
|
307
|
+
}
|
|
308
|
+
```
|