UNPKG

@flows/react

Version:

Flows React SDK – Build native product growth experiences, your way

3 lines (2 loc) 18.6 kB
"use client" import{a as y,b as P,c as he,f as we,k as Pe,o as Se,p as F,q as Ee,r as M,s as A,t as Ce,u as _}from"./chunk-4QXPC67A.mjs";var Te=(e,{body:t,method:o,version:r})=>fetch(e,{method:o,headers:{"Content-Type":"application/json","x-flows-version":r},body:t?JSON.stringify(t):void 0}).then(async i=>{var n;let s=await i.text(),d=s?JSON.parse(s):void 0;if(!i.ok){let u=d;throw new Error((n=u==null?void 0:u.message)!=null?n:i.statusText)}return d}),W=(e,t)=>({getBlocks:o=>Te(`${e}/v2/sdk/blocks`,{method:"POST",body:o,version:t}),sendEvent:o=>Te(`${e}/v2/sdk/events`,{method:"POST",body:o,version:t})});var tt="#22262d",ot="#fff",Q="%cFlows%c",Y=`color:${ot};background:${tt};padding:2px 4px;border-radius:4px`,h={error:(e,...t)=>{console.error(`${Q} ${e}`,Y,"",...t)},warn:(e,...t)=>{console.warn(`${Q} ${e}`,Y,"",...t)},info:(e,...t)=>{console.info(`${Q} ${e}`,Y,"",...t)}};var V=(e,t)=>{let o=new Set([...t.exitedBlockIds,...t.updatedBlocks.map(r=>r.id)]);return[...e.filter(r=>!o.has(r.id)),...t.updatedBlocks]},Me=(e,t)=>{e.slottable&&!e.slotId&&(t==="component"&&h.error(`Encountered workflow block "${e.componentType}" that is slottable but has no slotId`),t==="tour-component"&&h.error(`Encountered tour block "${e.componentType}" that is slottable but has no slotId`))},Ie=e=>{e.forEach(t=>{var o;Me(t,"component"),(o=t.tourBlocks)==null||o.forEach(r=>{Me(r,"tour-component")})})},Ae=({component:e,type:t})=>{t==="tour-component"&&h.error(`Tour Component not found for tour block "${e}"`),t==="component"&&h.error(`Component not found for workflow block "${e}"`)},K=e=>e.type==="tour-component"&&e.tourBlockId?e.tourBlockId:e.id;import{set as q}from"es-toolkit/compat";import{mapValues as z}from"es-toolkit";var $=(e,t)=>{let o="",r=0;for(;r<e.length;){let i=e.indexOf("{{",r);if(i===-1){o+=e.slice(r);break}o+=e.slice(r,i);let s=e.indexOf("}}",i+2);if(s===-1){o+=e.slice(i);break}let n=e.slice(i+2,s).trim(),u=n.indexOf("|"),a=(u===-1?n:n.slice(0,u)).trim(),f=u===-1?void 0:n.slice(u+1).trim(),m=e.slice(i,s+2);if(!a){o+=m,r=s+2;continue}let c=t[a];if(typeof c=="string"||typeof c=="number"||typeof c=="boolean"){o+=c.toString(),r=s+2;continue}o+=f!=null?f:"",r=s+2}return o};var xe=({propMeta:e,userProperties:t})=>{let o=e.value,r={label:$(o.label,t),openInNew:o.openInNew};return o.url!==void 0&&(r.url=$(o.url,t)),r},Z=e=>{var f,m;let{block:t,exitNodeCb:o,removeBlock:r,setStateMemory:i}=e,s=({properties:c,parentKey:l})=>{var k;let p=y({},c);return delete p.f__exit_nodes,(k=c.f__exit_nodes)==null||k.forEach(v=>{let b=()=>o({key:[l,v].filter(w=>w!==void 0).join("."),blockId:t.id});p[v]=b}),Object.entries(c).forEach(([v,b])=>{Array.isArray(b)&&(p[v]=b.map((w,E)=>typeof w=="object"?s({properties:w,parentKey:[l,v,E].filter(R=>R!==void 0).join(".")}):w))}),p},d=s({properties:t.data}),n=({value:c,parentKey:l})=>typeof c=="string"?$(c,e.userProperties):Array.isArray(c)?c.map((p,k)=>p&&typeof p=="object"?z(p,(v,b)=>{let w=[l,k,b].join(".");return n({value:v,parentKey:w})}):p):c,u=z(d,(c,l)=>n({value:c,parentKey:l}));for(let c of(f=t.propertyMeta)!=null?f:[]){if(c.type==="state-memory"){let l={value:c.value,setValue:p=>{i({key:c.key,value:p,blockId:t.id})},triggers:(m=c.triggers)!=null?m:[]};q(u,c.key,l)}if(c.type==="block-state"){let l=Z(P(y({},e),{block:c.value}));q(u,c.key,l)}if(c.type==="action"){let l=xe({propMeta:c,userProperties:e.userProperties}),p=c.value.exitNode;p&&(l.callAction=()=>(t.exitNodes.includes(p)&&r(t.id),o({key:p,blockId:t.id}))),q(u,c.key,l)}}let a=t.exitNodes.reduce((c,l)=>{let p=()=>(r(t.id),o({key:l,blockId:t.id}));return c[l]=p,c},{});return y(y({__flows:{id:t.id,key:t.key,workflowId:t.workflowId}},u),a)},Re=({tourSteps:e,tourStep:t,currentIndex:o,userProperties:r,handleCancel:i,handleContinue:s,handlePrevious:d})=>{var c;let n=o===0,u=l=>typeof l=="string"?$(l,r):Array.isArray(l)?l.map(p=>p&&typeof p=="object"?z(p,u):p):l,a=z(t.data,u);for(let l of(c=t.propertyMeta)!=null?c:[])if(l.type==="action"){let p=xe({propMeta:l,userProperties:r});l.value.exitNode&&(p.callAction=async()=>{l.value.exitNode==="continue"&&s(),l.value.exitNode==="previous"&&d(),l.value.exitNode==="cancel"&&i()}),q(a,l.key,p)}let f=e.filter(l=>l.type==="tour-component"),m=f.findIndex(l=>l.id===t.id);return P(y({__flows:{id:t.id,key:t.key,workflowId:t.workflowId,tourVisibleStepCount:f.length,tourVisibleStepIndex:m}},a),{continue:s,previous:n?void 0:d,cancel:i})};var Fe=e=>{var t;if(!(!e||e==="disabled"))return e==="automatic"?(t=navigator.languages.at(0))!=null?t:navigator.language:e};var ee=(e,t)=>t?Array.isArray(t)?t.some(o=>ee(e,o)):typeof e!="string"?!1:new RegExp(t).test(e):!0,te=(e,t)=>t===void 0?!0:Array.isArray(t)?t.some(o=>te(e,o)):e===t,oe=(e,t)=>t===void 0?!0:Array.isArray(t)?t.every(o=>oe(e,o)):e!==t;var re=(e,t)=>t?Array.isArray(t)?t.some(o=>re(e,o)):typeof e!="string"?!1:e.includes(t):!0,ne=(e,t)=>t?Array.isArray(t)?t.every(o=>ne(e,o)):typeof e!="string"?!1:!e.includes(t):!0,se=(e,t)=>t?Array.isArray(t)?t.some(o=>se(e,o)):typeof e!="string"?!1:e.startsWith(t):!0,ie=(e,t)=>t?Array.isArray(t)?t.some(o=>ie(e,o)):typeof e!="string"?!1:e.endsWith(t):!0,ce=(e,t)=>t?Array.isArray(t)?t.every(o=>ce(e,o)):typeof e!="string"?!1:!e.startsWith(t):!0,ae=(e,t)=>t?Array.isArray(t)?t.every(o=>ae(e,o)):typeof e!="string"?!1:!e.endsWith(t):!0;var T=({operator:e,pathname:t,value:o})=>e==="eq"?te(t,o):e==="ne"?oe(t,o):e==="contains"?re(t,o):e==="notContains"?ne(t,o):e==="startsWith"?se(t,o):e==="endsWith"?ie(t,o):e==="notStartsWith"?ce(t,o):e==="notEndsWith"?ae(t,o):e==="regex"?ee(t,o):!0,j=({eventTarget:e,value:t})=>t?Array.from(document.querySelectorAll(t)).some(o=>o.contains(e)):!1,$e=e=>typeof e!="string"?!1:e.trim()?!!document.querySelector(e):!0,Le=e=>typeof e!="string"?!1:e.trim()?!document.querySelector(e):!0;var Ue=(e,t)=>{var i;let o=e.tour_trigger;return((i=e.currentTourIndex)!=null?i:0)>0||!o?!0:o.$and?o.$and.every(s=>{let d=s.type;if(d==="navigation"){if(!s.operator)return!0;let n=s.values;return n!=null&&n.every(u=>!u)?!0:T({operator:s.operator,pathname:t.pathname,value:n})}if(d==="dom-element"){let n=s.value;return typeof n!="string"?!1:n?!!document.querySelector(n):!0}if(d==="not-dom-element"){let n=s.value;return typeof n!="string"?!1:n?!document.querySelector(n):!0}if(d==="click"){let n=s.value;if(typeof n!="string")return!1;if(!n)return!0;if(!t.event||!(t.event instanceof MouseEvent))return!1;let u=t.event.target;return!u||!(u instanceof Element)?!1:j({eventTarget:u,value:n})}return h.error(`Aborting tour start due to an unrecognized tour trigger type: ${d}. Try updating the SDK or changing the tour trigger configuration.`),!1}):(h.error("Aborting tour start due to an unsupported tour trigger format. Try updating the SDK or changing the tour trigger configuration."),!1)};var ue=(e,t)=>new Proxy(e,{get(o,r,i){return r==="props"&&t(e.id),Reflect.get(o,r,i)}});var De=e=>{let t=e.data;if(typeof t!="string")return null;try{let o=JSON.parse(t);if(rt(o))return{type:"block-updates",exitedBlockIds:o.exitedBlockIds,updatedBlocks:o.updatedBlocks}}catch(o){}return null};function rt(e){return typeof e=="object"&&e!==null&&"exitedBlockIds"in e&&"updatedBlocks"in e}import{useMemo as L}from"react";var x={};var S=async e=>{let{apiUrl:t,environment:o,organizationId:r,userId:i}=x;!t||!o||!r||!i||await W(t,_).sendEvent(P(y({},e),{environment:o,organizationId:r,userId:i}))},Ne=new Set,pe=async e=>{Ne.has(e)||(Ne.add(e),await S({name:"block-activated",blockId:e}))};var le=({block:e,removeBlock:t,updateBlock:o,userProperties:r})=>{if(!e.componentType)return[];let s=Z({block:e,userProperties:r,removeBlock:t,exitNodeCb:({key:n,blockId:u})=>S({name:"transition",blockId:u,propertyKey:n}),setStateMemory:async({blockId:n,key:u,value:a})=>{o(n,f=>{var m;return P(y({},f),{propertyMeta:(m=f.propertyMeta)==null?void 0:m.map(c=>c.type==="state-memory"&&c.key===u?P(y({},c),{value:a}):c)})}),await S({name:"set-state-memory",blockId:n,propertyKey:u,properties:{value:a}})}}),d={id:e.id,type:"component",component:e.componentType,props:s};return ue(d,pe)},fe=({tour:e,userProperties:t})=>{var s;let o=e.activeStep;if(!(o!=null&&o.componentType))return[];let r=Re({tourSteps:(s=e.block.tourBlocks)!=null?s:[],tourStep:o,currentIndex:e.currentBlockIndex,userProperties:t,handleCancel:e.cancel,handleContinue:e.continue,handlePrevious:e.previous}),i={id:o.id,tourBlockId:e.block.id,type:"tour-component",component:o.componentType,props:r};return ue(i,pe)};var de=e=>e==null?void 0:e.slotId;var _e=()=>{let{blocks:e}=M(),t=A();return L(()=>e.filter(o=>T({pathname:t,operator:o.page_targeting_operator,value:o.page_targeting_values})),[e,t])},We=()=>{let{runningTours:e}=M(),t=A();return L(()=>e.filter(o=>{let r=o.activeStep;return r&&T({pathname:t,operator:r.page_targeting_operator,value:r.page_targeting_values})}),[t,e])},me=()=>{let e=_e(),t=We(),{removeBlock:o,updateBlock:r,userProperties:i}=M(),s=L(()=>e.filter(n=>!n.slottable).flatMap(n=>le({block:n,removeBlock:o,updateBlock:r,userProperties:i})),[o,i,r,e]),d=L(()=>t.filter(n=>{let u=n.activeStep;return u&&!u.slottable}).flatMap(n=>fe({tour:n,userProperties:i})),[i,t]);return[...s,...d]},Ve=e=>"type"in e,Oe=e=>{var t,o,r;return Ve(e)?(t=e.slotIndex)!=null?t:0:(r=(o=e.activeStep)==null?void 0:o.slotIndex)!=null?r:0},ge=e=>{let t=_e(),o=We(),{removeBlock:r,updateBlock:i,userProperties:s}=M();return L(()=>{let n=t.filter(a=>a.slottable&&de(a)===e),u=o.filter(a=>{var f;return((f=a.activeStep)==null?void 0:f.slottable)&&de(a.activeStep)===e});return[...n,...u].sort((a,f)=>Oe(a)-Oe(f)).flatMap(a=>Ve(a)?le({block:a,removeBlock:r,updateBlock:i,userProperties:s}):fe({tour:a,userProperties:s}))},[r,e,s,i,t,o])};import{useEffect as nt}from"react";import{jsx as st}from"react/jsx-runtime";var G=({block:e})=>{let{components:t,tourComponents:o}=M(),r=(()=>{if(e.type==="component")return t[e.component];if(e.type==="tour-component")return o[e.component]})();return nt(()=>{r||Ae({component:e.component,type:e.type})},[r,e.component,e.type]),r?st(r,y({},e.props)):null};import{jsx as it}from"react/jsx-runtime";var vo=({id:e,placeholder:t})=>{let o=ge(e);return o.length?o.map(r=>it(G,{block:r},K(r))):t!=null?t:null};import{useEffect as Bt}from"react";import{useCallback as ct,useEffect as J,useMemo as at,useRef as ut,useState as pt}from"react";import{debounce as lt}from"es-toolkit";var Ke=({blocks:e,removeBlock:t})=>{let[o,r]=pt([]),i=ut(o);i.current=o;let s=A();J(()=>{r(u=>{let a=new Set(e.filter(f=>f.type==="tour").map(f=>f.id));return u.filter(f=>a.has(f.blockId))})},[e]);let d=ct(u=>{let a=e.filter(m=>m.type==="tour"),f=new Set(i.current.map(m=>m.blockId));a.forEach(m=>{f.has(m.id)||!Ue(m,u)||r(l=>{var k;let p={blockId:m.id,currentBlockIndex:(k=m.currentTourIndex)!=null?k:0};return[...l,p]})})},[e]);return J(()=>{s&&d({pathname:s})},[s,d]),J(()=>{let u=lt(()=>{d({pathname:F()})},32),a=new MutationObserver(u);return a.observe(document.body,{childList:!0,subtree:!0,attributes:!0}),u(),()=>{a.disconnect()}},[d]),J(()=>{let u=a=>{d({pathname:F(),event:a})};return document.addEventListener("click",u),()=>{document.removeEventListener("click",u)}},[d]),at(()=>{let u=(f,m)=>{r(c=>c.map(l=>l.blockId===f?m(l):l))},a=(f,m)=>{u(f,c=>P(y({},c),{currentBlockIndex:m}))};return o.map(({blockId:f,currentBlockIndex:m})=>{var E,R,O;let c=e.find(g=>g.id===f);if(!c)return;let l=(E=c.tourBlocks)==null?void 0:E[m],p=m===((O=(R=c.tourBlocks)==null?void 0:R.length)!=null?O:0)-1,k=g=>{S({name:"tour-update",blockId:f,properties:{currentTourIndex:g}})};return{block:c,currentBlockIndex:m,activeStep:l,continue:()=>{if(p)t(f),S({name:"transition",propertyKey:"complete",blockId:f});else{let g=m+1;k(g),setTimeout(()=>{a(f,g)},0)}},previous:()=>{var B;let g=m===0?m:m-1;for(;g>0&&c.tourBlocks&&!((B=c.tourBlocks.at(g))!=null&&B.componentType);)g-=1;k(g),setTimeout(()=>{a(f,g)},0)},cancel:()=>{t(f),S({name:"transition",blockId:f,propertyKey:"cancel"})}}}).filter(f=>!!f)},[e,t,o])};import{useCallback as X,useEffect as je,useMemo as ve,useRef as Ge,useState as be}from"react";import{useCallback as qe,useEffect as U,useRef as ke,useState as ye}from"react";var ze=({url:e,onMessage:t,onOpen:o})=>{let[r,i]=ye(),[s,d]=ye(!1),n=ke(void 0),[u,a]=ye(0),f=ke(o);U(()=>{f.current=o},[o]);let m=ke(t);U(()=>{m.current=t},[t]);let c=qe(p=>{m.current(p)},[]),l=qe(()=>{if(n.current&&(n.current(),n.current=void 0),!e)return;let p=new WebSocket(e);d(!1),i(p);let k=()=>{var E;(E=f.current)==null||E.call(f),a(0)},v=()=>{i(void 0),a(E=>E+1)},b=()=>{d(!0)};p.addEventListener("open",k),p.addEventListener("close",v),p.addEventListener("error",b),p.addEventListener("message",c);let w=()=>{p.removeEventListener("open",k),p.removeEventListener("close",v),p.removeEventListener("error",b),p.removeEventListener("message",c),p.readyState===WebSocket.CONNECTING?p.addEventListener("open",()=>{p.close()}):p.close(),i(void 0)};return n.current=w,w},[c,e]);return U(()=>{let p=l();return()=>{p==null||p()}},[l]),U(()=>{if(r)return;let p=setTimeout(()=>{l()},Math.min(1e3*4**u,12e4));return()=>{clearTimeout(p)}},[u,r,l]),U(()=>()=>{n.current&&n.current()},[]),{error:s}};var Je=({apiUrl:e,environment:t,organizationId:o,userId:r,userProperties:i,language:s})=>{let[d,n]=be(null),[u,a]=be(!1),f=ve(()=>d!=null?d:[],[d]),[m,c]=be(!1),l=Ge([]),p=ve(()=>({environment:t,organizationId:o,userId:r}),[t,o,r]),k=Ge(i);je(()=>{k.current=i},[i]);let v=X(()=>{a(!1),W(e,_).getBlocks(P(y({},p),{language:Fe(s),userProperties:k.current})).then(g=>{var B;n(l.current.reduce(V,g.blocks)),l.current.length=0,setTimeout(()=>{if(l.current.length){let C=[...l.current];l.current.length=0,n(I=>C.reduce(V,I!=null?I:[]))}},0),(B=g.meta)!=null&&B.usage_limited&&c(!0)}).catch(g=>{a(!0),h.error("Failed to load blocks",g)})},[e,s,p]),b=ve(()=>m?void 0:`${e.replace("https://","wss://").replace("http://","ws://")}/ws/sdk/block-updates?${new URLSearchParams(p).toString()}`,[e,p,m]),w=X(g=>{let B=De(g);B&&B.type==="block-updates"&&n(C=>C?V(C,B):(l.current.push(B),C))},[]),{error:E}=ze({url:b,onMessage:w,onOpen:v});je(()=>{Ie(f)},[f]);let R=X(g=>{n(B=>B&&B.filter(C=>C.id!==g))},[]),O=X((g,B)=>{n(C=>C&&C.map(I=>I.id===g?B(I):I))},[]);return{blocks:f,error:u,wsError:E,removeBlock:R,updateBlock:O}};import{useEffect as D,useMemo as ft}from"react";import{useState as dt}from"react";import{debounce as mt}from"es-toolkit";var Xe=()=>{let{runningTours:e}=M(),t=A(),[o]=dt(new Map),r=ft(()=>e.filter(i=>{var s;return!!((s=i.activeStep)!=null&&s.tourWait)}),[e]);return D(()=>{r.forEach(i=>{var d,n,u;let s=(d=i.activeStep)==null?void 0:d.tourWait;(s==null?void 0:s.interaction)==="navigation"&&T({pathname:t,operator:(n=s.page)==null?void 0:n.operator,value:(u=s.page)==null?void 0:u.value})&&i.continue()})},[t,r]),D(()=>{let i=s=>{let d=s.target;if(!d||!(d instanceof Element))return;let n=F();r.forEach(u=>{var f,m,c;let a=(f=u.activeStep)==null?void 0:f.tourWait;if((a==null?void 0:a.interaction)==="click"){let l=T({pathname:n,operator:(m=a.page)==null?void 0:m.operator,value:(c=a.page)==null?void 0:c.value});j({eventTarget:d,value:a.element})&&l&&u.continue()}})};return addEventListener("click",i),()=>{removeEventListener("click",i)}},[t,r]),D(()=>{let s=mt(()=>{let n=F();r.forEach(u=>{var m,c,l,p,k;let a=(m=u.activeStep)==null?void 0:m.tourWait,f=a==null?void 0:a.element;if((a==null?void 0:a.interaction)==="dom-element"){let v=T({pathname:n,operator:(c=a.page)==null?void 0:c.operator,value:(l=a.page)==null?void 0:l.value});$e(f)&&v&&u.continue()}if((a==null?void 0:a.interaction)==="not-dom-element"){let v=T({pathname:n,operator:(p=a.page)==null?void 0:p.operator,value:(k=a.page)==null?void 0:k.value});Le(f)&&v&&u.continue()}})},32),d=new MutationObserver(s);return d.observe(document.body,{childList:!0,subtree:!0,attributes:!0}),s(),()=>{d.disconnect(),s.cancel()}},[t,r]),D(()=>{e.forEach(i=>{let s=i.activeStep,d=o.get(i.block.id);d&&d.stepId!==(s==null?void 0:s.id)&&(clearTimeout(d.timeoutId),o.delete(i.block.id))})},[e,o]),D(()=>{r.forEach(i=>{let s=i.activeStep,d=s==null?void 0:s.tourWait;if(s&&(d==null?void 0:d.interaction)==="delay"&&d.ms!==void 0&&!o.has(i.block.id)){let n=window.setTimeout(()=>{i.continue(),o.delete(i.block.id)},d.ms);o.set(i.block.id,{timeoutId:n,stepId:s.id})}})},[r,o]),null};import{Fragment as gt,jsx as He}from"react/jsx-runtime";var Qe=()=>{let e=me();return He(gt,{children:e.map(t=>He(G,{block:t},K(t)))})};import{lazy as yt,useEffect as Ye,useState as Ze}from"react";import{Component as kt}from"react";var H=class extends kt{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(t){return{hasError:!0}}componentDidCatch(t,o){h.error("ErrorBoundary caught an error:",t,o)}render(){return this.state.hasError?this.props.fallback:this.props.children}};import{jsx as Be}from"react/jsx-runtime";var vt=yt(()=>import("./debug-panel-C5EHEV3Z.mjs")),et=e=>{let[t,o]=Ze(!0);return Ye(()=>{o(!1)},[]),t?null:Be(bt,y({},e))},bt=r=>{var i=r,{enabled:e,onDebugKeydown:t}=i,o=he(i,["enabled","onDebugKeydown"]);let[s,d]=Ze({enabled:Pe(e),forceOpen:!1});return Ye(()=>{let n=u=>{(t!=null?t:Se)(u)&&d(f=>{let m=!f.enabled;return sessionStorage.setItem(we,String(m)),m?h.info("Debug mode enabled"):h.info("Debug mode disabled"),{enabled:m,forceOpen:m}})};return addEventListener("keydown",n),()=>{removeEventListener("keydown",n)}},[t]),s.enabled?Be(H,{children:Be(vt,y({forceOpen:s.forceOpen},o))}):null};import{jsx as N,jsxs as St}from"react/jsx-runtime";var ht=e=>wt(e)?N(Ce,{children:N(Pt,y({},e))}):e.children,wt=e=>typeof e.userId=="string",Pt=({children:e,apiUrl:t="https://api.flows-cloud.com",environment:o,organizationId:r,userId:i,components:s,tourComponents:d,userProperties:n={},language:u,debug:a,onDebugShortcut:f,LinkComponent:m})=>{x.apiUrl=t,x.environment=o,x.organizationId=r,x.userId=i;let{blocks:c,error:l,wsError:p,removeBlock:k,updateBlock:v}=Je({apiUrl:t,environment:o,organizationId:r,userId:i,userProperties:n,language:u}),b=Ke({blocks:c,removeBlock:k});return Bt(()=>{window.__flows_LinkComponent=m},[m]),St(Ee.Provider,{value:{userProperties:n,blocks:c,components:s,runningTours:b,tourComponents:d,removeBlock:k,updateBlock:v},children:[e,N(Qe,{}),N(Xe,{}),N(et,{enabled:a,blocksError:l,wsError:p,environment:o,organizationId:r,userId:i,userProperties:n,onDebugKeydown:f})]})};var kr=()=>S({name:"reset-progress"}),yr=e=>S({name:"reset-progress",workflowId:e}),vr=e=>S({name:"workflow-start",blockKey:e});export{ht as FlowsProvider,vo as FlowsSlot,kr as resetAllWorkflowsProgress,yr as resetWorkflowProgress,vr as startWorkflow,me as useCurrentFloatingBlocks,ge as useCurrentSlotBlocks};