@wix/origami-runtime
v0.20.6
Published
React runtime for Origami-generated component wrappers: context bindings, providers, and className resolution
Maintainers
Keywords
Readme
Origami runtime
Before local builds or tests, run pnpm -r run build from the repository root to build workspace dependencies in order.
The root entry exports binding, provider, and component authoring helpers.
svg(url, uri) creates a deferred SVG source without calling hooks or fetching content:
import { svg } from '@wix/origami-runtime'
<SvgImage svgId={svg(url, uri)} />The existing withOrigami wrapper resolves these sources before rendering the original component,
including sources nested in objects, arrays, and elementProps. Sources can be created inside
repeater render callbacks. The wrapper uses a fixed set of hooks even when the number of sources changes.
React elements and render callbacks are left intact; their own wrapped components resolve their sources.
Resolution returns only {svgContent}. The root SVG markup contains the calculated viewBox;
nested SVG viewports remain unchanged. The viewport follows Thunderbolt: non-UGC artwork prefers
data-bbox; UGC preserves the raw viewport or falls back to width and height. The UGC fallback
accepts unitless and pixel dimensions; other units leave the viewport unspecified.
Sources receive plain URL and URI strings and have no dependency on the media SDK.
DM reconstructs the Core vector from the expression without fetching or executing it.
The wrapper supplies empty SVG content while loading or after a fetch failure, reuses loaded URLs
within its mounted instance, and cancels pending requests when its source URLs change or it unmounts.
The existing useSvgProps(url, uri) hook uses the same resolution implementation for direct hook consumers;
it must be called at the top level of a React component or hook.
Layout components and the shared DOM/CSS contract belong to
@wix/origami-system-components.
This package has no layout subpaths or system-components dependency.
