Maybe try something like this:
async function accountOnboarding(args, ctx) {
const { loadConnectAndInitialize } = await import('https://cdn.jsdelivr.net/npm/@stripe/connect-js/+esm');
const { publishableKey, clientSecret } = args;
try {
const stripeConnectInstance = loadConnectAndInitialize({
publishableKey: publishableKey,
clientSecret: clientSecret,
});
const container = document.getElementById("embedded-onboarding-container");
const embeddedOnboardingComponent = stripeConnectInstance.create("account-onboarding");
embeddedOnboardingComponent.setOnExit(() => {
ctx.triggerActionEvent('exit', true)
console.log('User exited the onboarding flow');
});
container.appendChild(embeddedOnboardingComponent);
ctx.triggerActionEvent("success", true);
} catch (error) {
console.error('Stripe Connect initialization error:', error);
ctx.triggerActionEvent("error", { message: error.message });
}
}