@ccslabs/xtend 0.1.0-rc.1 → 0.1.2
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 +2 -0
- package/README.md +4 -0
- package/catalog/component-catalog-coverage.js +2 -0
- package/catalog/epic13-package-export-lock.js +11 -1
- package/catalog/epic13-rmt-production-readiness.js +0 -1
- package/catalog/epic18-rmt-action-effect-runtime.d.ts +36 -0
- package/catalog/epic18-rmt-action-effect-runtime.js +249 -0
- package/catalog/epic18-rmt-app-platform-authoring.d.ts +39 -0
- package/catalog/epic18-rmt-app-platform-authoring.js +319 -0
- package/catalog/epic18-rmt-app-platform-fixture.d.ts +33 -0
- package/catalog/epic18-rmt-app-platform-fixture.js +221 -0
- package/catalog/epic18-rmt-app-platform-release-handoff.d.ts +30 -0
- package/catalog/epic18-rmt-app-platform-release-handoff.js +231 -0
- package/catalog/epic18-rmt-app-platform-tooling.d.ts +38 -0
- package/catalog/epic18-rmt-app-platform-tooling.js +242 -0
- package/catalog/epic18-rmt-component-template-primitives.d.ts +33 -0
- package/catalog/epic18-rmt-component-template-primitives.js +240 -0
- package/catalog/epic18-rmt-dom-descriptor-renderer.d.ts +35 -0
- package/catalog/epic18-rmt-dom-descriptor-renderer.js +232 -0
- package/catalog/epic18-rmt-event-routing-runtime.d.ts +35 -0
- package/catalog/epic18-rmt-event-routing-runtime.js +234 -0
- package/catalog/epic18-rmt-state-selector-runtime.d.ts +34 -0
- package/catalog/epic18-rmt-state-selector-runtime.js +216 -0
- package/catalog/epic18-rmt-surface-resource-graph-runtime.d.ts +36 -0
- package/catalog/epic18-rmt-surface-resource-graph-runtime.js +256 -0
- package/catalog/surface-manager-controller.js +5 -1
- package/catalog/surface-manager-materialization.js +7 -1
- package/catalog/surface-manager-overlay-bridge.js +41 -6
- package/catalog/surface-manager-workbench-fixture.js +1 -1
- package/catalog/surface-type-capability-matrix.d.ts +61 -0
- package/catalog/surface-type-capability-matrix.js +183 -0
- package/catalog/type-exports-rmt.js +37 -1
- package/catalog/type-exports.js +3 -3
- package/components/icon-packs/lucide.js +4 -0
- package/components/manifest.json +2 -0
- package/components/prism-rmt.d.ts +34 -0
- package/components/prism-rmt.js +130 -0
- package/components/xcards.js +15 -0
- package/components/xcode.d.ts +36 -1
- package/components/xcode.js +215 -20
- package/components/xfooter.js +17 -0
- package/components/xheader.js +14 -0
- package/components/xhero.js +16 -1
- package/components/xlink.js +97 -14
- package/components/xmasonry.js +15 -0
- package/components/xplayer.d.ts +44 -2
- package/components/xplayer.js +242 -15
- package/components/xrouter.js +27 -2
- package/components/xsection.js +15 -0
- package/components/xsidepanel.js +10 -2
- package/components/xsurfacemanager-controller.d.ts +2 -1
- package/components/xsurfacemanager-controller.js +27 -3
- package/components/xsurfacemanager.d.ts +2 -0
- package/components/xsurfacemanager.js +20 -8
- package/components/xsurfaceoverlay-bridge.d.ts +20 -5
- package/components/xsurfaceoverlay-bridge.js +114 -18
- package/components/xsurfaceportal.d.ts +29 -0
- package/components/xsurfaceportal.js +122 -0
- package/components/xsurfaceregion.d.ts +50 -0
- package/components/xsurfaceregion.js +285 -0
- package/components/xsurfacewindow.js +2 -1
- package/components/xtooltip.js +89 -23
- package/docs/README.md +222 -298
- package/docs/changelog.md +107 -0
- package/docs/component-catalog-coverage.md +9 -9
- package/docs/component-platform.md +19 -1
- package/docs/component-ux-app-authoring.md +56 -63
- package/docs/components/xcode.md +83 -53
- package/docs/components/xsurfaceportal.md +32 -0
- package/docs/components/xsurfaceregion.md +37 -0
- package/docs/components.md +105 -69
- package/docs/de/README.md +264 -0
- package/docs/de/XTend-ADR.md +221 -0
- package/docs/de/a11y-keyboard-smokes.md +62 -0
- package/docs/de/about.md +18 -0
- package/docs/de/api.md +157 -0
- package/docs/de/best-practices.md +76 -0
- package/docs/de/changelog.md +107 -0
- package/docs/de/component-catalog-coverage.md +58 -0
- package/docs/de/component-lab.md +103 -0
- package/docs/de/component-long-tail-migration.md +41 -0
- package/docs/de/component-platform.md +177 -0
- package/docs/de/component-ux-app-authoring.md +123 -0
- package/docs/de/component-ux-authoring.md +96 -0
- package/docs/de/component-ux-gates.md +45 -0
- package/docs/de/components/x-rmt-lifecycle-demo-build.md +60 -0
- package/docs/de/components/xalert.md +81 -0
- package/docs/de/components/xbutton.md +103 -0
- package/docs/de/components/xcalendar.md +82 -0
- package/docs/de/components/xcards.md +128 -0
- package/docs/de/components/xcheckbox.md +102 -0
- package/docs/de/components/xcode.md +156 -0
- package/docs/de/components/xdialog.md +92 -0
- package/docs/de/components/xdrawer.md +84 -0
- package/docs/de/components/xfooter.md +126 -0
- package/docs/de/components/xform.md +128 -0
- package/docs/de/components/xheader.md +308 -0
- package/docs/de/components/xhero.md +142 -0
- package/docs/de/components/xicon.md +125 -0
- package/docs/de/components/xinput.md +129 -0
- package/docs/de/components/xlightbox.md +98 -0
- package/docs/de/components/xlink.md +109 -0
- package/docs/de/components/xmasonry.md +124 -0
- package/docs/de/components/xmenu.md +158 -0
- package/docs/de/components/xmodal.md +82 -0
- package/docs/de/components/xplayer.md +104 -0
- package/docs/de/components/xpopover.md +67 -0
- package/docs/de/components/xprogress.md +56 -0
- package/docs/de/components/xradio.md +103 -0
- package/docs/de/components/xrouter.md +260 -0
- package/docs/de/components/xsection.md +125 -0
- package/docs/de/components/xselect.md +105 -0
- package/docs/de/components/xsidepanel.md +30 -0
- package/docs/de/components/xspinner.md +102 -0
- package/docs/de/components/xstate.md +148 -0
- package/docs/de/components/xstatus.md +55 -0
- package/docs/de/components/xsummary.md +78 -0
- package/docs/de/components/xsurfacemanager.md +27 -0
- package/docs/de/components/xsurfacewindow.md +21 -0
- package/docs/de/components/xtabs.md +160 -0
- package/docs/de/components/xtextarea.md +98 -0
- package/docs/de/components/xtheme.md +167 -0
- package/docs/de/components/xtoast.md +62 -0
- package/docs/de/components/xtooltip.md +66 -0
- package/docs/de/components/xtype.md +82 -0
- package/docs/de/components/xutils.md +144 -0
- package/docs/de/components/xwriter.md +94 -0
- package/docs/de/components.md +153 -0
- package/docs/de/conditional-network-evidence-ci.md +38 -0
- package/docs/de/conditional-network-evidence.md +50 -0
- package/docs/de/core-migration-guide.md +110 -0
- package/docs/de/design-tokens.md +116 -0
- package/docs/de/docs-rmt-production-hardening.md +31 -0
- package/docs/de/enterprise-adoption.md +413 -0
- package/docs/de/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/de/epic10-platform-gates.md +62 -0
- package/docs/de/epic10-release-handoff.md +81 -0
- package/docs/de/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/de/epic12-rc0-handoff.md +61 -0
- package/docs/de/epic18-media-manager-vendor-upstream.md +318 -0
- package/docs/de/epic18-rmt-app-platform-release-handoff.md +67 -0
- package/docs/de/epic18-vendor-bugfixes.md +34 -0
- package/docs/de/existing-component-metadata.md +67 -0
- package/docs/de/hydration-performance-closure.md +34 -0
- package/docs/de/hydration-policies.md +71 -0
- package/docs/de/known-residual-triage.md +22 -0
- package/docs/de/manifest-import-policy.md +79 -0
- package/docs/de/manifest.md +112 -0
- package/docs/de/motion-contrast.md +67 -0
- package/docs/de/package-export-lock.md +44 -0
- package/docs/de/performance-measurements.md +106 -0
- package/docs/de/performance-regression.md +89 -0
- package/docs/de/performance.md +94 -0
- package/docs/de/previews/README.md +17 -0
- package/docs/de/prod-browser-csp-smokes.md +40 -0
- package/docs/de/public-component-types.md +79 -0
- package/docs/de/quick-start-guide.md +220 -0
- package/docs/de/rc0-adoption-guide.md +102 -0
- package/docs/de/rc0-gate-matrix.md +58 -0
- package/docs/de/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/de/rc1-migration-notes.md +69 -0
- package/docs/de/rc1-readiness.md +46 -0
- package/docs/de/release-owner-acceptance.md +56 -0
- package/docs/de/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/de/rmt-action-effect-runtime.md +81 -0
- package/docs/de/rmt-app-platform-authoring.md +54 -0
- package/docs/de/rmt-app-platform-fixture.md +46 -0
- package/docs/de/rmt-app-platform-migration-guide.md +88 -0
- package/docs/de/rmt-app-platform-tooling.md +79 -0
- package/docs/de/rmt-component-template-primitives.md +57 -0
- package/docs/de/rmt-dom-descriptor-renderer.md +64 -0
- package/docs/de/rmt-dsl-authoring-polish.md +145 -0
- package/docs/de/rmt-event-routing-runtime.md +81 -0
- package/docs/de/rmt-first-demo-app.md +77 -0
- package/docs/de/rmt-first-xtend-apps.md +129 -0
- package/docs/de/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
- package/docs/de/rmt-kernel-security-hardening-migration.md +50 -0
- package/docs/de/rmt-kernel-trusted-output-authoring.md +69 -0
- package/docs/de/rmt-language-server.md +234 -0
- package/docs/de/rmt-lifecycle-demo.md +24 -0
- package/docs/de/rmt-linter.md +140 -0
- package/docs/de/rmt-node-ssr-adapter.md +100 -0
- package/docs/de/rmt-php-ssr-adapter.md +120 -0
- package/docs/de/rmt-production-readiness.md +63 -0
- package/docs/de/rmt-state-selector-runtime.md +47 -0
- package/docs/de/rmt-surface-resource-graph-runtime.md +92 -0
- package/docs/de/rmt-tooling-release-gates.md +77 -0
- package/docs/de/rmt-vnext-authoring.md +170 -0
- package/docs/de/rmt-vnext-component-primitives.md +188 -0
- package/docs/de/rmt-vnext-cross-surface-events.md +68 -0
- package/docs/de/rmt-vnext-enterprise-mfe-handoff.md +70 -0
- package/docs/de/rmt-vnext-fabric-bridge-evidence.md +81 -0
- package/docs/de/rmt-vnext-migration-notes.md +62 -0
- package/docs/de/rmt-vnext-primitive-authoring-tooling.md +247 -0
- package/docs/de/rmt-vnext-primitive-grammar-design.md +289 -0
- package/docs/de/rmt-vnext-primitive-lowering.md +108 -0
- package/docs/de/rmt-vnext-primitive-migration.md +119 -0
- package/docs/de/rmt-vnext-primitive-parser-ast.md +76 -0
- package/docs/de/rmt-vnext-primitive-semantic-graph.md +118 -0
- package/docs/de/rmt-vnext-primitives-compiler-backlog.md +739 -0
- package/docs/de/rmt-vnext-release-handoff.md +83 -0
- package/docs/de/rmt-vnext-remote-surfaces.md +90 -0
- package/docs/de/rmt-vnext-source-to-sea-gate.md +612 -0
- package/docs/de/rmt-vnext-surface-registry-enterprise.md +76 -0
- package/docs/de/screenreader-signals.md +56 -0
- package/docs/de/supply-chain-gates.md +100 -0
- package/docs/de/surface-manager-authoring-guide.md +94 -0
- package/docs/de/surface-manager-browser-lab.md +45 -0
- package/docs/de/surface-manager-component-lab.md +43 -0
- package/docs/de/surface-manager-controller.md +66 -0
- package/docs/de/surface-manager-layout-engines.md +32 -0
- package/docs/de/surface-manager-lazy-hydration.md +63 -0
- package/docs/de/surface-manager-migration-guide.md +122 -0
- package/docs/de/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/de/surface-manager-overlay-bridge.md +53 -0
- package/docs/de/surface-manager-persistence.md +30 -0
- package/docs/de/surface-manager-quality-gates.md +51 -0
- package/docs/de/surface-manager-release-handoff.md +68 -0
- package/docs/de/surface-manager-remote-policy.md +54 -0
- package/docs/de/surface-manager-rmt-authoring.md +102 -0
- package/docs/de/surface-manager-route-lifecycle.md +59 -0
- package/docs/de/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/de/surface-manager-side-panel-runtime.md +36 -0
- package/docs/de/surface-manager-stack-policy.md +39 -0
- package/docs/de/surface-manager-window-runtime.md +47 -0
- package/docs/de/surface-manager-workbench-fixture.md +43 -0
- package/docs/de/third-party-design-authoring.md +406 -0
- package/docs/de/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/de/trusted-dom-sanitizing.md +110 -0
- package/docs/de/type-exports.md +61 -0
- package/docs/de/typescript-components.md +63 -0
- package/docs/de/visual-browser-regression.md +83 -0
- package/docs/de/visual-owner-artifacts.md +46 -0
- package/docs/de/visual-snapshot-automation.md +87 -0
- package/docs/de/xtend-api-types.md +55 -0
- package/docs/de/xtend-builder-types.md +55 -0
- package/docs/de/xtend-catalog-types.md +44 -0
- package/docs/de/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/de/xtend-fabric.md +474 -0
- package/docs/de/xtend-loader-types.md +58 -0
- package/docs/de/xtend-loader.md +265 -0
- package/docs/de/xtend-policy-types.md +38 -0
- package/docs/de/xtend-rmt-types.md +40 -0
- package/docs/de/xtend-vendor-types.md +36 -0
- package/docs/de/xtendrmt-app-dsl.md +334 -0
- package/docs/de/xtendrmt-migration-guide.md +266 -0
- package/docs/de/xtendrmt-native-authoring.md +333 -0
- package/docs/de/xtendrmt-overview.md +109 -0
- package/docs/de/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/de/xtendrmt-runtime-bridge.md +155 -0
- package/docs/en/README.md +163 -0
- package/docs/en/XTend-ADR.md +221 -0
- package/docs/en/a11y-keyboard-smokes.md +68 -0
- package/docs/en/about.md +25 -0
- package/docs/en/api.md +171 -0
- package/docs/en/best-practices.md +125 -0
- package/docs/en/changelog.md +104 -0
- package/docs/en/component-catalog-coverage.md +104 -0
- package/docs/en/component-lab.md +103 -0
- package/docs/en/component-long-tail-migration.md +41 -0
- package/docs/en/component-platform.md +243 -0
- package/docs/en/component-ux-app-authoring.md +118 -0
- package/docs/en/component-ux-authoring.md +96 -0
- package/docs/en/component-ux-gates.md +45 -0
- package/docs/en/components/x-rmt-lifecycle-demo-build.md +75 -0
- package/docs/en/components/xalert.md +94 -0
- package/docs/en/components/xbutton.md +118 -0
- package/docs/en/components/xcalendar.md +95 -0
- package/docs/en/components/xcards.md +139 -0
- package/docs/en/components/xcheckbox.md +118 -0
- package/docs/en/components/xcode.md +153 -0
- package/docs/en/components/xdialog.md +108 -0
- package/docs/en/components/xdrawer.md +110 -0
- package/docs/en/components/xfooter.md +138 -0
- package/docs/en/components/xform.md +147 -0
- package/docs/en/components/xheader.md +308 -0
- package/docs/en/components/xhero.md +157 -0
- package/docs/en/components/xicon.md +149 -0
- package/docs/en/components/xinput.md +147 -0
- package/docs/en/components/xlightbox.md +113 -0
- package/docs/en/components/xlink.md +130 -0
- package/docs/en/components/xmasonry.md +136 -0
- package/docs/en/components/xmenu.md +185 -0
- package/docs/en/components/xmodal.md +102 -0
- package/docs/en/components/xplayer.md +114 -0
- package/docs/en/components/xpopover.md +87 -0
- package/docs/en/components/xprogress.md +73 -0
- package/docs/en/components/xradio.md +119 -0
- package/docs/en/components/xrouter.md +260 -0
- package/docs/en/components/xsection.md +136 -0
- package/docs/en/components/xselect.md +122 -0
- package/docs/en/components/xsidepanel.md +48 -0
- package/docs/en/components/xspinner.md +118 -0
- package/docs/en/components/xstate.md +163 -0
- package/docs/en/components/xstatus.md +71 -0
- package/docs/en/components/xsummary.md +90 -0
- package/docs/en/components/xsurfacemanager.md +42 -0
- package/docs/en/components/xsurfacewindow.md +31 -0
- package/docs/en/components/xtabs.md +187 -0
- package/docs/en/components/xtextarea.md +115 -0
- package/docs/en/components/xtheme.md +203 -0
- package/docs/en/components/xtoast.md +78 -0
- package/docs/en/components/xtooltip.md +85 -0
- package/docs/en/components/xtype.md +91 -0
- package/docs/en/components/xutils.md +161 -0
- package/docs/en/components/xwriter.md +106 -0
- package/docs/en/components.md +151 -0
- package/docs/en/conditional-network-evidence-ci.md +38 -0
- package/docs/en/conditional-network-evidence.md +50 -0
- package/docs/en/core-migration-guide.md +110 -0
- package/docs/en/design-tokens.md +137 -0
- package/docs/en/docs-rmt-production-hardening.md +31 -0
- package/docs/en/enterprise-adoption.md +413 -0
- package/docs/en/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/en/epic10-platform-gates.md +62 -0
- package/docs/en/epic10-release-handoff.md +81 -0
- package/docs/en/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/en/epic12-rc0-handoff.md +61 -0
- package/docs/en/epic18-media-manager-vendor-upstream.md +232 -0
- package/docs/en/epic18-rmt-app-platform-release-handoff.md +60 -0
- package/docs/en/epic18-vendor-bugfixes.md +29 -0
- package/docs/en/existing-component-metadata.md +67 -0
- package/docs/en/hydration-performance-closure.md +34 -0
- package/docs/en/hydration-policies.md +75 -0
- package/docs/en/known-residual-triage.md +22 -0
- package/docs/en/manifest-import-policy.md +81 -0
- package/docs/en/manifest.md +135 -0
- package/docs/en/motion-contrast.md +67 -0
- package/docs/en/package-export-lock.md +44 -0
- package/docs/en/performance-measurements.md +106 -0
- package/docs/en/performance-regression.md +89 -0
- package/docs/en/performance.md +132 -0
- package/docs/en/previews/README.md +17 -0
- package/docs/en/prod-browser-csp-smokes.md +40 -0
- package/docs/en/public-component-types.md +79 -0
- package/docs/en/quick-start-guide.md +189 -0
- package/docs/en/rc0-adoption-guide.md +102 -0
- package/docs/en/rc0-gate-matrix.md +58 -0
- package/docs/en/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/en/rc1-migration-notes.md +69 -0
- package/docs/en/rc1-readiness.md +46 -0
- package/docs/en/release-owner-acceptance.md +56 -0
- package/docs/en/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/en/rmt-action-effect-runtime.md +101 -0
- package/docs/en/rmt-app-platform-authoring.md +47 -0
- package/docs/en/rmt-app-platform-fixture.md +35 -0
- package/docs/en/rmt-app-platform-migration-guide.md +75 -0
- package/docs/en/rmt-app-platform-tooling.md +58 -0
- package/docs/en/rmt-component-template-primitives.md +49 -0
- package/docs/en/rmt-dom-descriptor-renderer.md +54 -0
- package/docs/en/rmt-dsl-authoring-polish.md +143 -0
- package/docs/en/rmt-event-routing-runtime.md +98 -0
- package/docs/en/rmt-first-demo-app.md +87 -0
- package/docs/en/rmt-first-xtend-apps.md +127 -0
- package/docs/en/rmt-kernel-panic-recovery-incident-handoff.md +60 -0
- package/docs/en/rmt-kernel-security-hardening-migration.md +49 -0
- package/docs/en/rmt-kernel-trusted-output-authoring.md +68 -0
- package/docs/en/rmt-language-server.md +243 -0
- package/docs/en/rmt-lifecycle-demo.md +23 -0
- package/docs/en/rmt-linter.md +146 -0
- package/docs/en/rmt-node-ssr-adapter.md +99 -0
- package/docs/en/rmt-php-ssr-adapter.md +118 -0
- package/docs/en/rmt-production-readiness.md +63 -0
- package/docs/en/rmt-state-selector-runtime.md +34 -0
- package/docs/en/rmt-surface-resource-graph-runtime.md +68 -0
- package/docs/en/rmt-tooling-release-gates.md +77 -0
- package/docs/en/rmt-vnext-authoring.md +102 -0
- package/docs/en/rmt-vnext-component-primitives.md +185 -0
- package/docs/en/rmt-vnext-cross-surface-events.md +59 -0
- package/docs/en/rmt-vnext-enterprise-mfe-handoff.md +62 -0
- package/docs/en/rmt-vnext-fabric-bridge-evidence.md +64 -0
- package/docs/en/rmt-vnext-migration-notes.md +62 -0
- package/docs/en/rmt-vnext-primitive-authoring-tooling.md +174 -0
- package/docs/en/rmt-vnext-primitive-grammar-design.md +268 -0
- package/docs/en/rmt-vnext-primitive-lowering.md +91 -0
- package/docs/en/rmt-vnext-primitive-migration.md +93 -0
- package/docs/en/rmt-vnext-primitive-parser-ast.md +59 -0
- package/docs/en/rmt-vnext-primitive-semantic-graph.md +103 -0
- package/docs/en/rmt-vnext-primitives-compiler-backlog.md +327 -0
- package/docs/en/rmt-vnext-release-handoff.md +83 -0
- package/docs/en/rmt-vnext-remote-surfaces.md +81 -0
- package/docs/en/rmt-vnext-source-to-sea-gate.md +482 -0
- package/docs/en/rmt-vnext-surface-registry-enterprise.md +68 -0
- package/docs/en/screenreader-signals.md +56 -0
- package/docs/en/supply-chain-gates.md +106 -0
- package/docs/en/surface-manager-authoring-guide.md +94 -0
- package/docs/en/surface-manager-browser-lab.md +45 -0
- package/docs/en/surface-manager-component-lab.md +43 -0
- package/docs/en/surface-manager-controller.md +66 -0
- package/docs/en/surface-manager-layout-engines.md +32 -0
- package/docs/en/surface-manager-lazy-hydration.md +63 -0
- package/docs/en/surface-manager-migration-guide.md +113 -0
- package/docs/en/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/en/surface-manager-overlay-bridge.md +53 -0
- package/docs/en/surface-manager-persistence.md +30 -0
- package/docs/en/surface-manager-quality-gates.md +51 -0
- package/docs/en/surface-manager-release-handoff.md +68 -0
- package/docs/en/surface-manager-remote-policy.md +54 -0
- package/docs/en/surface-manager-rmt-authoring.md +89 -0
- package/docs/en/surface-manager-route-lifecycle.md +59 -0
- package/docs/en/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/en/surface-manager-side-panel-runtime.md +36 -0
- package/docs/en/surface-manager-stack-policy.md +39 -0
- package/docs/en/surface-manager-window-runtime.md +47 -0
- package/docs/en/surface-manager-workbench-fixture.md +43 -0
- package/docs/en/third-party-design-authoring.md +406 -0
- package/docs/en/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/en/trusted-dom-sanitizing.md +124 -0
- package/docs/en/type-exports.md +61 -0
- package/docs/en/typescript-components.md +63 -0
- package/docs/en/visual-browser-regression.md +83 -0
- package/docs/en/visual-owner-artifacts.md +46 -0
- package/docs/en/visual-snapshot-automation.md +87 -0
- package/docs/en/xtend-api-types.md +55 -0
- package/docs/en/xtend-builder-types.md +55 -0
- package/docs/en/xtend-catalog-types.md +44 -0
- package/docs/en/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/en/xtend-fabric.md +474 -0
- package/docs/en/xtend-loader-types.md +58 -0
- package/docs/en/xtend-loader.md +265 -0
- package/docs/en/xtend-policy-types.md +38 -0
- package/docs/en/xtend-rmt-types.md +40 -0
- package/docs/en/xtend-vendor-types.md +36 -0
- package/docs/en/xtendrmt-app-dsl.md +331 -0
- package/docs/en/xtendrmt-migration-guide.md +256 -0
- package/docs/en/xtendrmt-native-authoring.md +336 -0
- package/docs/en/xtendrmt-overview.md +63 -0
- package/docs/en/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/en/xtendrmt-runtime-bridge.md +155 -0
- package/docs/enterprise-adoption.md +4 -2
- package/docs/epic18-media-manager-vendor-upstream.md +318 -0
- package/docs/epic18-rmt-app-platform-release-handoff.md +67 -0
- package/docs/epic18-vendor-bugfixes.md +34 -0
- package/docs/index.php +1056 -109
- package/docs/manifest.md +8 -2
- package/docs/menu.json +986 -133
- package/docs/package-export-lock.md +2 -2
- package/docs/public-component-types.md +2 -2
- package/docs/quick-start-guide.md +126 -58
- package/docs/rmt-action-effect-runtime.md +101 -0
- package/docs/rmt-app-platform-authoring.md +54 -0
- package/docs/rmt-app-platform-fixture.md +46 -0
- package/docs/rmt-app-platform-migration-guide.md +88 -0
- package/docs/rmt-app-platform-tooling.md +79 -0
- package/docs/rmt-component-template-primitives.md +57 -0
- package/docs/rmt-dom-descriptor-renderer.md +64 -0
- package/docs/rmt-dsl-authoring-polish.md +67 -44
- package/docs/rmt-event-routing-runtime.md +98 -0
- package/docs/rmt-first-demo-app.md +2 -2
- package/docs/rmt-first-xtend-apps.md +70 -46
- package/docs/rmt-language-server.md +61 -4
- package/docs/rmt-lifecycle-demo.md +1 -2
- package/docs/rmt-node-ssr-adapter.md +144 -0
- package/docs/rmt-php-ssr-adapter.md +158 -0
- package/docs/rmt-state-selector-runtime.md +47 -0
- package/docs/rmt-surface-resource-graph-runtime.md +92 -0
- package/docs/rmt-vnext-authoring.md +128 -18
- package/docs/rmt-vnext-component-primitives.md +188 -0
- package/docs/rmt-vnext-fabric-bridge-evidence.md +81 -0
- package/docs/rmt-vnext-primitive-authoring-tooling.md +247 -0
- package/docs/rmt-vnext-primitive-grammar-design.md +289 -0
- package/docs/rmt-vnext-primitive-lowering.md +108 -0
- package/docs/rmt-vnext-primitive-migration.md +119 -0
- package/docs/rmt-vnext-primitive-parser-ast.md +76 -0
- package/docs/rmt-vnext-primitive-semantic-graph.md +118 -0
- package/docs/rmt-vnext-primitives-compiler-backlog.md +742 -0
- package/docs/rmt-vnext-release-handoff.md +14 -0
- package/docs/rmt-vnext-source-to-sea-gate.md +629 -0
- package/docs/surface-manager-migration-guide.md +34 -6
- package/docs/surface-manager-overlay-bridge.md +9 -4
- package/docs/surface-manager-rmt-authoring.md +50 -34
- package/docs/surface-manager-workbench-fixture.md +1 -2
- package/docs/third-party-design-authoring.md +1 -1
- package/docs/type-exports.md +3 -3
- package/docs/utils/pageloader.js +811 -62
- package/docs/visual-browser-regression.md +1 -1
- package/docs/xtend-rmt-types.md +3 -2
- package/docs/xtendrmt-app-dsl.md +187 -122
- package/docs/xtendrmt-docs-shell-vnext.rmt +165 -0
- package/docs/xtendrmt-migration-guide.md +48 -17
- package/docs/xtendrmt-native-authoring.md +213 -217
- package/docs/xtendrmt-overview.md +81 -61
- package/docs/xtendrmt-parsedown-scheduling.md +23 -8
- package/fabric/package.json +1 -1
- package/package.json +684 -21
- package/tools/package.json +5 -1
- package/tools/rmt-editor/vscode/README.md +72 -5
- package/tools/rmt-editor/vscode/XTend-Logo.png +0 -0
- package/tools/rmt-editor/vscode/extension.d.ts +33 -0
- package/tools/rmt-editor/vscode/extension.js +1816 -7
- package/tools/rmt-editor/vscode/language-configuration.json +2 -1
- package/tools/rmt-editor/vscode/package.json +193 -2
- package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +41 -0
- package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +103 -1
- package/tools/rmt-editor/vscode/templates/launch.json +70 -0
- package/tools/rmt-editor/vscode/templates/tasks.json +172 -0
- package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
- package/tools/rmt-language/app-platform-tooling.d.ts +128 -0
- package/tools/rmt-language/app-platform-tooling.js +677 -0
- package/tools/rmt-language/completions.d.ts +5 -0
- package/tools/rmt-language/completions.js +185 -3
- package/tools/rmt-language/diagnostics.js +54 -0
- package/tools/rmt-language/hover.js +36 -0
- package/tools/rmt-language/rmt-tooling-public-types.d.ts +7 -0
- package/tools/rmt-language/rules/app-platform-policy.js +39 -0
- package/tools/rmt-language/rules/index.js +5 -1
- package/tools/rmt-language/semantic-graph.d.ts +6 -0
- package/tools/rmt-language/semantic-graph.js +928 -0
- package/tools/rmt-language/snippets/index.js +44 -0
- package/tools/rmt-language/snippets/rmt.code-snippets +41 -0
- package/tools/rmt-language/vnext-compatibility.d.ts +10 -0
- package/tools/rmt-language/vnext-compatibility.js +642 -0
- package/tools/rmt-language/vnext-compiler.d.ts +5 -0
- package/tools/rmt-language/vnext-compiler.js +863 -17
- package/tools/rmt-language/vnext-parser.js +725 -9
- package/tools/rmt-language/vnext-release.d.ts +1 -0
- package/tools/rmt-language/vnext-release.js +20 -0
- package/tools/rmt-language/vnext-source-to-sea.d.ts +33 -0
- package/tools/rmt-language/vnext-source-to-sea.js +2227 -0
- package/tools/rmt-language/vnext-surfaces.js +111 -52
- package/tools/rmt-language/vnext-tooling.d.ts +19 -1
- package/tools/rmt-language/vnext-tooling.js +1247 -5
- package/tools/rmt-language-server/protocol.js +3 -0
- package/tools/rmt-language-server/server.d.ts +2 -0
- package/tools/rmt-language-server/server.js +176 -22
- package/tools/rmt-linter/cli.d.ts +2 -0
- package/tools/rmt-linter/cli.js +62 -0
- package/xtend-builder/generators/registry.js +11 -0
- package/xtend-builder/generators/rmt-app-platform.js +239 -0
- package/xtend-builder/generators/rmt-lifecycle-demo.js +3 -11
- package/xtend-builder/lib/cli.js +38 -0
- package/xtend-builder/package.json +3 -3
- package/xtend-builder/scaffold.config.js +29 -2
- package/xtend.css +49 -2
- package/xtendrmt/package.json +49 -1
- package/xtendrmt/rmt-action-effect-runtime.d.ts +126 -0
- package/xtendrmt/rmt-action-effect-runtime.js +494 -0
- package/xtendrmt/rmt-component-capability-registry.d.ts +180 -0
- package/xtendrmt/rmt-component-capability-registry.js +636 -0
- package/xtendrmt/rmt-core.d.ts +6 -0
- package/xtendrmt/rmt-core.esm.js +32 -6
- package/xtendrmt/rmt-dom-descriptor-renderer.d.ts +107 -0
- package/xtendrmt/rmt-dom-descriptor-renderer.js +1066 -0
- package/xtendrmt/rmt-event-routing-runtime.d.ts +144 -0
- package/xtendrmt/rmt-event-routing-runtime.js +666 -0
- package/xtendrmt/rmt-lifecycle-demo.app.js +2 -2
- package/xtendrmt/rmt-lifecycle-demo.core.json +4 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +1 -1
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +2 -2
- package/xtendrmt/rmt-lifecycle-demo.scaffold.json +4 -4
- package/xtendrmt/rmt-native-shell-runtime.d.ts +77 -0
- package/xtendrmt/rmt-native-shell-runtime.js +309 -0
- package/xtendrmt/rmt-node-ssr-adapter.d.ts +197 -0
- package/xtendrmt/rmt-node-ssr-adapter.js +1006 -0
- package/xtendrmt/rmt-php-ssr-adapter.php +976 -0
- package/xtendrmt/rmt-runtime.browser.js +32 -6
- package/xtendrmt/rmt-runtime.esm.js +32 -6
- package/xtendrmt/rmt-state-selector-runtime.d.ts +166 -0
- package/xtendrmt/rmt-state-selector-runtime.js +866 -0
- package/xtendrmt/rmt-surface-resource-graph-runtime.d.ts +224 -0
- package/xtendrmt/rmt-surface-resource-graph-runtime.js +932 -0
- package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +3 -0
- package/xtendrmt/rmt-vnext-reference-demo.core.json +3 -0
- package/xtendrmt/xtendrmt-bestcase-demo.core.json +3420 -372
- package/xtendrmt/xtendrmt-bestcase-demo.js +424 -8
- package/xtendrmt/xtendrmt-bestcase-demo.rmt +214 -6
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# xinput – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xform](./xform.md), [xstate](./xstate.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-input>` ist ein vielseitiges Eingabefeld mit Theming, State-Integration und voller Unterstützung für Formulare.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Standard-Input mit Slot für Label
|
|
13
|
+
- State-Integration via xstate
|
|
14
|
+
- Theming via CSS Custom Properties
|
|
15
|
+
- Form-Integration
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Verwendung
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<x-input value="Hallo"></x-input>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Attribute
|
|
28
|
+
| Attribut | Typ | Beschreibung |
|
|
29
|
+
|-------------|---------|-------------------------------------|
|
|
30
|
+
| `value` | String | Wert des Eingabefelds |
|
|
31
|
+
| `type` | String | Typ des Inputs (text, number, etc.) |
|
|
32
|
+
| `placeholder`| String | Platzhaltertext |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Events
|
|
37
|
+
| Event | Beschreibung |
|
|
38
|
+
|---------------|-------------------------------------|
|
|
39
|
+
| `input` | Bei Eingabe ausgelöst |
|
|
40
|
+
| `change` | Bei Wertänderung ausgelöst |
|
|
41
|
+
| `input-changed` | aktueller XTend-Contract bei Wertänderung, Detail: `{ value }` |
|
|
42
|
+
| `validation-failed` | Validierungsfehler, Detail: `{ value }` |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## API
|
|
47
|
+
- **Wert setzen/lesen:** `element.value = 'Text'`
|
|
48
|
+
- **State-Integration:** Automatisch via xstate
|
|
49
|
+
- **Validierung:** `element.checkValidity()`, `element.reportValidity()`
|
|
50
|
+
- **Reset:** `element.reset()`
|
|
51
|
+
|
|
52
|
+
## State-Contract ab ER-WP-33
|
|
53
|
+
|
|
54
|
+
`<x-input>` schreibt seinen Wert nach `xinput-value-<id>` und reagiert auf externe Änderungen dieses Keys. Die Validierungsregion nutzt `role="alert"` und `aria-live="assertive"`, sodass Formularfehler nicht nur farblich, sondern auch semantisch sichtbar werden.
|
|
55
|
+
|
|
56
|
+
## Form Controls UX ab WP-E11-08
|
|
57
|
+
|
|
58
|
+
`<x-input>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil bindet Label, Hint, Error, `input-changed`, `validation-failed`, `xinput-value-<id>`, `ui.user-blocking.input`, Fabric-Lane `user-blocking` und RMT Shell Authoring zusammen.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Beispiel: Dynamisch per JS
|
|
63
|
+
|
|
64
|
+
```js
|
|
65
|
+
const input = document.createElement('x-input');
|
|
66
|
+
input.value = 'Hallo';
|
|
67
|
+
document.body.appendChild(input);
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Styling & Theming
|
|
73
|
+
|
|
74
|
+
```css
|
|
75
|
+
x-input {
|
|
76
|
+
--input-border: 1px solid #ccc;
|
|
77
|
+
--input-bg: #fff;
|
|
78
|
+
--input-bg-dark: #0f0f12;
|
|
79
|
+
--input-placeholder-color-dark: #b8c4d4;
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
`<x-input>` nutzt automatisch `--xtend-surface` und `--xtend-text` aus `x-theme`. In `data-theme="dark"` wird ein dunkler Hintergrund ueber `--input-bg-dark`, `--xtend-control-bg-dark` oder den Theme-Surface-Fallback gesetzt, damit Text und Suchfelder in der Docs-App lesbar bleiben.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Accessibility
|
|
88
|
+
- Label-Slot, ARIA, Form-Integration
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
93
|
+
|
|
94
|
+
## ECH-WP-08 Form Theme/A11y Hardening
|
|
95
|
+
|
|
96
|
+
`signatureDesign`: Praezises Enterprise-Textfeld mit ruhiger Flaeche, klarer Status-Typografie und dichter, aber lesbarer Form-Rhythmik.
|
|
97
|
+
|
|
98
|
+
| Token | Zweck |
|
|
99
|
+
| --- | --- |
|
|
100
|
+
| `--xtend-form-text` | Host-Textfarbe |
|
|
101
|
+
| `--xtend-form-control-surface` | Eingabeflaeche |
|
|
102
|
+
| `--xtend-form-control-text` | Eingabetext |
|
|
103
|
+
| `--xtend-form-label-text` | Label |
|
|
104
|
+
| `--xtend-form-helper-text` | Helper/Hinweis |
|
|
105
|
+
| `--xtend-form-error-text` | Fehlertext |
|
|
106
|
+
| `--xtend-form-error-surface` | Fehlerflaeche |
|
|
107
|
+
| `--xtend-form-error-border` | Fehlerkante und Marker |
|
|
108
|
+
| `--xtend-form-focus-ring` | Native Focus-Outline |
|
|
109
|
+
| `--xtend-form-radius` | Control- und Error-Radius |
|
|
110
|
+
| `--xtend-form-gap` | Label-, Helper- und Error-Abstand |
|
|
111
|
+
| `--xtend-form-font-family` | Form-Typografie |
|
|
112
|
+
| `--xtend-form-control-font-size` | Control-Schrift |
|
|
113
|
+
| `--xtend-form-helper-font-size` | Helper/Error-Schrift |
|
|
114
|
+
| `--xtend-form-icon-color` | Icon-/Affordance-Farbe fuer Controls mit Icon |
|
|
115
|
+
|
|
116
|
+
Density-Profile: `density="comfortable"`, `density="compact"` und `density="dense"`. Invalid/Error ist nicht farb-only: Control-Kante, innerer Ring und Error-Marker bleiben auch in Dark/Forced-Colors erkennbar.
|
|
117
|
+
|
|
118
|
+
```css
|
|
119
|
+
[data-xtend-form-theme="enterprise-foreign"] x-input {
|
|
120
|
+
--xtend-form-control-surface: #fbf8f2;
|
|
121
|
+
--xtend-form-control-text: #16231f;
|
|
122
|
+
--xtend-form-label-text: #22312c;
|
|
123
|
+
--xtend-form-helper-text: #596861;
|
|
124
|
+
--xtend-form-error-text: #7d231c;
|
|
125
|
+
--xtend-form-error-border: #a64036;
|
|
126
|
+
--xtend-form-focus-ring: 3px solid #8f4f2a;
|
|
127
|
+
--xtend-form-radius: 0.35rem;
|
|
128
|
+
}
|
|
129
|
+
```
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# xlightbox – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xplayer](./xplayer.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-lightbox>` ist eine Komponente zur Anzeige von Bildern im viewportweiten Overlay. Sie unterstuetzt Trigger-Slots, API-gesteuertes Oeffnen, Escape Close, Focus Return und viewport-bounded Media-Skalierung.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Overlay für Bilder und Medien
|
|
13
|
+
- Trigger-Slot und globale Helper-API
|
|
14
|
+
- Keyboard-Support mit Escape Close
|
|
15
|
+
- Viewport-bounded Bildskalierung mit Body-Portal
|
|
16
|
+
- Theming via CSS Custom Properties
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Verwendung
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<x-lightbox id="logo-lightbox" src="/assets/logo.png" alt="XTend Logo">
|
|
24
|
+
<x-button slot="trigger" variant="secondary">Logo ansehen</x-button>
|
|
25
|
+
</x-lightbox>
|
|
26
|
+
|
|
27
|
+
<img src="/assets/preview.jpg" data-xlightbox alt="Preview" />
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Attribute
|
|
33
|
+
| Attribut | Typ | Beschreibung |
|
|
34
|
+
|-------------|---------|-------------------------------------|
|
|
35
|
+
| `src` | String | Bildquelle fuer Trigger, API und `data-xlightbox` |
|
|
36
|
+
| `open` | Boolean | oeffnet die Lightbox kontrolliert, sofern `src` gesetzt ist |
|
|
37
|
+
| `alt` | String | Alternativtext fuer das angezeigte Bild |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Events
|
|
42
|
+
| Event | Beschreibung |
|
|
43
|
+
|---------------|-------------------------------------|
|
|
44
|
+
| `lightbox-opened` | Wird beim Oeffnen ausgelöst, Detail: `{ src }` |
|
|
45
|
+
| `lightbox-closed` | Wird beim Schliessen ausgelöst |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## API
|
|
50
|
+
- **Oeffnen:** `element.open(src)`
|
|
51
|
+
- **Schliessen:** `element.close()`
|
|
52
|
+
- **Globaler Helper:** `window.showLightbox(src)`
|
|
53
|
+
- **State:** `xlightbox-open-<id>`
|
|
54
|
+
|
|
55
|
+
`src` konfiguriert die Bildquelle, oeffnet die Lightbox aber nicht automatisch. Fuer direkte UI-Nutzung wird ein Element im Slot `trigger` verwendet. Beim Oeffnen portalt sich die Lightbox auf `document.body`, damit Overlay und Bild nicht von App-Shell-Containern, `main`, Cards oder transformierten Demo-Frames abgeschnitten werden.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Beispiel: Dynamisch per JS
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
const lightbox = document.createElement('x-lightbox');
|
|
63
|
+
document.body.appendChild(lightbox);
|
|
64
|
+
lightbox.open('/assets/bild.jpg');
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Styling & Theming
|
|
70
|
+
|
|
71
|
+
```css
|
|
72
|
+
x-lightbox {
|
|
73
|
+
--lightbox-bg: rgba(0,0,0,0.9);
|
|
74
|
+
--lightbox-padding: clamp(0.75rem, 2vw, 2rem);
|
|
75
|
+
--lightbox-radius: 0.75rem;
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Accessibility
|
|
82
|
+
- Fokus-Management, Keyboard-Navigation und Focus Return
|
|
83
|
+
- `role="dialog"`, `aria-modal="true"` und geschlossener Zustand mit `aria-hidden` und `inert`
|
|
84
|
+
- Bildskalierung via `object-fit: contain` und `max-height: calc(100dvh - padding)`
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
89
|
+
|
|
90
|
+
## Layout Display Media UX Profil
|
|
91
|
+
|
|
92
|
+
`x-lightbox` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente verbindet Overlay- und Media-Reife und nutzt den State-Key `xlightbox-open-<id>`.
|
|
93
|
+
|
|
94
|
+
- Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
|
|
95
|
+
- Schedule: `media.lazy.load`
|
|
96
|
+
- Events: `lightbox-opened`, `lightbox-closed`
|
|
97
|
+
- Snapshot: `snapshot()`
|
|
98
|
+
- CSS Parts: `overlay`, `content`, `close`, `media`
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# xlink - XTend Komponente
|
|
2
|
+
|
|
3
|
+
## Uebersicht
|
|
4
|
+
|
|
5
|
+
`<x-link>` ist die deklarative Link-Komponente fuer XTend-SPAs. Sie arbeitet mit `<x-router>` zusammen, erkennt Hash- und History-Mode und haelt den Active-State auch bei programmatischer Navigation aktuell.
|
|
6
|
+
|
|
7
|
+
## Verwendung
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<x-link href="/docs">Zur Dokumentation</x-link>
|
|
11
|
+
<x-link href="https://example.com">Externer Link</x-link>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Attribute
|
|
15
|
+
|
|
16
|
+
| Attribut | Typ | Beschreibung |
|
|
17
|
+
|----------|-----|--------------|
|
|
18
|
+
| `href` | string | Zielpfad oder externe URL |
|
|
19
|
+
| `active` | boolean | wird gesetzt, wenn der Link aktuell aktiv ist |
|
|
20
|
+
| `state` | string | optionales JSON fuer `history.pushState()` |
|
|
21
|
+
|
|
22
|
+
## Events
|
|
23
|
+
|
|
24
|
+
| Event | Beschreibung |
|
|
25
|
+
|-------|--------------|
|
|
26
|
+
| `before-navigate` | cancelable, vor der Navigation |
|
|
27
|
+
| `after-navigate` | nach erfolgreicher Navigation |
|
|
28
|
+
|
|
29
|
+
`before-navigate` und `after-navigate` liefern:
|
|
30
|
+
|
|
31
|
+
```js
|
|
32
|
+
{
|
|
33
|
+
href: '/docs',
|
|
34
|
+
mode: 'history',
|
|
35
|
+
state: { ... },
|
|
36
|
+
source: 'x-link',
|
|
37
|
+
stateKey: 'xlink-active-link-123',
|
|
38
|
+
scheduleRef: 'ui.user-blocking.navigation'
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Contract
|
|
43
|
+
|
|
44
|
+
- interne Links werden normalisiert und spa-konform navigiert
|
|
45
|
+
- externe Links behalten Standardverhalten und erhalten automatisch `target="_blank"` plus `rel="noopener noreferrer"`
|
|
46
|
+
- Active-State wird bei `popstate`, `hashchange`, `x-navigate` und `xrouter-after-navigate` aktualisiert
|
|
47
|
+
- aktive Links spiegeln `aria-current="page"` und `xlink-active-<id>`
|
|
48
|
+
- Enter und Space aktivieren denselben Navigationspfad
|
|
49
|
+
- lange Labels und slotted Icon-/Text-Inhalte bleiben overflow-sicher in engen Menüs, Sidebars und Header-Drawern
|
|
50
|
+
|
|
51
|
+
## Navigation Routing UX Profil
|
|
52
|
+
|
|
53
|
+
`<x-link>` stellt `xtendNavigationRoutingUxProfile` mit `xtend.component.navigation-routing-ux-profile.v1` bereit. Das Profil beschreibt `x-link` als Router-Link mit `before-navigate`, `after-navigate`, `x-navigate`, `xlink-active-<id>`, `ui.user-blocking.navigation`, Active State, Keyboard-Aktivierung, Fabric-Lane `user-blocking` und RMT Shell Authoring.
|
|
54
|
+
|
|
55
|
+
Die Link-Komponente delegated Route Announcements an `x-router`, bleibt aber selbst fuer sichtbaren Active State, Keyboard-Aktivierung und sichere externe Links verantwortlich.
|
|
56
|
+
|
|
57
|
+
## Overflow-Sicherheit
|
|
58
|
+
|
|
59
|
+
`x-link` ist fuer App-Shell-Navigation, Menues und Sidebars overflow-sicher. Der Host begrenzt sich auf den verfuegbaren Container, slotted Inhalte erhalten `min-width: 0`, und lange Labels duerfen umbrechen. Fuer bewusst einzeilige Links kann `--xtend-link-white-space: nowrap` gesetzt werden.
|
|
60
|
+
|
|
61
|
+
## Hinweise
|
|
62
|
+
|
|
63
|
+
- der Router-Mode wird am ersten gefundenen `<x-router>` erkannt
|
|
64
|
+
- gleiche Zielpfade fuehren keinen redundanten URL-Wechsel aus
|
|
65
|
+
- `x-link` nutzt denselben Navigationsvertrag wie `x-router`
|
|
66
|
+
|
|
67
|
+
## ECH-WP-09 Token-Tabelle und Navigation States
|
|
68
|
+
|
|
69
|
+
`signatureDesign`: `x-link` ist der kompakte Enterprise-Router-Link mit sichtbarem Current-Indikator und tokenisiertem Active/Disabled-Verhalten. Active/Current/Selected, Hover, Focus und Disabled muessen auch in dichten Headern, Sidebars und Menues lesbar bleiben.
|
|
70
|
+
|
|
71
|
+
| Token | Zweck |
|
|
72
|
+
| --- | --- |
|
|
73
|
+
| `--xtend-nav-surface` | Link-Surface |
|
|
74
|
+
| `--xtend-nav-text` | Link-Text |
|
|
75
|
+
| `--xtend-nav-border-color` | geteilte Navigationskante |
|
|
76
|
+
| `--xtend-nav-radius` | Link-Radius |
|
|
77
|
+
| `--xtend-nav-gap` | Abstand zwischen Icon und Label |
|
|
78
|
+
| `--xtend-nav-font-family` | Link-Typografie |
|
|
79
|
+
| `--xtend-nav-font-size` | Link-Textgroesse |
|
|
80
|
+
| `--xtend-nav-active-surface` | Active/Current/Selected Flaeche |
|
|
81
|
+
| `--xtend-nav-active-text` | Active/Current/Selected Text |
|
|
82
|
+
| `--xtend-nav-current-indicator` | nicht farb-only Current-Indikator |
|
|
83
|
+
| `--xtend-nav-hover-surface` | Hover-Flaeche |
|
|
84
|
+
| `--xtend-nav-focus-ring` | Tastaturfokus |
|
|
85
|
+
| `--xtend-nav-disabled-opacity` | Disabled-Dimmung |
|
|
86
|
+
|
|
87
|
+
## ECH-WP-09 Keyboard-Verhalten
|
|
88
|
+
|
|
89
|
+
`Enter` und `Space` aktivieren interne Links ueber denselben Navigationspfad wie Click. Disabled Links entfernen den internen `href`, setzen `aria-disabled="true"` und sind nicht tastaturaktivierbar. Active/Current wird ueber `aria-current="page"` gespiegelt; Composite-Navigation kann `aria-selected="true"` auf dem Host ergaenzen.
|
|
90
|
+
|
|
91
|
+
## ECH-WP-09 Fremdtheme
|
|
92
|
+
|
|
93
|
+
```css
|
|
94
|
+
[data-xtend-nav-theme="enterprise-foreign"] x-link {
|
|
95
|
+
--xtend-nav-surface: transparent;
|
|
96
|
+
--xtend-nav-text: #17231f;
|
|
97
|
+
--xtend-nav-border-color: transparent;
|
|
98
|
+
--xtend-nav-radius: 0.3rem;
|
|
99
|
+
--xtend-nav-gap: 0.4rem;
|
|
100
|
+
--xtend-nav-font-family: "Aptos", "Segoe UI", sans-serif;
|
|
101
|
+
--xtend-nav-font-size: 0.96rem;
|
|
102
|
+
--xtend-nav-active-surface: rgba(181, 107, 53, 0.16);
|
|
103
|
+
--xtend-nav-active-text: #173f35;
|
|
104
|
+
--xtend-nav-current-indicator: #b56b35;
|
|
105
|
+
--xtend-nav-hover-surface: rgba(181, 107, 53, 0.1);
|
|
106
|
+
--xtend-nav-focus-ring: 3px solid #b56b35;
|
|
107
|
+
--xtend-nav-disabled-opacity: 0.44;
|
|
108
|
+
}
|
|
109
|
+
```
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# xmasonry – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xcards](./xcards.md), [xsection](./xsection.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-masonry>` ist ein flexibles Grid-Layout für kachelartige Anordnungen (Masonry-Layout). Es eignet sich für Galerien, Cards und dynamische Inhalte.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Masonry-Layout (Pinterest-Style)
|
|
13
|
+
- Responsive Design
|
|
14
|
+
- Theming via CSS Custom Properties
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Verwendung
|
|
19
|
+
|
|
20
|
+
```html
|
|
21
|
+
<x-masonry>
|
|
22
|
+
<div>Item 1</div>
|
|
23
|
+
<div>Item 2</div>
|
|
24
|
+
</x-masonry>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Attribute
|
|
30
|
+
| Attribut | Typ | Beschreibung |
|
|
31
|
+
|-------------|---------|-------------------------------------|
|
|
32
|
+
| `columns` | Number | Anzahl der Spalten (default: 3) |
|
|
33
|
+
| `gap` | String | Abstand zwischen Items (default: 1rem) |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Events
|
|
38
|
+
| Event | Beschreibung |
|
|
39
|
+
|---------------|-------------------------------------|
|
|
40
|
+
| – | – |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## API
|
|
45
|
+
- **Spalten dynamisch setzen:** `element.setAttribute('columns', 4)`
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Beispiel: Dynamisch per JS
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
const masonry = document.createElement('x-masonry');
|
|
53
|
+
masonry.setAttribute('columns', 4);
|
|
54
|
+
document.body.appendChild(masonry);
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Styling & Theming
|
|
60
|
+
|
|
61
|
+
```css
|
|
62
|
+
x-masonry {
|
|
63
|
+
--masonry-gap: 2rem;
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Accessibility
|
|
70
|
+
- Semantisches HTML
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
75
|
+
|
|
76
|
+
## Layout Display Media UX Profil
|
|
77
|
+
|
|
78
|
+
`x-masonry` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente ist als responsive Layout-Grid mit deterministischem Reflow-Schedule authorierbar und nutzt den State-Key `xmasonry-state-<id>`.
|
|
79
|
+
|
|
80
|
+
- Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
|
|
81
|
+
- Schedule: `layout.reflow.commit`
|
|
82
|
+
- Event: `masonry-layout`
|
|
83
|
+
- Snapshot: `snapshot()`
|
|
84
|
+
- CSS Parts: `root`, `grid`, `item`, `toggle`, `content`
|
|
85
|
+
|
|
86
|
+
## ECH-WP-07 Token-Tabelle und signatureDesign
|
|
87
|
+
|
|
88
|
+
`signatureDesign`: Reorderable Enterprise-Masonry mit taktiler Tiefe, icon-only Toggle-Control und themebarem Drag-Feedback. Die Komponente eignet sich fuer Galerien, Dashboards und Knowledge-Layouts ohne Textzeichen-Controls.
|
|
89
|
+
|
|
90
|
+
| Token | Zweck |
|
|
91
|
+
| --- | --- |
|
|
92
|
+
| `--xtend-layout-surface` | Masonry-Item-Flaeche |
|
|
93
|
+
| `--xtend-layout-text` | Item-Textfarbe |
|
|
94
|
+
| `--xtend-layout-border-color` | Item- und Drop-Kanten |
|
|
95
|
+
| `--xtend-layout-radius` | Item-Radius |
|
|
96
|
+
| `--xtend-layout-elevation` | Item- und Drag-Schatten |
|
|
97
|
+
| `--xtend-layout-spacing` | Item-Padding |
|
|
98
|
+
| `--xtend-layout-gap` | Grid-Abstand |
|
|
99
|
+
| `--xtend-layout-font-family` | Masonry-Typografie |
|
|
100
|
+
| `--xtend-layout-font-size` | Item-Textgroesse |
|
|
101
|
+
| `--xtend-layout-media-radius` | Toggle-/Medienradius |
|
|
102
|
+
| `--xtend-layout-focus-ring` | Toggle-Fokus |
|
|
103
|
+
| `--xtend-layout-grid-min` | Grid-Untergrenze |
|
|
104
|
+
| `--xtend-layout-content-max` | Masonry-Maximalbreite |
|
|
105
|
+
|
|
106
|
+
## ECH-WP-07 Fremdtheme
|
|
107
|
+
|
|
108
|
+
```css
|
|
109
|
+
[data-xtend-layout-theme="enterprise-foreign"] x-masonry {
|
|
110
|
+
--xtend-layout-surface: #fbf7f1;
|
|
111
|
+
--xtend-layout-text: #1b2823;
|
|
112
|
+
--xtend-layout-border-color: rgba(27, 40, 35, 0.2);
|
|
113
|
+
--xtend-layout-radius: 0.35rem;
|
|
114
|
+
--xtend-layout-elevation: 0 10px 28px rgba(27, 40, 35, 0.12);
|
|
115
|
+
--xtend-layout-spacing: 1.25rem;
|
|
116
|
+
--xtend-layout-gap: 1rem;
|
|
117
|
+
--xtend-layout-font-family: "Aptos", "Segoe UI", sans-serif;
|
|
118
|
+
--xtend-layout-font-size: 1rem;
|
|
119
|
+
--xtend-layout-media-radius: 999px;
|
|
120
|
+
--xtend-layout-focus-ring: 3px solid #8f4f2a;
|
|
121
|
+
--xtend-layout-grid-min: minmax(14rem, 1fr);
|
|
122
|
+
--xtend-layout-content-max: 72rem;
|
|
123
|
+
}
|
|
124
|
+
```
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# xmenu – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xlink](./xlink.md), [xrouter](./xrouter.md), [xheader](./xheader.md), [xfooter](./xfooter.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-menu>` ist die Enterprise-Navigationskomponente fuer Menuebars, Toolbars und App-Navigation. Seit `WP-E12-07` besitzt sie einen expliziten Performance-, RMT-, Fabric- und Routing-Contract. RMT kann Menueintraege deklarativ als DOM-Descriptoren erzeugen; der XTend Host Adapter uebernimmt Hydration, Keyboard-Navigation, Active-State-Sync und XRouter-Kompatibilitaet.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- Slotted Eintraege fuer `a`, `button`, `x-link` und `[role="menuitem"]`
|
|
12
|
+
- ARIA-Rollen mit `role="menubar"` und `role="menuitem"`
|
|
13
|
+
- Keyboard-Navigation mit Arrow Keys, `Home`, `End`, `Enter` und `Space`
|
|
14
|
+
- Roving `tabindex` und `aria-current="page"` fuer aktive Eintraege
|
|
15
|
+
- `x-link`- und `x-router`-Kompatibilitaet ueber `x-navigate` und `router-navigate`
|
|
16
|
+
- `xtend.performance.component-profile.v1` mit Navigation- und Interaction-Budgets
|
|
17
|
+
- Fabric-kompatible Events fuer Navigation, Keyboard und Performance
|
|
18
|
+
|
|
19
|
+
## Verwendung
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<x-menu data-rmt-schedule="ui.user-blocking.navigation" data-xtend-lane="user-blocking">
|
|
23
|
+
<a href="/overview">Overview</a>
|
|
24
|
+
<x-link href="/settings">Settings</x-link>
|
|
25
|
+
<button type="button">Action</button>
|
|
26
|
+
</x-menu>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Events
|
|
30
|
+
|
|
31
|
+
| Event | Detail | Beschreibung |
|
|
32
|
+
|-------|--------|--------------|
|
|
33
|
+
| `menu-item-clicked` | `{ href, index, label, source, scheduleRef }` | Wird bei Click oder Keyboard-Aktivierung eines Eintrags emittiert |
|
|
34
|
+
| `menu-navigate` | `{ href, path, mode, scheduleRef }` | Signalisiert eine interne Navigation an XRouter/RMT |
|
|
35
|
+
| `menu-keyboard-navigation` | `{ key, fromIndex, toIndex }` | Misst Roving-Focus-Navigation |
|
|
36
|
+
| `menu-performance-measured` | `xtend.performance.measurement.v1` | Fabric-/Diagnostics-Messpunkt fuer Hydration, Slotchange, Keyboard und Route Activation |
|
|
37
|
+
|
|
38
|
+
## Runtime API
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
const menu = document.querySelector('x-menu');
|
|
42
|
+
|
|
43
|
+
menu.getPerformanceBudget();
|
|
44
|
+
menu.getInteractionBudget();
|
|
45
|
+
menu.snapshotPerformance();
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
`snapshotPerformance()` liefert `xtend.component.performance-snapshot.v1` mit Countern, Budgets und den letzten Messpunkten.
|
|
49
|
+
|
|
50
|
+
## Performance Contract
|
|
51
|
+
|
|
52
|
+
`x-menu` nutzt:
|
|
53
|
+
|
|
54
|
+
- Schema: `xtend.performance.component-profile.v1`
|
|
55
|
+
- `componentRef`: `x-menu`
|
|
56
|
+
- Profile: `interactive`, `routing`
|
|
57
|
+
- Budget Class: `navigation-small`
|
|
58
|
+
- Lane: `user-blocking`
|
|
59
|
+
- Hydration Policy: `visible`
|
|
60
|
+
- kritische Messpunkte:
|
|
61
|
+
- `xtend.component.hydrate`
|
|
62
|
+
- `xtend.component.render`
|
|
63
|
+
- `xtend.component.slotchange`
|
|
64
|
+
- `xtend.interaction.keyboard`
|
|
65
|
+
- `xtend.route.navigate`
|
|
66
|
+
- `xtend.state.sync`
|
|
67
|
+
|
|
68
|
+
Das Interaction Budget enthaelt `keyboardBudgetMs`, `routeActivationBudgetMs`, `touchTargetMinPx: 44`, `rovingTabindexRequired`, `xLinkCompatible` und `xRouterCompatible`.
|
|
69
|
+
|
|
70
|
+
## RMT und Fabric
|
|
71
|
+
|
|
72
|
+
Der RMT Contract bleibt host-neutral:
|
|
73
|
+
|
|
74
|
+
- Adapter: `xtend.component`
|
|
75
|
+
- Template Mode: `dom_descriptor`
|
|
76
|
+
- Event Binding Mode: `dom-event-to-rmt-command`
|
|
77
|
+
- Schedule Refs: `component.visible.hydrate`, `ui.user-blocking.navigation`, `route.transition.navigate`, `diagnostics.snapshot`
|
|
78
|
+
- Boundary: `no-rmt-kernel-import-of-xtend-types`
|
|
79
|
+
|
|
80
|
+
Fabric kann die Komponente ueber `menu-performance-measured`, `menu-keyboard-navigation`, `menu-navigate` und `snapshotPerformance()` anbinden.
|
|
81
|
+
|
|
82
|
+
## State und Routing
|
|
83
|
+
|
|
84
|
+
- `xmenu-active` ist der kanonische `xstate`-Key fuer den aktiven Eintrag.
|
|
85
|
+
- `xmenu-state-<id>` enthaelt den vollstaendigen lokalen State inklusive Performance Snapshot.
|
|
86
|
+
- Interne Links schreiben `router-navigate` und emittieren `x-navigate`, damit XRouter Hash- und History-Mode ausloesen kann.
|
|
87
|
+
- Aktive Eintraege erhalten `aria-current="page"` und bleiben im Roving-Tabindex fokussierbar.
|
|
88
|
+
|
|
89
|
+
## Styling & Theming
|
|
90
|
+
|
|
91
|
+
```css
|
|
92
|
+
x-menu {
|
|
93
|
+
--xtend-menu-bg: rgba(40, 60, 120, 0.25);
|
|
94
|
+
--xtend-menu-color: #fff;
|
|
95
|
+
--xtend-menu-min-touch-target: 44px;
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Accessibility
|
|
100
|
+
|
|
101
|
+
- ARIA-Rollen: `menubar` auf der Shell, `menuitem` auf slotted Items.
|
|
102
|
+
- Keyboard-Navigation: `ArrowRight`, `ArrowDown`, `ArrowLeft`, `ArrowUp`, `Home`, `End`, `Enter`, `Space`.
|
|
103
|
+
- Focus Visible und Forced Colors werden ohne Bewegungsabhaengigkeit unterstuetzt.
|
|
104
|
+
- `prefers-reduced-motion` deaktiviert nicht notwendige Transitions.
|
|
105
|
+
|
|
106
|
+
## Component-Level-Contract ab WP-E12-07
|
|
107
|
+
|
|
108
|
+
- `xtendComponentContract`, `xtendRmtMetadata`, `xtendComponentLifecycleTelemetry`, `xtendScaffoldA11yProfile` und `xtendScaffoldPerformanceProfile` sind in der Runtime vorhanden.
|
|
109
|
+
- `menu-item-clicked`, `menu-navigate`, `menu-keyboard-navigation` und `menu-performance-measured` bilden die oeffentliche Event-Oberflaeche.
|
|
110
|
+
- `snapshotPerformance()`, `getPerformanceBudget()` und `getInteractionBudget()` machen die Komponente fuer Fabric, RMT Adapter und lokale Gates testbar.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
*Letzte Aktualisierung: 7. Mai 2026*
|
|
115
|
+
|
|
116
|
+
## ECH-WP-09 Token-Tabelle und Navigation States
|
|
117
|
+
|
|
118
|
+
`signatureDesign`: `x-menu` nutzt eine ruhige Enterprise-Menueleiste mit klar sichtbarer aktiver Route, nicht farb-only Current-Indikator und frei ersetzbarer Typografie. Active/Current/Selected, Hover, Focus und Disabled muessen in Fremdthemes sichtbar bleiben.
|
|
119
|
+
|
|
120
|
+
| Token | Zweck |
|
|
121
|
+
| --- | --- |
|
|
122
|
+
| `--xtend-nav-surface` | Menue-Surface |
|
|
123
|
+
| `--xtend-nav-text` | Menue- und Item-Text |
|
|
124
|
+
| `--xtend-nav-border-color` | Menuekante |
|
|
125
|
+
| `--xtend-nav-radius` | Menue- und Item-Radius |
|
|
126
|
+
| `--xtend-nav-gap` | Abstand zwischen Navigationseintraegen |
|
|
127
|
+
| `--xtend-nav-font-family` | Navigationstypografie |
|
|
128
|
+
| `--xtend-nav-font-size` | Navigationstextgroesse |
|
|
129
|
+
| `--xtend-nav-active-surface` | Active/Current/Selected Flaeche |
|
|
130
|
+
| `--xtend-nav-active-text` | Active/Current/Selected Text |
|
|
131
|
+
| `--xtend-nav-current-indicator` | nicht farb-only Route-Indikator |
|
|
132
|
+
| `--xtend-nav-hover-surface` | Hover-Flaeche |
|
|
133
|
+
| `--xtend-nav-focus-ring` | Tastaturfokus |
|
|
134
|
+
| `--xtend-nav-disabled-opacity` | Disabled-Dimmung |
|
|
135
|
+
|
|
136
|
+
## ECH-WP-09 Keyboard-Verhalten
|
|
137
|
+
|
|
138
|
+
`ArrowRight`, `ArrowDown`, `ArrowLeft`, `ArrowUp`, `Home`, `End`, `Enter` und `Space` bleiben gatebar. Disabled Items werden nicht aktiviert und beim Roving Focus uebersprungen. Verschachtelte Menues duerfen Disclosure Controls nur mit Icon Controls wie `part="disclosure-icon control icon"` oder autorisierten `x-icon`-Elementen darstellen, nicht mit Textglyphen.
|
|
139
|
+
|
|
140
|
+
## ECH-WP-09 Fremdtheme
|
|
141
|
+
|
|
142
|
+
```css
|
|
143
|
+
[data-xtend-nav-theme="enterprise-foreign"] x-menu {
|
|
144
|
+
--xtend-nav-surface: #f7f4ee;
|
|
145
|
+
--xtend-nav-text: #19231f;
|
|
146
|
+
--xtend-nav-border-color: rgba(25, 35, 31, 0.24);
|
|
147
|
+
--xtend-nav-radius: 0.4rem;
|
|
148
|
+
--xtend-nav-gap: 0.35rem;
|
|
149
|
+
--xtend-nav-font-family: "Aptos", "Segoe UI", sans-serif;
|
|
150
|
+
--xtend-nav-font-size: 0.96rem;
|
|
151
|
+
--xtend-nav-active-surface: #173f35;
|
|
152
|
+
--xtend-nav-active-text: #fffaf0;
|
|
153
|
+
--xtend-nav-current-indicator: #b56b35;
|
|
154
|
+
--xtend-nav-hover-surface: rgba(181, 107, 53, 0.14);
|
|
155
|
+
--xtend-nav-focus-ring: 3px solid #b56b35;
|
|
156
|
+
--xtend-nav-disabled-opacity: 0.44;
|
|
157
|
+
}
|
|
158
|
+
```
|