Pass in a custom window to render the zoid component to. Passing this option will suppress zoid from opening a new window.
This value can also be a ProxyWindow
type (a window serialized by post-robot
which can be transferred via post message).
document.querySelector("button#clickme").addEventListener("click", () => {
const customPopup = window.open();
MyComponent({
window: customPopup,
}).render();
});
A timeout after which a component render should fail/error out.
MyComponent({
timeout: 1000,
})
.render("#container")
.catch((err) => {
console.warn("Component render errored", err); // This could be a timeout error
});
A CSP nonce that will be passed to any inline script
or style
tags rendered by zoid in the default containerTemplate
or prerenderTemplate
functions.
MyComponent({
cspNonce: "xyz12345",
}).render("#container");
Called immediately when a render is triggered
MyComponent({
onRender: () => {
console.log("The component started to render!");
},
}).render("#container");
Called when the component has completed its initial prerender
MyComponent({
onDisplay: () => {
console.log("The component was displayed!");
},
}).render("#container");
Called when the component has completed its full render
MyComponent({
onRendered: () => {
console.log("The component was fully rendered!");
},
}).render("#container");
Called when the component is first closed
MyComponent({
onClose: () => {
console.log("The component was closed!");
},
}).render("#container");
Called when the component is fully destroyed
MyComponent({
onDestroy: () => {
console.log("The component was fully destroyed!");
},
}).render("#container");
Called when the component is resized
MyComponent({
onResize: () => {
console.log("The component was resized!");
},
}).render("#container");
Called when the component is focused
MyComponent({
onFocus: () => {
console.log("The component was focused!");
},
}).render("#container");