@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
|
@@ -3,19 +3,46 @@
|
|
|
3
3
|
- Contract: `xtend.rmt.vnext-release-handoff.v1`
|
|
4
4
|
- Syntax Contract: `xtend.rmt.vnext.grammar.v1`
|
|
5
5
|
- Core Output: `xtend.rmt.core-format.vnext.v1`
|
|
6
|
-
- Reference Demo: `xtendrmt/rmt-vnext-reference-demo.rmt`
|
|
7
|
-
- Gate: `node scripts/run_xtend_tests.js rmt-vnext-release --json`
|
|
8
6
|
|
|
9
|
-
RMT vNext ist die
|
|
7
|
+
RMT vNext ist die menschenfreundliche Syntax fuer XTend Apps. Du kannst eine
|
|
8
|
+
vollstaendige UI-Shell in RMT schreiben: State, Selectors, DataSources,
|
|
9
|
+
Actions, Events, Portals, Overlays, Resources, Surfaces und Fabric-Lanes
|
|
10
|
+
liegen in einer `.rmt` Quelle und werden deterministisch in Core- und
|
|
11
|
+
Kernel-Records kompiliert.
|
|
10
12
|
|
|
11
13
|
## Grundform
|
|
12
14
|
|
|
13
15
|
```rmt
|
|
14
|
-
template
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
template media.manager {
|
|
17
|
+
state selectedItem type object initial null
|
|
18
|
+
|
|
19
|
+
selector visibleItems from datasource library {
|
|
20
|
+
output card-list
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
datasource library from fixture records.media-items {
|
|
24
|
+
contract "media.item.v1[]"
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
action select-item {
|
|
28
|
+
input id string
|
|
29
|
+
reduce state.selectedItem = input.id
|
|
30
|
+
emit media.item.selected with action select-item
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
portal app root "#app-root" layer surface
|
|
34
|
+
|
|
35
|
+
surface library kind workspace component x-cards {
|
|
36
|
+
repeat from selector visibleItems
|
|
37
|
+
key item.id
|
|
38
|
+
portal app
|
|
39
|
+
|
|
40
|
+
lane visible weight 80 {
|
|
41
|
+
hydrate x-cards from selector visibleItems
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
on card-click target item -> action select-item {
|
|
45
|
+
payload id from item.id
|
|
19
46
|
}
|
|
20
47
|
}
|
|
21
48
|
}
|
|
@@ -25,36 +52,119 @@ Die wichtigsten Bausteine:
|
|
|
25
52
|
|
|
26
53
|
| Syntax | Zweck |
|
|
27
54
|
| --- | --- |
|
|
28
|
-
| `template` | gruppiert eine
|
|
29
|
-
| `
|
|
55
|
+
| `template` | gruppiert eine App- oder Dokument-Shell |
|
|
56
|
+
| `state` | beschreibt persistenten oder transienten App-Zustand |
|
|
57
|
+
| `selector` | leitet UI-nahe Views aus State oder DataSources ab |
|
|
58
|
+
| `datasource` | bindet Fixture-, Endpoint-, SSE- oder Worker-Quellen an |
|
|
59
|
+
| `action` | beschreibt User- und Systemaktionen mit Reducern und Effects |
|
|
60
|
+
| `on ... -> action ...` | routet DOM- oder Custom-Events in Actions |
|
|
61
|
+
| `portal` | benennt Mount-Ziele fuer Surfaces und Overlays |
|
|
62
|
+
| `surface` | beschreibt sichtbare UI-Objekte, Listen, Panels oder Pages |
|
|
63
|
+
| `overlay` | beschreibt Toasts, Dialoge, Menues, Popovers und Lightboxes |
|
|
64
|
+
| `resource` | beschreibt Besitz, Import, Stream, Timer und Cleanup |
|
|
30
65
|
| `lane` | steuert Prioritaet, Scheduling und Backpressure |
|
|
31
66
|
| `mount`, `hydrate`, `prewarm`, `dispose` | Lifecycle-Operationen |
|
|
32
67
|
| `when` | deklarative Conditions ohne Funktionsaufrufe oder Eval |
|
|
33
68
|
| `slot` | Composition innerhalb einer Operation |
|
|
34
|
-
| `on ... -> action ...` | Event zu Action-Referenz |
|
|
35
|
-
| `from endpoint/sse/worker` | Data-Source-Referenz |
|
|
36
69
|
| `trust boundary` und `sanitize` | Security-Policy fuer unsichere Daten |
|
|
37
70
|
| `stream` | inkrementelle Streaming-Operation |
|
|
38
71
|
|
|
72
|
+
## App Shell nur in RMT
|
|
73
|
+
|
|
74
|
+
Eine vNext-App soll nicht zwischen RMT, App-Platform-JSON und Host-Code
|
|
75
|
+
zerfallen. RMT ist der Authoring-Ort fuer:
|
|
76
|
+
|
|
77
|
+
- Route- und Shell-Struktur
|
|
78
|
+
- sichtbare Surfaces und Overlay-Portale
|
|
79
|
+
- State- und Selector-Modell
|
|
80
|
+
- Actions, Effects und Event-Payloads
|
|
81
|
+
- Resource Ownership und Cleanup
|
|
82
|
+
- Fabric-Lanes fuer sichtbare, user-blocking, transition, idle,
|
|
83
|
+
background- und diagnostics-Arbeit
|
|
84
|
+
|
|
85
|
+
Der Host stellt Komponenten, Router, Browser-APIs und externe Daten bereit.
|
|
86
|
+
Diese Grenze haelt den Kernel framework-neutral und macht die App trotzdem
|
|
87
|
+
vollstaendig beschreibbar.
|
|
88
|
+
|
|
89
|
+
## XTend UI-Kompatibilitaet
|
|
90
|
+
|
|
91
|
+
RMT vNext Component Primitives zielen auf den bestehenden XTend-Component-
|
|
92
|
+
Stack. Eine Surface wie `component x-select` wird zu einem DOM Descriptor
|
|
93
|
+
abgesenkt und dann ueber die Component Capability Registry aufgeloest, nicht
|
|
94
|
+
ueber einen produktspezifischen Renderer. Die Registry liest
|
|
95
|
+
`components/manifest.json`, `xtendComponentContract`, `xtendRmtMetadata`,
|
|
96
|
+
public Events, `observedAttributes`, Slots, Parts, Form-Assoziation,
|
|
97
|
+
Accessibility-Profile und Performance-Profile.
|
|
98
|
+
|
|
99
|
+
Damit erreicht RMT alle 44 public Manifest-Eintraege, waehrend 40 renderbare
|
|
100
|
+
UI-Komponenten ihren normalen Web-Component-Lifecycle behalten. Infrastruktur-
|
|
101
|
+
module wie `x-theme` und `xstate` bleiben Host-Services, keine normalen
|
|
102
|
+
Surface-Elemente. Produktcode soll ueber public Attribute, Properties, Events,
|
|
103
|
+
Parts, Slots und State-Bridges binden, statt `shadowRoot` oder private
|
|
104
|
+
Component-Maps zu patchen.
|
|
105
|
+
|
|
106
|
+
Details stehen in
|
|
107
|
+
[RMT vNext Component Primitives und XTend UI](./rmt-vnext-component-primitives.md).
|
|
108
|
+
|
|
109
|
+
## Editor-DX
|
|
110
|
+
|
|
111
|
+
Der Language Server erkennt vNext-Primitives direkt:
|
|
112
|
+
|
|
113
|
+
- Completions fuer Primitive-Keywords und klauselnahe Vorschlaege
|
|
114
|
+
- Hover mit Core Pointer und Primitive-Informationen
|
|
115
|
+
- Document Symbols fuer `states`, `selectors`, `actions`, `surfaces`,
|
|
116
|
+
`portals`, `overlays` und `resources`
|
|
117
|
+
- Code Actions fuer sichere Reparaturen
|
|
118
|
+
- Safe Fix-All fuer `source.fixAll.rmt.vnext.primitives`
|
|
119
|
+
- manuelle Uebergaben fuer Kernel-/Host-Boundaries
|
|
120
|
+
|
|
121
|
+
Das Snippet `rmt-vnext-primitive-shell` erzeugt eine kleine App Shell mit
|
|
122
|
+
State, Selector, Action, Portal, Surface, Lane und Event-Payload-Contract.
|
|
123
|
+
|
|
124
|
+
## Migration aus Legacy-Records
|
|
125
|
+
|
|
126
|
+
Legacy- und App-Platform-JSON bleiben lesbar, sind aber nicht der normale
|
|
127
|
+
Authoring-Pfad. Fuer vorhandene App-Platform-Primitive-Records gibt es:
|
|
128
|
+
|
|
129
|
+
- `createAppPlatformPrimitiveMigrationPreview(...)` fuer einen vNext-Draft
|
|
130
|
+
- `createAppPlatformPrimitiveMigrationApplyPlan(...)` fuer einen manuellen
|
|
131
|
+
Apply-Plan ohne automatisches Schreiben
|
|
132
|
+
- `report-only`, `preview-ready`, `apply-plan-ready` und `blocked` als
|
|
133
|
+
klare Statuswerte
|
|
134
|
+
|
|
135
|
+
Details stehen in [RMT vNext Primitive Migration](./rmt-vnext-primitive-migration.md).
|
|
136
|
+
|
|
39
137
|
## Reference Demo
|
|
40
138
|
|
|
41
|
-
Die vollstaendige Referenz liegt in `xtendrmt/rmt-vnext-reference-demo.rmt`.
|
|
139
|
+
Die vollstaendige Referenz liegt in `xtendrmt/rmt-vnext-reference-demo.rmt`.
|
|
140
|
+
Sie deckt Templates, Surfaces, gewichtete Lanes, Conditions, Slots, Events,
|
|
141
|
+
Endpoint/SSE/Worker Sources, Security Policies und Streaming ab.
|
|
42
142
|
|
|
43
|
-
Der stabile Compiler-Output liegt in
|
|
143
|
+
Der stabile Compiler-Output liegt in
|
|
144
|
+
`xtendrmt/rmt-vnext-reference-demo.core.json`. Wenn Syntax oder Compiler
|
|
145
|
+
absichtlich geaendert werden, muessen Quelle und Core-Output gemeinsam
|
|
146
|
+
aktualisiert werden.
|
|
44
147
|
|
|
45
148
|
## Lokal pruefen
|
|
46
149
|
|
|
47
150
|
```bash
|
|
151
|
+
node scripts/run_xtend_tests.js rmt-vnext-parser rmt-vnext-compiler rmt-vnext-tooling --json
|
|
152
|
+
node scripts/run_xtend_tests.js rmt-vnext-compatibility --json
|
|
153
|
+
node scripts/run_xtend_tests.js rmt-vnext-component-primitives --json
|
|
48
154
|
node scripts/run_xtend_tests.js rmt-vnext-release --json
|
|
49
|
-
node scripts/run_xtend_tests.js rmt-vnext-parser rmt-vnext-compiler rmt-vnext-regression --json
|
|
50
155
|
```
|
|
51
156
|
|
|
52
|
-
|
|
157
|
+
Fuer App-Shell-Arbeit reichen normalerweise Parser, Compiler, Tooling und
|
|
158
|
+
Compatibility. Release-Gates pruefen zusaetzlich Referenzdemo, Core-Output,
|
|
159
|
+
Migration und Referenzpfade.
|
|
53
160
|
|
|
54
161
|
## Grenzen
|
|
55
162
|
|
|
56
163
|
- RMT vNext fuehrt keine Host-Runtime im Kernel aus.
|
|
57
164
|
- Conditions sind deklarativ und erlauben keine Funktionsaufrufe.
|
|
58
165
|
- Imports sind statisch und bleiben package-root-gebunden.
|
|
59
|
-
- Legacy JSON bleibt
|
|
60
|
-
-
|
|
166
|
+
- Legacy JSON bleibt kompatibel, aber nicht der bevorzugte Authoring-Pfad.
|
|
167
|
+
- XTend-, XRouter-, DOM- und Browser-Details gehoeren in Adapter.
|
|
168
|
+
- XTend-Component-Integration laeuft ueber public Contracts und die Component
|
|
169
|
+
Capability Registry, nicht ueber direkte Kernel-Imports oder
|
|
170
|
+
Shadow-DOM-Monkeypatching.
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# RMT vNext Component Primitives und XTend UI
|
|
2
|
+
|
|
3
|
+
- Schema: `xtend.rmt.component-capability-registry.v1`
|
|
4
|
+
- Report Schema: `xtend.rmt.component-capability-registry-report.v1`
|
|
5
|
+
- Runtime: `xtendrmt/rmt-component-capability-registry.js`
|
|
6
|
+
- Export: `@ccslabs/xtend/rmt/component-capability-registry`
|
|
7
|
+
- Local Gate: `node scripts/run_xtend_tests.js rmt-vnext-component-primitives --json`
|
|
8
|
+
- Aggregat: `npm run test:rmt-vnext-primitives:report`
|
|
9
|
+
|
|
10
|
+
RMT vNext und XTend UI sind keine Parallelwelten. Die Component Primitives
|
|
11
|
+
verbinden RMT-Templates, Kernel Records, DOM Descriptor Renderer und die
|
|
12
|
+
public XTend Web Components ueber eine gemeinsame Capability Registry. RMT
|
|
13
|
+
beschreibt Shell, State, Surfaces, Events und Lifecycle; XTend Components
|
|
14
|
+
liefern die konkreten UI-Bausteine, Accessibility-Profile, Parts, Slots,
|
|
15
|
+
Events und Performance-Profile.
|
|
16
|
+
|
|
17
|
+
## Source-to-Sea-Fluss
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
.rmt template
|
|
21
|
+
-> RMT Compiler und Core Records
|
|
22
|
+
-> Kernel Records und Fabric Lanes
|
|
23
|
+
-> DOM Descriptor Renderer
|
|
24
|
+
-> Component Capability Registry
|
|
25
|
+
-> XTend Component aus components/manifest.json
|
|
26
|
+
-> Browser DOM und Component Lifecycle
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Der RMT-Kernel importiert keine XTend-Komponenten und keine XTend-Typen. Die
|
|
30
|
+
Registry liest Manifest, Component Contracts, `xtendRmtMetadata`,
|
|
31
|
+
`observedAttributes`, Events, Slots, Parts, Form-Assoziation sowie A11y- und
|
|
32
|
+
Performance-Profile. Daraus entsteht eine normalisierte Matrix fuer alle 42
|
|
33
|
+
public Eintraege aus `components/manifest.json`.
|
|
34
|
+
|
|
35
|
+
## Matrix
|
|
36
|
+
|
|
37
|
+
| Bereich | Abdeckung |
|
|
38
|
+
| --- | --- |
|
|
39
|
+
| Manifest-Eintraege | 44 |
|
|
40
|
+
| Renderbare public UI-Komponenten | 40 |
|
|
41
|
+
| Nicht-visuelle Sonderfaelle | 4 |
|
|
42
|
+
| RMT-Metadaten | 42 Eintraege |
|
|
43
|
+
| Component Contracts | 40 Eintraege |
|
|
44
|
+
| Form-associated Components | 6 |
|
|
45
|
+
|
|
46
|
+
Nicht-visuelle Sonderfaelle sind `x-theme`, `xstate`, `x-utils` und
|
|
47
|
+
`x-rmt-lifecycle-demo-build`. `x-theme` und `xstate` sind Infrastrukturmodule;
|
|
48
|
+
sie werden ueber Host-/Loader-Dienste genutzt, aber nicht als normale RMT-App-
|
|
49
|
+
UI gerendert. `x-utils` bleibt Utility-Modul, der Lifecycle-Demo-Build bleibt
|
|
50
|
+
Demo-Artefakt.
|
|
51
|
+
|
|
52
|
+
## Component-Familien
|
|
53
|
+
|
|
54
|
+
| Familie | Tags |
|
|
55
|
+
| --- | --- |
|
|
56
|
+
| Form | `x-calendar`, `x-checkbox`, `x-form`, `x-input`, `x-radio`, `x-select`, `x-textarea` |
|
|
57
|
+
| Navigation | `x-router`, `x-link`, `x-menu`, `x-drawer` |
|
|
58
|
+
| Overlay/Surface | `x-dialog`, `x-lightbox`, `x-modal`, `x-popover`, `x-side-panel`, `x-surface-manager`, `x-surface-window`, `x-toast`, `x-tooltip` |
|
|
59
|
+
| Media/Feedback/Layout | `x-alert`, `x-button`, `x-cards`, `x-code`, `x-icon`, `x-masonry`, `x-player`, `x-progress`, `x-spinner`, `x-status`, `x-summary`, `x-type`, `x-writer` |
|
|
60
|
+
| Theme/Layout | `x-footer`, `x-header`, `x-hero`, `x-section`, `x-tabs` |
|
|
61
|
+
| Infrastruktur | `x-theme`, `xstate`, `x-utils`, `x-rmt-lifecycle-demo-build` |
|
|
62
|
+
|
|
63
|
+
Die risikoreichen Familien `form`, `navigation`, `overlay-surface`,
|
|
64
|
+
`media-feedback-layout` und `theme-layout` bleiben fuer representative Browser
|
|
65
|
+
Smokes markiert. Der Default-Gate prueft die breite Matrix fake-DOM-nah und
|
|
66
|
+
haelt Browser-Flakiness aus dem schnellen Primitive-Gate heraus.
|
|
67
|
+
|
|
68
|
+
## Runtime API
|
|
69
|
+
|
|
70
|
+
```js
|
|
71
|
+
import {
|
|
72
|
+
createRmtComponentCapabilityRegistry
|
|
73
|
+
} from '@ccslabs/xtend/rmt/component-capability-registry';
|
|
74
|
+
import {
|
|
75
|
+
createRmtDomDescriptorRenderer
|
|
76
|
+
} from '@ccslabs/xtend/rmt/dom-descriptor-renderer';
|
|
77
|
+
|
|
78
|
+
const registry = createRmtComponentCapabilityRegistry({
|
|
79
|
+
manifest,
|
|
80
|
+
sourceTexts,
|
|
81
|
+
importer: async (modulePath) => import(`/components/${modulePath.replace(/^\.\//u, '')}`)
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
const descriptor = registry.buildComponentDescriptor({
|
|
85
|
+
tag: 'x-select',
|
|
86
|
+
id: 'plan-select',
|
|
87
|
+
key: 'settings:plan',
|
|
88
|
+
attributes: {
|
|
89
|
+
name: 'plan',
|
|
90
|
+
value: 'pro'
|
|
91
|
+
},
|
|
92
|
+
slots: {
|
|
93
|
+
label: { text: 'Plan' }
|
|
94
|
+
},
|
|
95
|
+
events: {
|
|
96
|
+
'select-changed': 'settings.plan.changed'
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
const renderer = createRmtDomDescriptorRenderer({ documentTarget: document });
|
|
101
|
+
|
|
102
|
+
renderer.renderKeyed(root, [descriptor], {
|
|
103
|
+
componentRegistry: registry,
|
|
104
|
+
dispatchEvent(event) {
|
|
105
|
+
actions.dispatch(event.action, event.payload);
|
|
106
|
+
},
|
|
107
|
+
stateBridge: {
|
|
108
|
+
read(key) {
|
|
109
|
+
return state.read(key);
|
|
110
|
+
},
|
|
111
|
+
write(key, value) {
|
|
112
|
+
state.write(key, value);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Wichtige Registry-Funktionen:
|
|
119
|
+
|
|
120
|
+
| Funktion | Zweck |
|
|
121
|
+
| --- | --- |
|
|
122
|
+
| `resolveComponentCapability(tag)` | Liefert normalisierte Capabilities fuer einen Manifest-Tag. |
|
|
123
|
+
| `listCapabilities(filter)` | Listet Capabilities nach Familie oder Visual Kind. |
|
|
124
|
+
| `buildComponentDescriptor(input)` | Baut einen DOM Descriptor fuer XTend-Komponenten inklusive Capability-Markern. |
|
|
125
|
+
| `bindComponentInstance(element, binding, options)` | Verbindet Events, Form-State und State Bridge ueber public DOM APIs. |
|
|
126
|
+
| `ensureComponentLoaded(tag, options)` | Fuehrt lazy Import ueber einen expliziten Importer aus. |
|
|
127
|
+
| `createMatrixReport()` | Erzeugt den Compatibility-Report fuer CI und lokale Diagnose. |
|
|
128
|
+
|
|
129
|
+
## Event- und State-Bridge
|
|
130
|
+
|
|
131
|
+
Form Controls liefern `value`, `checked`, `validity`, `dataset` und Datei-
|
|
132
|
+
Metadaten in einem sicheren Payload-Record
|
|
133
|
+
`xtend.rmt.component-event-payload.v1`. Fuer Form-Familien werden `input` und
|
|
134
|
+
`change` ergaenzt, wenn keine explizite Event-Bindung gesetzt ist.
|
|
135
|
+
|
|
136
|
+
Navigation, Overlays, Feedback- und Layout-Komponenten bleiben ebenfalls ueber
|
|
137
|
+
public Events und Properties angebunden. Produktcode muss nicht in
|
|
138
|
+
`shadowRoot` greifen, keine privaten Component-Maps lesen und keine
|
|
139
|
+
komponentenspezifischen Renderer einbauen.
|
|
140
|
+
|
|
141
|
+
## Renderer-Integration
|
|
142
|
+
|
|
143
|
+
Der DOM Descriptor Renderer akzeptiert `componentRegistry` in
|
|
144
|
+
`render(...)` und `renderKeyed(...)`. Bei `type: "component"` werden Tag,
|
|
145
|
+
Attribute, Properties, Slots, Parts und Event-Bindings ueber die Registry
|
|
146
|
+
normalisiert. Keyed Reuse bleibt erhalten, unkeyed Repeat-UI wird weiterhin
|
|
147
|
+
diagnostiziert.
|
|
148
|
+
|
|
149
|
+
Normale RMT-App-UI nutzt keine HTML-Sinks. `innerHTML`, `outerHTML`,
|
|
150
|
+
`insertAdjacentHTML`, `document.write`, `createContextualFragment` und
|
|
151
|
+
unsichere URL-/Inline-Event-Sinks bleiben durch den No-Manual-HTML-Gate und
|
|
152
|
+
die Trusted-DOM-Boundary gesperrt.
|
|
153
|
+
|
|
154
|
+
## Architekturregeln
|
|
155
|
+
|
|
156
|
+
- Component Contracts bleiben die Quelle der Wahrheit.
|
|
157
|
+
- RMT erweitert XTend UI ueber Metadaten und Runtime-Bridges, nicht ueber
|
|
158
|
+
Monkeypatching.
|
|
159
|
+
- Lazy Import laeuft nur ueber Manifest und explizite Importer.
|
|
160
|
+
- Der RMT-Kernel bleibt framework-neutral und importiert keine XTend-Typen.
|
|
161
|
+
- Overlays, Surfaces und Portals brauchen Resource Ownership und Cleanup.
|
|
162
|
+
- `x-player` nutzt den public Player Contract fuer Play/Pause, State Bridge,
|
|
163
|
+
Theme Tokens und Parts; Produktcode patcht kein Shadow DOM.
|
|
164
|
+
- Infrastrukturmodule wie `x-theme` und `xstate` werden als Services genutzt,
|
|
165
|
+
nicht als normale Surface-Elemente.
|
|
166
|
+
|
|
167
|
+
## Gates
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
node scripts/run_xtend_tests.js rmt-vnext-component-primitives --json
|
|
171
|
+
npm run test:rmt-vnext-primitives:report
|
|
172
|
+
node scripts/run_xtend_tests.js component-ux-browser-smokes --json
|
|
173
|
+
node scripts/run_xtend_tests.js type-exports-rmt --json
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Das schnelle Primitive-Gate prueft Registry, Matrix, Renderer-Bindung,
|
|
177
|
+
Package-Exports, Type Declarations, Lazy Import, State Roundtrip und negative
|
|
178
|
+
Grenzen gegen Shadow-DOM-Patches, manuelle HTML-Sinks und direkte Component-
|
|
179
|
+
Imports.
|
|
180
|
+
|
|
181
|
+
## Verwandte Doku
|
|
182
|
+
|
|
183
|
+
- [RMT vNext Authoring Guide](./rmt-vnext-authoring.md)
|
|
184
|
+
- [RMT DOM Descriptor Renderer](./rmt-dom-descriptor-renderer.md)
|
|
185
|
+
- [RMT Component Template Primitives](./rmt-component-template-primitives.md)
|
|
186
|
+
- [XTend Components](./components.md)
|
|
187
|
+
- [Component Platform](./component-platform.md)
|
|
188
|
+
- [XTend-Fabric RMT Lane Mapping](./xtend-fabric-rmt-lane-mapping.md)
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# RMT vNext Fabric Bridge Evidence
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.rmt.vnext.fabric-bridge-evidence.v1`
|
|
4
|
+
- Workpackage: `RMT-VNEXT-PRIM-05`
|
|
5
|
+
- Status: `completed`
|
|
6
|
+
- Quelle: Media-Manager-Downstream-Transfer, `2026-05-19`
|
|
7
|
+
|
|
8
|
+
## Ziel
|
|
9
|
+
|
|
10
|
+
`RMT-VNEXT-PRIM-05` beweist, dass vNext-authorierte Primitives den Fabric-
|
|
11
|
+
Runtime-Raum erreichen, ohne Fabric- oder XTend-Host-Imports in den RMT-Kernel
|
|
12
|
+
zu ziehen.
|
|
13
|
+
|
|
14
|
+
Das Gate ist absichtlich als eigene Scheibe neben dem Source-to-Sea-Gate
|
|
15
|
+
verfuegbar. Source-to-Sea prueft den gesamten Objekt-Lifecycle bis Browser;
|
|
16
|
+
dieses Gate prueft die Fabric-Bruecke selbst:
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
vNext source
|
|
20
|
+
-> PRIM-04 kernel schedule/fiber
|
|
21
|
+
-> Fabric/RMT lane mapping
|
|
22
|
+
-> xtend.fabric.fiber.v1
|
|
23
|
+
-> xtend.fabric.telemetry-snapshot.v1
|
|
24
|
+
-> host adapter telemetry
|
|
25
|
+
-> route/component fiber instrumentation
|
|
26
|
+
-> browser-visible Fabric markers
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Evidence
|
|
30
|
+
|
|
31
|
+
Die Evidence wird von `createRmtVNextFabricBridgeEvidence(...)` erzeugt und
|
|
32
|
+
ueber `createRmtVNextSourceToSeaEvidence(...)` in den Fullstack-Report
|
|
33
|
+
eingebettet.
|
|
34
|
+
|
|
35
|
+
Der PRIM-05-Contract umfasst:
|
|
36
|
+
|
|
37
|
+
- `xtend.fabric.rmt-lane-mapping.v1` fuer die Uebersetzung von RMT-Lanes in
|
|
38
|
+
Fabric-Schedules;
|
|
39
|
+
- eine primaere `xtend.fabric.fiber.v1` aus dem PRIM-04 Kernel-Fiber;
|
|
40
|
+
- eine Lane-Matrix fuer `user-blocking`, `transition`, `idle`, `background`
|
|
41
|
+
und `diagnostics`;
|
|
42
|
+
- `xtend.component.lifecycle-telemetry.v1` aus dem XTend Component Host-
|
|
43
|
+
Adapter;
|
|
44
|
+
- `component.mount`, `component.hydrate`, `route.navigate` und `route.render`
|
|
45
|
+
aus den produktiven Fabric-Fiber-Instrumentations;
|
|
46
|
+
- einen `xtend.fabric.telemetry-snapshot.v1`, der alle erwarteten Schedule Refs
|
|
47
|
+
enthaelt;
|
|
48
|
+
- Browser-Marker fuer Fabric Lane, Fabric Fiber, Fabric Schedule und Host-
|
|
49
|
+
Adapter-Telemetrie.
|
|
50
|
+
|
|
51
|
+
## Gate-Regeln
|
|
52
|
+
|
|
53
|
+
Das Gate schlaegt fehl, wenn:
|
|
54
|
+
|
|
55
|
+
- die Fabric/RMT-Lane-Aufloesung kein Mapping liefert;
|
|
56
|
+
- die primaere Fabric-Fiber nicht abgeschlossen ist;
|
|
57
|
+
- Kernel-Schedule, Kernel-Fiber und Source-Pointer nicht in Fiber-Metadaten
|
|
58
|
+
erhalten bleiben;
|
|
59
|
+
- eine der Matrix-Lanes fehlt oder keinen Telemetry-Schedule schreibt;
|
|
60
|
+
- Host-Adapter-Telemetrie nicht im Fabric-Snapshot erscheint;
|
|
61
|
+
- Route- oder Component-Fiber nicht aus den produktiven Instrumentations
|
|
62
|
+
stammen;
|
|
63
|
+
- Browser-Marker fuer Lane, Fiber, Schedule oder Host-Telemetrie fehlen;
|
|
64
|
+
- der RMT-Kernel Host- oder Fabric-Imports enthaelt.
|
|
65
|
+
|
|
66
|
+
## Lokale Gates
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
node --check tools/rmt-language/vnext-source-to-sea.js
|
|
70
|
+
node --check tests/rmt-language/rmt_vnext_fabric_bridge_suite.js
|
|
71
|
+
node scripts/run_xtend_tests.js rmt-vnext-fabric-bridge --json
|
|
72
|
+
node scripts/run_xtend_tests.js rmt-vnext-source-to-sea --json
|
|
73
|
+
npm run test:rmt-vnext-primitives:report
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Handoff
|
|
77
|
+
|
|
78
|
+
`RMT-VNEXT-PRIM-05` ist abgeschlossen, sobald dieses Gate gruen ist.
|
|
79
|
+
`RMT-VNEXT-PRIM-06` fuehrt Source-to-Sea als optionale Browser-Evidence weiter:
|
|
80
|
+
Browser-Execution kann lokal oder per manuellem CI-Dispatch laufen und die
|
|
81
|
+
Browser-Execution-Evidence als Release-Artefakt schreiben.
|