@ccslabs/xtend 0.1.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +65 -0
- package/LICENSE +201 -0
- package/README.md +184 -0
- package/a11y/motion-contrast-policy.d.ts +32 -0
- package/a11y/motion-contrast-policy.js +261 -0
- package/a11y/runtime-a11y-contract.d.ts +44 -0
- package/a11y/runtime-a11y-contract.js +385 -0
- package/a11y/screenreader-signals.d.ts +32 -0
- package/a11y/screenreader-signals.js +372 -0
- package/api.d.ts +168 -0
- package/api.js +864 -0
- package/catalog/catalog-public-types.d.ts +66 -0
- package/catalog/component-catalog-coverage.d.ts +20 -0
- package/catalog/component-catalog-coverage.js +377 -0
- package/catalog/component-long-tail-migration.d.ts +18 -0
- package/catalog/component-long-tail-migration.js +305 -0
- package/catalog/component-regression-priority.d.ts +20 -0
- package/catalog/component-regression-priority.js +305 -0
- package/catalog/enterprise-component-flex-release-handoff.d.ts +32 -0
- package/catalog/enterprise-component-flex-release-handoff.js +437 -0
- package/catalog/enterprise-component-style-audit.d.ts +22 -0
- package/catalog/enterprise-component-style-audit.js +353 -0
- package/catalog/enterprise-form-control-theme-a11y.d.ts +19 -0
- package/catalog/enterprise-form-control-theme-a11y.js +220 -0
- package/catalog/enterprise-icon-control-audit.d.ts +21 -0
- package/catalog/enterprise-icon-control-audit.js +258 -0
- package/catalog/enterprise-layout-display-media-tokenization.d.ts +20 -0
- package/catalog/enterprise-layout-display-media-tokenization.js +237 -0
- package/catalog/enterprise-navigation-routing-state-hardening.d.ts +20 -0
- package/catalog/enterprise-navigation-routing-state-hardening.js +255 -0
- package/catalog/enterprise-overlay-mode-token-parity.d.ts +15 -0
- package/catalog/enterprise-overlay-mode-token-parity.js +178 -0
- package/catalog/enterprise-third-party-authoring-guide.d.ts +23 -0
- package/catalog/enterprise-third-party-authoring-guide.js +310 -0
- package/catalog/enterprise-visual-dom-snapshot-matrix.d.ts +31 -0
- package/catalog/enterprise-visual-dom-snapshot-matrix.js +357 -0
- package/catalog/epic10-existing-component-metadata.d.ts +25 -0
- package/catalog/epic10-existing-component-metadata.js +534 -0
- package/catalog/epic10-p0-component-wave.d.ts +28 -0
- package/catalog/epic10-p0-component-wave.js +688 -0
- package/catalog/epic10-platform-gates.d.ts +31 -0
- package/catalog/epic10-platform-gates.js +425 -0
- package/catalog/epic10-release-handoff.d.ts +30 -0
- package/catalog/epic10-release-handoff.js +195 -0
- package/catalog/epic11-enterprise-ux-handoff.d.ts +29 -0
- package/catalog/epic11-enterprise-ux-handoff.js +403 -0
- package/catalog/epic12-docs-adoption.d.ts +29 -0
- package/catalog/epic12-docs-adoption.js +183 -0
- package/catalog/epic12-rc0-gate-matrix.d.ts +36 -0
- package/catalog/epic12-rc0-gate-matrix.js +439 -0
- package/catalog/epic12-rc0-handoff.d.ts +30 -0
- package/catalog/epic12-rc0-handoff.js +385 -0
- package/catalog/epic13-conditional-network-evidence-ci.d.ts +35 -0
- package/catalog/epic13-conditional-network-evidence-ci.js +278 -0
- package/catalog/epic13-conditional-network-evidence.d.ts +34 -0
- package/catalog/epic13-conditional-network-evidence.js +280 -0
- package/catalog/epic13-docs-rmt-production-hardening.d.ts +39 -0
- package/catalog/epic13-docs-rmt-production-hardening.js +286 -0
- package/catalog/epic13-hydration-performance-closure.d.ts +33 -0
- package/catalog/epic13-hydration-performance-closure.js +234 -0
- package/catalog/epic13-known-residual-triage.d.ts +32 -0
- package/catalog/epic13-known-residual-triage.js +339 -0
- package/catalog/epic13-package-export-lock.d.ts +41 -0
- package/catalog/epic13-package-export-lock.js +604 -0
- package/catalog/epic13-prod-browser-csp-smoke.d.ts +35 -0
- package/catalog/epic13-prod-browser-csp-smoke.js +218 -0
- package/catalog/epic13-rc1-gate-matrix-ci-handoff.d.ts +36 -0
- package/catalog/epic13-rc1-gate-matrix-ci-handoff.js +418 -0
- package/catalog/epic13-rc1-migration-notes.d.ts +36 -0
- package/catalog/epic13-rc1-migration-notes.js +271 -0
- package/catalog/epic13-rc1-readiness.d.ts +33 -0
- package/catalog/epic13-rc1-readiness.js +487 -0
- package/catalog/epic13-release-owner-acceptance.d.ts +33 -0
- package/catalog/epic13-release-owner-acceptance.js +354 -0
- package/catalog/epic13-release-report-pack-dry-run-evidence.d.ts +36 -0
- package/catalog/epic13-release-report-pack-dry-run-evidence.js +253 -0
- package/catalog/epic13-rmt-production-readiness.d.ts +35 -0
- package/catalog/epic13-rmt-production-readiness.js +314 -0
- package/catalog/epic13-trusted-dom-boundary.d.ts +36 -0
- package/catalog/epic13-trusted-dom-boundary.js +230 -0
- package/catalog/epic13-visual-owner-artifact.d.ts +35 -0
- package/catalog/epic13-visual-owner-artifact.js +233 -0
- package/catalog/epic14-lsp-handoff.d.ts +28 -0
- package/catalog/epic14-lsp-handoff.js +312 -0
- package/catalog/epic14-rmt-tooling.d.ts +33 -0
- package/catalog/epic14-rmt-tooling.js +282 -0
- package/catalog/surface-manager-adapter-runtime.d.ts +37 -0
- package/catalog/surface-manager-adapter-runtime.js +203 -0
- package/catalog/surface-manager-browser-lab.d.ts +39 -0
- package/catalog/surface-manager-browser-lab.js +225 -0
- package/catalog/surface-manager-controller.d.ts +43 -0
- package/catalog/surface-manager-controller.js +290 -0
- package/catalog/surface-manager-layout-engines.d.ts +32 -0
- package/catalog/surface-manager-layout-engines.js +161 -0
- package/catalog/surface-manager-lazy-loading.d.ts +35 -0
- package/catalog/surface-manager-lazy-loading.js +173 -0
- package/catalog/surface-manager-materialization.d.ts +37 -0
- package/catalog/surface-manager-materialization.js +202 -0
- package/catalog/surface-manager-native-rmt-surfaces.d.ts +48 -0
- package/catalog/surface-manager-native-rmt-surfaces.js +325 -0
- package/catalog/surface-manager-overlay-bridge.d.ts +42 -0
- package/catalog/surface-manager-overlay-bridge.js +247 -0
- package/catalog/surface-manager-persistence.d.ts +37 -0
- package/catalog/surface-manager-persistence.js +178 -0
- package/catalog/surface-manager-quality-gates.d.ts +48 -0
- package/catalog/surface-manager-quality-gates.js +324 -0
- package/catalog/surface-manager-release-handoff.d.ts +47 -0
- package/catalog/surface-manager-release-handoff.js +274 -0
- package/catalog/surface-manager-remote-policy.d.ts +34 -0
- package/catalog/surface-manager-remote-policy.js +199 -0
- package/catalog/surface-manager-rmt-authoring.d.ts +44 -0
- package/catalog/surface-manager-rmt-authoring.js +368 -0
- package/catalog/surface-manager-route-lifecycle.d.ts +32 -0
- package/catalog/surface-manager-route-lifecycle.js +162 -0
- package/catalog/surface-manager-runtime-release-handoff.d.ts +36 -0
- package/catalog/surface-manager-runtime-release-handoff.js +245 -0
- package/catalog/surface-manager-side-panel-runtime.d.ts +46 -0
- package/catalog/surface-manager-side-panel-runtime.js +307 -0
- package/catalog/surface-manager-stack-policy.d.ts +32 -0
- package/catalog/surface-manager-stack-policy.js +169 -0
- package/catalog/surface-manager-window-runtime.d.ts +45 -0
- package/catalog/surface-manager-window-runtime.js +285 -0
- package/catalog/surface-manager-workbench-fixture.d.ts +50 -0
- package/catalog/surface-manager-workbench-fixture.js +315 -0
- package/catalog/type-exports-api.js +236 -0
- package/catalog/type-exports-builder.js +405 -0
- package/catalog/type-exports-catalog.js +394 -0
- package/catalog/type-exports-loader.js +266 -0
- package/catalog/type-exports-policy.js +461 -0
- package/catalog/type-exports-rmt.js +407 -0
- package/catalog/type-exports-vendor.js +365 -0
- package/catalog/type-exports.js +574 -0
- package/components/icon-packs/core.js +154 -0
- package/components/icon-packs/lucide.js +136 -0
- package/components/manifest.json +44 -0
- package/components/prism.d.ts +73 -0
- package/components/prism.js +300 -0
- package/components/turndown.d.ts +34 -0
- package/components/turndown.js +107 -0
- package/components/x-rmt-lifecycle-demo-build.d.ts +78 -0
- package/components/x-rmt-lifecycle-demo-build.js +1175 -0
- package/components/x-rmt-lifecycle-demo.d.ts +83 -0
- package/components/x-rmt-lifecycle-demo.js +1175 -0
- package/components/xalert.d.ts +42 -0
- package/components/xalert.js +538 -0
- package/components/xbutton.d.ts +127 -0
- package/components/xbutton.js +612 -0
- package/components/xcalendar.d.ts +39 -0
- package/components/xcalendar.js +338 -0
- package/components/xcards.d.ts +34 -0
- package/components/xcards.js +253 -0
- package/components/xcheckbox.d.ts +48 -0
- package/components/xcheckbox.js +448 -0
- package/components/xcode.d.ts +35 -0
- package/components/xcode.js +370 -0
- package/components/xdialog.d.ts +48 -0
- package/components/xdialog.js +763 -0
- package/components/xdrawer.d.ts +61 -0
- package/components/xdrawer.js +654 -0
- package/components/xfooter.d.ts +41 -0
- package/components/xfooter.js +351 -0
- package/components/xform.d.ts +43 -0
- package/components/xform.js +456 -0
- package/components/xheader.d.ts +68 -0
- package/components/xheader.js +1253 -0
- package/components/xhero.d.ts +42 -0
- package/components/xhero.js +475 -0
- package/components/xicon.d.ts +146 -0
- package/components/xicon.js +688 -0
- package/components/xinput.d.ts +37 -0
- package/components/xinput.js +444 -0
- package/components/xlightbox.d.ts +48 -0
- package/components/xlightbox.js +571 -0
- package/components/xlink.d.ts +63 -0
- package/components/xlink.js +565 -0
- package/components/xmasonry.d.ts +35 -0
- package/components/xmasonry.js +666 -0
- package/components/xmenu.d.ts +118 -0
- package/components/xmenu.js +1005 -0
- package/components/xmodal.d.ts +64 -0
- package/components/xmodal.js +831 -0
- package/components/xplayer.d.ts +57 -0
- package/components/xplayer.js +1748 -0
- package/components/xpopover.d.ts +54 -0
- package/components/xpopover.js +466 -0
- package/components/xprogress.d.ts +40 -0
- package/components/xprogress.js +345 -0
- package/components/xradio.d.ts +50 -0
- package/components/xradio.js +474 -0
- package/components/xrouter.d.ts +244 -0
- package/components/xrouter.js +1841 -0
- package/components/xsection.d.ts +34 -0
- package/components/xsection.js +253 -0
- package/components/xselect.d.ts +46 -0
- package/components/xselect.js +463 -0
- package/components/xsidepanel.d.ts +56 -0
- package/components/xsidepanel.js +728 -0
- package/components/xspinner.d.ts +38 -0
- package/components/xspinner.js +388 -0
- package/components/xstate.d.ts +137 -0
- package/components/xstate.js +493 -0
- package/components/xstatus.d.ts +41 -0
- package/components/xstatus.js +381 -0
- package/components/xsummary.d.ts +43 -0
- package/components/xsummary.js +293 -0
- package/components/xsurfacemanager-controller.d.ts +130 -0
- package/components/xsurfacemanager-controller.js +699 -0
- package/components/xsurfacemanager.d.ts +452 -0
- package/components/xsurfacemanager.js +3775 -0
- package/components/xsurfaceoverlay-bridge.d.ts +43 -0
- package/components/xsurfaceoverlay-bridge.js +238 -0
- package/components/xsurfacewindow.d.ts +50 -0
- package/components/xsurfacewindow.js +576 -0
- package/components/xtabs.d.ts +73 -0
- package/components/xtabs.js +611 -0
- package/components/xtend-public-types.d.ts +208 -0
- package/components/xtextarea.d.ts +46 -0
- package/components/xtextarea.js +451 -0
- package/components/xtheme.d.ts +253 -0
- package/components/xtheme.js +1438 -0
- package/components/xtoast.d.ts +39 -0
- package/components/xtoast.js +389 -0
- package/components/xtooltip.d.ts +53 -0
- package/components/xtooltip.js +432 -0
- package/components/xtype.d.ts +42 -0
- package/components/xtype.js +244 -0
- package/components/xutils.d.ts +164 -0
- package/components/xutils.js +496 -0
- package/components/xwriter.d.ts +67 -0
- package/components/xwriter.js +854 -0
- package/design-tokens/themes/enterprise-light.json +40 -0
- package/design-tokens/themes/xtend-signature.json +126 -0
- package/design-tokens/xtend-design-tokens.d.ts +95 -0
- package/design-tokens/xtend-design-tokens.js +395 -0
- package/design-tokens/xtheme-token-alias-layer.d.ts +84 -0
- package/design-tokens/xtheme-token-alias-layer.js +423 -0
- package/docs/.htaccess +51 -0
- package/docs/README.md +340 -0
- package/docs/XTend-ADR.md +221 -0
- package/docs/a11y-keyboard-smokes.md +62 -0
- package/docs/about.md +18 -0
- package/docs/api.md +157 -0
- package/docs/best-practices.md +76 -0
- package/docs/component-catalog-coverage.md +58 -0
- package/docs/component-lab.md +103 -0
- package/docs/component-long-tail-migration.md +41 -0
- package/docs/component-platform.md +159 -0
- package/docs/component-ux-app-authoring.md +130 -0
- package/docs/component-ux-authoring.md +96 -0
- package/docs/component-ux-gates.md +45 -0
- package/docs/components/x-rmt-lifecycle-demo-build.md +60 -0
- package/docs/components/xalert.md +81 -0
- package/docs/components/xbutton.md +103 -0
- package/docs/components/xcalendar.md +82 -0
- package/docs/components/xcards.md +128 -0
- package/docs/components/xcheckbox.md +102 -0
- package/docs/components/xcode.md +126 -0
- package/docs/components/xdialog.md +92 -0
- package/docs/components/xdrawer.md +84 -0
- package/docs/components/xfooter.md +126 -0
- package/docs/components/xform.md +128 -0
- package/docs/components/xheader.md +308 -0
- package/docs/components/xhero.md +142 -0
- package/docs/components/xicon.md +125 -0
- package/docs/components/xinput.md +129 -0
- package/docs/components/xlightbox.md +98 -0
- package/docs/components/xlink.md +109 -0
- package/docs/components/xmasonry.md +124 -0
- package/docs/components/xmenu.md +158 -0
- package/docs/components/xmodal.md +82 -0
- package/docs/components/xplayer.md +104 -0
- package/docs/components/xpopover.md +67 -0
- package/docs/components/xprogress.md +56 -0
- package/docs/components/xradio.md +103 -0
- package/docs/components/xrouter.md +260 -0
- package/docs/components/xsection.md +125 -0
- package/docs/components/xselect.md +105 -0
- package/docs/components/xsidepanel.md +30 -0
- package/docs/components/xspinner.md +102 -0
- package/docs/components/xstate.md +148 -0
- package/docs/components/xstatus.md +55 -0
- package/docs/components/xsummary.md +78 -0
- package/docs/components/xsurfacemanager.md +27 -0
- package/docs/components/xsurfacewindow.md +21 -0
- package/docs/components/xtabs.md +160 -0
- package/docs/components/xtextarea.md +98 -0
- package/docs/components/xtheme.md +167 -0
- package/docs/components/xtoast.md +62 -0
- package/docs/components/xtooltip.md +66 -0
- package/docs/components/xtype.md +82 -0
- package/docs/components/xutils.md +144 -0
- package/docs/components/xwriter.md +94 -0
- package/docs/components.md +117 -0
- package/docs/conditional-network-evidence-ci.md +38 -0
- package/docs/conditional-network-evidence.md +50 -0
- package/docs/core-migration-guide.md +110 -0
- package/docs/design-tokens.md +116 -0
- package/docs/docs-rmt-production-hardening.md +31 -0
- package/docs/enterprise-adoption.md +411 -0
- package/docs/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/epic10-platform-gates.md +62 -0
- package/docs/epic10-release-handoff.md +81 -0
- package/docs/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/epic12-rc0-handoff.md +61 -0
- package/docs/existing-component-metadata.md +67 -0
- package/docs/hydration-performance-closure.md +34 -0
- package/docs/hydration-policies.md +71 -0
- package/docs/index.php +1625 -0
- package/docs/known-residual-triage.md +22 -0
- package/docs/manifest-import-policy.md +79 -0
- package/docs/manifest.md +106 -0
- package/docs/menu.json +1190 -0
- package/docs/motion-contrast.md +67 -0
- package/docs/package-export-lock.md +44 -0
- package/docs/performance-measurements.md +106 -0
- package/docs/performance-regression.md +89 -0
- package/docs/performance.md +94 -0
- package/docs/previews/README.md +17 -0
- package/docs/prod-browser-csp-smokes.md +40 -0
- package/docs/public-component-types.md +79 -0
- package/docs/quick-start-guide.md +152 -0
- package/docs/rc0-adoption-guide.md +102 -0
- package/docs/rc0-gate-matrix.md +58 -0
- package/docs/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/rc1-migration-notes.md +69 -0
- package/docs/rc1-readiness.md +46 -0
- package/docs/release-owner-acceptance.md +56 -0
- package/docs/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/rmt-dsl-authoring-polish.md +122 -0
- package/docs/rmt-first-demo-app.md +77 -0
- package/docs/rmt-first-xtend-apps.md +105 -0
- package/docs/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
- package/docs/rmt-kernel-security-hardening-migration.md +50 -0
- package/docs/rmt-kernel-trusted-output-authoring.md +69 -0
- package/docs/rmt-language-server.md +177 -0
- package/docs/rmt-lifecycle-demo.md +25 -0
- package/docs/rmt-linter.md +140 -0
- package/docs/rmt-production-readiness.md +63 -0
- package/docs/rmt-tooling-release-gates.md +77 -0
- package/docs/rmt-vnext-authoring.md +60 -0
- package/docs/rmt-vnext-cross-surface-events.md +68 -0
- package/docs/rmt-vnext-enterprise-mfe-handoff.md +70 -0
- package/docs/rmt-vnext-migration-notes.md +62 -0
- package/docs/rmt-vnext-release-handoff.md +69 -0
- package/docs/rmt-vnext-remote-surfaces.md +90 -0
- package/docs/rmt-vnext-surface-registry-enterprise.md +76 -0
- package/docs/screenreader-signals.md +56 -0
- package/docs/supply-chain-gates.md +100 -0
- package/docs/surface-manager-authoring-guide.md +94 -0
- package/docs/surface-manager-browser-lab.md +45 -0
- package/docs/surface-manager-component-lab.md +43 -0
- package/docs/surface-manager-controller.md +66 -0
- package/docs/surface-manager-layout-engines.md +32 -0
- package/docs/surface-manager-lazy-hydration.md +63 -0
- package/docs/surface-manager-migration-guide.md +94 -0
- package/docs/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/surface-manager-overlay-bridge.md +53 -0
- package/docs/surface-manager-persistence.md +30 -0
- package/docs/surface-manager-quality-gates.md +51 -0
- package/docs/surface-manager-release-handoff.md +68 -0
- package/docs/surface-manager-remote-policy.md +54 -0
- package/docs/surface-manager-rmt-authoring.md +86 -0
- package/docs/surface-manager-route-lifecycle.md +59 -0
- package/docs/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/surface-manager-side-panel-runtime.md +36 -0
- package/docs/surface-manager-stack-policy.md +39 -0
- package/docs/surface-manager-window-runtime.md +47 -0
- package/docs/surface-manager-workbench-fixture.md +43 -0
- package/docs/third-party-design-authoring.md +406 -0
- package/docs/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/trusted-dom-sanitizing.md +110 -0
- package/docs/type-exports.md +61 -0
- package/docs/typescript-components.md +63 -0
- package/docs/utils/fabric-runtime.js +650 -0
- package/docs/utils/pageloader.js +2823 -0
- package/docs/utils/parsedown.php +298 -0
- package/docs/visual-browser-regression.md +83 -0
- package/docs/visual-owner-artifacts.md +46 -0
- package/docs/visual-snapshot-automation.md +87 -0
- package/docs/xtend-api-types.md +55 -0
- package/docs/xtend-builder-types.md +55 -0
- package/docs/xtend-catalog-types.md +44 -0
- package/docs/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/xtend-fabric.md +474 -0
- package/docs/xtend-loader-types.md +58 -0
- package/docs/xtend-loader.md +265 -0
- package/docs/xtend-policy-types.md +38 -0
- package/docs/xtend-rmt-types.md +39 -0
- package/docs/xtend-vendor-types.md +36 -0
- package/docs/xtendrmt-app-dsl.md +269 -0
- package/docs/xtendrmt-migration-guide.md +235 -0
- package/docs/xtendrmt-native-authoring.md +337 -0
- package/docs/xtendrmt-overview.md +89 -0
- package/docs/xtendrmt-parsedown-docs.rmt +956 -0
- package/docs/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/xtendrmt-runtime-bridge.md +155 -0
- package/fabric/hydration-policy.d.ts +27 -0
- package/fabric/hydration-policy.js +306 -0
- package/fabric/package.json +58 -0
- package/fabric/rmt-lane-mapping.d.ts +47 -0
- package/fabric/rmt-lane-mapping.js +504 -0
- package/fabric/xtend-fabric.d.ts +81 -0
- package/fabric/xtend-fabric.js +2669 -0
- package/fabric/xtend-policy-public-types.d.ts +135 -0
- package/package.json +8225 -0
- package/security/README.md +54 -0
- package/security/manifest-import-policy.d.ts +43 -0
- package/security/manifest-import-policy.js +260 -0
- package/security/supply-chain-gate-policy.d.ts +45 -0
- package/security/supply-chain-gate-policy.js +249 -0
- package/security/trusted-dom-policy.d.ts +36 -0
- package/security/trusted-dom-policy.js +316 -0
- package/tools/package.json +77 -0
- package/tools/rmt-editor/vscode/README.md +33 -0
- package/tools/rmt-editor/vscode/extension.d.ts +9 -0
- package/tools/rmt-editor/vscode/extension.js +55 -0
- package/tools/rmt-editor/vscode/language-configuration.json +28 -0
- package/tools/rmt-editor/vscode/package.json +83 -0
- package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +243 -0
- package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +13 -0
- package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
- package/tools/rmt-language/code-actions.d.ts +15 -0
- package/tools/rmt-language/code-actions.js +566 -0
- package/tools/rmt-language/completions.d.ts +22 -0
- package/tools/rmt-language/completions.js +475 -0
- package/tools/rmt-language/definitions.d.ts +13 -0
- package/tools/rmt-language/definitions.js +212 -0
- package/tools/rmt-language/diagnostics.d.ts +23 -0
- package/tools/rmt-language/diagnostics.js +486 -0
- package/tools/rmt-language/format-adapter.d.ts +16 -0
- package/tools/rmt-language/format-adapter.js +270 -0
- package/tools/rmt-language/hover.d.ts +12 -0
- package/tools/rmt-language/hover.js +326 -0
- package/tools/rmt-language/kernel-escalation.d.ts +122 -0
- package/tools/rmt-language/kernel-escalation.js +427 -0
- package/tools/rmt-language/kernel-panic-monitor.d.ts +176 -0
- package/tools/rmt-language/kernel-panic-monitor.js +674 -0
- package/tools/rmt-language/kernel-policy-parity.d.ts +142 -0
- package/tools/rmt-language/kernel-policy-parity.js +629 -0
- package/tools/rmt-language/kernel-recovery.d.ts +173 -0
- package/tools/rmt-language/kernel-recovery.js +666 -0
- package/tools/rmt-language/kernel-scheduler-failure.d.ts +136 -0
- package/tools/rmt-language/kernel-scheduler-failure.js +486 -0
- package/tools/rmt-language/kernel-security-regression.d.ts +154 -0
- package/tools/rmt-language/kernel-security-regression.js +465 -0
- package/tools/rmt-language/kernel-trust-authority.d.ts +120 -0
- package/tools/rmt-language/kernel-trust-authority.js +549 -0
- package/tools/rmt-language/parser.d.ts +14 -0
- package/tools/rmt-language/parser.js +111 -0
- package/tools/rmt-language/rmt-tooling-public-types.d.ts +179 -0
- package/tools/rmt-language/rules/boundary-policy.js +81 -0
- package/tools/rmt-language/rules/document-policy.js +65 -0
- package/tools/rmt-language/rules/index.js +29 -0
- package/tools/rmt-language/rules/route-policy.js +81 -0
- package/tools/rmt-language/rules/scheduler-policy.js +66 -0
- package/tools/rmt-language/rules/template-policy.js +130 -0
- package/tools/rmt-language/semantic-graph.d.ts +18 -0
- package/tools/rmt-language/semantic-graph.js +827 -0
- package/tools/rmt-language/snippets/README.md +17 -0
- package/tools/rmt-language/snippets/index.d.ts +17 -0
- package/tools/rmt-language/snippets/index.js +417 -0
- package/tools/rmt-language/snippets/rmt.code-snippets +243 -0
- package/tools/rmt-language/source-model.d.ts +14 -0
- package/tools/rmt-language/source-model.js +731 -0
- package/tools/rmt-language/symbols.d.ts +13 -0
- package/tools/rmt-language/symbols.js +183 -0
- package/tools/rmt-language/vnext-compatibility.d.ts +28 -0
- package/tools/rmt-language/vnext-compatibility.js +675 -0
- package/tools/rmt-language/vnext-compiler.d.ts +17 -0
- package/tools/rmt-language/vnext-compiler.js +716 -0
- package/tools/rmt-language/vnext-composition.d.ts +30 -0
- package/tools/rmt-language/vnext-composition.js +595 -0
- package/tools/rmt-language/vnext-conditions.d.ts +25 -0
- package/tools/rmt-language/vnext-conditions.js +474 -0
- package/tools/rmt-language/vnext-cross-surface-events.d.ts +30 -0
- package/tools/rmt-language/vnext-cross-surface-events.js +607 -0
- package/tools/rmt-language/vnext-degradation.d.ts +23 -0
- package/tools/rmt-language/vnext-degradation.js +428 -0
- package/tools/rmt-language/vnext-enterprise-fixtures.d.ts +28 -0
- package/tools/rmt-language/vnext-enterprise-fixtures.js +487 -0
- package/tools/rmt-language/vnext-enterprise-registry.d.ts +21 -0
- package/tools/rmt-language/vnext-enterprise-registry.js +495 -0
- package/tools/rmt-language/vnext-enterprise-release.d.ts +44 -0
- package/tools/rmt-language/vnext-enterprise-release.js +472 -0
- package/tools/rmt-language/vnext-event-governance.d.ts +29 -0
- package/tools/rmt-language/vnext-event-governance.js +488 -0
- package/tools/rmt-language/vnext-events.d.ts +44 -0
- package/tools/rmt-language/vnext-events.js +680 -0
- package/tools/rmt-language/vnext-import-resolver.d.ts +28 -0
- package/tools/rmt-language/vnext-import-resolver.js +642 -0
- package/tools/rmt-language/vnext-lifecycle.d.ts +22 -0
- package/tools/rmt-language/vnext-lifecycle.js +404 -0
- package/tools/rmt-language/vnext-parser.d.ts +21 -0
- package/tools/rmt-language/vnext-parser.js +1391 -0
- package/tools/rmt-language/vnext-regression.d.ts +25 -0
- package/tools/rmt-language/vnext-regression.js +394 -0
- package/tools/rmt-language/vnext-release.d.ts +29 -0
- package/tools/rmt-language/vnext-release.js +293 -0
- package/tools/rmt-language/vnext-remote-compatibility.d.ts +33 -0
- package/tools/rmt-language/vnext-remote-compatibility.js +892 -0
- package/tools/rmt-language/vnext-remote-compiler.d.ts +14 -0
- package/tools/rmt-language/vnext-remote-compiler.js +520 -0
- package/tools/rmt-language/vnext-remote-manifest.d.ts +33 -0
- package/tools/rmt-language/vnext-remote-manifest.js +538 -0
- package/tools/rmt-language/vnext-remote-security.d.ts +27 -0
- package/tools/rmt-language/vnext-remote-security.js +380 -0
- package/tools/rmt-language/vnext-remote-tooling.d.ts +25 -0
- package/tools/rmt-language/vnext-remote-tooling.js +805 -0
- package/tools/rmt-language/vnext-scheduler.d.ts +24 -0
- package/tools/rmt-language/vnext-scheduler.js +469 -0
- package/tools/rmt-language/vnext-security.d.ts +28 -0
- package/tools/rmt-language/vnext-security.js +597 -0
- package/tools/rmt-language/vnext-streaming.d.ts +28 -0
- package/tools/rmt-language/vnext-streaming.js +593 -0
- package/tools/rmt-language/vnext-surfaces.d.ts +24 -0
- package/tools/rmt-language/vnext-surfaces.js +406 -0
- package/tools/rmt-language/vnext-tooling.d.ts +25 -0
- package/tools/rmt-language/vnext-tooling.js +728 -0
- package/tools/rmt-language-server/protocol.d.ts +22 -0
- package/tools/rmt-language-server/protocol.js +352 -0
- package/tools/rmt-language-server/server.d.ts +15 -0
- package/tools/rmt-language-server/server.js +622 -0
- package/tools/rmt-linter/cli.d.ts +14 -0
- package/tools/rmt-linter/cli.js +450 -0
- package/tools/rmt-linter/reporter.d.ts +16 -0
- package/tools/rmt-linter/reporter.js +472 -0
- package/xtend-builder/README.md +83 -0
- package/xtend-builder/a11y/README.md +42 -0
- package/xtend-builder/a11y/component-a11y-profile.d.ts +14 -0
- package/xtend-builder/a11y/component-a11y-profile.js +314 -0
- package/xtend-builder/blueprints/README.md +105 -0
- package/xtend-builder/blueprints/component-blueprint.contract.d.ts +16 -0
- package/xtend-builder/blueprints/component-blueprint.contract.js +343 -0
- package/xtend-builder/builder-public-types.d.ts +234 -0
- package/xtend-builder/extensions/README.md +26 -0
- package/xtend-builder/extensions/component-extension-points.d.ts +11 -0
- package/xtend-builder/extensions/component-extension-points.js +277 -0
- package/xtend-builder/generators/README.md +149 -0
- package/xtend-builder/generators/component-files.d.ts +5 -0
- package/xtend-builder/generators/component-files.js +769 -0
- package/xtend-builder/generators/component-plan.d.ts +4 -0
- package/xtend-builder/generators/component-plan.js +104 -0
- package/xtend-builder/generators/registry.d.ts +6 -0
- package/xtend-builder/generators/registry.js +118 -0
- package/xtend-builder/generators/rmt-build.js +738 -0
- package/xtend-builder/generators/rmt-lifecycle-demo.js +922 -0
- package/xtend-builder/lib/cli.d.ts +9 -0
- package/xtend-builder/lib/cli.js +543 -0
- package/xtend-builder/lib/layout.d.ts +6 -0
- package/xtend-builder/lib/layout.js +153 -0
- package/xtend-builder/lib/package-resolver.js +25 -0
- package/xtend-builder/package.json +90 -0
- package/xtend-builder/performance/README.md +31 -0
- package/xtend-builder/performance/component-performance-profile.d.ts +11 -0
- package/xtend-builder/performance/component-performance-profile.js +347 -0
- package/xtend-builder/performance/component-ux-performance-contract.d.ts +27 -0
- package/xtend-builder/performance/component-ux-performance-contract.js +424 -0
- package/xtend-builder/preview/README.md +61 -0
- package/xtend-builder/preview/component-lab-ux-inspector.d.ts +20 -0
- package/xtend-builder/preview/component-lab-ux-inspector.js +448 -0
- package/xtend-builder/preview/component-lab.d.ts +14 -0
- package/xtend-builder/preview/component-lab.js +278 -0
- package/xtend-builder/preview/component-preview.d.ts +5 -0
- package/xtend-builder/preview/component-preview.js +160 -0
- package/xtend-builder/scaffold.config.d.ts +4 -0
- package/xtend-builder/scaffold.config.js +2056 -0
- package/xtend-builder/scaffold.d.ts +3 -0
- package/xtend-builder/scaffold.js +11 -0
- package/xtend-builder/templates/README.md +33 -0
- package/xtend-builder/templates/component/a11y.template.ts +11 -0
- package/xtend-builder/templates/component/component-suite.template.d.ts +2 -0
- package/xtend-builder/templates/component/component-suite.template.js +108 -0
- package/xtend-builder/templates/component/contract.template.ts +10 -0
- package/xtend-builder/templates/component/demo-plan.template.md +73 -0
- package/xtend-builder/templates/component/docs.template.md +301 -0
- package/xtend-builder/templates/component/fixture-data.template.ts +28 -0
- package/xtend-builder/templates/component/fixture.template.html +37 -0
- package/xtend-builder/templates/component/manifest-plan.template.json +22 -0
- package/xtend-builder/templates/component/performance.template.ts +13 -0
- package/xtend-builder/templates/component/rmt.template.ts +12 -0
- package/xtend-builder/templates/component/source.template.d.ts +2 -0
- package/xtend-builder/templates/component/source.template.js +137 -0
- package/xtend-builder/templates/component/source.template.ts +110 -0
- package/xtend-builder/templates/component/types.template.d.ts +423 -0
- package/xtend-builder/templates/loader.d.ts +4 -0
- package/xtend-builder/templates/loader.js +51 -0
- package/xtend-builder/templates/registry.d.ts +6 -0
- package/xtend-builder/templates/registry.js +119 -0
- package/xtend-builder/typing/README.md +130 -0
- package/xtend-builder/typing/component-contract-v2.d.ts +15 -0
- package/xtend-builder/typing/component-contract-v2.js +248 -0
- package/xtend-builder/typing/component-network-contract.d.ts +22 -0
- package/xtend-builder/typing/component-network-contract.js +478 -0
- package/xtend-builder/typing/component-shell-contract.d.ts +21 -0
- package/xtend-builder/typing/component-shell-contract.js +312 -0
- package/xtend-builder/typing/component-styling-contract.d.ts +22 -0
- package/xtend-builder/typing/component-styling-contract.js +301 -0
- package/xtend-builder/typing/component-types.d.ts +10 -0
- package/xtend-builder/typing/component-types.js +551 -0
- package/xtend-builder/typing/enterprise-component-flex-hardening-contract.d.ts +20 -0
- package/xtend-builder/typing/enterprise-component-flex-hardening-contract.js +332 -0
- package/xtend-builder/typing/feedback-status-ux-contract.d.ts +25 -0
- package/xtend-builder/typing/feedback-status-ux-contract.js +347 -0
- package/xtend-builder/typing/form-controls-ux-contract.d.ts +25 -0
- package/xtend-builder/typing/form-controls-ux-contract.js +357 -0
- package/xtend-builder/typing/layout-display-media-ux-contract.d.ts +25 -0
- package/xtend-builder/typing/layout-display-media-ux-contract.js +420 -0
- package/xtend-builder/typing/navigation-routing-ux-contract.d.ts +17 -0
- package/xtend-builder/typing/navigation-routing-ux-contract.js +297 -0
- package/xtend-builder/typing/overlay-interaction-ux-contract.d.ts +25 -0
- package/xtend-builder/typing/overlay-interaction-ux-contract.js +383 -0
- package/xtend-builder/typing/rmt-dsl-authoring-polish.d.ts +27 -0
- package/xtend-builder/typing/rmt-dsl-authoring-polish.js +419 -0
- package/xtend-builder/typing/rmt-shell-authoring-contract.d.ts +26 -0
- package/xtend-builder/typing/rmt-shell-authoring-contract.js +315 -0
- package/xtend-builder/utils/README.md +8 -0
- package/xtend-builder/utils/naming.d.ts +7 -0
- package/xtend-builder/utils/naming.js +36 -0
- package/xtend-builder/utils/validation.d.ts +5 -0
- package/xtend-builder/utils/validation.js +95 -0
- package/xtend-builder/wiring/README.md +46 -0
- package/xtend-builder/wiring/features.d.ts +5 -0
- package/xtend-builder/wiring/features.js +165 -0
- package/xtend-builder/wiring/hydration.d.ts +4 -0
- package/xtend-builder/wiring/hydration.js +44 -0
- package/xtend-builder/wiring/manifest.d.ts +5 -0
- package/xtend-builder/wiring/manifest.js +48 -0
- package/xtend-builder/workflows/README.md +47 -0
- package/xtend-builder/workflows/developer-workflow.d.ts +6 -0
- package/xtend-builder/workflows/developer-workflow.js +125 -0
- package/xtend-builder/writing/manifest-patcher.d.ts +49 -0
- package/xtend-builder/writing/manifest-patcher.js +391 -0
- package/xtend-builder/writing/write-plan.d.ts +148 -0
- package/xtend-builder/writing/write-plan.js +646 -0
- package/xtend-dev.d.ts +23 -0
- package/xtend-dev.js +4 -0
- package/xtend-loader.d.ts +201 -0
- package/xtend-loader.js +1704 -0
- package/xtend.css +402 -0
- package/xtendrmt/package.json +64 -0
- package/xtendrmt/rmt-core.d.ts +4452 -0
- package/xtendrmt/rmt-core.esm.js +25793 -0
- package/xtendrmt/rmt-first-demo-app.js +265 -0
- package/xtendrmt/rmt-first-demo-app.rmt +737 -0
- package/xtendrmt/rmt-lifecycle-demo.app.js +493 -0
- package/xtendrmt/rmt-lifecycle-demo.core.json +810 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt +35 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +153 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.core.json +810 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +202 -0
- package/xtendrmt/rmt-lifecycle-demo.scaffold.json +187 -0
- package/xtendrmt/rmt-manifest.json +548 -0
- package/xtendrmt/rmt-runtime.browser.js +26183 -0
- package/xtendrmt/rmt-runtime.esm.js +26214 -0
- package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +849 -0
- package/xtendrmt/rmt-vnext-enterprise-mfe-demo.rmt +50 -0
- package/xtendrmt/rmt-vnext-reference-demo.core.json +1069 -0
- package/xtendrmt/rmt-vnext-reference-demo.rmt +50 -0
- package/xtendrmt/rmt.schema.json +3145 -0
- package/xtendrmt/surface-workbench.js +316 -0
- package/xtendrmt/surface-workbench.rmt +762 -0
- package/xtendrmt/xtendrmt-bestcase-demo.core.json +1187 -0
- package/xtendrmt/xtendrmt-bestcase-demo.js +1728 -0
- package/xtendrmt/xtendrmt-bestcase-demo.rmt +57 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# xwriter – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xcode](./xcode.md), [xinput](./xinput.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-writer>` ist eine Komponente für Rich-Text-Editing und einfache WYSIWYG-Editoren. Sie unterstützt Formatierungen, Theming, State-Integration, Autosave, Export und API-Anbindung.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Rich-Text-Editing (fett, kursiv, Listen, Links, Farben, Größen)
|
|
13
|
+
- State-Integration via xstate
|
|
14
|
+
- Theming via CSS Custom Properties
|
|
15
|
+
- Autosave (lokal oder API)
|
|
16
|
+
- Export als Markdown/HTML
|
|
17
|
+
- Drag & Drop für Bilder/Text
|
|
18
|
+
- API-Anbindung (Speichern an Server)
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Verwendung
|
|
23
|
+
|
|
24
|
+
```html
|
|
25
|
+
<x-writer></x-writer>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Attribute
|
|
31
|
+
| Attribut | Typ | Beschreibung |
|
|
32
|
+
|-------------- |---------|----------------------------------------------------------|
|
|
33
|
+
| `value` | String | Initialer Textinhalt (Property, nicht Attribut) |
|
|
34
|
+
| `api` | String | API-Endpunkt für Speichern (z.B. `/api/save` oder `local` für LocalStorage) |
|
|
35
|
+
| `method` | String | HTTP-Methode für API (Standard: `POST`) |
|
|
36
|
+
| `autosave` | Number | Intervall in ms für Autosave (z.B. `10000` für 10s) |
|
|
37
|
+
| `storage-key` | String | Key für LocalStorage (Standard: `xwriter-content`) |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Events
|
|
42
|
+
| Event | Beschreibung |
|
|
43
|
+
|-------------------|----------------------------------------------------------|
|
|
44
|
+
| `writer:change` | Bei Textänderung ausgelöst, Detail: `{html, markdown, plain}` |
|
|
45
|
+
| `writer:save` | Nach Speichern (lokal/API), Detail: `{status, response}` |
|
|
46
|
+
| `writer:autosave` | Nach Autosave |
|
|
47
|
+
| `writer:export` | Nach Export, Detail: `{filename, success}` |
|
|
48
|
+
| `writer:error` | Bei Fehlern, Detail: `{error}` |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## API
|
|
53
|
+
- **Text setzen/lesen:** `element.value = 'Text'` (Property, nicht Attribut)
|
|
54
|
+
- **State-Integration:** Automatisch via xstate
|
|
55
|
+
- **Speichern:**
|
|
56
|
+
- Lokal: `<x-writer api="local"></x-writer>`
|
|
57
|
+
- API: `<x-writer api="/api/save" method="POST"></x-writer>`
|
|
58
|
+
- **Export:** Über Export-Button (Markdown/HTML)
|
|
59
|
+
|
|
60
|
+
## Form Controls UX ab WP-E11-08
|
|
61
|
+
|
|
62
|
+
`<x-writer>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil beschreibt Rich-Text als Form-Control-nahe UX-Flaeche mit `writer:change`, `writer:error`, `xwriter-content`, `component.idle.hydrate`, Fabric-Lane `idle` und RMT Shell Authoring. `x-form` kann `writer:change` aufnehmen und den Wert in `xform-data-<id>` aggregieren.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Beispiel: Dynamisch per JS
|
|
67
|
+
|
|
68
|
+
```js
|
|
69
|
+
const writer = document.createElement('x-writer');
|
|
70
|
+
writer.value = 'Hallo Welt!';
|
|
71
|
+
document.body.appendChild(writer);
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Styling & Theming
|
|
77
|
+
|
|
78
|
+
```css
|
|
79
|
+
x-writer {
|
|
80
|
+
--writer-bg: #fff;
|
|
81
|
+
--writer-color: #222;
|
|
82
|
+
/* Weitere Custom Properties siehe CSS */
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Accessibility
|
|
89
|
+
- Semantisches HTML, ARIA
|
|
90
|
+
- Tastaturbedienung
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Komponenten-Entwicklung mit XTend
|
|
2
|
+
|
|
3
|
+
> **Hinweis:** Siehe auch: [xrouter](./components/xrouter.md), [xlink](./components/xlink.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
XTend-Komponenten sind eigenständige, wiederverwendbare Web Components, die als Custom Elements implementiert werden. Sie ermöglichen eine modulare, deklarative und performante Entwicklung moderner Webanwendungen.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Grundprinzipien
|
|
12
|
+
|
|
13
|
+
- Jede Komponente ist ein ES6-Modul (JavaScript-Datei) und wird per Manifest dynamisch geladen.
|
|
14
|
+
- Komponenten verwenden das Custom Elements API (`customElements.define`).
|
|
15
|
+
- Der Manifest-Key ist der kanonische Runtime-/Catalog-Name. Fuer Custom Elements ist er zugleich der Tag-Name, z.B. `x-button`, `x-input`, `x-summary`.
|
|
16
|
+
- Source- und Docs-Slugs folgen im Bestand dem Modul-Basename ohne Bindestrich, z.B. `xbutton.js` mit `docs/components/xbutton.md` fuer Manifest-Key `x-button`.
|
|
17
|
+
- Komponenten sind unabhängig, können aber andere XTend-Komponenten nutzen.
|
|
18
|
+
|
|
19
|
+
### Naming-Konvention ab ER-WP-32
|
|
20
|
+
|
|
21
|
+
| Ebene | Regel | Beispiel |
|
|
22
|
+
|-------|-------|----------|
|
|
23
|
+
| Manifest-Key | kanonischer Runtime- und Catalog-Name | `x-summary` |
|
|
24
|
+
| Custom Element Tag | identisch zum Manifest-Key, wenn ein Custom Element registriert wird | `<x-summary>` |
|
|
25
|
+
| Source-Datei | Modul-Basename aus dem Manifest-Pfad | `xsummary.js` |
|
|
26
|
+
| Component-Doku | Source-Basename plus `.md` | `docs/components/xsummary.md` |
|
|
27
|
+
| Docs-Menu-Slug | `components-` plus Source-Basename | `components-xsummary` |
|
|
28
|
+
|
|
29
|
+
Ausnahmen bleiben explizit dokumentiert: `xstate` ist ein Plattform-State-Modul, `x-utils` ist ein Utility-Modul ohne Custom Element und `x-theme` ist ein Core-Theme-Modul mit Runtime-Fassade unter `window.XTend.theme`. Die vollstaendige Entscheidung liegt in `development/XTend-Component-Catalog-Naming-Konvention.md`.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Struktur einer Komponente
|
|
34
|
+
|
|
35
|
+
Typischerweise besteht eine Komponente aus:
|
|
36
|
+
- **Klasse**: Erbt von `HTMLElement` oder einer anderen Web Component-Basis.
|
|
37
|
+
- **Template**: HTML-Struktur, meist als Template-String oder Shadow DOM.
|
|
38
|
+
- **Styles**: Inline, als CSS-String oder per Shadow DOM gekapselt.
|
|
39
|
+
- **Registrierung**: Über `customElements.define('xname', XName)`.
|
|
40
|
+
|
|
41
|
+
### Beispiel: Minimal-Komponente
|
|
42
|
+
|
|
43
|
+
```js
|
|
44
|
+
class XButton extends HTMLElement {
|
|
45
|
+
constructor() {
|
|
46
|
+
super();
|
|
47
|
+
this.attachShadow({ mode: 'open' });
|
|
48
|
+
this.shadowRoot.innerHTML = `
|
|
49
|
+
<button><slot></slot></button>
|
|
50
|
+
<style>button { padding: 8px; }</style>
|
|
51
|
+
`;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
customElements.define('x-button', XButton);
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Best Practices
|
|
60
|
+
|
|
61
|
+
- **Kapselung:** Möglichst Shadow DOM nutzen, um Styles und Markup zu isolieren.
|
|
62
|
+
- **Namenskonvention:** Manifest-Key und Custom-Element-Tag sind kanonisch; Source- und Docs-Slugs folgen dem Modul-Basename.
|
|
63
|
+
- **Wiederverwendbarkeit:** Komponenten sollten unabhängig und konfigurierbar sein (Attribute, Properties, Events).
|
|
64
|
+
- **Lazy Loading:** Komponenten werden nur geladen, wenn sie im DOM verwendet werden.
|
|
65
|
+
- **Dokumentation:** Jede Komponente sollte eine eigene MD-Datei mit API, Attributen, Events und Beispielen erhalten.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Erweiterte Features
|
|
70
|
+
|
|
71
|
+
- **Attribute & Properties:** Überwache Attribute mit `static get observedAttributes()` und reagiere auf Änderungen.
|
|
72
|
+
- **Events:** Verwende `this.dispatchEvent(new CustomEvent(...))` für Kommunikation.
|
|
73
|
+
- **Slots:** Nutze `<slot>` für flexible Inhalte.
|
|
74
|
+
- **Theming:** Nutze CSS Custom Properties für Anpassbarkeit.
|
|
75
|
+
- **Ikonographie:** Nutze [`x-icon`](./components/xicon.md) als lokalen, RMT-kompatiblen Icon-Adapter fuer Core-Icons, lokale Lucide-Sets und Corporate-Design-Packs.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Beispiel: Erweiterte Komponente
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
class XInput extends HTMLElement {
|
|
83
|
+
static get observedAttributes() { return ['value']; }
|
|
84
|
+
constructor() {
|
|
85
|
+
super();
|
|
86
|
+
this.attachShadow({ mode: 'open' });
|
|
87
|
+
this.shadowRoot.innerHTML = `
|
|
88
|
+
<input type="text" />
|
|
89
|
+
<style>input { border: 1px solid #ccc; }</style>
|
|
90
|
+
`;
|
|
91
|
+
}
|
|
92
|
+
attributeChangedCallback(name, oldVal, newVal) {
|
|
93
|
+
if (name === 'value') {
|
|
94
|
+
this.shadowRoot.querySelector('input').value = newVal;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
customElements.define('xinput', XInput);
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Testen & Debugging
|
|
104
|
+
|
|
105
|
+
- Komponenten können direkt im HTML getestet werden.
|
|
106
|
+
- Nutze den lokalen Loader `xtend-loader.js` und den lokalen Dev-Server fuer Browser-Smokes und manuelle Tests.
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Weiterführende Themen
|
|
111
|
+
- [Manifest-Format](./manifest.md)
|
|
112
|
+
- [XTend Loader](./xtend-loader.md)
|
|
113
|
+
- [API-Integration](./api.md)
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Conditional Network Evidence CI
|
|
2
|
+
|
|
3
|
+
Contract: `xtend.epic13.conditional-network-evidence-ci.v1`
|
|
4
|
+
|
|
5
|
+
Status: `accepted-conditional-network-evidence-ci`
|
|
6
|
+
|
|
7
|
+
Workpackage: `DPF-WP-03-conditional-network-evidence-ci`
|
|
8
|
+
|
|
9
|
+
## Ziel
|
|
10
|
+
|
|
11
|
+
Dieses Paket produktisiert Audit- und SBOM-Evidence fuer CI und Release Owner. Der lokale Gate bleibt netzwerkfrei; der CI-Job kann `npm audit --audit-level=moderate` und `npm sbom --sbom-format=cyclonedx --json` ausfuehren oder bei nicht verfuegbarem Netzwerk ein Owner-Deferral im Format `xtend.epic13.conditional-network-deferral.v1` schreiben.
|
|
12
|
+
|
|
13
|
+
## Lokaler Gate
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
node scripts/run_xtend_tests.js epic13-conditional-network-evidence-ci --json
|
|
17
|
+
npm run test:epic13-conditional-network-evidence-ci
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Capture
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm run conditional-network:evidence
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Ohne `XTEND_CONDITIONAL_NETWORK_EXECUTE=1` schreibt der Capture lokale Deferral-Artefakte. In CI setzt `.github/workflows/xtend-default-gates.yml` `XTEND_CONDITIONAL_NETWORK_EXECUTE=1`, installiert Workspace-Links per `npm ci --ignore-scripts --no-audit --fund=false`, nutzt `XTEND_CONDITIONAL_NETWORK_USE_NPX_NPM10=1` fuer stabile SBOM-Ausgabe und laedt die Artefakte hoch:
|
|
27
|
+
|
|
28
|
+
- `.xtend-test-results/xtend-npm-audit-report.json`
|
|
29
|
+
- `.xtend-test-results/xtend-npm-sbom.json`
|
|
30
|
+
- `.xtend-test-results/xtend-conditional-network-evidence-report.json`
|
|
31
|
+
|
|
32
|
+
## Grenzen
|
|
33
|
+
|
|
34
|
+
Nicht enthalten sind Dependency-Upgrades, Vulnerability-Fixes und Public Publish. Publish bleibt durch `private-until-release-owner-acceptance` blockiert, bis Audit/SBOM ausgefuehrt oder durch den Owner akzeptiert deferred sind.
|
|
35
|
+
|
|
36
|
+
Der separate GitHub-Actions-Job `npm-publish-next` laeuft per `workflow_dispatch` mit `publish_to_npm=true` oder nach `release: published` und erlaubt keine Deferrals: Er setzt `XTEND_CONDITIONAL_NETWORK_ALLOW_DEFERRAL=0`, wiederholt `release:report`, Pack- und Audit/SBOM-Evidence und fuehrt danach `npm publish --tag next --provenance --access public` aus.
|
|
37
|
+
|
|
38
|
+
Der naechste Schritt ist `DPF-WP-04-visual-pixel-evidence-storage`.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Conditional Network Evidence
|
|
2
|
+
|
|
3
|
+
`xtend.epic13.conditional-network-evidence.v1` beschreibt, wie RC1 mit Netzwerk-Gates umgeht, ohne lokale Entwicklung zu blockieren.
|
|
4
|
+
|
|
5
|
+
Lokaler Gate:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
node scripts/run_xtend_tests.js epic13-conditional-network-evidence --json
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
oder:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm run test:epic13-conditional-network-evidence
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Commands
|
|
18
|
+
|
|
19
|
+
| Command | Artefakt |
|
|
20
|
+
|---------|----------|
|
|
21
|
+
| `npm audit --audit-level=moderate` | `.xtend-test-results/xtend-npm-audit-report.json` |
|
|
22
|
+
| `npm sbom --sbom-format=cyclonedx --json` | `.xtend-test-results/xtend-npm-sbom.json` |
|
|
23
|
+
|
|
24
|
+
Der aggregierte Report liegt unter `.xtend-test-results/xtend-conditional-network-evidence-report.json`.
|
|
25
|
+
|
|
26
|
+
## Lokales Verhalten
|
|
27
|
+
|
|
28
|
+
Der lokale Gate fuehrt die Netzwerkbefehle nicht automatisch aus. Stattdessen prueft er, dass XTend fuer Offline-, Sandbox- und CI-Umgebungen ein stabiles Evidence-/Deferral-Format besitzt.
|
|
29
|
+
|
|
30
|
+
Ab `DPF-WP-03` produktisiert [Conditional Network Evidence CI](./conditional-network-evidence-ci.md) den CI-Job und den Capture-Befehl `npm run conditional-network:evidence` unter `xtend.epic13.conditional-network-evidence-ci.v1`. Der Job kann die Audit-/SBOM-Kommandos ausfuehren oder Owner-Deferrals in denselben Artefaktpfaden ablegen.
|
|
31
|
+
|
|
32
|
+
Default-Reason fuer lokale Deferrals:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
network-restricted-local-default
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Weitere erlaubte Gruende:
|
|
39
|
+
|
|
40
|
+
- `sandbox-network-unavailable`
|
|
41
|
+
- `registry-auth-unavailable`
|
|
42
|
+
- `owner-approved-offline-run`
|
|
43
|
+
|
|
44
|
+
## Publish Boundary
|
|
45
|
+
|
|
46
|
+
`private-until-release-owner-acceptance` bleibt aktiv. Deferred Network Evidence ist ein Review-Signal, aber keine Publish-Freigabe.
|
|
47
|
+
|
|
48
|
+
`WP-E13-04` ist abgeschlossen. Der Package Export Lock beschreibt unter [Package Export Lock](./package-export-lock.md), wie `npm run pack:dry-run` und die Export Surface fuer RC1 gesperrt werden. `WP-E13-05` ist abgeschlossen; `WP-E13-06` hat die [Hydration Performance Closure](./hydration-performance-closure.md) abgeschlossen. `WP-E13-07` hat die [PROD Browser CSP Smokes](./prod-browser-csp-smokes.md) vorbereitet. `WP-E13-08` hat [Visual Owner Artifacts](./visual-owner-artifacts.md) normalisiert. `WP-E13-09` ist nun startbar.
|
|
49
|
+
|
|
50
|
+
Weiterfuehrend: [Release Owner Acceptance](./release-owner-acceptance.md).
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# XTend Core Migration Guide
|
|
2
|
+
|
|
3
|
+
## Uebersicht
|
|
4
|
+
|
|
5
|
+
Dieser Guide fasst die produktiven Core-Standards aus Epic 01 zusammen. Er dient als Migrationshilfe fuer Legacy-Call-Sites und als Referenz fuer neue XTend-Core-Aenderungen.
|
|
6
|
+
|
|
7
|
+
## Verifikation
|
|
8
|
+
|
|
9
|
+
Der aktuelle Core-Contract ist automatisiert pruefbar:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
node scripts/verify_xtend_core_contracts.js
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Runtime-Standards
|
|
16
|
+
|
|
17
|
+
- `window.XTend.compliance` stellt Checklist, Contract-Uebersicht und Theme-Tokens bereit.
|
|
18
|
+
- zentrale Design-Tokens werden ueber `xtheme` pro Theme registriert und auf `document.documentElement` gespiegelt.
|
|
19
|
+
- Overlay- und Feedback-Komponenten respektieren `prefers-reduced-motion`, Fokus-Standards und kanonische XTend-State-Keys.
|
|
20
|
+
|
|
21
|
+
## RMT-Templating-Migration ab Epic 04
|
|
22
|
+
|
|
23
|
+
RMT-Templating ist additiv und opt-in. Bestehende XTend-Apps, klassische HTML-/JS-Integrationen und bestehende Web-Component-Nutzung bleiben gueltig. Eine App nutzt XTendRMT erst, wenn sie ein `.rmt` Dokument, einen RMT Root-Handshake, einen Template-Record oder einen Host Adapter bewusst registriert.
|
|
24
|
+
|
|
25
|
+
Die verbindliche Migrationsnotiz liegt in `development/XTendRMT-Migrations-und-Framework-Agnostik-Leitplanken.md`.
|
|
26
|
+
Der aktuelle Produktueberblick liegt in `docs/xtendrmt-overview.md`. Das produktive native Authoring-Modell ab Epic 05 liegt in `docs/xtendrmt-native-authoring.md`; die App-DSL-Referenz liegt in `docs/xtendrmt-app-dsl.md`; Runtime Bridge und Adapter sind in `docs/xtendrmt-runtime-bridge.md` beschrieben. Die Migration von Metadatenpfaden zu Top-Level-Domains liegt in `docs/xtendrmt-migration-guide.md`.
|
|
27
|
+
|
|
28
|
+
| Ausgangslage | Migrationspfad |
|
|
29
|
+
|--------------|----------------|
|
|
30
|
+
| XTend-only App | unveraendert weiter betreiben; RMT nur fuer neue Roots oder Template-Piloten aktivieren |
|
|
31
|
+
| XTend mit XRouter | Route-Records vorbereiten, produktive Adapterausfuehrung in Epic 05 |
|
|
32
|
+
| XTend neben React/Vue | RMT als Scheduler oder Template-Transport nutzen, Host Adapter getrennt halten |
|
|
33
|
+
| Vanilla oder Custom Host | eigene Scheduler-Endpoints deklarieren, keine XTend-Capabilities voraussetzen |
|
|
34
|
+
| Legacy-Demo | klassifizieren und pruefen, nicht stillschweigend zum RMT-Produktcontract machen |
|
|
35
|
+
|
|
36
|
+
Review-Regeln fuer RMT-kompatible Aenderungen:
|
|
37
|
+
|
|
38
|
+
- keine XTend Runtime-Imports im RMT Kernel
|
|
39
|
+
- keine erzwungene Migration bestehender Apps
|
|
40
|
+
- keine neue XTend-Template-Sprache neben RMT
|
|
41
|
+
- `kernelVisible: false` fuer XTend-spezifische Adapterdaten
|
|
42
|
+
- produktive Bridge-Factories statt privater Demo-Brueckenlogik verwenden
|
|
43
|
+
- historische Scaffold-Artefakte mit `bridgeRuntime: reserved-for-Epic-05` bleiben als Epic-04-Handoff lesbar, sind aber nicht mehr der operative Bridge-Status
|
|
44
|
+
- `node scripts/run_xtend_tests.js rmt-compatibility --json` und `node scripts/run_xtend_tests.js references --json` als Mindestgates
|
|
45
|
+
|
|
46
|
+
## Native RMT Routes und Components ab Epic 05
|
|
47
|
+
|
|
48
|
+
Neue App-DSL-Dokumente sollen operative Routing-, Component- und Scheduling-Daten in nativen Top-Level-Domains fuehren:
|
|
49
|
+
|
|
50
|
+
- `manifest.metadata.routes -> routes`
|
|
51
|
+
- `manifest.metadata.components -> components`
|
|
52
|
+
- `manifest.metadata.schedules -> schedules`
|
|
53
|
+
- `xtend.xrouter` bleibt Router Adapter
|
|
54
|
+
- `xtend.component` bleibt Component Adapter
|
|
55
|
+
- `rmt.state-scheduler-diagnostics` bleibt Bridge Adapter
|
|
56
|
+
|
|
57
|
+
`manifest.metadata` bleibt fuer Beschreibung, Handoff und historische Demo-Notizen gueltig, soll aber keine neue operative Route-/Component-Bridge tragen. Template-only-Dokumente bleiben kompatibel.
|
|
58
|
+
|
|
59
|
+
Die produktive Ausfuehrung nutzt:
|
|
60
|
+
|
|
61
|
+
- `createRmtFormat().normalizeDocument(...)`
|
|
62
|
+
- `createRmtFormat().createRuntimeRegistries(...)`
|
|
63
|
+
- `createRmtXRouterAdapter(...)`
|
|
64
|
+
- `createRmtXtendComponentAdapter(...)`
|
|
65
|
+
- `createRmtStateSchedulerDiagnosticsBridge(...)`
|
|
66
|
+
|
|
67
|
+
Die Docs-App selbst bleibt Parsedown-basiert, rendert ihre App Shell aber inzwischen Shell-first aus RMT. Der Scheduling- und Shell-Pfad ist seit `ER-WP-40` in `docs/xtendrmt-parsedown-scheduling.md` und `docs/xtendrmt-parsedown-docs.rmt` als offizieller Pilot beschrieben.
|
|
68
|
+
|
|
69
|
+
## Legacy zu kanonisch
|
|
70
|
+
|
|
71
|
+
| Bereich | Legacy | Kanonisch | Status |
|
|
72
|
+
|--------|--------|-----------|--------|
|
|
73
|
+
| Dialog Open | `dialog-open-<id>` | `xtend.component.x-dialog.<id>.open` | Legacy bleibt kompatibel |
|
|
74
|
+
| Dialog Open | `xdialog-open-<id>` | `xtend.component.x-dialog.<id>.open` | Legacy bleibt kompatibel |
|
|
75
|
+
| Modal Open | `modal-open-<id>` | `xtend.component.x-modal.<id>.open` | Legacy bleibt kompatibel |
|
|
76
|
+
| Theme Current | `theme` | `xtend.theme.current` | beide werden gespiegelt |
|
|
77
|
+
| Theme List | `themes` | `xtend.theme.available` | beide werden gespiegelt |
|
|
78
|
+
| Router Last Navigation | `router-navigated` | `xtend.router.lastNavigated` | beide werden gespiegelt |
|
|
79
|
+
| Alert State | `xalert-state-<id>` | `xtend.component.x-alert.<id>` | Legacy bleibt kompatibel |
|
|
80
|
+
|
|
81
|
+
## Was neue Core-Aenderungen beachten muessen
|
|
82
|
+
|
|
83
|
+
- neue UI-Flows brauchen einen expliziten `xstate`-Zwilling
|
|
84
|
+
- Doku, API, Typdefinitionen und Runtime muessen denselben Contract verwenden
|
|
85
|
+
- neue Komponenten oder groessere Core-Aenderungen muessen gegen die Compliance-Checklist und den Verify-Script laufen
|
|
86
|
+
|
|
87
|
+
## Design-Tokens
|
|
88
|
+
|
|
89
|
+
Die zentralen Tokens kommen aus `xtheme` und koennen pro Theme angepasst werden:
|
|
90
|
+
|
|
91
|
+
- `--xtend-color-primary`
|
|
92
|
+
- `--xtend-color-primary-dark`
|
|
93
|
+
- `--xtend-color-accent`
|
|
94
|
+
- `--xtend-glass-bg`
|
|
95
|
+
- `--xtend-glass-blur`
|
|
96
|
+
- `--xtend-shadow`
|
|
97
|
+
- `--xtend-border`
|
|
98
|
+
- `--xtend-radius`
|
|
99
|
+
- `--xtend-font-family`
|
|
100
|
+
- `--xtend-focus-outline`
|
|
101
|
+
- `--xtend-surface`
|
|
102
|
+
- `--xtend-surface-muted`
|
|
103
|
+
- `--xtend-text`
|
|
104
|
+
- `--xtend-overlay-bg`
|
|
105
|
+
|
|
106
|
+
## Hinweise fuer bestehende Integrationen
|
|
107
|
+
|
|
108
|
+
- Bestehende Legacy-Open-Flags fuer Dialog und Modal muessen nicht sofort entfernt werden, sollten aber nicht mehr neu eingefuehrt werden.
|
|
109
|
+
- Neue API-nahe Integrationen sollen `window.XTend.*` statt unnamespaced Helpern bevorzugen.
|
|
110
|
+
- Fuer Core-Reviews ist die Checkliste in `development/XTend-Core-Compliance-Checklist.md` die operative Quelle.
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Design Tokens
|
|
2
|
+
|
|
3
|
+
XTend nutzt ab `WP-E12-12` den Contract `xtend.design-tokens.product-contract.v1`. Damit sind zentrale Theme-, Density-, Motion-, Focus- und Statuswerte eine stabile Produkt-API, nicht nur interne CSS-Hilfswerte.
|
|
4
|
+
|
|
5
|
+
Lokaler Gate:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
node scripts/run_xtend_tests.js design-tokens --json
|
|
9
|
+
npm run test:design-tokens
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Runtime Provider
|
|
13
|
+
|
|
14
|
+
`x-theme` ist der Runtime Provider. Apps koennen Tokens ueber Theme Packs registrieren:
|
|
15
|
+
|
|
16
|
+
```js
|
|
17
|
+
window.XTend.theme.registerTheme('enterprise-light', {
|
|
18
|
+
'--xtend-color-primary': '#2563eb',
|
|
19
|
+
'--xtend-surface': '#ffffff',
|
|
20
|
+
'--xtend-text': '#111827',
|
|
21
|
+
'--xtend-density-spacing': '0.75rem'
|
|
22
|
+
});
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Die vollstaendige Beispielbasis liegt in `design-tokens/themes/enterprise-light.json`.
|
|
26
|
+
|
|
27
|
+
## Produkt-Tokens
|
|
28
|
+
|
|
29
|
+
Wichtige Custom Properties:
|
|
30
|
+
|
|
31
|
+
| Token | Zweck |
|
|
32
|
+
|-------|-------|
|
|
33
|
+
| `--xtend-color-primary` | interaktive Primaerfarbe |
|
|
34
|
+
| `--xtend-color-primary-dark` | Hover-/Active-Variante |
|
|
35
|
+
| `--xtend-color-accent` | Akzent oder inverse Vordergrundfarbe |
|
|
36
|
+
| `--xtend-surface` | Standardflaeche |
|
|
37
|
+
| `--xtend-surface-muted` | sekundare Flaeche |
|
|
38
|
+
| `--xtend-text` | Standardtext |
|
|
39
|
+
| `--xtend-overlay-bg` | Overlay-Hintergrund |
|
|
40
|
+
| `--xtend-border-color` | semantische Borderfarbe |
|
|
41
|
+
| `--xtend-focus-outline` | Keyboard-Fokus |
|
|
42
|
+
| `--xtend-focus-outline-offset` | Fokus-Abstand |
|
|
43
|
+
| `--xtend-info-bg` / `--xtend-info-fg` | Info-Status |
|
|
44
|
+
| `--xtend-success-bg` / `--xtend-success-fg` | Success-Status |
|
|
45
|
+
| `--xtend-warning-bg` / `--xtend-warning-fg` | Warning-Status |
|
|
46
|
+
| `--xtend-error-bg` / `--xtend-error-fg` | Error-Status |
|
|
47
|
+
| `--xtend-shadow` | Elevation |
|
|
48
|
+
| `--xtend-radius` | Standardradius |
|
|
49
|
+
| `--xtend-font-family` | Schriftfamilie |
|
|
50
|
+
| `--xtend-motion-duration-fast` | schnelle Transition |
|
|
51
|
+
| `--xtend-motion-duration-base` | Basis-Transition |
|
|
52
|
+
| `--xtend-motion-scale` | Motion-Skalierung |
|
|
53
|
+
| `--xtend-density-spacing` | Density-Abstand |
|
|
54
|
+
| `--xtend-control-height` | Density-Control-Hoehe |
|
|
55
|
+
| `--xtend-font-scale` | Density-Schrift-Skalierung |
|
|
56
|
+
|
|
57
|
+
## Theme Packs
|
|
58
|
+
|
|
59
|
+
Pflicht-Packs:
|
|
60
|
+
|
|
61
|
+
- `light`
|
|
62
|
+
- `dark`
|
|
63
|
+
- `high-contrast`
|
|
64
|
+
- `forced-colors`
|
|
65
|
+
|
|
66
|
+
`high-contrast` und `forced-colors` sind Teil des Produktvertrags. `forced-colors` nutzt Systemfarben wie `Canvas`, `CanvasText`, `Highlight` und `HighlightText`.
|
|
67
|
+
|
|
68
|
+
## Density Packs
|
|
69
|
+
|
|
70
|
+
Pflicht-Packs:
|
|
71
|
+
|
|
72
|
+
- `comfortable`
|
|
73
|
+
- `compact`
|
|
74
|
+
- `dense`
|
|
75
|
+
|
|
76
|
+
`x-theme.setDensity('dense')` setzt `--xtend-density-spacing`, `--xtend-density-scale`, `--xtend-control-height` und `--xtend-font-scale`. `spacious` ist nicht mehr Teil der Enterprise-Token-Linie.
|
|
77
|
+
|
|
78
|
+
## CSS Parts
|
|
79
|
+
|
|
80
|
+
Die Token-Schicht ergaenzt den Component Styling Contract. Komponenten dokumentieren weiterhin ihre eigenen `::part(...)` Oberflaechen. Gemeinsame Public Parts sind:
|
|
81
|
+
|
|
82
|
+
- `root`
|
|
83
|
+
- `control`
|
|
84
|
+
- `label`
|
|
85
|
+
- `content`
|
|
86
|
+
- `helper`
|
|
87
|
+
- `error`
|
|
88
|
+
- `icon`
|
|
89
|
+
- `panel`
|
|
90
|
+
- `overlay`
|
|
91
|
+
- `backdrop`
|
|
92
|
+
- `listbox`
|
|
93
|
+
- `option`
|
|
94
|
+
- `track`
|
|
95
|
+
- `thumb`
|
|
96
|
+
- `media`
|
|
97
|
+
|
|
98
|
+
## RMT Authoring
|
|
99
|
+
|
|
100
|
+
RMT kann Theme Packs, Density Packs und Style-Daten schedulen oder deklarieren. Der Kernel importiert keine XTend-Typen; die Boundary bleibt `no-rmt-kernel-import-of-xtend-types`.
|
|
101
|
+
|
|
102
|
+
Die Component Shell Theme Matrix und Visual Snapshot Fixture nutzen dieselben `--xtend-*` Tokens wie `x-theme`. Dadurch koennen XTend Apps spaeter komplett RMT-first templated werden, ohne ein zweites Token-Vokabular mitzuschleppen.
|
|
103
|
+
|
|
104
|
+
## RC0 Adoption Update
|
|
105
|
+
|
|
106
|
+
Seit `WP-E12-15` verweist der [RC0 Adoption Guide](./rc0-adoption-guide.md) auf Design Tokens als verpflichtende Styling-Baseline fuer neue Komponenten und RMT-Shells. Token- oder CSS-Part-Aenderungen gelten als Public-API-Aenderungen und brauchen Migration Notes im RC0-Handoff.
|
|
107
|
+
|
|
108
|
+
## ECH-WP-11 Drittanbieter Design Authoring Update
|
|
109
|
+
|
|
110
|
+
Der Guide [Drittanbieter Design Authoring](./third-party-design-authoring.md) uebersetzt die Token-Schicht in einen Corporate-Design-Pfad fuer Host-Apps. Er beschreibt XTend.css Override Patterns, XTheme Token Bridge, CSS Parts, Icon Pack Registrierung, Layout Modes, A11y-Dos and Donts, P0 Token-/Part-Referenzen und Migration von Legacy Token-Namen.
|
|
111
|
+
|
|
112
|
+
Lokaler Gate:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
node scripts/run_xtend_tests.js enterprise-third-party-authoring-guide --json
|
|
116
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Docs RMT Production Hardening
|
|
2
|
+
|
|
3
|
+
`WP-E13-10` hebt den bisherigen Docs-App Parsedown/RMT-Pilot auf einen PROD-naeheren RC1-Schnitt.
|
|
4
|
+
|
|
5
|
+
- Contract: `xtend.epic13.docs-rmt-production-hardening.v1`
|
|
6
|
+
- RMT-Dokument: `docs/xtendrmt-parsedown-docs.rmt`
|
|
7
|
+
- Host: `docs/index.php`
|
|
8
|
+
- Page Loader: `docs/utils/pageloader.js`
|
|
9
|
+
- Gate: `node scripts/run_xtend_tests.js epic13-docs-rmt-production-hardening --json`
|
|
10
|
+
- Trusted DOM Proof: `xtend.epic13.trusted-dom-boundary.v1`
|
|
11
|
+
|
|
12
|
+
## Zweck
|
|
13
|
+
|
|
14
|
+
Die Docs-App bleibt eine XTend-App mit PHP/Parsedown als Parser-Host. RMT rendert Shell-first die App Shell, markiert stabile Slots und scheduled Erweiterungen. Parsedown, PHP-Ausfuehrung und Sanitizing bleiben ausserhalb des RMT-Kernels.
|
|
15
|
+
|
|
16
|
+
## Extension Slots
|
|
17
|
+
|
|
18
|
+
| Slot | Content Kind | Schedule | Boundary |
|
|
19
|
+
|------|--------------|----------|----------|
|
|
20
|
+
| `docs.slot.content` | `parsedownHtml` | `docs.markdown.parse` | `xtend.security.sanitizing-boundary.v1` |
|
|
21
|
+
| `docs.slot.rich-content` | `richHtml` | `docs.rich-content.prepare` | `xtend.security.sanitizing-boundary.v1` |
|
|
22
|
+
| `docs.slot.media` | `xplayerTutorial` | `docs.media.lazy` | component-managed |
|
|
23
|
+
| `docs.slot.diagnostics` | `diagnostics` | `docs.diagnostics.snapshot` | structured-diagnostics |
|
|
24
|
+
|
|
25
|
+
## Runtime Metadata
|
|
26
|
+
|
|
27
|
+
`docs/index.php` stellt `window.xtendDocsRmtProductionHardening` bereit. `docs/utils/pageloader.js` spiegelt pro Route `window.xtendDocsRmtProductionLastRender` mit Shell-first-Status, Extension-Slots, Schedules, Diagnostics-Slot und Kernel-Boundary.
|
|
28
|
+
|
|
29
|
+
## Handoff
|
|
30
|
+
|
|
31
|
+
`WP-E13-10` ist abgeschlossen. `WP-E13-11` hat Trusted DOM, Parsedown und RMT HTML Boundary browsernah unter [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md) geprueft. `WP-E13-12` hat [RC1 Migration Notes](./rc1-migration-notes.md) und `xtend.epic13.rc1-migration-notes-semver.v1` abgeschlossen. `WP-E13-13` hat [RC1 Gate Matrix und CI-Handoff](./rc1-gate-matrix-ci-handoff.md) und `xtend.epic13.rc1-gate-matrix-ci-handoff.v1` abgeschlossen.
|