@ccslabs/xtend 0.1.0-rc.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +4 -0
- package/catalog/component-catalog-coverage.js +2 -0
- package/catalog/epic13-package-export-lock.js +11 -1
- package/catalog/epic13-rmt-production-readiness.js +0 -1
- package/catalog/epic18-rmt-action-effect-runtime.d.ts +36 -0
- package/catalog/epic18-rmt-action-effect-runtime.js +249 -0
- package/catalog/epic18-rmt-app-platform-authoring.d.ts +39 -0
- package/catalog/epic18-rmt-app-platform-authoring.js +319 -0
- package/catalog/epic18-rmt-app-platform-fixture.d.ts +33 -0
- package/catalog/epic18-rmt-app-platform-fixture.js +221 -0
- package/catalog/epic18-rmt-app-platform-release-handoff.d.ts +30 -0
- package/catalog/epic18-rmt-app-platform-release-handoff.js +231 -0
- package/catalog/epic18-rmt-app-platform-tooling.d.ts +38 -0
- package/catalog/epic18-rmt-app-platform-tooling.js +242 -0
- package/catalog/epic18-rmt-component-template-primitives.d.ts +33 -0
- package/catalog/epic18-rmt-component-template-primitives.js +240 -0
- package/catalog/epic18-rmt-dom-descriptor-renderer.d.ts +35 -0
- package/catalog/epic18-rmt-dom-descriptor-renderer.js +232 -0
- package/catalog/epic18-rmt-event-routing-runtime.d.ts +35 -0
- package/catalog/epic18-rmt-event-routing-runtime.js +234 -0
- package/catalog/epic18-rmt-state-selector-runtime.d.ts +34 -0
- package/catalog/epic18-rmt-state-selector-runtime.js +216 -0
- package/catalog/epic18-rmt-surface-resource-graph-runtime.d.ts +36 -0
- package/catalog/epic18-rmt-surface-resource-graph-runtime.js +256 -0
- package/catalog/surface-manager-controller.js +5 -1
- package/catalog/surface-manager-materialization.js +7 -1
- package/catalog/surface-manager-overlay-bridge.js +41 -6
- package/catalog/surface-manager-workbench-fixture.js +1 -1
- package/catalog/surface-type-capability-matrix.d.ts +61 -0
- package/catalog/surface-type-capability-matrix.js +183 -0
- package/catalog/type-exports-rmt.js +37 -1
- package/catalog/type-exports.js +3 -3
- package/components/icon-packs/lucide.js +4 -0
- package/components/manifest.json +2 -0
- package/components/prism-rmt.d.ts +34 -0
- package/components/prism-rmt.js +130 -0
- package/components/xcards.js +15 -0
- package/components/xcode.d.ts +36 -1
- package/components/xcode.js +215 -20
- package/components/xfooter.js +17 -0
- package/components/xheader.js +14 -0
- package/components/xhero.js +16 -1
- package/components/xlink.js +97 -14
- package/components/xmasonry.js +15 -0
- package/components/xplayer.d.ts +44 -2
- package/components/xplayer.js +242 -15
- package/components/xrouter.js +27 -2
- package/components/xsection.js +15 -0
- package/components/xsidepanel.js +10 -2
- package/components/xsurfacemanager-controller.d.ts +2 -1
- package/components/xsurfacemanager-controller.js +27 -3
- package/components/xsurfacemanager.d.ts +2 -0
- package/components/xsurfacemanager.js +20 -8
- package/components/xsurfaceoverlay-bridge.d.ts +20 -5
- package/components/xsurfaceoverlay-bridge.js +114 -18
- package/components/xsurfaceportal.d.ts +29 -0
- package/components/xsurfaceportal.js +122 -0
- package/components/xsurfaceregion.d.ts +50 -0
- package/components/xsurfaceregion.js +285 -0
- package/components/xsurfacewindow.js +2 -1
- package/components/xtooltip.js +89 -23
- package/docs/README.md +222 -298
- package/docs/changelog.md +107 -0
- package/docs/component-catalog-coverage.md +9 -9
- package/docs/component-platform.md +19 -1
- package/docs/component-ux-app-authoring.md +56 -63
- package/docs/components/xcode.md +83 -53
- package/docs/components/xsurfaceportal.md +32 -0
- package/docs/components/xsurfaceregion.md +37 -0
- package/docs/components.md +105 -69
- package/docs/de/README.md +264 -0
- package/docs/de/XTend-ADR.md +221 -0
- package/docs/de/a11y-keyboard-smokes.md +62 -0
- package/docs/de/about.md +18 -0
- package/docs/de/api.md +157 -0
- package/docs/de/best-practices.md +76 -0
- package/docs/de/changelog.md +107 -0
- package/docs/de/component-catalog-coverage.md +58 -0
- package/docs/de/component-lab.md +103 -0
- package/docs/de/component-long-tail-migration.md +41 -0
- package/docs/de/component-platform.md +177 -0
- package/docs/de/component-ux-app-authoring.md +123 -0
- package/docs/de/component-ux-authoring.md +96 -0
- package/docs/de/component-ux-gates.md +45 -0
- package/docs/de/components/x-rmt-lifecycle-demo-build.md +60 -0
- package/docs/de/components/xalert.md +81 -0
- package/docs/de/components/xbutton.md +103 -0
- package/docs/de/components/xcalendar.md +82 -0
- package/docs/de/components/xcards.md +128 -0
- package/docs/de/components/xcheckbox.md +102 -0
- package/docs/de/components/xcode.md +156 -0
- package/docs/de/components/xdialog.md +92 -0
- package/docs/de/components/xdrawer.md +84 -0
- package/docs/de/components/xfooter.md +126 -0
- package/docs/de/components/xform.md +128 -0
- package/docs/de/components/xheader.md +308 -0
- package/docs/de/components/xhero.md +142 -0
- package/docs/de/components/xicon.md +125 -0
- package/docs/de/components/xinput.md +129 -0
- package/docs/de/components/xlightbox.md +98 -0
- package/docs/de/components/xlink.md +109 -0
- package/docs/de/components/xmasonry.md +124 -0
- package/docs/de/components/xmenu.md +158 -0
- package/docs/de/components/xmodal.md +82 -0
- package/docs/de/components/xplayer.md +104 -0
- package/docs/de/components/xpopover.md +67 -0
- package/docs/de/components/xprogress.md +56 -0
- package/docs/de/components/xradio.md +103 -0
- package/docs/de/components/xrouter.md +260 -0
- package/docs/de/components/xsection.md +125 -0
- package/docs/de/components/xselect.md +105 -0
- package/docs/de/components/xsidepanel.md +30 -0
- package/docs/de/components/xspinner.md +102 -0
- package/docs/de/components/xstate.md +148 -0
- package/docs/de/components/xstatus.md +55 -0
- package/docs/de/components/xsummary.md +78 -0
- package/docs/de/components/xsurfacemanager.md +27 -0
- package/docs/de/components/xsurfacewindow.md +21 -0
- package/docs/de/components/xtabs.md +160 -0
- package/docs/de/components/xtextarea.md +98 -0
- package/docs/de/components/xtheme.md +167 -0
- package/docs/de/components/xtoast.md +62 -0
- package/docs/de/components/xtooltip.md +66 -0
- package/docs/de/components/xtype.md +82 -0
- package/docs/de/components/xutils.md +144 -0
- package/docs/de/components/xwriter.md +94 -0
- package/docs/de/components.md +153 -0
- package/docs/de/conditional-network-evidence-ci.md +38 -0
- package/docs/de/conditional-network-evidence.md +50 -0
- package/docs/de/core-migration-guide.md +110 -0
- package/docs/de/design-tokens.md +116 -0
- package/docs/de/docs-rmt-production-hardening.md +31 -0
- package/docs/de/enterprise-adoption.md +413 -0
- package/docs/de/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/de/epic10-platform-gates.md +62 -0
- package/docs/de/epic10-release-handoff.md +81 -0
- package/docs/de/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/de/epic12-rc0-handoff.md +61 -0
- package/docs/de/epic18-media-manager-vendor-upstream.md +318 -0
- package/docs/de/epic18-rmt-app-platform-release-handoff.md +67 -0
- package/docs/de/epic18-vendor-bugfixes.md +34 -0
- package/docs/de/existing-component-metadata.md +67 -0
- package/docs/de/hydration-performance-closure.md +34 -0
- package/docs/de/hydration-policies.md +71 -0
- package/docs/de/known-residual-triage.md +22 -0
- package/docs/de/manifest-import-policy.md +79 -0
- package/docs/de/manifest.md +112 -0
- package/docs/de/motion-contrast.md +67 -0
- package/docs/de/package-export-lock.md +44 -0
- package/docs/de/performance-measurements.md +106 -0
- package/docs/de/performance-regression.md +89 -0
- package/docs/de/performance.md +94 -0
- package/docs/de/previews/README.md +17 -0
- package/docs/de/prod-browser-csp-smokes.md +40 -0
- package/docs/de/public-component-types.md +79 -0
- package/docs/de/quick-start-guide.md +220 -0
- package/docs/de/rc0-adoption-guide.md +102 -0
- package/docs/de/rc0-gate-matrix.md +58 -0
- package/docs/de/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/de/rc1-migration-notes.md +69 -0
- package/docs/de/rc1-readiness.md +46 -0
- package/docs/de/release-owner-acceptance.md +56 -0
- package/docs/de/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/de/rmt-action-effect-runtime.md +81 -0
- package/docs/de/rmt-app-platform-authoring.md +54 -0
- package/docs/de/rmt-app-platform-fixture.md +46 -0
- package/docs/de/rmt-app-platform-migration-guide.md +88 -0
- package/docs/de/rmt-app-platform-tooling.md +79 -0
- package/docs/de/rmt-component-template-primitives.md +57 -0
- package/docs/de/rmt-dom-descriptor-renderer.md +64 -0
- package/docs/de/rmt-dsl-authoring-polish.md +145 -0
- package/docs/de/rmt-event-routing-runtime.md +81 -0
- package/docs/de/rmt-first-demo-app.md +77 -0
- package/docs/de/rmt-first-xtend-apps.md +129 -0
- package/docs/de/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
- package/docs/de/rmt-kernel-security-hardening-migration.md +50 -0
- package/docs/de/rmt-kernel-trusted-output-authoring.md +69 -0
- package/docs/de/rmt-language-server.md +234 -0
- package/docs/de/rmt-lifecycle-demo.md +24 -0
- package/docs/de/rmt-linter.md +140 -0
- package/docs/de/rmt-node-ssr-adapter.md +100 -0
- package/docs/de/rmt-php-ssr-adapter.md +120 -0
- package/docs/de/rmt-production-readiness.md +63 -0
- package/docs/de/rmt-state-selector-runtime.md +47 -0
- package/docs/de/rmt-surface-resource-graph-runtime.md +92 -0
- package/docs/de/rmt-tooling-release-gates.md +77 -0
- package/docs/de/rmt-vnext-authoring.md +170 -0
- package/docs/de/rmt-vnext-component-primitives.md +188 -0
- package/docs/de/rmt-vnext-cross-surface-events.md +68 -0
- package/docs/de/rmt-vnext-enterprise-mfe-handoff.md +70 -0
- package/docs/de/rmt-vnext-fabric-bridge-evidence.md +81 -0
- package/docs/de/rmt-vnext-migration-notes.md +62 -0
- package/docs/de/rmt-vnext-primitive-authoring-tooling.md +247 -0
- package/docs/de/rmt-vnext-primitive-grammar-design.md +289 -0
- package/docs/de/rmt-vnext-primitive-lowering.md +108 -0
- package/docs/de/rmt-vnext-primitive-migration.md +119 -0
- package/docs/de/rmt-vnext-primitive-parser-ast.md +76 -0
- package/docs/de/rmt-vnext-primitive-semantic-graph.md +118 -0
- package/docs/de/rmt-vnext-primitives-compiler-backlog.md +739 -0
- package/docs/de/rmt-vnext-release-handoff.md +83 -0
- package/docs/de/rmt-vnext-remote-surfaces.md +90 -0
- package/docs/de/rmt-vnext-source-to-sea-gate.md +612 -0
- package/docs/de/rmt-vnext-surface-registry-enterprise.md +76 -0
- package/docs/de/screenreader-signals.md +56 -0
- package/docs/de/supply-chain-gates.md +100 -0
- package/docs/de/surface-manager-authoring-guide.md +94 -0
- package/docs/de/surface-manager-browser-lab.md +45 -0
- package/docs/de/surface-manager-component-lab.md +43 -0
- package/docs/de/surface-manager-controller.md +66 -0
- package/docs/de/surface-manager-layout-engines.md +32 -0
- package/docs/de/surface-manager-lazy-hydration.md +63 -0
- package/docs/de/surface-manager-migration-guide.md +122 -0
- package/docs/de/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/de/surface-manager-overlay-bridge.md +53 -0
- package/docs/de/surface-manager-persistence.md +30 -0
- package/docs/de/surface-manager-quality-gates.md +51 -0
- package/docs/de/surface-manager-release-handoff.md +68 -0
- package/docs/de/surface-manager-remote-policy.md +54 -0
- package/docs/de/surface-manager-rmt-authoring.md +102 -0
- package/docs/de/surface-manager-route-lifecycle.md +59 -0
- package/docs/de/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/de/surface-manager-side-panel-runtime.md +36 -0
- package/docs/de/surface-manager-stack-policy.md +39 -0
- package/docs/de/surface-manager-window-runtime.md +47 -0
- package/docs/de/surface-manager-workbench-fixture.md +43 -0
- package/docs/de/third-party-design-authoring.md +406 -0
- package/docs/de/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/de/trusted-dom-sanitizing.md +110 -0
- package/docs/de/type-exports.md +61 -0
- package/docs/de/typescript-components.md +63 -0
- package/docs/de/visual-browser-regression.md +83 -0
- package/docs/de/visual-owner-artifacts.md +46 -0
- package/docs/de/visual-snapshot-automation.md +87 -0
- package/docs/de/xtend-api-types.md +55 -0
- package/docs/de/xtend-builder-types.md +55 -0
- package/docs/de/xtend-catalog-types.md +44 -0
- package/docs/de/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/de/xtend-fabric.md +474 -0
- package/docs/de/xtend-loader-types.md +58 -0
- package/docs/de/xtend-loader.md +265 -0
- package/docs/de/xtend-policy-types.md +38 -0
- package/docs/de/xtend-rmt-types.md +40 -0
- package/docs/de/xtend-vendor-types.md +36 -0
- package/docs/de/xtendrmt-app-dsl.md +334 -0
- package/docs/de/xtendrmt-migration-guide.md +266 -0
- package/docs/de/xtendrmt-native-authoring.md +333 -0
- package/docs/de/xtendrmt-overview.md +109 -0
- package/docs/de/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/de/xtendrmt-runtime-bridge.md +155 -0
- package/docs/en/README.md +163 -0
- package/docs/en/XTend-ADR.md +221 -0
- package/docs/en/a11y-keyboard-smokes.md +68 -0
- package/docs/en/about.md +25 -0
- package/docs/en/api.md +171 -0
- package/docs/en/best-practices.md +125 -0
- package/docs/en/changelog.md +104 -0
- package/docs/en/component-catalog-coverage.md +104 -0
- package/docs/en/component-lab.md +103 -0
- package/docs/en/component-long-tail-migration.md +41 -0
- package/docs/en/component-platform.md +243 -0
- package/docs/en/component-ux-app-authoring.md +118 -0
- package/docs/en/component-ux-authoring.md +96 -0
- package/docs/en/component-ux-gates.md +45 -0
- package/docs/en/components/x-rmt-lifecycle-demo-build.md +75 -0
- package/docs/en/components/xalert.md +94 -0
- package/docs/en/components/xbutton.md +118 -0
- package/docs/en/components/xcalendar.md +95 -0
- package/docs/en/components/xcards.md +139 -0
- package/docs/en/components/xcheckbox.md +118 -0
- package/docs/en/components/xcode.md +153 -0
- package/docs/en/components/xdialog.md +108 -0
- package/docs/en/components/xdrawer.md +110 -0
- package/docs/en/components/xfooter.md +138 -0
- package/docs/en/components/xform.md +147 -0
- package/docs/en/components/xheader.md +308 -0
- package/docs/en/components/xhero.md +157 -0
- package/docs/en/components/xicon.md +149 -0
- package/docs/en/components/xinput.md +147 -0
- package/docs/en/components/xlightbox.md +113 -0
- package/docs/en/components/xlink.md +130 -0
- package/docs/en/components/xmasonry.md +136 -0
- package/docs/en/components/xmenu.md +185 -0
- package/docs/en/components/xmodal.md +102 -0
- package/docs/en/components/xplayer.md +114 -0
- package/docs/en/components/xpopover.md +87 -0
- package/docs/en/components/xprogress.md +73 -0
- package/docs/en/components/xradio.md +119 -0
- package/docs/en/components/xrouter.md +260 -0
- package/docs/en/components/xsection.md +136 -0
- package/docs/en/components/xselect.md +122 -0
- package/docs/en/components/xsidepanel.md +48 -0
- package/docs/en/components/xspinner.md +118 -0
- package/docs/en/components/xstate.md +163 -0
- package/docs/en/components/xstatus.md +71 -0
- package/docs/en/components/xsummary.md +90 -0
- package/docs/en/components/xsurfacemanager.md +42 -0
- package/docs/en/components/xsurfacewindow.md +31 -0
- package/docs/en/components/xtabs.md +187 -0
- package/docs/en/components/xtextarea.md +115 -0
- package/docs/en/components/xtheme.md +203 -0
- package/docs/en/components/xtoast.md +78 -0
- package/docs/en/components/xtooltip.md +85 -0
- package/docs/en/components/xtype.md +91 -0
- package/docs/en/components/xutils.md +161 -0
- package/docs/en/components/xwriter.md +106 -0
- package/docs/en/components.md +151 -0
- package/docs/en/conditional-network-evidence-ci.md +38 -0
- package/docs/en/conditional-network-evidence.md +50 -0
- package/docs/en/core-migration-guide.md +110 -0
- package/docs/en/design-tokens.md +137 -0
- package/docs/en/docs-rmt-production-hardening.md +31 -0
- package/docs/en/enterprise-adoption.md +413 -0
- package/docs/en/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/en/epic10-platform-gates.md +62 -0
- package/docs/en/epic10-release-handoff.md +81 -0
- package/docs/en/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/en/epic12-rc0-handoff.md +61 -0
- package/docs/en/epic18-media-manager-vendor-upstream.md +232 -0
- package/docs/en/epic18-rmt-app-platform-release-handoff.md +60 -0
- package/docs/en/epic18-vendor-bugfixes.md +29 -0
- package/docs/en/existing-component-metadata.md +67 -0
- package/docs/en/hydration-performance-closure.md +34 -0
- package/docs/en/hydration-policies.md +75 -0
- package/docs/en/known-residual-triage.md +22 -0
- package/docs/en/manifest-import-policy.md +81 -0
- package/docs/en/manifest.md +135 -0
- package/docs/en/motion-contrast.md +67 -0
- package/docs/en/package-export-lock.md +44 -0
- package/docs/en/performance-measurements.md +106 -0
- package/docs/en/performance-regression.md +89 -0
- package/docs/en/performance.md +132 -0
- package/docs/en/previews/README.md +17 -0
- package/docs/en/prod-browser-csp-smokes.md +40 -0
- package/docs/en/public-component-types.md +79 -0
- package/docs/en/quick-start-guide.md +189 -0
- package/docs/en/rc0-adoption-guide.md +102 -0
- package/docs/en/rc0-gate-matrix.md +58 -0
- package/docs/en/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/en/rc1-migration-notes.md +69 -0
- package/docs/en/rc1-readiness.md +46 -0
- package/docs/en/release-owner-acceptance.md +56 -0
- package/docs/en/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/en/rmt-action-effect-runtime.md +101 -0
- package/docs/en/rmt-app-platform-authoring.md +47 -0
- package/docs/en/rmt-app-platform-fixture.md +35 -0
- package/docs/en/rmt-app-platform-migration-guide.md +75 -0
- package/docs/en/rmt-app-platform-tooling.md +58 -0
- package/docs/en/rmt-component-template-primitives.md +49 -0
- package/docs/en/rmt-dom-descriptor-renderer.md +54 -0
- package/docs/en/rmt-dsl-authoring-polish.md +143 -0
- package/docs/en/rmt-event-routing-runtime.md +98 -0
- package/docs/en/rmt-first-demo-app.md +87 -0
- package/docs/en/rmt-first-xtend-apps.md +127 -0
- package/docs/en/rmt-kernel-panic-recovery-incident-handoff.md +60 -0
- package/docs/en/rmt-kernel-security-hardening-migration.md +49 -0
- package/docs/en/rmt-kernel-trusted-output-authoring.md +68 -0
- package/docs/en/rmt-language-server.md +243 -0
- package/docs/en/rmt-lifecycle-demo.md +23 -0
- package/docs/en/rmt-linter.md +146 -0
- package/docs/en/rmt-node-ssr-adapter.md +99 -0
- package/docs/en/rmt-php-ssr-adapter.md +118 -0
- package/docs/en/rmt-production-readiness.md +63 -0
- package/docs/en/rmt-state-selector-runtime.md +34 -0
- package/docs/en/rmt-surface-resource-graph-runtime.md +68 -0
- package/docs/en/rmt-tooling-release-gates.md +77 -0
- package/docs/en/rmt-vnext-authoring.md +102 -0
- package/docs/en/rmt-vnext-component-primitives.md +185 -0
- package/docs/en/rmt-vnext-cross-surface-events.md +59 -0
- package/docs/en/rmt-vnext-enterprise-mfe-handoff.md +62 -0
- package/docs/en/rmt-vnext-fabric-bridge-evidence.md +64 -0
- package/docs/en/rmt-vnext-migration-notes.md +62 -0
- package/docs/en/rmt-vnext-primitive-authoring-tooling.md +174 -0
- package/docs/en/rmt-vnext-primitive-grammar-design.md +268 -0
- package/docs/en/rmt-vnext-primitive-lowering.md +91 -0
- package/docs/en/rmt-vnext-primitive-migration.md +93 -0
- package/docs/en/rmt-vnext-primitive-parser-ast.md +59 -0
- package/docs/en/rmt-vnext-primitive-semantic-graph.md +103 -0
- package/docs/en/rmt-vnext-primitives-compiler-backlog.md +327 -0
- package/docs/en/rmt-vnext-release-handoff.md +83 -0
- package/docs/en/rmt-vnext-remote-surfaces.md +81 -0
- package/docs/en/rmt-vnext-source-to-sea-gate.md +482 -0
- package/docs/en/rmt-vnext-surface-registry-enterprise.md +68 -0
- package/docs/en/screenreader-signals.md +56 -0
- package/docs/en/supply-chain-gates.md +106 -0
- package/docs/en/surface-manager-authoring-guide.md +94 -0
- package/docs/en/surface-manager-browser-lab.md +45 -0
- package/docs/en/surface-manager-component-lab.md +43 -0
- package/docs/en/surface-manager-controller.md +66 -0
- package/docs/en/surface-manager-layout-engines.md +32 -0
- package/docs/en/surface-manager-lazy-hydration.md +63 -0
- package/docs/en/surface-manager-migration-guide.md +113 -0
- package/docs/en/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/en/surface-manager-overlay-bridge.md +53 -0
- package/docs/en/surface-manager-persistence.md +30 -0
- package/docs/en/surface-manager-quality-gates.md +51 -0
- package/docs/en/surface-manager-release-handoff.md +68 -0
- package/docs/en/surface-manager-remote-policy.md +54 -0
- package/docs/en/surface-manager-rmt-authoring.md +89 -0
- package/docs/en/surface-manager-route-lifecycle.md +59 -0
- package/docs/en/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/en/surface-manager-side-panel-runtime.md +36 -0
- package/docs/en/surface-manager-stack-policy.md +39 -0
- package/docs/en/surface-manager-window-runtime.md +47 -0
- package/docs/en/surface-manager-workbench-fixture.md +43 -0
- package/docs/en/third-party-design-authoring.md +406 -0
- package/docs/en/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/en/trusted-dom-sanitizing.md +124 -0
- package/docs/en/type-exports.md +61 -0
- package/docs/en/typescript-components.md +63 -0
- package/docs/en/visual-browser-regression.md +83 -0
- package/docs/en/visual-owner-artifacts.md +46 -0
- package/docs/en/visual-snapshot-automation.md +87 -0
- package/docs/en/xtend-api-types.md +55 -0
- package/docs/en/xtend-builder-types.md +55 -0
- package/docs/en/xtend-catalog-types.md +44 -0
- package/docs/en/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/en/xtend-fabric.md +474 -0
- package/docs/en/xtend-loader-types.md +58 -0
- package/docs/en/xtend-loader.md +265 -0
- package/docs/en/xtend-policy-types.md +38 -0
- package/docs/en/xtend-rmt-types.md +40 -0
- package/docs/en/xtend-vendor-types.md +36 -0
- package/docs/en/xtendrmt-app-dsl.md +331 -0
- package/docs/en/xtendrmt-migration-guide.md +256 -0
- package/docs/en/xtendrmt-native-authoring.md +336 -0
- package/docs/en/xtendrmt-overview.md +63 -0
- package/docs/en/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/en/xtendrmt-runtime-bridge.md +155 -0
- package/docs/enterprise-adoption.md +4 -2
- package/docs/epic18-media-manager-vendor-upstream.md +318 -0
- package/docs/epic18-rmt-app-platform-release-handoff.md +67 -0
- package/docs/epic18-vendor-bugfixes.md +34 -0
- package/docs/index.php +1056 -109
- package/docs/manifest.md +8 -2
- package/docs/menu.json +986 -133
- package/docs/package-export-lock.md +2 -2
- package/docs/public-component-types.md +2 -2
- package/docs/quick-start-guide.md +126 -58
- package/docs/rmt-action-effect-runtime.md +101 -0
- package/docs/rmt-app-platform-authoring.md +54 -0
- package/docs/rmt-app-platform-fixture.md +46 -0
- package/docs/rmt-app-platform-migration-guide.md +88 -0
- package/docs/rmt-app-platform-tooling.md +79 -0
- package/docs/rmt-component-template-primitives.md +57 -0
- package/docs/rmt-dom-descriptor-renderer.md +64 -0
- package/docs/rmt-dsl-authoring-polish.md +67 -44
- package/docs/rmt-event-routing-runtime.md +98 -0
- package/docs/rmt-first-demo-app.md +2 -2
- package/docs/rmt-first-xtend-apps.md +70 -46
- package/docs/rmt-language-server.md +61 -4
- package/docs/rmt-lifecycle-demo.md +1 -2
- package/docs/rmt-node-ssr-adapter.md +144 -0
- package/docs/rmt-php-ssr-adapter.md +158 -0
- package/docs/rmt-state-selector-runtime.md +47 -0
- package/docs/rmt-surface-resource-graph-runtime.md +92 -0
- package/docs/rmt-vnext-authoring.md +128 -18
- package/docs/rmt-vnext-component-primitives.md +188 -0
- package/docs/rmt-vnext-fabric-bridge-evidence.md +81 -0
- package/docs/rmt-vnext-primitive-authoring-tooling.md +247 -0
- package/docs/rmt-vnext-primitive-grammar-design.md +289 -0
- package/docs/rmt-vnext-primitive-lowering.md +108 -0
- package/docs/rmt-vnext-primitive-migration.md +119 -0
- package/docs/rmt-vnext-primitive-parser-ast.md +76 -0
- package/docs/rmt-vnext-primitive-semantic-graph.md +118 -0
- package/docs/rmt-vnext-primitives-compiler-backlog.md +742 -0
- package/docs/rmt-vnext-release-handoff.md +14 -0
- package/docs/rmt-vnext-source-to-sea-gate.md +629 -0
- package/docs/surface-manager-migration-guide.md +34 -6
- package/docs/surface-manager-overlay-bridge.md +9 -4
- package/docs/surface-manager-rmt-authoring.md +50 -34
- package/docs/surface-manager-workbench-fixture.md +1 -2
- package/docs/third-party-design-authoring.md +1 -1
- package/docs/type-exports.md +3 -3
- package/docs/utils/pageloader.js +811 -62
- package/docs/visual-browser-regression.md +1 -1
- package/docs/xtend-rmt-types.md +3 -2
- package/docs/xtendrmt-app-dsl.md +187 -122
- package/docs/xtendrmt-docs-shell-vnext.rmt +165 -0
- package/docs/xtendrmt-migration-guide.md +48 -17
- package/docs/xtendrmt-native-authoring.md +213 -217
- package/docs/xtendrmt-overview.md +81 -61
- package/docs/xtendrmt-parsedown-scheduling.md +23 -8
- package/fabric/package.json +1 -1
- package/package.json +684 -21
- package/tools/package.json +5 -1
- package/tools/rmt-editor/vscode/README.md +72 -5
- package/tools/rmt-editor/vscode/XTend-Logo.png +0 -0
- package/tools/rmt-editor/vscode/extension.d.ts +33 -0
- package/tools/rmt-editor/vscode/extension.js +1816 -7
- package/tools/rmt-editor/vscode/language-configuration.json +2 -1
- package/tools/rmt-editor/vscode/package.json +193 -2
- package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +41 -0
- package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +103 -1
- package/tools/rmt-editor/vscode/templates/launch.json +70 -0
- package/tools/rmt-editor/vscode/templates/tasks.json +172 -0
- package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
- package/tools/rmt-language/app-platform-tooling.d.ts +128 -0
- package/tools/rmt-language/app-platform-tooling.js +677 -0
- package/tools/rmt-language/completions.d.ts +5 -0
- package/tools/rmt-language/completions.js +185 -3
- package/tools/rmt-language/diagnostics.js +54 -0
- package/tools/rmt-language/hover.js +36 -0
- package/tools/rmt-language/rmt-tooling-public-types.d.ts +7 -0
- package/tools/rmt-language/rules/app-platform-policy.js +39 -0
- package/tools/rmt-language/rules/index.js +5 -1
- package/tools/rmt-language/semantic-graph.d.ts +6 -0
- package/tools/rmt-language/semantic-graph.js +928 -0
- package/tools/rmt-language/snippets/index.js +44 -0
- package/tools/rmt-language/snippets/rmt.code-snippets +41 -0
- package/tools/rmt-language/vnext-compatibility.d.ts +10 -0
- package/tools/rmt-language/vnext-compatibility.js +642 -0
- package/tools/rmt-language/vnext-compiler.d.ts +5 -0
- package/tools/rmt-language/vnext-compiler.js +863 -17
- package/tools/rmt-language/vnext-parser.js +725 -9
- package/tools/rmt-language/vnext-release.d.ts +1 -0
- package/tools/rmt-language/vnext-release.js +20 -0
- package/tools/rmt-language/vnext-source-to-sea.d.ts +33 -0
- package/tools/rmt-language/vnext-source-to-sea.js +2227 -0
- package/tools/rmt-language/vnext-surfaces.js +111 -52
- package/tools/rmt-language/vnext-tooling.d.ts +19 -1
- package/tools/rmt-language/vnext-tooling.js +1247 -5
- package/tools/rmt-language-server/protocol.js +3 -0
- package/tools/rmt-language-server/server.d.ts +2 -0
- package/tools/rmt-language-server/server.js +176 -22
- package/tools/rmt-linter/cli.d.ts +2 -0
- package/tools/rmt-linter/cli.js +62 -0
- package/xtend-builder/generators/registry.js +11 -0
- package/xtend-builder/generators/rmt-app-platform.js +239 -0
- package/xtend-builder/generators/rmt-lifecycle-demo.js +3 -11
- package/xtend-builder/lib/cli.js +38 -0
- package/xtend-builder/package.json +3 -3
- package/xtend-builder/scaffold.config.js +29 -2
- package/xtend.css +49 -2
- package/xtendrmt/package.json +49 -1
- package/xtendrmt/rmt-action-effect-runtime.d.ts +126 -0
- package/xtendrmt/rmt-action-effect-runtime.js +494 -0
- package/xtendrmt/rmt-component-capability-registry.d.ts +180 -0
- package/xtendrmt/rmt-component-capability-registry.js +636 -0
- package/xtendrmt/rmt-core.d.ts +6 -0
- package/xtendrmt/rmt-core.esm.js +32 -6
- package/xtendrmt/rmt-dom-descriptor-renderer.d.ts +107 -0
- package/xtendrmt/rmt-dom-descriptor-renderer.js +1066 -0
- package/xtendrmt/rmt-event-routing-runtime.d.ts +144 -0
- package/xtendrmt/rmt-event-routing-runtime.js +666 -0
- package/xtendrmt/rmt-lifecycle-demo.app.js +2 -2
- package/xtendrmt/rmt-lifecycle-demo.core.json +4 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +1 -1
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +2 -2
- package/xtendrmt/rmt-lifecycle-demo.scaffold.json +4 -4
- package/xtendrmt/rmt-native-shell-runtime.d.ts +77 -0
- package/xtendrmt/rmt-native-shell-runtime.js +309 -0
- package/xtendrmt/rmt-node-ssr-adapter.d.ts +197 -0
- package/xtendrmt/rmt-node-ssr-adapter.js +1006 -0
- package/xtendrmt/rmt-php-ssr-adapter.php +976 -0
- package/xtendrmt/rmt-runtime.browser.js +32 -6
- package/xtendrmt/rmt-runtime.esm.js +32 -6
- package/xtendrmt/rmt-state-selector-runtime.d.ts +166 -0
- package/xtendrmt/rmt-state-selector-runtime.js +866 -0
- package/xtendrmt/rmt-surface-resource-graph-runtime.d.ts +224 -0
- package/xtendrmt/rmt-surface-resource-graph-runtime.js +932 -0
- package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +3 -0
- package/xtendrmt/rmt-vnext-reference-demo.core.json +3 -0
- package/xtendrmt/xtendrmt-bestcase-demo.core.json +3420 -372
- package/xtendrmt/xtendrmt-bestcase-demo.js +424 -8
- package/xtendrmt/xtendrmt-bestcase-demo.rmt +214 -6
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# xcode - XTend Komponente
|
|
2
|
+
|
|
3
|
+
> Siehe auch: [xwriter](./xwriter.md), [xstate](./xstate.md)
|
|
4
|
+
|
|
5
|
+
## Uebersicht
|
|
6
|
+
|
|
7
|
+
`<x-code>` rendert Codebeispiele als XTend Web Component mit Copy-Control,
|
|
8
|
+
State-Integration, Theming und optionalem Prism.js Syntax Highlighting. Die
|
|
9
|
+
Komponente ist Shadow-DOM-basiert und kann deshalb in jeder App- oder
|
|
10
|
+
Developer-Center-Surface eingesetzt werden, ohne dass globale `pre code`
|
|
11
|
+
Selektoren in den Host hineinreichen muessen.
|
|
12
|
+
|
|
13
|
+
Prism bleibt optional und host-neutral. Wenn `window.Prism` oder ein
|
|
14
|
+
registrierter XCode-Highlighter vorhanden ist, rendert XCode Token-Spans. Wenn
|
|
15
|
+
keine Grammatik verfuegbar ist, bleibt der Code sicher escaped als Plaintext
|
|
16
|
+
sichtbar.
|
|
17
|
+
|
|
18
|
+
## Verwendung
|
|
19
|
+
|
|
20
|
+
```html
|
|
21
|
+
<x-code lang="js">
|
|
22
|
+
<template data-x-code-mode="text">console.log('Hallo XTend!');</template>
|
|
23
|
+
</x-code>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Das Alias-Attribut `language` ist fuer bestehende Fixtures und fremde Hosts
|
|
27
|
+
unterstuetzt:
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<x-code language="rmt">
|
|
31
|
+
<template data-x-code-mode="text">template docs.demo { surface root { lane visible { hydrate page } } }</template>
|
|
32
|
+
</x-code>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Prism und RMT
|
|
36
|
+
|
|
37
|
+
Das Developer Center laedt `components/prism.js` und danach
|
|
38
|
+
`components/prism-rmt.js`. Die RMT-Middleware registriert
|
|
39
|
+
`Prism.languages.rmt` sowie die Aliase `rmt-vnext` und `xtendrmt`. Damit kann
|
|
40
|
+
jede XCode-Instanz RMT-vNext-App-Shells, Primitives, Lanes, Events und
|
|
41
|
+
Boundary-Regeln highlighten:
|
|
42
|
+
|
|
43
|
+
- `template`, `state`, `selector`, `datasource`, `action`, `portal`,
|
|
44
|
+
`overlay`, `resource`, `surface`, `remote surface`
|
|
45
|
+
- `lane`, Lifecycle-Operationen, `when`, `slot`, `trust boundary`, `sanitize`
|
|
46
|
+
- Event-Bindings, Payloads, Reducer, Effects, dotted Primitive IDs und
|
|
47
|
+
Component-Tags
|
|
48
|
+
|
|
49
|
+
Hosts koennen einen eigenen Highlighter registrieren:
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
customElements.get('x-code')?.registerHighlighter({
|
|
53
|
+
highlight({ code, language }) {
|
|
54
|
+
return { html: code, highlighted: false, engine: 'plain-text', language };
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Developer Center
|
|
60
|
+
|
|
61
|
+
Markdown-Codefences aus Parsedown werden nach dem Trusted-DOM-Sanitizing in
|
|
62
|
+
`<x-code>` ueberfuehrt. Dadurch laufen alle Codeflaechen im Developer Center
|
|
63
|
+
ueber denselben Pfad:
|
|
64
|
+
|
|
65
|
+
- Copy-Control und A11y-Signale aus XCode
|
|
66
|
+
- `docs.syntax.highlight` als RMT-Schedule
|
|
67
|
+
- Prism-Highlighting im Shadow DOM
|
|
68
|
+
- Fallback auf Plaintext ohne Raw-HTML-Sink
|
|
69
|
+
|
|
70
|
+
## Attribute
|
|
71
|
+
|
|
72
|
+
| Attribut | Typ | Beschreibung |
|
|
73
|
+
| --- | --- | --- |
|
|
74
|
+
| `lang` | String | Primaere Sprache, z. B. `js`, `html`, `rmt` |
|
|
75
|
+
| `language` | String | Kompatibilitaetsalias, wenn `lang` nicht gesetzt ist |
|
|
76
|
+
|
|
77
|
+
## Events
|
|
78
|
+
|
|
79
|
+
| Event | Beschreibung |
|
|
80
|
+
| --- | --- |
|
|
81
|
+
| `code-copied` | Wird nach erfolgreichem Copy-Control ausgeloest |
|
|
82
|
+
|
|
83
|
+
## API
|
|
84
|
+
|
|
85
|
+
- `hydrate()` rendert Code und Highlighting neu.
|
|
86
|
+
- `snapshot()` liefert Sprache, Code-Laenge und Highlighting-Metadaten.
|
|
87
|
+
- `customElements.get('x-code').registerHighlighter(provider)` registriert
|
|
88
|
+
einen optionalen Host-Highlighter.
|
|
89
|
+
|
|
90
|
+
Der Snapshot enthaelt nicht-brechend zusaetzlich:
|
|
91
|
+
|
|
92
|
+
- `highlighted`
|
|
93
|
+
- `highlightEngine`
|
|
94
|
+
- `highlightLanguage`
|
|
95
|
+
- `languageAlias`
|
|
96
|
+
|
|
97
|
+
## Layout Display Media UX Profil
|
|
98
|
+
|
|
99
|
+
`x-code` stellt das Profil
|
|
100
|
+
`xtend.component.layout-display-media-ux-profile.v1` bereit. Code-Bloecke
|
|
101
|
+
koennen damit als idle hydrierbare Display-Shell in RMT authoriert werden und
|
|
102
|
+
nutzen den State-Key `xcode-state-<id>`.
|
|
103
|
+
|
|
104
|
+
- Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
|
|
105
|
+
- Schedule: `component.idle.hydrate`
|
|
106
|
+
- Event: `code-copied`
|
|
107
|
+
- Snapshot: `snapshot()`
|
|
108
|
+
- CSS Parts: `root`, `copy`, `pre`, `code`
|
|
109
|
+
|
|
110
|
+
## Token-Tabelle
|
|
111
|
+
|
|
112
|
+
ECH-WP-07 bleibt als Tokenization-Contract sichtbar. `signatureDesign`:
|
|
113
|
+
Lesbare Enterprise-Codeflaeche mit klarem Copy-Control, internem Overflow,
|
|
114
|
+
Prism-kompatibler Token-Farbgebung und eigenstaendiger, themebarer
|
|
115
|
+
Monospace-Persoenlichkeit.
|
|
116
|
+
|
|
117
|
+
| Token | Zweck |
|
|
118
|
+
| --- | --- |
|
|
119
|
+
| `--xtend-layout-surface` | Code-Flaeche |
|
|
120
|
+
| `--xtend-layout-text` | Code-Textfarbe |
|
|
121
|
+
| `--xtend-layout-border-color` | Code- und Copy-Kante |
|
|
122
|
+
| `--xtend-layout-radius` | Code- und Copy-Radius |
|
|
123
|
+
| `--xtend-layout-elevation` | Code-Schatten |
|
|
124
|
+
| `--xtend-layout-spacing` | Code-Padding |
|
|
125
|
+
| `--xtend-layout-gap` | Theme-Abstand fuer Tooling |
|
|
126
|
+
| `--xtend-layout-font-family` | Monospace-/Code-Typografie |
|
|
127
|
+
| `--xtend-layout-font-size` | Code-Schriftgroesse |
|
|
128
|
+
| `--xtend-layout-media-radius` | Copy-Control-Radius |
|
|
129
|
+
| `--xtend-layout-focus-ring` | Copy-Control-Fokus |
|
|
130
|
+
| `--xtend-layout-grid-min` | Code-Layout-Untergrenze |
|
|
131
|
+
| `--xtend-layout-content-max` | Code-Maximalbreite |
|
|
132
|
+
| `--x-code-token-keyword` | Prism Keyword und RMT Primitive |
|
|
133
|
+
| `--x-code-token-string` | Prism String |
|
|
134
|
+
| `--x-code-token-property` | Prism Property und RMT IDs |
|
|
135
|
+
| `--x-code-token-class` | Component Tags |
|
|
136
|
+
| `--x-code-token-comment` | Kommentare |
|
|
137
|
+
|
|
138
|
+
## Fremdtheme
|
|
139
|
+
|
|
140
|
+
```css
|
|
141
|
+
[data-xtend-layout-theme="enterprise-foreign"] x-code {
|
|
142
|
+
--xtend-layout-surface: #151b19;
|
|
143
|
+
--xtend-layout-text: #f7f1e7;
|
|
144
|
+
--xtend-layout-border-color: rgba(247, 241, 231, 0.18);
|
|
145
|
+
--xtend-layout-radius: 0.35rem;
|
|
146
|
+
--xtend-layout-elevation: 0 16px 40px rgba(21, 27, 25, 0.22);
|
|
147
|
+
--xtend-layout-spacing: 1.25rem 1.4rem;
|
|
148
|
+
--xtend-layout-gap: 0.75rem;
|
|
149
|
+
--xtend-layout-font-family: "Cascadia Code", "Fira Mono", monospace;
|
|
150
|
+
--xtend-layout-font-size: 0.95rem;
|
|
151
|
+
--xtend-layout-media-radius: 999px;
|
|
152
|
+
--xtend-layout-focus-ring: 3px solid #d48b57;
|
|
153
|
+
--xtend-layout-grid-min: minmax(0, 1fr);
|
|
154
|
+
--xtend-layout-content-max: 68rem;
|
|
155
|
+
}
|
|
156
|
+
```
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# xdialog - XTend Komponente
|
|
2
|
+
|
|
3
|
+
## Uebersicht
|
|
4
|
+
|
|
5
|
+
`<x-dialog>` ist die state-getriebene Dialog-Komponente fuer XTend. Sie verbindet Attributsteuerung, `xstate`-Open-Flags und den aggregierten `ui.dialogs`-State zu einem gemeinsamen Overlay-Contract.
|
|
6
|
+
|
|
7
|
+
## Verwendung
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<x-dialog overlay title="Beispieldialog" width="400px">
|
|
11
|
+
<p>Inhalt</p>
|
|
12
|
+
<div slot="actions">
|
|
13
|
+
<button onclick="this.closest('x-dialog').close()">Schliessen</button>
|
|
14
|
+
</div>
|
|
15
|
+
</x-dialog>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Attribute
|
|
19
|
+
|
|
20
|
+
| Attribut | Typ | Beschreibung |
|
|
21
|
+
|----------|-----|--------------|
|
|
22
|
+
| `open` | boolean | Dialog ist geoeffnet |
|
|
23
|
+
| `overlay` | boolean | zeigt einen Overlay-Hintergrund |
|
|
24
|
+
| `title` | string | Titelzeile des Dialogs |
|
|
25
|
+
| `width` | string | Zielbreite des Dialogs |
|
|
26
|
+
| `height` | string | Zielhoehe des Dialogs |
|
|
27
|
+
|
|
28
|
+
## Slots
|
|
29
|
+
|
|
30
|
+
| Slot | Beschreibung |
|
|
31
|
+
|------|--------------|
|
|
32
|
+
| default | Hauptinhalt des Dialogs |
|
|
33
|
+
| `actions` | Aktionen im Footer |
|
|
34
|
+
|
|
35
|
+
## Events
|
|
36
|
+
|
|
37
|
+
| Event | Beschreibung |
|
|
38
|
+
|-------|--------------|
|
|
39
|
+
| `dialog-opened` | nach erfolgreichem Oeffnen |
|
|
40
|
+
| `dialog-closed` | nach erfolgreichem Schliessen |
|
|
41
|
+
|
|
42
|
+
Die Events liefern:
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
{
|
|
46
|
+
id: 'dialog-abc123',
|
|
47
|
+
open: false,
|
|
48
|
+
source: 'button'
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## API
|
|
53
|
+
|
|
54
|
+
- `element.open()`
|
|
55
|
+
- `element.close()`
|
|
56
|
+
|
|
57
|
+
API- und XState-gesteuerte Dialoge verwenden dieselben Open-Flags:
|
|
58
|
+
|
|
59
|
+
- `xtend.component.x-dialog.<id>.open`
|
|
60
|
+
- `dialog-open-<id>`
|
|
61
|
+
- `xdialog-open-<id>`
|
|
62
|
+
|
|
63
|
+
## Runtime-Contract
|
|
64
|
+
|
|
65
|
+
- API-gemanagte Dialoge lesen Titel, Inhalt und Aktionen aus `xstate.get('ui').dialogs`
|
|
66
|
+
- Benutzerinteraktionen wie ESC, Overlay-Klick und Close-Button schreiben den Open-State zurueck
|
|
67
|
+
- API-gemanagte Dialoge entfernen sich nach dem Schliessen aus `ui.dialogs` und aus dem DOM
|
|
68
|
+
|
|
69
|
+
## Hinweise
|
|
70
|
+
|
|
71
|
+
- direkte DOM-Nutzung ueber Slots bleibt unterstuetzt
|
|
72
|
+
- fuer API-gemanagte Dialoge ist `window.XDialog.show()` der bevorzugte Einstieg
|
|
73
|
+
- Fokusfalle, Rueckfokus und ARIA-Rollen sind Teil des Standardverhaltens
|
|
74
|
+
|
|
75
|
+
## Overlay Interaction UX Profil
|
|
76
|
+
|
|
77
|
+
Seit `WP-E11-11` deklariert `<x-dialog>` das Runtime-Profil `xtend.component.overlay-interaction-ux-profile.v1` ueber `xtendOverlayInteractionUxProfile`.
|
|
78
|
+
|
|
79
|
+
| Feld | Wert |
|
|
80
|
+
|------|------|
|
|
81
|
+
| Family | `dialog` |
|
|
82
|
+
| State Key | `dialog-open-<id>` |
|
|
83
|
+
| Schedule | `overlay.stack.open` |
|
|
84
|
+
| Commands | `open`, `close`, `focus-trap`, `apply-inert`, `lock-scroll`, `snapshot` |
|
|
85
|
+
|
|
86
|
+
Das Profil standardisiert Focus Trap, Rueckfokus, Escape-Topmost-Regel, Background-Inert, balanced Scroll Lock und host-lokale Portal-Semantik. RMT kann den Dialog in Shell-first Templates planen, waehrend der RMT-Kernel durch `no-rmt-kernel-import-of-xtend-types` framework-agnostisch bleibt.
|
|
87
|
+
|
|
88
|
+
## ECH-WP-06 Overlay-Paritaet
|
|
89
|
+
|
|
90
|
+
`x-dialog` expose `surface`, `backdrop`, `close` und `content` als gemeinsame Overlay-Parts. `overlay` bleibt als Alias fuer `backdrop` erhalten. Surface, Text, Backdrop, Elevation, Radius, Z-Index, Action-Farben, Close-Flaeche und Focus Ring sind ueber `--xtend-overlay-*`, `--dialog-*` oder `--xdialog-*` Tokens ueberschreibbar.
|
|
91
|
+
|
|
92
|
+
`x-dialog` ist modal: Focus Trap, Background-Inert, Scroll Lock, Escape und Rueckfokus bleiben im Standardpfad aktiv. Dialoge ohne `overlay` behalten die Surface-Parts, verzichten aber auf den visuellen Backdrop.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# xdrawer - XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xpopover](./xpopover.md), [xtooltip](./xtooltip.md), [xrouter](./xrouter.md), [xlink](./xlink.md)
|
|
4
|
+
|
|
5
|
+
## Uebersicht
|
|
6
|
+
|
|
7
|
+
`<x-drawer>` ist die Shell- und Navigationskomponente aus `WP-E10-11`. Sie liefert Side Panels und Navigation Drawer fuer RMT-first Apps, unterstuetzt Focus Trap, Escape Close, Outside Click und optional route-aware Verhalten.
|
|
8
|
+
|
|
9
|
+
## Verwendung
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<x-drawer id="app-nav" placement="left" modal label="App navigation" route-aware>
|
|
13
|
+
<button slot="trigger" type="button">Open navigation</button>
|
|
14
|
+
<strong slot="header">Navigation</strong>
|
|
15
|
+
<a href="#/overview">Overview</a>
|
|
16
|
+
<small slot="footer">Signed in</small>
|
|
17
|
+
</x-drawer>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Attribute
|
|
21
|
+
|
|
22
|
+
| Attribut | Typ | Beschreibung |
|
|
23
|
+
|----------|-----|--------------|
|
|
24
|
+
| `open` | Boolean | oeffnet den Drawer kontrolliert |
|
|
25
|
+
| `placement` | String | `left`, `right` oder `bottom` |
|
|
26
|
+
| `modal` | Boolean | aktiviert Focus Trap und `aria-modal` |
|
|
27
|
+
| `label` | String | zugaenglicher Name fuer den Drawer |
|
|
28
|
+
| `route-aware` | Boolean | schliesst nach XRouter-Routenwechseln und emittiert Routensignal |
|
|
29
|
+
|
|
30
|
+
## Events
|
|
31
|
+
|
|
32
|
+
| Event | Detail |
|
|
33
|
+
|-------|--------|
|
|
34
|
+
| `drawer-opened` | `{ id, open, source, placement, modal }` |
|
|
35
|
+
| `drawer-closed` | `{ id, open, source, placement, modal }` |
|
|
36
|
+
| `drawer-route-selected` | `{ id, routeRef, source: 'x-router' }` |
|
|
37
|
+
|
|
38
|
+
## API
|
|
39
|
+
|
|
40
|
+
- `openDrawer()`
|
|
41
|
+
- `closeDrawer()`
|
|
42
|
+
- `toggle()`
|
|
43
|
+
|
|
44
|
+
## Theme und Tokens
|
|
45
|
+
|
|
46
|
+
`<x-drawer>` synchronisiert `data-theme` vom `document.documentElement` und nutzt automatisch die globalen XTend-Tokens aus `x-theme`. Ohne eigene Drawer-Tokens fallen Hintergrund, Text, Border und Overlay auf `--xtend-surface`, `--xtend-text`, `--xtend-border-color` und `--xtend-overlay-bg` zurueck. Dadurch bleiben Navigation Drawer in Bright Mode und Dark Mode lesbar, auch wenn eine App Shell keine eigenen Drawer-Farben setzt.
|
|
47
|
+
|
|
48
|
+
| Token | Zweck |
|
|
49
|
+
|-------|-------|
|
|
50
|
+
| `--drawer-bg` / `--drawer-bg-dark` | Surface-Hintergrund |
|
|
51
|
+
| `--drawer-color` / `--drawer-color-dark` | Textfarbe |
|
|
52
|
+
| `--drawer-border` / `--drawer-border-dark` | Rahmen und Trenner |
|
|
53
|
+
| `--drawer-overlay-bg` / `--drawer-overlay-bg-dark` | Backdrop-Farbe |
|
|
54
|
+
| `--drawer-focus` | Focus-Ring |
|
|
55
|
+
| `--drawer-close-size` | Groesse des Close-Icon-Buttons |
|
|
56
|
+
| `--drawer-close-border` / `--drawer-close-color` | Rahmen und Icon-Farbe des Close-Buttons |
|
|
57
|
+
| `--drawer-close-hover-bg` / `--drawer-close-hover-bg-dark` | Hover-Flaeche des Close-Buttons |
|
|
58
|
+
|
|
59
|
+
## State, RMT und Fabric
|
|
60
|
+
|
|
61
|
+
`<x-drawer>` schreibt nach `xdrawer-open-<id>`. Der RMT Contract ist `xtend.rmt.component-contract.v1` und nutzt `component.lazy.hydrate`, `route.visible.render` und `overlay.drawer.transition`. Der Kernel Boundary bleibt `no-rmt-kernel-import-of-xtend-types`.
|
|
62
|
+
|
|
63
|
+
## A11y und Performance
|
|
64
|
+
|
|
65
|
+
Die Komponente nutzt `role="dialog"`, `aria-modal`, `aria-hidden`, `aria-expanded`, `inert`, Focus Trap und Focus Return. Beim Schliessen wird Fokus zuerst auf den Trigger oder das zuletzt aktive Element zurueckgegeben, bevor die Drawer-Surface vor Assistive Technology verborgen wird. Das Screenreader-Signal `route-change-announcement` ist fuer App-Shell-Navigation vorgesehen. Das Performance-Profil ist `xtend.performance.component-profile.v1` mit `budgetClass: 'overlay-large'`, `lane: 'visible'` und `hydrationPolicy: 'lazy'`.
|
|
66
|
+
|
|
67
|
+
## Overlay Interaction UX Profil
|
|
68
|
+
|
|
69
|
+
Seit `WP-E11-11` deklariert `<x-drawer>` das Runtime-Profil `xtend.component.overlay-interaction-ux-profile.v1` ueber `xtendOverlayInteractionUxProfile`.
|
|
70
|
+
|
|
71
|
+
| Feld | Wert |
|
|
72
|
+
|------|------|
|
|
73
|
+
| Family | `drawer` |
|
|
74
|
+
| State Key | `xdrawer-open-<id>` |
|
|
75
|
+
| Schedule | `overlay.stack.open` |
|
|
76
|
+
| Commands | `open`, `close`, `toggle`, `focus-trap`, `apply-inert`, `lock-scroll`, `snapshot` |
|
|
77
|
+
|
|
78
|
+
Das Profil beschreibt Drawer als route-aware Overlay: modal optional, Focus Trap nur bei modalem Betrieb, Escape schliesst das oberste Overlay und XRouter-Routenwechsel duerfen den Drawer kontrolliert schliessen.
|
|
79
|
+
|
|
80
|
+
## ECH-WP-06 Overlay-Paritaet
|
|
81
|
+
|
|
82
|
+
`x-drawer` nutzt die gemeinsamen Overlay-Part-Aliase `surface`, `backdrop`, `close` und `content`. `overlay` bleibt als Legacy-Alias fuer `backdrop` erhalten. Host-Themes koennen Surface, Text, Border, Elevation, Backdrop, Z-Index und Focus Ring ueber `--xtend-overlay-*` oder die kompatiblen `--drawer-*` Tokens steuern.
|
|
83
|
+
|
|
84
|
+
Modalitaet ist optional: `modal` aktiviert Focus Trap, Background-Inert und Scroll Lock; nicht-modale Drawer bleiben fuer App-Shell-Navigation offen steuerbar.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# xfooter – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xheader](./xheader.md), [xtheme](./xtheme.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-footer>` ist eine anpassbare Footer-Komponente mit Logo, Sticky-Option und State-Integration. Sie eignet sich für Branding und Navigation am Seitenende.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Optionales Logo (src-Attribut)
|
|
13
|
+
- Sticky-Funktion (bleibt am unteren Rand)
|
|
14
|
+
- State-Integration via xstate
|
|
15
|
+
- Theming via CSS Custom Properties
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Verwendung
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<x-footer src="logo.svg" logo-size="48" sticky></x-footer>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Attribute
|
|
28
|
+
| Attribut | Typ | Beschreibung |
|
|
29
|
+
|-------------|---------|-------------------------------------|
|
|
30
|
+
| `src` | String | Logo-URL |
|
|
31
|
+
| `logo-size` | String | Größe des Logos (z.B. 48, 64px) |
|
|
32
|
+
| `sticky` | Boolean | Footer bleibt am unteren Rand |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Events
|
|
37
|
+
| Event | Beschreibung |
|
|
38
|
+
|---------------|-------------------------------------|
|
|
39
|
+
| – | – |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## API
|
|
44
|
+
- **Logo dynamisch setzen:** `element.setAttribute('src', 'logo.svg')`
|
|
45
|
+
- **Sticky aktivieren:** `element.setAttribute('sticky', '')`
|
|
46
|
+
- **State-Integration:** Automatisch via xstate
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Beispiel: Dynamisch per JS
|
|
51
|
+
|
|
52
|
+
```js
|
|
53
|
+
const footer = document.createElement('x-footer');
|
|
54
|
+
footer.setAttribute('src', 'logo.svg');
|
|
55
|
+
document.body.appendChild(footer);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Styling & Theming
|
|
61
|
+
|
|
62
|
+
```css
|
|
63
|
+
x-footer {
|
|
64
|
+
--header-bg: #222;
|
|
65
|
+
--header-fg: #fff;
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Accessibility
|
|
72
|
+
- Semantisches HTML, ARIA
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
77
|
+
|
|
78
|
+
## Layout Display Media UX Profil
|
|
79
|
+
|
|
80
|
+
`x-footer` stellt ab `WP-E11-12` das Profil `xtend.component.layout-display-media-ux-profile.v1` bereit. Die Komponente kann als RMT Shell Footer sichtbar gemountet werden und nutzt den State-Key `xfooter-state-<id>`.
|
|
81
|
+
|
|
82
|
+
- Profil-Getter: `xtendLayoutDisplayMediaUxProfile`
|
|
83
|
+
- Schedule: `component.visible.mount`
|
|
84
|
+
- Events: `footer-ready`, `theme-applied`, `logo-loaded`
|
|
85
|
+
- Snapshot: `snapshot()`
|
|
86
|
+
- CSS Parts: `root`, `title`, `logo`, `nav`, `extra`
|
|
87
|
+
|
|
88
|
+
## ECH-WP-07 Token-Tabelle und signatureDesign
|
|
89
|
+
|
|
90
|
+
`signatureDesign`: Ruhiger Enterprise-Footer mit praeziser Navigation, logo-sicherem Medienbereich und dezenter Signature-Tiefe. Das Default-Design bleibt hochwertig, laesst sich aber durch Corporate-Themes vollstaendig ueberschreiben.
|
|
91
|
+
|
|
92
|
+
| Token | Zweck |
|
|
93
|
+
| --- | --- |
|
|
94
|
+
| `--xtend-layout-surface` | Footer-Flaeche |
|
|
95
|
+
| `--xtend-layout-text` | Text- und Linkfarbe |
|
|
96
|
+
| `--xtend-layout-border-color` | Footer- und Linkkante |
|
|
97
|
+
| `--xtend-layout-radius` | Footer- und Linkradius |
|
|
98
|
+
| `--xtend-layout-elevation` | Footer-Schatten |
|
|
99
|
+
| `--xtend-layout-spacing` | Footer-Padding |
|
|
100
|
+
| `--xtend-layout-gap` | Titel-, Nav- und Inhaltsabstand |
|
|
101
|
+
| `--xtend-layout-font-family` | Footer-Typografie |
|
|
102
|
+
| `--xtend-layout-font-size` | Footer-Schriftgroesse |
|
|
103
|
+
| `--xtend-layout-media-radius` | Logo-Radius |
|
|
104
|
+
| `--xtend-layout-focus-ring` | Link-Fokus |
|
|
105
|
+
| `--xtend-layout-grid-min` | Responsive Footer-Zellbreite |
|
|
106
|
+
| `--xtend-layout-content-max` | Footer-Maximalbreite |
|
|
107
|
+
|
|
108
|
+
## ECH-WP-07 Fremdtheme
|
|
109
|
+
|
|
110
|
+
```css
|
|
111
|
+
[data-xtend-layout-theme="enterprise-foreign"] x-footer {
|
|
112
|
+
--xtend-layout-surface: #f8f4ef;
|
|
113
|
+
--xtend-layout-text: #1e2420;
|
|
114
|
+
--xtend-layout-border-color: rgba(30, 36, 32, 0.2);
|
|
115
|
+
--xtend-layout-radius: 0.25rem;
|
|
116
|
+
--xtend-layout-elevation: 0 8px 24px rgba(30, 36, 32, 0.1);
|
|
117
|
+
--xtend-layout-spacing: 1.15rem;
|
|
118
|
+
--xtend-layout-gap: 0.85rem;
|
|
119
|
+
--xtend-layout-font-family: "Aptos", "Segoe UI", sans-serif;
|
|
120
|
+
--xtend-layout-font-size: 0.95rem;
|
|
121
|
+
--xtend-layout-media-radius: 0.15rem;
|
|
122
|
+
--xtend-layout-focus-ring: 3px solid #8f4f2a;
|
|
123
|
+
--xtend-layout-grid-min: minmax(11rem, 1fr);
|
|
124
|
+
--xtend-layout-content-max: 72rem;
|
|
125
|
+
}
|
|
126
|
+
```
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# xform – XTend Komponente
|
|
2
|
+
|
|
3
|
+
> **Siehe auch:** [xinput](./xinput.md), [xselect](./xselect.md), [xcheckbox](./xcheckbox.md), [xradio](./xradio.md), [xtextarea](./xtextarea.md), [xcalendar](./xcalendar.md), [xstate](./xstate.md)
|
|
4
|
+
|
|
5
|
+
## Übersicht
|
|
6
|
+
|
|
7
|
+
`<x-form>` ist eine flexible Formular-Komponente, die beliebige Inhalte kapselt und State-Integration sowie Theming unterstützt.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
- Flexibles Layout für Formulare
|
|
13
|
+
- Slot für beliebige Inhalte
|
|
14
|
+
- State-Integration via xstate
|
|
15
|
+
- Aggregation von `x-input`, `x-slider`, `x-calendar`, `x-select`, `x-checkbox`, `x-radio` und `x-textarea`
|
|
16
|
+
- Theming via CSS Custom Properties
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Verwendung
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<x-form>
|
|
24
|
+
<input type="text" />
|
|
25
|
+
<x-button>Absenden</x-button>
|
|
26
|
+
</x-form>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Attribute
|
|
32
|
+
| Attribut | Typ | Beschreibung |
|
|
33
|
+
|-------------|---------|-------------------------------------|
|
|
34
|
+
| – | – | – |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Events
|
|
39
|
+
| Event | Beschreibung |
|
|
40
|
+
|---------------|-------------------------------------|
|
|
41
|
+
| `submit` | Wird beim Absenden ausgelöst |
|
|
42
|
+
| `invalid` | Wird bei fehlgeschlagener Kind-Validierung ausgelöst |
|
|
43
|
+
| `reset` | Wird nach Formular-Reset ausgelöst |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## API
|
|
48
|
+
- **Formular per JS absenden:** `element.submit()`
|
|
49
|
+
- **Formulardaten lesen:** `element.getFormData()`
|
|
50
|
+
- **State-Integration:** Automatisch via xstate
|
|
51
|
+
|
|
52
|
+
## State- und Validierungscontract ab ER-WP-33
|
|
53
|
+
|
|
54
|
+
`<x-form>` sammelt Werte aus `x-input`, `x-slider`, `x-calendar`, `x-select`, `x-checkbox`, `x-radio`, `x-textarea` und `x-writer`, spiegelt sie nach `xform-data-<id>` und aktualisiert diesen Key bei `input-changed`, `select-changed`, `checkbox-changed`, `radio-changed`, `textarea-changed`, `date-select` und `writer:change`. Checkboxen liefern Boolean-Werte, Radio-Gruppen liefern den Wert des aktivierten Controls. Der Shadow DOM enthaelt `role="form"`, eine `role="status"` Region fuer Submit/Reset-Rueckmeldungen und eine `role="alert"` Region fuer Validierungsfehler.
|
|
55
|
+
|
|
56
|
+
## Form Controls UX ab WP-E11-08
|
|
57
|
+
|
|
58
|
+
`<x-form>` stellt `xtendFormControlUxProfile` mit `xtend.component.form-control-ux-profile.v1` bereit. Das Profil beschreibt den Form Host, `submit`, `invalid`, `reset`, `xform-data-<id>`, Validation Aggregation, Fabric-Lane `user-blocking` und RMT Shell Authoring.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Beispiel: Dynamisch per JS
|
|
63
|
+
|
|
64
|
+
```js
|
|
65
|
+
const form = document.createElement('x-form');
|
|
66
|
+
form.innerHTML = '<input type="text" />';
|
|
67
|
+
document.body.appendChild(form);
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Styling & Theming
|
|
73
|
+
|
|
74
|
+
```css
|
|
75
|
+
x-form {
|
|
76
|
+
--form-gap: 2em;
|
|
77
|
+
--form-border: 2px solid #007bff;
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Accessibility
|
|
84
|
+
- Semantisches HTML, ARIA
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
*Letzte Aktualisierung: 16. Juli 2025*
|
|
89
|
+
|
|
90
|
+
## ECH-WP-08 Form Theme/A11y Hardening
|
|
91
|
+
|
|
92
|
+
`signatureDesign`: Enterprise-Formhost mit hochwertiger Surface-Komposition, aggregierten Statusregionen und density-sicherem Rhythmus fuer verschachtelte Controls.
|
|
93
|
+
|
|
94
|
+
| Token | Zweck |
|
|
95
|
+
| --- | --- |
|
|
96
|
+
| `--xtend-form-text` | Form-Textfarbe |
|
|
97
|
+
| `--xtend-form-surface` | Form-Flaeche |
|
|
98
|
+
| `--xtend-form-control-surface` | Child-Control-Flaeche |
|
|
99
|
+
| `--xtend-form-control-text` | Child-Control-Text |
|
|
100
|
+
| `--xtend-form-label-text` | Label-Cascade |
|
|
101
|
+
| `--xtend-form-helper-text` | Helper-Cascade |
|
|
102
|
+
| `--xtend-form-error-text` | Error-Cascade |
|
|
103
|
+
| `--xtend-form-error-surface` | Error-Cascade-Flaeche |
|
|
104
|
+
| `--xtend-form-error-border` | Form- und Error-Kante |
|
|
105
|
+
| `--xtend-form-focus-ring` | Focus-Cascade |
|
|
106
|
+
| `--xtend-form-radius` | Form- und Control-Radius |
|
|
107
|
+
| `--xtend-form-gap` | Form- und Control-Abstand |
|
|
108
|
+
| `--xtend-form-font-family` | Form-Typografie |
|
|
109
|
+
| `--xtend-form-control-font-size` | Control-Schrift |
|
|
110
|
+
| `--xtend-form-helper-font-size` | Helper-/Error-Schrift fuer Child Controls |
|
|
111
|
+
| `--xtend-form-icon-color` | Child-Control-Icon-Akzent |
|
|
112
|
+
|
|
113
|
+
Density-Profile: `comfortable`, `compact`, `dense`. `busy`, `disabled` und Invalid werden am Formhost als Flaechenzustand und via ARIA gespiegelt.
|
|
114
|
+
|
|
115
|
+
```css
|
|
116
|
+
[data-xtend-form-theme="enterprise-foreign"] x-form {
|
|
117
|
+
--xtend-form-surface: #fffaf2;
|
|
118
|
+
--xtend-form-control-surface: #fbf8f2;
|
|
119
|
+
--xtend-form-text: #16231f;
|
|
120
|
+
--xtend-form-label-text: #22312c;
|
|
121
|
+
--xtend-form-helper-text: #596861;
|
|
122
|
+
--xtend-form-error-text: #7d231c;
|
|
123
|
+
--xtend-form-error-border: #a64036;
|
|
124
|
+
--xtend-form-focus-ring: 3px solid #8f4f2a;
|
|
125
|
+
--xtend-form-radius: 0.45rem;
|
|
126
|
+
--xtend-form-gap: 0.8rem;
|
|
127
|
+
}
|
|
128
|
+
```
|