@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,60 @@
|
|
|
1
|
+
# x-rmt-lifecycle-demo-build - XTend Komponente
|
|
2
|
+
|
|
3
|
+
## Uebersicht
|
|
4
|
+
|
|
5
|
+
`<x-rmt-lifecycle-demo-build>` ist die aus `xtendrmt/rmt-lifecycle-demo.rmt` erzeugte RC1-Test-Build-Komponente. Sie dient als lokaler, manifestierter Nachweis fuer den RMT-vNext-App-Build-Pfad und verbindet Root-Lifecycle, Template-Extension, Scheduler-Handschlag, A11y-Profil und Performance-Profil in einem Custom Element.
|
|
6
|
+
|
|
7
|
+
## Verwendung
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<x-rmt-lifecycle-demo-build
|
|
11
|
+
variant="rc1"
|
|
12
|
+
aria-label="RMT Lifecycle Demo Build">
|
|
13
|
+
Lifecycle Demo
|
|
14
|
+
</x-rmt-lifecycle-demo-build>
|
|
15
|
+
<script type="module" src="/components/x-rmt-lifecycle-demo-build.js"></script>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Attribute
|
|
19
|
+
|
|
20
|
+
| Attribut | Typ | Beschreibung |
|
|
21
|
+
|----------|-----|--------------|
|
|
22
|
+
| `variant` | String | Markiert die lokale Demo-Variante fuer Fixtures und Browser-Smokes. |
|
|
23
|
+
| `aria-label` | String | Pflichtname fuer die semantische `region` im Shadow DOM. |
|
|
24
|
+
|
|
25
|
+
## Scaffold Contracts
|
|
26
|
+
|
|
27
|
+
Die generierte Komponente exposes folgende statische Contracts:
|
|
28
|
+
|
|
29
|
+
- `xtendScaffoldWiring` mit `xtend.scaffold.feature-wiring.v1`
|
|
30
|
+
- `xtendScaffoldExtensionPoints` mit `xtend.scaffold.component-extension-points.v1`
|
|
31
|
+
- `xtendScaffoldA11yProfile` mit `xtend.a11y.profile.v1`
|
|
32
|
+
- `xtendScaffoldPerformanceProfile` mit `xtend.performance.component-profile.v1`
|
|
33
|
+
|
|
34
|
+
Der Root-Lifecycle nutzt `xtend.rmt.root-handshake.v1` und bleibt ueber Scheduler Endpoint Hints an den XTend Host Adapter gekoppelt. Der RMT Kernel liest die XTend-Komponente nicht direkt, sondern behandelt Component Refs, Templates und Events als Daten.
|
|
35
|
+
|
|
36
|
+
## Events
|
|
37
|
+
|
|
38
|
+
| Event | Beschreibung |
|
|
39
|
+
|-------|--------------|
|
|
40
|
+
| `rmt-lifecycle-demo-build-ready` | im Scaffold-Wiring deklarierter Ready-Kanal fuer Host-Adapter. |
|
|
41
|
+
| `rmt-lifecycle-demo-build-changed` | im Scaffold-Wiring deklarierter State-Change-Kanal fuer Host-Adapter. |
|
|
42
|
+
|
|
43
|
+
## A11y-Profil
|
|
44
|
+
|
|
45
|
+
Das A11y-Profil setzt `role="region"`, verlangt ein `aria-label`, beschreibt Screenreader-Signale fuer semantische Region und Statusaenderungen und fuehrt Reduced-Motion-/Forced-Colors-Regeln im Shadow DOM.
|
|
46
|
+
|
|
47
|
+
## Performance-Profil
|
|
48
|
+
|
|
49
|
+
Das Performance-Profil nutzt `xtend.performance.component-profile.v1`, `budgetClass: critical`, `lane: user-blocking` und `hydrationPolicy: visible`. Kritische Messpunkte sind Loader, Mount, Hydration, Render, Update, State-Sync und Event-Action.
|
|
50
|
+
|
|
51
|
+
## RC1 Build Boundary
|
|
52
|
+
|
|
53
|
+
Die Komponente ist absichtlich ein Build-Artefakt aus dem RMT-vNext-Pfad:
|
|
54
|
+
|
|
55
|
+
- Source: `xtendrmt/rmt-lifecycle-demo.rmt`
|
|
56
|
+
- Generator: `xtend-builder/generators/rmt-build.js`
|
|
57
|
+
- Build-Komponente: `components/x-rmt-lifecycle-demo-build.js`
|
|
58
|
+
- Browser Smoke: `tests/browser/fixtures/rmt-lifecycle-demo-rmt-build-smoke.html`
|
|
59
|
+
|
|
60
|
+
Damit ist sie Teil der RC1-Test-Build-Recovery: Manifest, Docs, Suite, Fixture und Public Types bleiben im Component Catalog sichtbar.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# xalert - XTend Komponente
|
|
2
|
+
|
|
3
|
+
## Uebersicht
|
|
4
|
+
|
|
5
|
+
`<x-alert>` ist die prominente Feedback-Komponente fuer laenger sichtbare Hinweise, Warnungen und Fehler. Im Unterschied zu Toasts kann ein Alert blockierend oder explizit schliessbar auftreten.
|
|
6
|
+
|
|
7
|
+
## Verwendung
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<x-alert type="error" closable overlay aria-label="Fehlerhinweis">
|
|
11
|
+
Ein Fehler ist aufgetreten
|
|
12
|
+
</x-alert>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Attribute
|
|
16
|
+
|
|
17
|
+
| Attribut | Typ | Beschreibung |
|
|
18
|
+
|----------|-----|--------------|
|
|
19
|
+
| `type` | string | `info`, `success`, `warning`, `error` |
|
|
20
|
+
| `closable` | boolean | zeigt einen Schliessen-Button |
|
|
21
|
+
| `duration` | number | optionale Auto-Close-Dauer |
|
|
22
|
+
| `overlay` | boolean | zeigt den Alert als zentriertes Overlay |
|
|
23
|
+
| `aria-label` | string | Screenreader-Label |
|
|
24
|
+
|
|
25
|
+
## Events
|
|
26
|
+
|
|
27
|
+
| Event | Beschreibung |
|
|
28
|
+
|-------|--------------|
|
|
29
|
+
| `alert-shown` | nach dem Anzeigen des Alerts |
|
|
30
|
+
| `alert-dismissed` | nach dem Schliessen des Alerts |
|
|
31
|
+
|
|
32
|
+
## State-Contract
|
|
33
|
+
|
|
34
|
+
Die Instanz spiegelt ihren Zustand kompatibel in `xstate`:
|
|
35
|
+
|
|
36
|
+
- `xtend.component.x-alert.<id>`
|
|
37
|
+
- `xalert-state-<id>`
|
|
38
|
+
|
|
39
|
+
Das Event-Detail enthaelt unter anderem:
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
{
|
|
43
|
+
id: 'alert-abc123',
|
|
44
|
+
type: 'error',
|
|
45
|
+
closable: true,
|
|
46
|
+
overlay: true,
|
|
47
|
+
dismissed: false,
|
|
48
|
+
reason: 'connected'
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Runtime-Contract
|
|
53
|
+
|
|
54
|
+
- API-gemanagte Alerts werden aggregiert in `xstate.get('ui').alerts`
|
|
55
|
+
- die Instanz selbst fuehrt ihren Lifecycle ueber `alert-shown` und `alert-dismissed`
|
|
56
|
+
- API und Komponente sprechen keine separaten Close-Pfade mehr
|
|
57
|
+
|
|
58
|
+
## Feedback Status UX ab WP-E11-09
|
|
59
|
+
|
|
60
|
+
`<x-alert>` stellt `xtendFeedbackStatusUxProfile` mit `xtend.component.feedback-status-ux-profile.v1` bereit. Das Profil beschreibt `x-alert` als laenger sichtbare Feedback-Shell mit `alert-shown`, `alert-dismissed`, `xalert-state-<id>`, `a11y.announce`, Fabric-Lane `a11y` und RMT Shell Authoring.
|
|
61
|
+
|
|
62
|
+
Fehler und Warnungen nutzen assertive Live Regions; neutrale und erfolgreiche Hinweise bleiben polite. Event-Details enthalten `source: 'x-alert'` und `stateKey`, sodass Form-, Router- oder RMT-Adapter Alerts konsistent schedulen und diagnostizieren koennen.
|
|
63
|
+
|
|
64
|
+
## Kontrastfarben
|
|
65
|
+
|
|
66
|
+
`<x-alert>` nutzt solide Kontrastfarben ohne Farbverlaeufe. Die Varianten `info`, `success`, `warning` und `error` setzen jeweils eigene Tokens fuer Hintergrund, Text, Border und Accent, damit Alerts in Light- und Dark-Mode lesbar bleiben und ihre Signalwirkung behalten.
|
|
67
|
+
|
|
68
|
+
Die wichtigsten Theme-Tokens sind:
|
|
69
|
+
|
|
70
|
+
- `--xtend-alert-info-bg`, `--xtend-alert-info-fg`, `--xtend-alert-info-border`, `--xtend-alert-info-accent`
|
|
71
|
+
- `--xtend-alert-success-bg`, `--xtend-alert-success-fg`, `--xtend-alert-success-border`, `--xtend-alert-success-accent`
|
|
72
|
+
- `--xtend-alert-warning-bg`, `--xtend-alert-warning-fg`, `--xtend-alert-warning-border`, `--xtend-alert-warning-accent`
|
|
73
|
+
- `--xtend-alert-error-bg`, `--xtend-alert-error-fg`, `--xtend-alert-error-border`, `--xtend-alert-error-accent`
|
|
74
|
+
|
|
75
|
+
Fuer Dark-Mode koennen dieselben Tokens mit dem Suffix `-dark` ueberschrieben werden, etwa `--xtend-alert-error-bg-dark`.
|
|
76
|
+
|
|
77
|
+
## Hinweise
|
|
78
|
+
|
|
79
|
+
- Alerts sind fuer inhaltlich wichtigere, laenger sichtbare oder blockierende Rueckmeldungen gedacht
|
|
80
|
+
- `window.XAlert.show()` ist der bevorzugte Einstieg fuer API-gemanagte Alerts
|
|
81
|
+
- fuer kurze, nicht blockierende Hinweise ist `x-toast` die passendere Komponente
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# xbutton – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xalert](./xalert.md), [xstate](./xstate.md), [xtheme](./xtheme.md)
|
|
4
|
+
|
|
5
|
+
## Uebersicht
|
|
6
|
+
|
|
7
|
+
`<x-button>` ist der interaktive Basisbutton fuer XTend Apps. Die Komponente bietet Varianten, Groessen, Ladezustand, dekorative Icons, Focus-Visible-Styles, Reduced-Motion-/Forced-Colors-Pfade und seit `WP-E12-06` ein explizites Performance- und Interaction-Budget.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- Varianten: `primary`, `secondary`, `danger`
|
|
12
|
+
- Groessen: `small`, normal, `large`
|
|
13
|
+
- Ladezustand ueber `loading` und `aria-busy`
|
|
14
|
+
- Disabled-/Busy-Guards fuer Click- und Keyboard-Aktivierung
|
|
15
|
+
- Touch Target Token `--xtend-button-min-touch-target`
|
|
16
|
+
- State-Integration ueber `xbutton-state-<id>`
|
|
17
|
+
- Fabric-kompatible Events `button-interaction` und `button-performance-measured`
|
|
18
|
+
- Slot-Fallback bleibt erhalten, damit spaet nachgereichte Inhalte wie `x-icon` sauber hydrieren
|
|
19
|
+
|
|
20
|
+
## Verwendung
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<x-button variant="primary" size="large" icon="/icons/save.svg">Speichern</x-button>
|
|
24
|
+
<x-button loading aria-label="Speichern laeuft">Bitte warten...</x-button>
|
|
25
|
+
<x-button aria-label="Theme wechseln"><x-icon name="sun" decorative></x-icon></x-button>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Attribute
|
|
29
|
+
|
|
30
|
+
| Attribut | Typ | Beschreibung |
|
|
31
|
+
|----------|-----|--------------|
|
|
32
|
+
| `disabled` | Boolean | Deaktiviert Interaktion und setzt `aria-disabled` |
|
|
33
|
+
| `label` | String | Fallback-Text, wenn kein Slot-Inhalt vorhanden ist |
|
|
34
|
+
| `variant` | String | `primary`, `secondary`, `danger` oder Custom-Klasse |
|
|
35
|
+
| `size` | String | `small`, normal oder `large` |
|
|
36
|
+
| `icon` | String | SVG-String oder Icon-URL |
|
|
37
|
+
| `loading` | Boolean | Zeigt Spinner, sperrt Interaktion und setzt Busy-State |
|
|
38
|
+
| `aria-label` | String | Zugänglicher Name fuer Screenreader |
|
|
39
|
+
| `aria-busy` | Boolean | Expliziter Busy-Status ohne zwingenden Loading-Spinner |
|
|
40
|
+
|
|
41
|
+
## Events
|
|
42
|
+
|
|
43
|
+
| Event | Beschreibung |
|
|
44
|
+
|-------|--------------|
|
|
45
|
+
| `click` | weitergeleiteter Click der internen Button-Shell |
|
|
46
|
+
| `focus` / `blur` | weitergeleitete Focus-Events |
|
|
47
|
+
| `loading-start` | `loading` wurde aktiviert |
|
|
48
|
+
| `loading-end` | `loading` wurde deaktiviert |
|
|
49
|
+
| `button-interaction` | Fabric-kompatible Interaktionsmessung fuer Click/Keyboard |
|
|
50
|
+
| `button-performance-measured` | Performance-Messpunkt nach Hydration, Update oder Interaktion |
|
|
51
|
+
|
|
52
|
+
## API
|
|
53
|
+
|
|
54
|
+
| Methode | Zweck |
|
|
55
|
+
|---------|-------|
|
|
56
|
+
| `setLoading(loading, options?)` | toggelt den Ladezustand programmatisch |
|
|
57
|
+
| `getPerformanceBudget()` | liefert die ms-Budgets des Performance-Profils |
|
|
58
|
+
| `getInteractionBudget()` | liefert Click-, Keyboard-, Busy- und Touch-Target-Budgets |
|
|
59
|
+
| `snapshotPerformance()` | liefert den aktuellen Snapshot `xtend.component.performance-snapshot.v1` |
|
|
60
|
+
|
|
61
|
+
## Performance-Profil
|
|
62
|
+
|
|
63
|
+
`x-button` besitzt das Runtime-Profil `xtend.performance.component-profile.v1` mit:
|
|
64
|
+
|
|
65
|
+
- `budgetClass`: `interactive-small`
|
|
66
|
+
- `lane`: `user-blocking`
|
|
67
|
+
- `hydrationPolicy`: `visible`
|
|
68
|
+
- `criticalMeasurements`: `xtend.component.hydrate`, `xtend.component.render`, `xtend.component.update`, `xtend.event.handler`, `xtend.interaction.click`, `xtend.interaction.keyboard`
|
|
69
|
+
- `budgetsMs`: `hydrate`, `renderUpdate`, `eventAction`, `keyboardAction`, `busyToggle`, `stateSync`
|
|
70
|
+
|
|
71
|
+
Damit kann der Button von Fabric, Regression-Gates und spaeteren RMT Shells als kleine, user-blocking Interaktion geplant werden.
|
|
72
|
+
|
|
73
|
+
## RMT und Fabric
|
|
74
|
+
|
|
75
|
+
Die Komponente deklariert `xtendRmtMetadata` mit `adapter: 'xtend.component'`, `templateMode: 'dom_descriptor'`, `eventBindingMode: 'dom-event-to-rmt-command'` und der Boundary `no-rmt-kernel-import-of-xtend-types`. RMT kann den Button damit authoren und schedulen, ohne XTend-Typen in den Kernel zu importieren.
|
|
76
|
+
|
|
77
|
+
Fabric konsumiert:
|
|
78
|
+
|
|
79
|
+
- `button-interaction`
|
|
80
|
+
- `button-performance-measured`
|
|
81
|
+
- `snapshotPerformance()`
|
|
82
|
+
- State-Key `xbutton-state-<id>`
|
|
83
|
+
|
|
84
|
+
## Styling & Theming
|
|
85
|
+
|
|
86
|
+
```css
|
|
87
|
+
x-button {
|
|
88
|
+
--primary-color: #007bff;
|
|
89
|
+
--focus-color: #80bfff;
|
|
90
|
+
--xtend-button-min-touch-target: 44px;
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Der Button respektiert `prefers-reduced-motion` und `forced-colors`. In Forced-Colors-Modus werden Systemfarben, sichtbarer Fokus und ein textuelles Busy-Signal genutzt.
|
|
95
|
+
|
|
96
|
+
## Accessibility
|
|
97
|
+
|
|
98
|
+
- nativer Button im Shadow DOM mit `role="button"`
|
|
99
|
+
- sichtbarer `:focus-visible` Zustand
|
|
100
|
+
- `aria-disabled` und `aria-busy`
|
|
101
|
+
- dekorative Icons mit leerem `alt`
|
|
102
|
+
- minimale Touch-Zielflaeche ueber Token
|
|
103
|
+
- Keyboard-Aktivierung ueber native Button-Semantik plus Messpunkt fuer `Enter` und `Space`
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# xcalendar – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xcards](./xcards.md), [xform](./xform.md), [xstate](./xstate.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-calendar>` ist ein moderner, barrierearmer Kalender mit Form-Integration, State-Management und Theming. Er eignet sich für Datumsauswahl und Terminverwaltung.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Form-assoziiert (HTML5 Form API)
|
|
13
|
+
- State-Integration via xstate
|
|
14
|
+
- Theming via CSS Custom Properties
|
|
15
|
+
- Responsive Design
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Verwendung
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<x-calendar></x-calendar>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Attribute
|
|
28
|
+
| Attribut | Typ | Beschreibung |
|
|
29
|
+
|-------------|---------|-------------------------------------|
|
|
30
|
+
| `value` | String | Ausgewähltes Datum (ISO-Format) |
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Events
|
|
35
|
+
| Event | Beschreibung |
|
|
36
|
+
|---------------|-------------------------------------|
|
|
37
|
+
| `change` | Wird bei Datumsauswahl ausgelöst |
|
|
38
|
+
| `date-select` | aktueller XTend-Contract bei Datumsauswahl, Detail: `{ value, date }` |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## API
|
|
43
|
+
- **Wert setzen/lesen:** `element.value = '2025-07-16'`
|
|
44
|
+
- **State-Integration:** Automatisch via xstate
|
|
45
|
+
|
|
46
|
+
## Component-Level-Contract ab ER-WP-33
|
|
47
|
+
|
|
48
|
+
`<x-calendar>` ist form-associated, schreibt Auswahl und View-Date nach `xcalendar-state-<id>` und rendert die Monatsansicht als ARIA-Grid. Tageszellen nutzen `role="gridcell"` und `aria-selected`; Monatsnavigation wird ueber beschriftete Buttons angeboten.
|
|
49
|
+
|
|
50
|
+
## Form Controls UX ab WP-E11-08
|
|
51
|
+
|
|
52
|
+
`<x-calendar>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil verbindet Datumsauswahl, `date-select`, `xcalendar-state-<id>`, `ui.user-blocking.input`, Grid-A11y, Fabric-Lane `user-blocking` und RMT Shell Authoring.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Beispiel: Dynamisch per JS
|
|
57
|
+
|
|
58
|
+
```js
|
|
59
|
+
const cal = document.createElement('x-calendar');
|
|
60
|
+
cal.value = '2025-07-16';
|
|
61
|
+
document.body.appendChild(cal);
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Styling & Theming
|
|
67
|
+
|
|
68
|
+
```css
|
|
69
|
+
x-calendar {
|
|
70
|
+
--border-color: #ccc;
|
|
71
|
+
--background-color: #fff;
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Accessibility
|
|
78
|
+
- ARIA-Rollen, Keyboard-Navigation
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# xcards – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xmasonry](./xmasonry.md), [xcalendar](./xcalendar.md), [xstate](./xstate.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-cards>` ist ein flexibles Grid-Layout für beliebige Inhalte. Es unterstützt Responsive Design, Theming und State-Integration.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Grid-Layout mit variabler Spaltenzahl
|
|
13
|
+
- Responsive (1 Spalte auf Mobilgeräten)
|
|
14
|
+
- Theming via CSS Custom Properties
|
|
15
|
+
- State-Integration via xstate
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Verwendung
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<x-cards columns="4" gap="2rem">
|
|
23
|
+
<div>Card 1</div>
|
|
24
|
+
<div>Card 2</div>
|
|
25
|
+
</x-cards>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Attribute
|
|
31
|
+
| Attribut | Typ | Beschreibung |
|
|
32
|
+
|-------------|---------|-------------------------------------|
|
|
33
|
+
| `columns` | Number | Anzahl der Spalten (default: 3) |
|
|
34
|
+
| `gap` | String | Abstand zwischen Karten (default: 1.5rem) |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Events
|
|
39
|
+
| Event | Beschreibung |
|
|
40
|
+
|---------------|-------------------------------------|
|
|
41
|
+
| – | – |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## API
|
|
46
|
+
- **Spalten dynamisch setzen:** `element.setAttribute('columns', 2)`
|
|
47
|
+
- **State-Integration:** Automatisch via xstate
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Beispiel: Dynamisch per JS
|
|
52
|
+
|
|
53
|
+
```js
|
|
54
|
+
const cards = document.createElement('x-cards');
|
|
55
|
+
cards.setAttribute('columns', 2);
|
|
56
|
+
document.body.appendChild(cards);
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Styling & Theming
|
|
62
|
+
|
|
63
|
+
```css
|
|
64
|
+
x-cards {
|
|
65
|
+
--card-columns: 4;
|
|
66
|
+
--card-gap: 2rem;
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Accessibility
|
|
73
|
+
- Grid-Rolle, semantisches HTML
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
78
|
+
|
|
79
|
+
## Layout Display Media UX Profil
|
|
80
|
+
|
|
81
|
+
`x-cards` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente beschreibt ein responsive Card-Grid fuer RMT Shell Authoring und nutzt den State-Key `xcards-state-<id>`.
|
|
82
|
+
|
|
83
|
+
- Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
|
|
84
|
+
- Schedule: `layout.reflow.commit`
|
|
85
|
+
- Event: `cards-layout`
|
|
86
|
+
- Snapshot: `snapshot()`
|
|
87
|
+
- CSS Parts: `root`, `grid`, `item`
|
|
88
|
+
|
|
89
|
+
## ECH-WP-07 Token-Tabelle und signatureDesign
|
|
90
|
+
|
|
91
|
+
`signatureDesign`: Eigenstaendiger Enterprise-Card-Rhythmus mit tokenisiertem Glas, Kante, Tiefe und Typografie. Das Default-Grid soll nicht wie ein generisches SaaS-Kartenraster wirken und trotzdem voll themebar bleiben.
|
|
92
|
+
|
|
93
|
+
| Token | Zweck |
|
|
94
|
+
| --- | --- |
|
|
95
|
+
| `--xtend-layout-surface` | Card-Flaeche |
|
|
96
|
+
| `--xtend-layout-text` | Card-Textfarbe |
|
|
97
|
+
| `--xtend-layout-border-color` | Card-Kante |
|
|
98
|
+
| `--xtend-layout-radius` | Card-Radius |
|
|
99
|
+
| `--xtend-layout-elevation` | Card-Schatten |
|
|
100
|
+
| `--xtend-layout-spacing` | Card-Padding |
|
|
101
|
+
| `--xtend-layout-gap` | Grid-Abstand |
|
|
102
|
+
| `--xtend-layout-font-family` | Card-Typografie |
|
|
103
|
+
| `--xtend-layout-font-size` | Card-Textgroesse |
|
|
104
|
+
| `--xtend-layout-media-radius` | Bild-/Medienradius |
|
|
105
|
+
| `--xtend-layout-focus-ring` | Card-Fokus |
|
|
106
|
+
| `--xtend-layout-grid-min` | Grid-Untergrenze |
|
|
107
|
+
| `--xtend-layout-content-max` | Grid-Maximalbreite |
|
|
108
|
+
|
|
109
|
+
## ECH-WP-07 Fremdtheme
|
|
110
|
+
|
|
111
|
+
```css
|
|
112
|
+
[data-xtend-layout-theme="enterprise-foreign"] x-cards,
|
|
113
|
+
[data-xtend-layout-theme="enterprise-foreign"] x-card {
|
|
114
|
+
--xtend-layout-surface: #f8f4ef;
|
|
115
|
+
--xtend-layout-text: #1b2823;
|
|
116
|
+
--xtend-layout-border-color: rgba(27, 40, 35, 0.18);
|
|
117
|
+
--xtend-layout-radius: 0.3rem;
|
|
118
|
+
--xtend-layout-elevation: 0 12px 30px rgba(27, 40, 35, 0.12);
|
|
119
|
+
--xtend-layout-spacing: 1.35rem;
|
|
120
|
+
--xtend-layout-gap: 1.1rem;
|
|
121
|
+
--xtend-layout-font-family: "Aptos", "Segoe UI", sans-serif;
|
|
122
|
+
--xtend-layout-font-size: 1rem;
|
|
123
|
+
--xtend-layout-media-radius: 0.25rem;
|
|
124
|
+
--xtend-layout-focus-ring: 3px solid #8f4f2a;
|
|
125
|
+
--xtend-layout-grid-min: minmax(15rem, 1fr);
|
|
126
|
+
--xtend-layout-content-max: 74rem;
|
|
127
|
+
}
|
|
128
|
+
```
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# xcheckbox – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xform](./xform.md), [xinput](./xinput.md), [xstate](./xstate.md)
|
|
4
|
+
|
|
5
|
+
## Uebersicht
|
|
6
|
+
|
|
7
|
+
`<x-checkbox>` ist das TypeScript-first Binary-Control aus `WP-E10-09`. Es ist form-associated, unterstuetzt `checked` und `indeterminate`, meldet Aenderungen ueber XTend Events und kann von RMT als framework-agnostische UI-Komponente scheduled werden.
|
|
8
|
+
|
|
9
|
+
## Verwendung
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<x-checkbox id="terms" name="terms" required checked>
|
|
13
|
+
<span slot="label">Nutzungsbedingungen akzeptieren</span>
|
|
14
|
+
<span slot="error">Die Zustimmung ist erforderlich.</span>
|
|
15
|
+
</x-checkbox>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Attribute
|
|
19
|
+
|
|
20
|
+
| Attribut | Typ | Beschreibung |
|
|
21
|
+
|----------|-----|--------------|
|
|
22
|
+
| `name` | String | Formularname |
|
|
23
|
+
| `value` | String | Formularwert bei aktivem Zustand, Standard `on` |
|
|
24
|
+
| `checked` | Boolean | aktueller Auswahlzustand |
|
|
25
|
+
| `indeterminate` | Boolean | visueller Mischzustand |
|
|
26
|
+
| `required` | Boolean | aktiviert Validierung |
|
|
27
|
+
| `disabled` | Boolean | deaktiviert das Control |
|
|
28
|
+
| `label` | String | ARIA-/Textlabel ohne Slot |
|
|
29
|
+
|
|
30
|
+
## Slots
|
|
31
|
+
|
|
32
|
+
| Slot | Zweck |
|
|
33
|
+
|------|-------|
|
|
34
|
+
| `label` | sichtbares Label |
|
|
35
|
+
| `hint` | zusaetzlicher Hinweistext |
|
|
36
|
+
| `error` | Validierungsfehler |
|
|
37
|
+
|
|
38
|
+
## Events
|
|
39
|
+
|
|
40
|
+
| Event | Detail |
|
|
41
|
+
|-------|--------|
|
|
42
|
+
| `checkbox-changed` | `{ checked, value, source: 'x-checkbox' }` |
|
|
43
|
+
| `checkbox-invalid` | `{ checked, value, message, source: 'x-checkbox' }` |
|
|
44
|
+
|
|
45
|
+
## API
|
|
46
|
+
|
|
47
|
+
- `element.checked`
|
|
48
|
+
- `element.value`
|
|
49
|
+
- `element.indeterminate`
|
|
50
|
+
- `element.toggle()`
|
|
51
|
+
- `element.checkValidity()`
|
|
52
|
+
- `element.reportValidity()`
|
|
53
|
+
- `element.validate()`
|
|
54
|
+
- `element.reset()`
|
|
55
|
+
- `element.focus()`
|
|
56
|
+
|
|
57
|
+
## State, RMT und Fabric
|
|
58
|
+
|
|
59
|
+
`<x-checkbox>` schreibt nach `xcheckbox-checked-<id>`. RMT sieht die Komponente ueber `xtend.rmt.component-contract.v1` als DOM-Descriptor und nicht als XTend-Kernel-Abhaengigkeit. Die Fabric-Metadaten binden Events an die `user-blocking` Lane und halten den Boundary-String `no-rmt-kernel-import-of-xtend-types` sichtbar.
|
|
60
|
+
|
|
61
|
+
## A11y und Performance
|
|
62
|
+
|
|
63
|
+
Das Control spiegelt `aria-checked`, `aria-describedby`, `required` und `disabled` auf die native Checkbox. Das Performance-Profil nutzt `xtend.performance.component-profile.v1` mit `budgetClass: 'interactive-small'`, `lane: 'user-blocking'` und `hydrationPolicy: 'visible'`.
|
|
64
|
+
|
|
65
|
+
## Form Controls UX ab WP-E11-08
|
|
66
|
+
|
|
67
|
+
`<x-checkbox>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil verbindet Label, Hint, Error, `checkbox-changed`, `checkbox-invalid`, `xcheckbox-checked-<id>`, `ui.user-blocking.input`, Fabric-Lane `user-blocking` und RMT Shell Authoring.
|
|
68
|
+
|
|
69
|
+
## ECH-WP-08 Form Theme/A11y Hardening
|
|
70
|
+
|
|
71
|
+
`signatureDesign`: Taktile Enterprise-Checkbox mit nativer Zuverlaessigkeit, separat themebarer Selection-Affordance und statusfestem Helper/Error-Rhythmus.
|
|
72
|
+
|
|
73
|
+
| Token | Zweck |
|
|
74
|
+
| --- | --- |
|
|
75
|
+
| `--xtend-form-text` | Host-Textfarbe |
|
|
76
|
+
| `--xtend-form-control-surface` | Native Control-Flaeche |
|
|
77
|
+
| `--xtend-form-control-text` | Control-Text-Fallback |
|
|
78
|
+
| `--xtend-form-label-text` | Label |
|
|
79
|
+
| `--xtend-form-helper-text` | Helper |
|
|
80
|
+
| `--xtend-form-error-text` | Fehlertext |
|
|
81
|
+
| `--xtend-form-error-surface` | Fehlerflaeche |
|
|
82
|
+
| `--xtend-form-error-border` | Fehlerkante und Marker |
|
|
83
|
+
| `--xtend-form-focus-ring` | Focus-Outline |
|
|
84
|
+
| `--xtend-form-radius` | Native Control-/Error-Radius |
|
|
85
|
+
| `--xtend-form-gap` | Label-/Helper-Abstand |
|
|
86
|
+
| `--xtend-form-font-family` | Form-Typografie |
|
|
87
|
+
| `--xtend-form-control-font-size` | Label-Schrift |
|
|
88
|
+
| `--xtend-form-helper-font-size` | Helper/Error-Schrift |
|
|
89
|
+
| `--xtend-form-icon-color` | Checkbox-Akzent |
|
|
90
|
+
|
|
91
|
+
Density-Profile: `comfortable`, `compact`, `dense`. Invalid ist zusaetzlich zu Farbe durch Outline und Error-Marker erkennbar.
|
|
92
|
+
|
|
93
|
+
```css
|
|
94
|
+
[data-xtend-form-theme="enterprise-foreign"] x-checkbox {
|
|
95
|
+
--xtend-form-icon-color: #8f4f2a;
|
|
96
|
+
--xtend-form-label-text: #22312c;
|
|
97
|
+
--xtend-form-helper-text: #596861;
|
|
98
|
+
--xtend-form-error-text: #7d231c;
|
|
99
|
+
--xtend-form-error-border: #a64036;
|
|
100
|
+
--xtend-form-focus-ring: 3px solid #8f4f2a;
|
|
101
|
+
}
|
|
102
|
+
```
|