@5minds/processcube_app_sdk
Version:
The SDK for ProcessCube Apps
7 lines (4 loc) • 144 kB
JavaScript
"use client";var ba=Object.create;var ct=Object.defineProperty;var Ia=Object.getOwnPropertyDescriptor;var Na=Object.getOwnPropertyNames;var xa=Object.getPrototypeOf,Ca=Object.prototype.hasOwnProperty;var de=(e,t)=>()=>(e&&(t=e(e=0)),t);var Uo=(e,t)=>{for(var o in t)ct(e,o,{get:t[o],enumerable:!0})},Vo=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Na(t))!Ca.call(e,a)&&a!==o&&ct(e,a,{get:()=>t[a],enumerable:!(s=Ia(t,a))||s.enumerable});return e};var l=(e,t,o)=>(o=e!=null?ba(xa(e)):{},Vo(t||!e||!e.__esModule?ct(o,"default",{value:e,enumerable:!0}):o,e)),Fa=e=>Vo(ct({},"__esModule",{value:!0}),e);async function Xt(){let e=await(0,Mo.getToken)({req:{cookies:await(0,Ce.cookies)(),headers:await(0,Ce.headers)()}});if(e?.expiresAt&&Date.now()>=e.expiresAt*1e3){let o=await fetch(`${process.env.NEXTAUTH_URL}/api/auth/session`,{method:"GET",headers:{"Content-Type":"application/json",cookie:(await(0,Ce.cookies)()).toString()}}),s=new Ms.ResponseCookies(o.headers);if(s.getAll().length){let a=!1;try{for(let r of s.getAll())(await(0,Ce.cookies)()).set(r.name,r.value,{...r})}catch{a=!0}if(e=await(0,Mo.getToken)({req:{cookies:a?s:await(0,Ce.cookies)(),headers:await(0,Ce.headers)()}}),e?.error)throw e.error}}if(!e?.accessToken||!e?.sub)throw new Error("AccessToken or Sub could not be determined!");return{token:e?.accessToken,userId:e?.sub}}var Mo,Ms,Ce,Bo=de(()=>{Mo=require("next-auth/jwt"),Ms=require("next/dist/compiled/@edge-runtime/cookies/index.js"),Ce=require("next/headers")});var Bs,nr,se,nt=de(()=>{Bs=require("@5minds/processcube_engine_client"),nr=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",se=new Bs.EngineClient(nr)});async function it(){try{return Xt()}catch{return}}async function Ls(e){let t=await it();return(await se.processInstances.query({processInstanceId:e},{identity:t,includeXml:!0})).processInstances[0]}async function Us(e,t={sortSettings:{sortBy:Os.DataModels.FlowNodeInstances.FlowNodeInstanceSortableColumns.createdAt,sortDir:"ASC"}}){return(await se.flowNodeInstances.query({processInstanceId:e},{...t,identity:t.identity??await it()})).flowNodeInstances}async function Vs(e){let t=await it();return(await se.flowNodeInstances.query({triggeredByFlowNodeInstance:e},{identity:t})).flowNodeInstances}async function As(e,t,o){let s=await it();await se.processInstances.retryProcessInstance(e,{flowNodeInstanceId:t,newStartToken:o,identity:s})}async function _s(e){let t=await it();await se.processInstances.terminateProcessInstance(e,t)}var Os,$s=de(()=>{Os=require("@5minds/processcube_engine_client");Bo();nt()});var ir,Hs=de(()=>{ir=require("next/navigation")});var zs=de(()=>{});async function Rs(...e){await se.manualTasks.finishManualTask(...e)}var js=de(()=>{nt()});async function Gs(...e){await se.userTasks.finishUserTask(...e)}var Js=de(()=>{nt()});async function Ws(...e){await se.untypedTasks.finishTask(...e)}var qs=de(()=>{nt()});var Xs=de(()=>{Hs();zs();js();Js();qs()});var qe={};Uo(qe,{finishTask:()=>pr,getFlowNodeInstances:()=>ur,getProcessInstance:()=>mr,getTriggeredFlowNodeInstances:()=>fr,retryProcess:()=>cr,terminateProcess:()=>lr});async function dr(){try{return Xt()}catch{return}}var Ys,pr,lr,cr,mr,ur,fr,Xe=de(()=>{"use server";Ys=require("@5minds/processcube_engine_client");$s();Bo();Xs();pr=async(e,t)=>{let o=await dr();t==="bpmn:UserTask"?await Gs(e,{},o):t==="bpmn:ManualTask"?await Rs(e,o):t==="bpmn:Task"?await Ws(e,o):console.error(`[@5minds/processcube_app_sdk:handlePlay] Unsupported flow node type: ${t}`)},lr=async e=>{await _s(e)},cr=async(e,t,o)=>{await As(e,t,o)},mr=async e=>Ls(e),ur=async e=>Us(e,{sortSettings:{sortBy:Ys.DataModels.FlowNodeInstances.FlowNodeInstanceSortableColumns.createdAt,sortDir:"DESC"}}),fr=async e=>Vs(e)});var br={};Uo(br,{BPMNViewer:()=>mt,BPMNViewerNextJS:()=>Ea,BooleanFormField:()=>gt,BpmnViewerComponent:()=>Fo,CheckboxFormField:()=>wt,ColorFormField:()=>yt,ConfirmFormField:()=>bt,CustomFormField:()=>It,DateFormField:()=>Nt,DatetimeLocalFormField:()=>xt,DecimalFormField:()=>Ft,DiagramDocumentationInspector:()=>Le,DiagramDocumentationInspectorNextJS:()=>Aa,DocumentationViewer:()=>ut,DropdownMenu:()=>_a,DropdownMenuItem:()=>$a,DynamicLink:()=>Ha,DynamicUi:()=>Za,DynamicUiComponent:()=>To,EmailFormField:()=>Pt,EnumFormField:()=>St,FileFormField:()=>Dt,FlowNode:()=>kt,FormFieldComponentMap:()=>Do,HeaderFormField:()=>Tt,HiddenFormField:()=>Et,IntegerFormField:()=>Mt,MonthFormField:()=>Bt,ParagraphFormField:()=>Vt,PasswordFormField:()=>At,ProcessInstanceInspector:()=>fa,ProcessInstanceInspectorNextJS:()=>wr,ProcessModelInspectorNextJS:()=>vr,RadioFormField:()=>_t,RangeFormField:()=>$t,SelectFormField:()=>Ht,SplitterLayout:()=>Qe,StringFormField:()=>zt,TelFormField:()=>Rt,TextareaFormField:()=>Re,TimeFormField:()=>jt,UrlFormField:()=>Gt,WeekFormField:()=>Jt});module.exports=Fa(br);var kl=require("client-only");var Ao=l(require("bpmn-js/lib/Viewer"),1),_o=l(require("bpmn-js/lib/features/outline"),1),$o=l(require("clsx"),1),Ho=l(require("diagram-js/lib/features/selection"),1),zo=l(require("diagram-js/lib/navigation/movecanvas"),1),Ro=l(require("diagram-js/lib/navigation/zoomscroll"),1),jo=l(require("next/dynamic"),1),oe=l(require("react"),1),Fr=require("./components/BPMNHeatmap.css"),Pa={canvas:{autoFocus:!0}},Sa={Critical:"rgb(255, 0, 0)",Warning:"rgb(255, 220, 0)",Stable:"rgb(50, 205, 50)"};function Da(e,t){let o=(0,oe.useRef)(null),s=(0,oe.useRef)(new Ao.default({bpmnRenderer:{defaultFillColor:"var(--asdk-bv-background-color)",defaultStrokeColor:"var(--asdk-bv-foreground-color)"},additionalModules:[Ro.default,zo.default,Ho.default,_o.default],...Pa})),a=(0,oe.useRef)({});return(0,oe.useImperativeHandle)(t,()=>({getOverlays(){return s.current.get("overlays")},getElementRegistry(){return s.current.get("elementRegistry")},addMarker(r,n){s.current.get("canvas")?.addMarker(r,n)},removeMarker(r,n){s.current.get("canvas")?.removeMarker(r,n)},hasMarker(r,n){return s.current.get("canvas")?.hasMarker(r,n)},showHeatmap(r){let n=s.current.get("elementRegistry");if(n)for(let[i,d]of Object.entries(r)){let u=n.get(i);if(!u)continue;let p=n.getGraphics(u);if(!p)continue;let m=p.querySelector(".djs-visual > :first-child"),k=p.querySelector(".djs-visual > :nth-child(2)");if(!m)continue;let w=p.ownerSVGElement;if(!w)return;let h=`heatmap-gradient-${i}`,c=w.querySelector(`#${h}`);c&&c.remove();let v=w.querySelector("defs")||(()=>{let I=document.createElementNS("http://www.w3.org/2000/svg","defs");return w.insertBefore(I,w.firstChild),I})(),E=document.createElementNS("http://www.w3.org/2000/svg","radialGradient");E.setAttribute("id",h),E.setAttribute("cx","50%"),E.setAttribute("cy","50%"),E.setAttribute("r","90%"),E.setAttribute("fx","50%"),E.setAttribute("fy","50%");let z=Sa[d];[{offset:"0%",color:z},{offset:"50%",color:z},{offset:"100%",color:z}].forEach(({offset:I,color:ye})=>{let ne=document.createElementNS("http://www.w3.org/2000/svg","stop");ne.setAttribute("offset",I),ne.setAttribute("stop-color",ye),E.appendChild(ne)}),v.appendChild(E),m.classList.forEach(I=>{I.startsWith("heatmap-")&&m.classList.remove(I)}),k&&(k.style.fill="#1d1d1d"),m.classList.add(`heatmap-${d.toLowerCase()}`),m.style.fill=`url(#${h})`}},clearHeatmap(r){let n=s.current.get("elementRegistry");if(n)for(let i of r){let d=n.get(i);if(!d)continue;let u=n.getGraphics(d);if(!u)continue;let p=u.querySelector(".djs-visual > :first-child"),m=u.querySelector(".djs-visual > :nth-child(2)");if(p){if(p.classList.forEach(c=>{c.startsWith("heatmap-")&&p.classList.remove(c)}),m&&p){let c=p.style.stroke;m.style.fill=c}p.style.fill=a.current[i]||""}let k=u.ownerSVGElement;if(!k)continue;let w=`heatmap-gradient-${d.id}`,h=k.querySelector(`#${w}`);h&&h.remove()}}}),[s.current,o.current]),(0,oe.useEffect)(()=>{if(!o.current)return;let r=s.current;r.attachTo(o.current);let n=r.get("canvas"),i=d=>{e.onSelectionChanged?.(d.newSelection)};return r.importXML(e.xml).then(()=>{let d=n.viewbox(),u={x:d.outer.width/2,y:d.outer.height/2};n.zoom("fit-viewport",u),e.onImportDone?.(),r.on("selection.changed",i);let p=r.get("elementRegistry");p.forEach(w=>{let h=p.getGraphics(w);if(!h)return;let c=h.querySelector(".djs-visual > :first-child");c&&(a.current[w.id]=c.style.fill||c.getAttribute("fill")||"")});let{preselectedElementIds:m}=e;if(!m||m.length===0)return;let k=p.filter(w=>m.includes(w.id)).sort((w,h)=>m.indexOf(w.id)-m.indexOf(h.id));r.get("selection").select(k??[])}).catch(d=>{console.error(`[@5minds/processcube_app_sdk:BPMNViewer] Error while importing BPMN XML: "${d.message}`)}),()=>{r.off("selection.changed",i),r.detach()}},[e.xml,e.preselectedElementIds]),oe.default.createElement("div",{ref:o,className:(0,$o.default)("app-sdk-bpmn-viewer","app-sdk-h-full",e.className)})}var mt=(0,oe.forwardRef)(Da);function Ta(e){return oe.default.createElement(mt,{...e,ref:e.viewerRef})}var Ea=(0,jo.default)(()=>Promise.resolve(Ta),{ssr:!1});var ft=require("bpmn-js/lib/util/ModelUtil"),Ko=l(require("next/dynamic"),1),Oe=require("react-dom/server"),Zo=require("react"),F=l(require("react"),1);var Go=l(require("react-markdown"),1),Jo=l(require("rehype-autolink-headings"),1),Wo=l(require("rehype-raw"),1),qo=l(require("rehype-slug"),1),Xo=l(require("remark-gfm"),1),fo=l(require("react"),1);function ut(e){return fo.default.createElement("div",{className:"app-sdk-absolute app-sdk-w-full app-sdk-h-full app-sdk-overflow-y-auto app-sdk-scroll-p-4 app-sdk-scroll-smooth app-sdk-scroll-shadow"},fo.default.createElement(Go.default,{remarkPlugins:[Xo.default],rehypePlugins:[Wo.default,qo.default,[Jo.default,{behavior:"wrap"}]],className:"app-sdk-markdown lg:app-sdk-mx-40 md:app-sdk-mx-20 app-sdk-mx-10"},e.documentation??""))}var ke=l(require("react"),1),Yo=4,Qe=class extends ke.default.Component{static defaultProps={customClassName:"",vertical:!1,percentage:!1,primaryIndex:0,primaryMinSize:0,secondaryDefaultSize:null,secondaryInitialSize:null,secondaryMinSize:0,onDragStart:null,onDragEnd:null,onSizeChanged:null,children:[]};container;splitter;constructor(t){super(t),this.handleResize=this.handleResize.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleTouchMove=this.handleTouchMove.bind(this),this.handleSplitterMouseDown=this.handleSplitterMouseDown.bind(this),this.handleSplitterDoubleClick=this.handleSplitterDoubleClick.bind(this),this.state={lastMouseDown:0,secondaryPaneSize:t.secondaryInitialSize||0,resizing:!1}}componentDidMount(){window.addEventListener("resize",this.handleResize),document.addEventListener("mouseup",this.handleMouseUp),document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("touchend",this.handleMouseUp),document.addEventListener("touchmove",this.handleTouchMove);let t;if(this.props.secondaryInitialSize!=null)t=this.props.secondaryInitialSize;else{let o=this.container.getBoundingClientRect(),s;this.splitter?s=this.splitter.getBoundingClientRect():s={width:Yo,height:Yo},t=this.getSecondaryPaneSize(o,s,{left:o.left+(o.width-s.width)/2,top:o.top+(o.height-s.height)/2},!1)}this.setSecondaryPaneSize(t)}componentDidUpdate(t,o){o.secondaryPaneSize!==this.state.secondaryPaneSize&&this.props.onSizeChanged&&this.props.onSizeChanged(this.state.secondaryPaneSize),o.resizing!==this.state.resizing&&(this.state.resizing?this.props.onDragStart&&this.props.onDragStart(o.secondaryPaneSize):this.props.onDragEnd&&this.props.onDragEnd(o.secondaryPaneSize,this.state.secondaryPaneSize))}componentWillUnmount(){window.removeEventListener("resize",this.handleResize),document.removeEventListener("mouseup",this.handleMouseUp),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("touchend",this.handleMouseUp),document.removeEventListener("touchmove",this.handleTouchMove)}clearSelection(){if(document.body.createTextRange){let t=document.body.createTextRange();t.collapse(),t.select()}else if(window.getSelection){let t=window.getSelection();if(t==null)return;t.empty?t.empty():t.removeAllRanges&&t.removeAllRanges()}else document.selection&&document.selection.empty()}getSecondaryPaneSize(t,o,s,a){let r=0,n=0,i=0;this.props.vertical?(r=t.height,n=o.height,i=s.top-t.top):(r=t.width,n=o.width,i=s.left-t.left),a&&(i-=n/2),i<0?i=0:i>r-n&&(i=r-n);let d;this.props.primaryIndex===1?d=i:d=r-n-i;let u=r-n-d;return this.props.percentage&&(d=d*100/r,u=u*100/r,n=n*100/r,r=100),u<this.props.primaryMinSize?d=Math.max(d-(this.props.primaryMinSize-u),0):d<this.props.secondaryMinSize&&(d=Math.min(r-n-this.props.primaryMinSize,this.props.secondaryMinSize)),d}setSecondaryPaneSize(t){this.setState({secondaryPaneSize:t})}maximizeSecondaryPane(){if(this.props.percentage)this.setSecondaryPaneSize(100-this.props.primaryMinSize);else throw new Error("maximizeSecondaryPane() is only supported in SplitterLayout with prop `percentage`")}isReset(){let t=this.props.secondaryDefaultSize||this.props.secondaryMinSize;return this.state.secondaryPaneSize===t}reset(){let t=this.props.secondaryDefaultSize||this.props.secondaryMinSize;this.setSecondaryPaneSize(t)}handleResize(){if(this.splitter&&!this.props.percentage){let t=this.container.getBoundingClientRect(),o=this.splitter.getBoundingClientRect(),s=this.getSecondaryPaneSize(t,o,{left:o.left,top:o.top},!1);this.setState({secondaryPaneSize:s})}}handleMouseMove(t){if(this.state.resizing){let o=this.container.getBoundingClientRect(),s=this.splitter.getBoundingClientRect(),a=this.getSecondaryPaneSize(o,s,{left:t.clientX,top:t.clientY},!0);this.clearSelection(),this.setState({secondaryPaneSize:a})}}handleTouchMove(t){this.handleMouseMove(t.changedTouches[0])}handleSplitterMouseDown(t){t.preventDefault(),this.clearSelection(),this.setState({resizing:!0})}handleSplitterDoubleClick(){let t=this.props.secondaryDefaultSize||this.props.secondaryMinSize;this.state.secondaryPaneSize===t?this.setSecondaryPaneSize(Math.floor(t*1.5)):this.setSecondaryPaneSize(t)}handleMouseUp(){this.setState(t=>t.resizing?{resizing:!1}:null)}render(){let t="app-sdk-splitter-layout";this.props.customClassName&&(t+=` ${this.props.customClassName}`),this.props.vertical&&(t+=" app-sdk-splitter-layout-vertical"),this.state.resizing&&(t+=" layout-changing");let o=ke.default.Children.toArray(this.props.children).slice(0,2);o.length===0&&o.push(ke.default.createElement("div",null));let s=[],a=this.props.primaryIndex!==0&&this.props.primaryIndex!==1?0:this.props.primaryIndex;for(let r=0;r<o.length;++r){let n=!0,i;o.length>1&&r!==a&&(n=!1,i=this.state.secondaryPaneSize),s.push(ke.default.createElement(Ma,{vertical:this.props.vertical,percentage:this.props.percentage,primary:n,size:i},o[r]))}return ke.default.createElement("div",{className:t,ref:r=>{this.container=r}},s[0],s.length>1&&ke.default.createElement("div",{role:"separator",className:"app-sdk-layout-splitter"},ke.default.createElement("div",{className:"app-sdk-layout-splitter__inner",ref:r=>{this.splitter=r},onMouseDown:this.handleSplitterMouseDown,onTouchStart:this.handleSplitterMouseDown,onDoubleClick:this.handleSplitterDoubleClick})),s.length>1&&s[1])}};function Ma(e={vertical:!1,primary:!1,size:0,percentage:!1,children:[]}){let t=e.size||0,o=e.percentage?"%":"px",s="app-sdk-layout-pane",a={};return e.primary?s+=" app-sdk-layout-pane-primary":e.vertical?a.height=`${t}${o}`:a.width=`${t}${o}`,ke.default.createElement("div",{className:s,style:a},e.children)}var et=30;function Ba(e,t){let[o,s]=(0,F.useState)([]),a=(0,F.useRef)(null),r=(0,F.useRef)(null),[n,i]=(0,F.useState)([]),[d,u]=(0,F.useState)(!1),[p,m]=(0,F.useState)([]),[k,w]=(0,F.useState)(et),h=(0,F.useRef)(!0);return(0,F.useEffect)(()=>{if(!window)return;let c=new URLSearchParams(window.location.search),v=c.getAll("selected");if(m(v),!c.has("splitterSize"))return;let E=parseFloat(c.get("splitterSize"));isNaN(E)||E===et||(w(E),r.current?.setSecondaryPaneSize(E))},[]),(0,F.useEffect)(()=>{if(!d)return;let c=new URLSearchParams(window.location.search);k!==et?c.set("splitterSize",k.toString()):c.delete("splitterSize"),c.delete("selected"),n.length>0&&n.forEach(z=>c.append("selected",z.id));let v=decodeURIComponent(window.location.hash.slice(1)),E=v.length>0?document.getElementById(v):null;window.history.replaceState(null,"",`?${c.toString()}${E?window.location.hash:""}`),window.location.hash&&(window.location.hash=window.location.hash),E?.scrollIntoView()},[n,k]),(0,F.useEffect)(()=>{if(!d)return;o.forEach(z=>z());let c=a.current?.getOverlays();a.current?.getElementRegistry()?.filter(Qo)?.forEach(z=>{c?.add(z.id,Ua(z))})},[d,e.showHeatmap,e.heatmapService,e.heatmapType]),(0,F.useEffect)(()=>{if(!e.heatmapService||!a.current||!d||!e.heatmapType)return;let c=e.showHeatmap===!0,v;h.current?(v=e.heatmapService.hasRuntimeEntry()?"runtime":"processcosts",h.current=!1):v=e.heatmapType,e.heatmapService.applyHeatmap(c,v,{viewer:a.current})},[d,e.showHeatmap,e.heatmapService,e.heatmapType]),(0,F.useEffect)(()=>{e.setSelectedElementIds?.(n.map(c=>c.id))},[n]),(0,F.useImperativeHandle)(t,()=>({bpmnViewerRef:{getElementRegistry(){return a.current?.getElementRegistry()},getOverlays(){return a.current?.getOverlays()},addMarker(c,v){a.current?.addMarker(c,v)},removeMarker(c,v){a.current?.removeMarker(c,v)},hasMarker(c,v){return a.current?.hasMarker(c,v)},showHeatmap(c){a.current?.showHeatmap(c)},clearHeatmap(c){a.current?.clearHeatmap(c)},onImportDone(c){d?c():s(v=>[...v,c])}}}),[a.current]),F.default.createElement(Qe,{ref:r,vertical:!0,percentage:!0,secondaryInitialSize:et,secondaryDefaultSize:et,onDragEnd:(c,v)=>w(Math.round(v))},F.default.createElement(mt,{ref:a,xml:e.xml,preselectedElementIds:p,onSelectionChanged:c=>i([...c]),onImportDone:()=>u(!0)}),F.default.createElement("div",{className:"app-sdk-flex app-sdk-justify-center app-sdk-h-full app-sdk-bg-[color:var(--asdk-ddi-background-color)]"},F.default.createElement(Oa,{elements:n})))}function Oa({elements:e}){if(e.length===0)return F.default.createElement("p",{className:"app-sdk-m-0 app-sdk-p-6"},"Please select an element");let t=e.filter(Qo);if(t.length===0)return F.default.createElement("p",{className:"app-sdk-m-0 app-sdk-p-6"},"No documentation available");if(t.length===1){let o=(0,ft.getBusinessObject)(t[0])?.documentation?.[0]?.text;return F.default.createElement(ut,{documentation:o})}return F.default.createElement(ut,{documentation:t.map(o=>(0,ft.getBusinessObject)(o)?.documentation?.[0]?.text).join(`
<hr />
`)})}var tt=({showBackground:e})=>F.default.createElement("div",{title:"This element has documentation"},F.default.createElement("svg",{className:`${e?"app-sdk-bg-[color:var(--asdk-ddi-background-color)] app-sdk-p-[2px] app-sdk-rounded":""}`,xmlns:"http://www.w3.org/2000/svg",height:"16",viewBox:"0 0 448 512"},F.default.createElement("path",{d:"M64 0C28.7 0 0 28.7 0 64L0 448l0 0c0 35.3 28.7 64 64 64H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H416V413.3c18.6-6.6 32-24.4 32-45.3V48c0-26.5-21.5-48-48-48H64zM384 416v64H64c-17.7 0-32-14.3-32-32s14.3-32 32-32H384zM64 384c-11.7 0-22.6 3.1-32 8.6L32 64c0-17.7 14.3-32 32-32H96V384H64zm64 0V32H400c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16H128zm48-240c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H192c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H192c-8.8 0-16 7.2-16 16z"}))),La=["bpmn:DataInputAssociation","bpmn:DataOutputAssociation","bpmn:SequenceFlow","label"],ot={DEFAULT:{top:4,right:21},PARTICIPANT:{top:3,left:3},ANNOTATION:{bottom:10,left:10},GATEWAY:{bottom:17,right:17},OTHER:{bottom:12,right:12}};function Ua(e){return e.type.endsWith("Task")||e.type==="bpmn:CallActivity"||e.type==="bpmn:Collaboration"||e.type==="bpmn:Group"||e.type==="bpmn:Lane"||e.type==="bpmn:SubProcess"?{position:ot.DEFAULT,html:(0,Oe.renderToString)(F.default.createElement(tt,null))}:e.type==="bpmn:Participant"?{position:ot.PARTICIPANT,html:(0,Oe.renderToString)(F.default.createElement(tt,null))}:e.type.endsWith("Gateway")?{position:ot.GATEWAY,html:(0,Oe.renderToString)(F.default.createElement(tt,{showBackground:!0}))}:e.type==="bpmn:TextAnnotation"?{position:ot.ANNOTATION,html:(0,Oe.renderToString)(F.default.createElement(tt,{showBackground:!0}))}:{position:ot.OTHER,html:(0,Oe.renderToString)(F.default.createElement(tt,{showBackground:!0}))}}function Qo(e){if(La.includes(e.type))return!1;let o=(0,ft.getBusinessObject)(e)?.documentation?.[0]?.text;return o!=null&&o.trim()!==""}var Le=(0,Zo.forwardRef)(Ba);function Va(e){return F.default.createElement(Le,{...e,ref:e.viewerRef})}var Aa=(0,Ko.default)(()=>Promise.resolve(Va),{ssr:!1});var K=l(require("react"),1),De=require("@headlessui/react");function A(...e){return e.filter(Boolean).join(" ")}function _a(e){return K.default.createElement(De.Menu,{as:"div",className:"app-sdk-default-styles app-sdk-relative app-sdk-inline-block app-sdk-text-left"},K.default.createElement("div",null,K.default.createElement(De.Menu.Button,{className:"app-sdk-cursor-pointer app-sdk-bg-transparent app-sdk-p-0 app-sdk-text-[100%] app-sdk-flex app-sdk-items-center app-sdk-rounded-full app-sdk-text-[color:var(--asdk-ddm-icon-text-color)] hover:app-sdk-text-[color:var(--asdk-ddm-icon-text-hover-color)] focus:app-sdk-outline-none focus:app-sdk-ring-2 focus:app-sdk-ring-[color:var(--asdk-ddm-focus-color)] "},K.default.createElement("span",{className:"app-sdk-sr-only"},"Open options"),e.collapsedIcon||K.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:"app-sdk-h-5 app-sdk-w-5"},K.default.createElement("path",{d:"M6 10a2 2 0 11-4 0 2 2 0 014 0zM12 10a2 2 0 11-4 0 2 2 0 014 0zM16 12a2 2 0 100-4 2 2 0 000 4z"})))),K.default.createElement(De.Transition,{as:K.Fragment,enter:"app-sdk-transition app-sdk-ease-out app-sdk-duration-100",enterFrom:"app-sdk-transform app-sdk-opacity-0 app-sdk-scale-95",enterTo:"app-sdk-transform app-sdk-opacity-100 app-sdk-scale-100",leave:"app-sdk-transition app-sdk-ease-in app-sdk-duration-75",leaveFrom:"app-sdk-transform app-sdk-opacity-100 app-sdk-scale-100",leaveTo:"app-sdk-transform app-sdk-opacity-0 app-sdk-scale-95"},K.default.createElement(De.Menu.Items,{className:"app-sdk-absolute app-sdk-right-0 app-sdk-z-10 app-sdk-mt-2 app-sdk-w-56 app-sdk-origin-top-right app-sdk-rounded-md app-sdk-bg-[color:var(--asdk-ddm-background-color)] app-sdk-shadow-lg app-sdk-ring-1 app-sdk-ring-black app-sdk-ring-opacity-5 focus:app-sdk-outline-none"},K.default.createElement("div",{className:"app-sdk-py-1"},e.children))))}function $a(e){return K.default.createElement(De.Menu.Item,null,({active:t})=>K.default.createElement("button",{type:"button",onClick:()=>e.onClick(),className:A(t?"app-sdk-bg-[color:var(--asdk-ddm-entry-background-hover-color)]":"app-sdk-bg-transparent","app-sdk-cursor-pointer app-sdk-p-0 app-sdk-text-[100%] app-sdk-block app-sdk-w-full app-sdk-px-4 app-sdk-py-2 app-sdk-text-left app-sdk-text-sm",e.isDanger?"app-sdk-text-[color:var(--asdk-ddm-danger-entry-text-color)]":"app-sdk-text-[color:var(--asdk-ddm-default-entry-text-color)]",e.className??"")},e.title))}var ts=require("next/navigation"),os=l(require("react"),1);var es=new Set;function V(e,t){es.has(e)||(console.warn(`[@5minds/processcube_app_sdk] Warning: The component "${e}" is deprecated.
${t??""}`.trimEnd()),es.add(e))}function Ha({href:e,children:t}){V("DynamicLink","Please use the NextJS Link component instead.");let o=(0,ts.useRouter)();return os.default.createElement("a",{href:e,onClick:s=>{s.preventDefault(),o.replace(e),o.refresh()}},t)}var cs=l(require("bpmn-js/lib/Viewer"),1),ms=l(require("bpmn-js/lib/features/outline"),1),us=l(require("diagram-js/lib/navigation/movecanvas"),1),fs=l(require("diagram-js/lib/navigation/zoomscroll"),1),ht=l(require("react"),1);var wn=require("./components/bpmnViewerComponent/bpmnViewer.css");var ds=require("react-dom/client"),ps=require("uuid"),ls=l(require("react"),1);var T=l(require("react"),1),L=require("@heroui/react"),is=l(require("@monaco-editor/react"),1);var Te=l(require("react"),1);var ss=l(require("react"),1);function ko(e){V("ExecutionCount");let t={width:30};return e.count<=1?null:ss.default.createElement("div",{style:t,className:"bpmn-element-overlay__below-item bpmn-element-overlay__below-item--execution-count"},e.count)}var H=l(require("react"),1);function ho(e){return V("GotoButton"),H.default.createElement("div",{onClick:e.onClick,className:"bpmn-element-overlay__below-item bpmn-element-overlay__below-item--action"},H.default.createElement("div",{className:"action-icon"},H.default.createElement("svg",{width:"14px",height:"14px",viewBox:"0 0 512 512",version:"1.1",xmlns:"http://www.w3.org/2000/svg",fill:"#000000"},H.default.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:"0"}),H.default.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),H.default.createElement("g",{id:"SVGRepo_iconCarrier"}," ",H.default.createElement("title",null,"open-external")," ",H.default.createElement("g",{id:"Page-1",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"}," ",H.default.createElement("g",{id:"icon",fill:"#FFFFFF",transform:"translate(85.333333, 64.000000)"}," ",H.default.createElement("path",{d:"M128,63.999444 L128,106.666444 L42.6666667,106.666667 L42.6666667,320 L256,320 L256,234.666444 L298.666,234.666444 L298.666667,362.666667 L4.26325641e-14,362.666667 L4.26325641e-14,64 L128,63.999444 Z M362.666667,1.42108547e-14 L362.666667,170.666667 L320,170.666667 L320,72.835 L143.084945,249.751611 L112.915055,219.581722 L289.83,42.666 L192,42.6666667 L192,1.42108547e-14 L362.666667,1.42108547e-14 Z",id:"Combined-Shape"}," ")," ")," ")," "))),H.default.createElement("div",{className:"action-icon-hovered"},H.default.createElement("svg",{width:"14px",height:"14px",viewBox:"0 0 512 512",version:"1.1",xmlns:"http://www.w3.org/2000/svg",fill:"#000000"},H.default.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:"0"}),H.default.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),H.default.createElement("g",{id:"SVGRepo_iconCarrier"}," ",H.default.createElement("title",null,"goto process")," ",H.default.createElement("g",{id:"Page-1",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"}," ",H.default.createElement("g",{id:"icon",fill:"#FFFFFF",transform:"translate(85.333333, 64.000000)"}," ",H.default.createElement("path",{d:"M128,63.999444 L128,106.666444 L42.6666667,106.666667 L42.6666667,320 L256,320 L256,234.666444 L298.666,234.666444 L298.666667,362.666667 L4.26325641e-14,362.666667 L4.26325641e-14,64 L128,63.999444 Z M362.666667,1.42108547e-14 L362.666667,170.666667 L320,170.666667 L320,72.835 L143.084945,249.751611 L112.915055,219.581722 L289.83,42.666 L192,42.6666667 L192,1.42108547e-14 L362.666667,1.42108547e-14 Z",id:"Combined-Shape"}," ")," ")," ")," "))))}var pe=l(require("react"),1);function go(e){return V("PlayButton"),pe.default.createElement("div",{onClick:e.onClick,className:"bpmn-element-overlay__below-item bpmn-element-overlay__below-item--action"},pe.default.createElement("div",{className:"action-icon"},pe.default.createElement("svg",{width:"14px",height:"14px",viewBox:"0 0 24 24",color:"white",fill:"none",xmlns:"http://www.w3.org/2000/svg"},pe.default.createElement("g",{id:"Media / Play",color:"white"},pe.default.createElement("path",{id:"Vector",d:"M5 17.3336V6.66698C5 5.78742 5 5.34715 5.18509 5.08691C5.34664 4.85977 5.59564 4.71064 5.87207 4.67499C6.18868 4.63415 6.57701 4.84126 7.35254 5.25487L17.3525 10.5882L17.3562 10.5898C18.2132 11.0469 18.642 11.2756 18.7826 11.5803C18.9053 11.8462 18.9053 12.1531 18.7826 12.4189C18.6418 12.7241 18.212 12.9537 17.3525 13.4121L7.35254 18.7454C6.57645 19.1593 6.1888 19.3657 5.87207 19.3248C5.59564 19.2891 5.34664 19.1401 5.18509 18.9129C5 18.6527 5 18.2132 5 17.3336Z",stroke:"#FFFFFF","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})))),pe.default.createElement("div",{className:"action-icon-hovered"},pe.default.createElement("svg",{width:"14px",height:"14px",viewBox:"0 0 24 24",color:"white",fill:"white",xmlns:"http://www.w3.org/2000/svg"},pe.default.createElement("g",{id:"Media / Play",color:"white"},pe.default.createElement("path",{id:"Vector",d:"M5 17.3336V6.66698C5 5.78742 5 5.34715 5.18509 5.08691C5.34664 4.85977 5.59564 4.71064 5.87207 4.67499C6.18868 4.63415 6.57701 4.84126 7.35254 5.25487L17.3525 10.5882L17.3562 10.5898C18.2132 11.0469 18.642 11.2756 18.7826 11.5803C18.9053 11.8462 18.9053 12.1531 18.7826 12.4189C18.6418 12.7241 18.212 12.9537 17.3525 13.4121L7.35254 18.7454C6.57645 19.1593 6.1888 19.3657 5.87207 19.3248C5.59564 19.2891 5.34664 19.1401 5.18509 18.9129C5 18.6527 5 18.2132 5 17.3336Z",stroke:"#FFFFFF","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})))))}var ve=l(require("react"),1);function wo(e){return V("RetryButton"),ve.default.createElement("div",{onClick:e.onClick,className:"bpmn-element-overlay__below-item bpmn-element-overlay__below-item--action"},ve.default.createElement("div",{className:"action-icon"},ve.default.createElement("svg",{width:"14px",height:"14px",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},ve.default.createElement("path",{fill:"#FFFFFF",d:"M10.7667,0.493645 C9.11991,-0.113331 7.31921,-0.161915 5.64208,0.355379 C4.48206,0.713177 3.42569,1.32796 2.54743,2.14597 L1.70711,1.30564 C1.07714,0.675676 0,1.12184 0,2.01275 L0,6.00002 L3.98727,6.00002 C4.87818,6.00002 5.32434,4.92288 4.69438,4.29291 L3.96284,3.56137 C4.61101,2.97184 5.38443,2.52782 6.23156,2.26653 C7.4894,1.87856 8.83993,1.915 10.075,2.37023 C11.3101,2.82547 12.3612,3.67423 13.0664,4.78573 C13.7716,5.89723 14.0916,7.20978 13.9773,8.52112 C13.863,9.83246 13.3206,11.0698 12.4337,12.0425 C11.5469,13.0152 10.3647,13.6693 9.06949,13.9039 C7.77425,14.1385 6.43779,13.9407 5.26607,13.3409 C4.09434,12.7412 3.15236,11.7727 2.5853,10.5848 C2.34738,10.0864 1.75046,9.8752 1.25205,10.1131 C0.753645,10.351 0.542478,10.948 0.7804,11.4464 C1.53649,13.0302 2.79245,14.3215 4.35475,15.1213 C5.91706,15.921 7.699,16.1847 9.42598,15.8719 C11.153,15.559 12.7291,14.687 13.9116,13.39 C15.0941,12.0931 15.8173,10.4433 15.9698,8.69483 C16.1222,6.94637 15.6954,5.1963 14.7552,3.7143 C13.815,2.2323 12.4135,1.10062 10.7667,0.493645 Z"}))),ve.default.createElement("div",{className:"action-icon-hovered"},ve.default.createElement("svg",{width:"14px",height:"14px",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},ve.default.createElement("path",{fill:"#FFFFFF",d:"M10.7667,0.493645 C9.11991,-0.113331 7.31921,-0.161915 5.64208,0.355379 C4.48206,0.713177 3.42569,1.32796 2.54743,2.14597 L1.70711,1.30564 C1.07714,0.675676 0,1.12184 0,2.01275 L0,6.00002 L3.98727,6.00002 C4.87818,6.00002 5.32434,4.92288 4.69438,4.29291 L3.96284,3.56137 C4.61101,2.97184 5.38443,2.52782 6.23156,2.26653 C7.4894,1.87856 8.83993,1.915 10.075,2.37023 C11.3101,2.82547 12.3612,3.67423 13.0664,4.78573 C13.7716,5.89723 14.0916,7.20978 13.9773,8.52112 C13.863,9.83246 13.3206,11.0698 12.4337,12.0425 C11.5469,13.0152 10.3647,13.6693 9.06949,13.9039 C7.77425,14.1385 6.43779,13.9407 5.26607,13.3409 C4.09434,12.7412 3.15236,11.7727 2.5853,10.5848 C2.34738,10.0864 1.75046,9.8752 1.25205,10.1131 C0.753645,10.351 0.542478,10.948 0.7804,11.4464 C1.53649,13.0302 2.79245,14.3215 4.35475,15.1213 C5.91706,15.921 7.699,16.1847 9.42598,15.8719 C11.153,15.559 12.7291,14.687 13.9116,13.39 C15.0941,12.0931 15.8173,10.4433 15.9698,8.69483 C16.1222,6.94637 15.6954,5.1963 14.7552,3.7143 C13.815,2.2323 12.4135,1.10062 10.7667,0.493645 Z"}))))}function yo(e){V("FlowNodeButtonArea");let t={marginTop:"7px"},o=e.flowNode,s=!!e.onRetryClick,a=!o.IsGateway&&o.ProcessInstanceState!=="running"&&o.ProcessInstanceState!=="finished"&&s,r=!!e.onGotoClick,n=(o.IsCallActivity||(o.IsEventReceiver||o.IsEventSender)&&o.LinkedProcessInstanceId)&&r,i=!!e.onPlayClick,d=(o.IsUserTask||o.IsManualTask)&&o.State==="suspended"&&i;return Te.default.createElement("div",{className:"flownode-overlay",style:t},Te.default.createElement("div",{className:"bpmn-element-overlay__below"},a&&Te.default.createElement(wo,{onClick:e.onRetryClick,flowNode:e.flowNode}),Te.default.createElement(ko,{count:e.flowNode.ExecutionCount}),n&&Te.default.createElement(ho,{onClick:e.onGotoClick}),d&&Te.default.createElement(go,{onClick:e.onPlayClick})))}var vo=l(require("react"),1);function bo(e){V("FlowNodeColorArea");let t={width:e.width,height:e.height},o="",s={width:e.width,height:e.height};return e.flowNode.IsGateway?(s.height*=.7,s.width*=.7,o="bpmn-element-overlay-backdrop--gateway"):e.flowNode.IsEvent&&(o="bpmn-element-overlay-backdrop--rounded"),vo.default.createElement("div",{onClick:e.onClick,className:"bpmn-element-overlay-backdrop cursor-pointer",style:t},vo.default.createElement("div",{className:`flow-node-${e.flowNode.State}-state-overlay ${o}`,style:s}))}var as=require("react-dom/client"),rs=l(require("react-markdown"),1),ns=l(require("remark-gfm"),1),Y=l(require("react"),1),Io=require("@heroui/react"),No=l(require("@monaco-editor/react"),1);function xo(e){V("FlowNodeInfoComponent");function t(o){setTimeout(()=>{o.getAction("editor.action.formatDocument").run(),o.updateOptions({readOnly:!0})},300)}return(0,Y.useEffect)(()=>{let o=Y.default.createElement(rs.default,{remarkPlugins:[ns.default]},e.flowNode.Documentation),s=document.getElementById("markdown-container");if(s){let a=s.attachShadow({mode:"open"});(0,as.createRoot)(a).render(o)}},[]),Y.default.createElement(Y.default.Fragment,null,Y.default.createElement(Io.Divider,{className:"my-2"}),Y.default.createElement("div",{className:"flex-row"},Y.default.createElement("div",{className:"token-area"},Y.default.createElement("p",null,"Start Token:"),Y.default.createElement(No.default,{className:"monaco-editor",height:"25vh",defaultLanguage:"json",theme:"vs-light",defaultValue:JSON.stringify(e.flowNode.CurrentStartToken,null,2),onMount:t,options:{formatOnPaste:!0,formatOnType:!0,minimap:{enabled:!1},lineNumbers:"off"}}),Y.default.createElement(Io.Divider,{className:"my-2"}),Y.default.createElement("p",null,"End Token:"),Y.default.createElement(No.default,{className:"monaco-editor",height:"25vh",defaultLanguage:"json",theme:"vs-light",defaultValue:JSON.stringify(e.flowNode.CurrentEndToken,null,2),onMount:t,options:{formatOnPaste:!0,formatOnType:!0,minimap:{enabled:!1},lineNumbers:"off"}})),Y.default.createElement("div",{className:"documentation-area"},Y.default.createElement("p",null,"Dokumentation:"),Y.default.createElement("div",{id:"markdown-container"}))))}function Co(e){V("FlowNodeOverlay");let t=(0,L.useDisclosure)(),o=(0,L.useDisclosure)(),[s,a]=(0,T.useState)(JSON.stringify(e.flowNode.CurrentStartToken));function r(i){setTimeout(()=>{i.getAction("editor.action.formatDocument").run()},300)}let n={width:e.width,height:e.height+10};return T.default.createElement(T.default.Fragment,null,T.default.createElement("div",{style:n},T.default.createElement(bo,{onClick:o.onOpen,...e}),T.default.createElement(yo,{onRetryClick:e.retryAction?t.onOpen:void 0,onGotoClick:e.gotoProcessAction?()=>e.gotoProcessAction(e.flowNode.LinkedProcessInstanceId??""):void 0,onPlayClick:e.gotoManualOrUserTaskAction?()=>e.gotoManualOrUserTaskAction(e.flowNode.ProcessInstanceId,e.flowNode.Id):void 0,flowNode:e.flowNode})),T.default.createElement(L.Modal,{isOpen:t.isOpen,onOpenChange:t.onOpenChange},T.default.createElement(L.ModalContent,null,i=>T.default.createElement(T.default.Fragment,null,T.default.createElement(L.ModalHeader,{className:"flex flex-col gap-1"},"Confirm Retry"),T.default.createElement(L.ModalBody,null,T.default.createElement(L.Divider,{className:"my-2"}),T.default.createElement("p",null,"Are you sure you want to retry process instance ",e.flowNode.CurrentFlowNodeInstanceId,"?"),T.default.createElement(L.Divider,{className:"my-2"}),T.default.createElement(is.default,{className:"monaco-editor",height:"25vh",defaultLanguage:"json",theme:"vs-light",defaultValue:JSON.stringify(e.flowNode.CurrentStartToken,null,2),onChange:(d,u)=>a(d??""),onMount:r,options:{formatOnPaste:!0,formatOnType:!0,minimap:{enabled:!1},lineNumbers:"off"}})),T.default.createElement(L.ModalFooter,null,T.default.createElement(L.Button,{color:"warning",variant:"light",onPress:i},"Close"),T.default.createElement(L.Button,{color:"primary",onPress:()=>{e.retryAction?.(e.flowNode.ProcessInstanceId,e.flowNode.CurrentFlowNodeInstanceId,JSON.parse(s)),i()}},"Retry"))))),T.default.createElement(L.Modal,{size:"4xl",isOpen:o.isOpen,onOpenChange:o.onOpenChange},T.default.createElement(L.ModalContent,null,i=>T.default.createElement(T.default.Fragment,null,T.default.createElement(L.ModalHeader,{className:"flex flex-col gap-1"},"FlowNode: ",e.flowNode.Name??e.flowNode.Id),T.default.createElement(L.ModalBody,null,T.default.createElement(xo,{flowNode:e.flowNode})),T.default.createElement(L.ModalFooter,null,T.default.createElement(L.Button,{color:"primary",onPress:i},"Close"))))))}var kt=class{id;flowNodeInstances;processInstanceState;documentation;triggeredFlowNodeInstance;type;get Id(){return this.id}get Name(){return this.flowNodeInstances.at(-1)?.flowNodeName}get CurrentFlowNodeInstanceId(){return this.flowNodeInstances.at(-1)?.flowNodeInstanceId}get CurrentStartToken(){return this.flowNodeInstances.at(-1)?.startToken}get CurrentEndToken(){return this.flowNodeInstances.at(-1)?.endToken}get LinkedProcessInstanceId(){let t=this.flowNodeInstances.at(-1);if(this.IsCallActivity)return t.childProcessInstanceId;if(this.IsEventReceiver)return t?.triggeredByFlowNodeInstance?.processInstanceId;if(this.IsEventSender&&this.triggeredFlowNodeInstance)return this.triggeredFlowNodeInstance.processInstanceId}get State(){return this.flowNodeInstances.at(-1)?.state??""}get Documentation(){return this.documentation}get ProcessInstanceState(){return this.processInstanceState}get IsGateway(){return this.type==="bpmn:ComplexGateway"||this.type==="bpmn:ParallelGateway"||this.type==="bpmn:ExclusiveGateway"||this.type==="bpmn:InclusiveGateway"||this.type==="bpmn:EventBasedGateway"}get IsEvent(){return this.type==="bpmn:StartEvent"||this.type==="bpmn:EndEvent"||this.type==="bpmn:IntermediateCatchEvent"||this.type==="bpmn:IntermediateThrowEvent"||this.type==="bpmn:BoundaryEvent"}get IsEventReceiver(){return this.type==="bpmn:StartEvent"||this.type==="bpmn:IntermediateCatchEvent"||this.type==="bpmn:BoundaryEvent"||this.type==="bpmn:ReceiveTask"}get IsEventSender(){return this.type==="bpmn:EndEvent"||this.type==="bpmn:IntermediateThrowEvent"||this.type==="bpmn:SendTask"}get IsCallActivity(){return this.type==="bpmn:CallActivity"}get IsUserTask(){return this.type==="bpmn:UserTask"}get IsManualTask(){return this.type==="bpmn:ManualTask"}get ExecutionCount(){return this.flowNodeInstances.length}get ProcessInstanceId(){return this.flowNodeInstances.at(-1)?.processInstanceId??""}constructor(t,o,s,a){this.id=t,this.flowNodeInstances=[],this.processInstanceState=o,this.documentation=s,this.triggeredFlowNodeInstance=a,this.type=""}addFlowNodeInstance(t){this.flowNodeInstances.push(t),this.type=t.flowNodeType}},st=class{canvas;overlays;elementRegistry;overlayIds;overlayRoots;constructor(t){V("BpmnViewerOverlayCreator"),this.canvas=t.get("canvas"),this.overlays=t.get("overlays"),this.elementRegistry=t.get("elementRegistry"),this.overlayIds=[],this.overlayRoots={}}createOverlaysFlowNodeInstances(t,o,s,a,r,n){let i=this.getExecutedFlowNodes(o,t,s);this.overlayIds=[];for(let u of i){let p=this.elementRegistry.get(u.Id);this.getOrCreateOverlayRoot(u)?.render(ls.default.createElement(Co,{flowNode:u,width:p.width,height:p.height,retryAction:a,gotoProcessAction:r,gotoManualOrUserTaskAction:n})),this.setSequenceFlowsColor(p,i)}let d=[];for(let u in this.overlayRoots)i.find(m=>m.Id===u)||d.push(u);d.forEach(u=>{let p=this.elementRegistry.get(u);this.removeSequenceFlowsColor(p),this.overlayRoots[u].unmount(),delete this.overlayRoots[u]})}getOrCreateOverlayRoot(t){if(t.Id in this.overlayRoots)return this.overlayRoots[t.Id];let o=`bpmn-element-overlay-${(0,ps.v4)()}`,s=`<div id="${o}"></div>`,a=this.overlays.add(t.Id,{position:{top:0,left:0},html:s});this.overlayIds.push(a);let r=document.querySelector(`#${o}`);if(r){let n=(0,ds.createRoot)(r);return this.overlayRoots[t.Id]=n,n}}getExecutedFlowNodes(t,o,s){let a=[],r={};for(let n of s)n.triggeredByFlowNodeInstance&&(r[n.triggeredByFlowNodeInstance?.flowNodeInstanceId]=n);for(let n of t){let i=a.find(d=>d.Id===n.flowNodeId);if(!i){let d=this.elementRegistry.get(n.flowNodeId),u=d.businessObject.documentation?d.businessObject.documentation[0].text:"";i=new kt(n.flowNodeId,o,u,r[n.flowNodeInstanceId]),a.push(i)}i.addFlowNodeInstance(n)}return a}setSequenceFlowsColor(t,o){if(t&&t.businessObject.incoming)for(let s of t.businessObject.incoming)o.find(r=>r.Id===s.sourceRef?.id)&&this.canvas.addMarker(s.id,"connection-done")}removeSequenceFlowsColor(t){if(t&&t.businessObject.incoming){for(let o of t.businessObject.incoming)this.canvas.removeMarker(o.id,"connection-done");if(t.businessObject.outgoing)for(let o of t.businessObject.outgoing)this.canvas.removeMarker(o.id,"connection-done")}}};var za={canvas:{autoFocus:!0}},Fo=class extends ht.default.Component{containerRef;bpmnViewer;bpmnViewerOverlayCreator;constructor(t){super(t),V("BpmnViewerComponent"),this.state={diagramXML:""},this.containerRef=ht.default.createRef()}componentDidMount(){let{diagramXML:t,options:o}=this.props,s=this.containerRef.current;if(this.bpmnViewer=new cs.default({container:s,height:o?.height??600,bpmnRenderer:{defaultFillColor:o?.fillColor,defaultStrokeColor:o?.strokeColor},additionalModules:[fs.default,us.default,ms.default],...za}),this.bpmnViewerOverlayCreator=new st(this.bpmnViewer),t)return this.displayDiagram(t)}componentWillUnmount(){this.bpmnViewer.destroy()}componentDidUpdate(t,o){let{props:s,state:a}=this,r=s.diagramXML||a.diagramXML,n=t.diagramXML||o.diagramXML;if(r&&r!==n)return this.displayDiagram(r);this.bpmnViewerOverlayCreator.createOverlaysFlowNodeInstances(this.props.processInstanceState,this.props.flowNodeInstances,s.flowNodeInstancesTriggeredByThisProcessInstance,s.retryAction,s.gotoProcessAction,s.gotoManualOrUserTaskAction)}displayDiagram(t){this.bpmnViewer.importXML(t).then(()=>{let o=this.bpmnViewer.get("canvas"),s=o.viewbox(),a={x:s.outer.width/2,y:s.outer.height/2};o.zoom("fit-viewport",a),this.bpmnViewerOverlayCreator.createOverlaysFlowNodeInstances(this.props.processInstanceState,this.props.flowNodeInstances,this.props.flowNodeInstancesTriggeredByThisProcessInstance,this.props.retryAction,this.props.gotoProcessAction,this.props.gotoManualOrUserTaskAction)})}render(){return ht.default.createElement("div",{className:this.props.className,ref:this.containerRef})}};var Me=l(require("react-is"),1),vs=l(require("semver/functions/gt"),1),bs=l(require("semver/functions/prerelease"),1),Is=l(require("semver/functions/satisfies"),1),P=l(require("react"),1),Ns=require("../common/index.cjs");var Pd=require("./components/DynamicUi/DynamicUi.css");var gs=require("@5minds/processcube_engine_sdk");var he=l(require("react"),1);function y(e){if(e!=null&&e.trim()!=="")try{return JSON.parse(e)}catch{return null}return null}var gt=(0,he.forwardRef)(function(t,o){let{formField:s}=t,a=`${s.id}-hint`,r=y(s.customForm);return he.default.createElement("div",{className:"app-sdk-relative app-sdk-flex app-sdk-items-start"},he.default.createElement("div",{className:"app-sdk-flex app-sdk-h-5 app-sdk-items-center"},he.default.createElement("input",{type:"checkbox",className:"app-sdk-form-checkbox app-sdk-border app-sdk-h-4 app-sdk-w-4 app-sdk-rounded app-sdk-border-[color:var(--asdk-dui-border-color)] app-sdk-bg-[color:var(--asdk-dui-formfield-background-color)] app-sdk-text-[color:var(--asdk-dui-formfield-checkbox-text-color)] app-sdk-placeholder-[color:var(--asdk-dui-formfield-placeholder-text-color)] focus:app-sdk-border-[color:var(--asdk-dui-focus-color)] focus:app-sdk-ring-[color:var(--asdk-dui-focus-color)] dark:app-sdk-border-2 dark:app-sdk-border-solid dark:app-sdk-border-transparent dark:focus:app-sdk-shadow-app-sdk-dark",defaultChecked:t.state&&t.state!=="false"||s.defaultValue==="true",id:s.id,name:s.id,"aria-describedby":r?.hint?a:void 0,"data-form-field-type":"boolean"})),he.default.createElement("div",{className:"app-sdk-ml-3 app-sdk-text-sm"},he.default.createElement("label",{className:"app-sdk-font-medium",htmlFor:s.id},s.label),r?.hint&&he.default.createElement("p",{className:"app-sdk-text-[color:var(--asdk-dui-formfield-hint-text-color)]",id:a},r.hint)))});var le=l(require("react"),1);function wt({formField:e,state:t}){let o=y(e.customForm),s=o?.entries,a=`${e.id}-hint`,r;return Array.isArray(t)&&t.length?r=t:r=(t||e.defaultValue?.toString())?.split(",")??[],le.default.createElement("div",null,le.default.createElement("label",{className:"app-sdk-block app-sdk-text-sm app-sdk-font-medium",htmlFor:e.id},e.label),le.default.createElement("fieldset",{id:e.id,className:"app-sdk-pl-0 app-sdk-pb-0 app-sdk-space-y-2","data-type":"checkbox","aria-describedby":o?.hint?`${e.id}-hint`:void 0,"data-form-field-type":"checkbox"},s?.map(n=>{let i=r.find(d=>d.trim()===n.key);return le.default.createElement("div",{key:n.key,className:"app-sdk-relative app-sdk-flex app-sdk-items-start"},le.default.createElement("div",{className:"app-sdk-flex app-sdk-h-5 app-sdk-items-center"},le.default.createElement("input",{type:"checkbox",defaultChecked:i,name:e.id,id:n.key,value:n.key,className:"app-sdk-form-checkbox app-sdk-border app-sdk-h-4 app-sdk-w-4 app-sdk-rounded app-sdk-border-[color:var(--asdk-dui-border-color)] app-sdk-bg-[color:var(--asdk-dui-formfield-background-color)] app-sdk-text-[color:var(--asdk-dui-formfield-checkbox-text-color)] app-sdk-placeholder-[color:var(--asdk-dui-formfield-placeholder-text-color)] focus:app-sdk-border-[color:var(--asdk-dui-focus-color)] focus:app-sdk-ring-[color:var(--asdk-dui-focus-color)] dark:app-sdk-border-2 dark:app-sdk-border-solid dark:app-sdk-border-transparent dark:focus:app-sdk-shadow-app-sdk-dark"})),le.default.createElement("div",{className:"app-sdk-ml-3 app-sdk-text-sm"},le.default.createElement("label",{htmlFor:n.key,className:"app-sdk-font-medium app-sdk-text-[color:var(--asdk-dui-text-color)]"},n.value)))})),o?.hint&&le.default.createElement("p",{className:"app-sdk-mt-1 app-sdk-text-sm app-sdk-text-[color:var(--asdk-dui-formfield-hint-text-color)]",id:a},o?.hint))}var Ue=l(require("react"),1);function yt(e){let{formField:t}=e,o=`${t.id}-hint`,s=y(t.customForm);t.defaultValue&&!Ra(t.defaultValue.toString())&&console.warn(`[@5minds/processcube_app_sdk:DynamicUi] Invalid default value for color field "${t.id}"`);let a=e.state||t.defaultValue?.toString();return Ue.default.createElement("div",null,Ue.default.createElement("label",{className:"app-sdk-block app-sdk-text-sm app-sdk-font-medium",htmlFor:t.id},t.label),Ue.default.createElement("div",{className:"app-sdk-mt-1 app-sdk-w-20"},Ue.default.createElement("input",{className:"app-sdk-text-app-sdk-inherit app-sdk-h-8 app-sdk-border app-sdk-block app-sdk-w-full app-sdk-rounded-md app-sdk-border-[color:var(--asdk-dui-border-color)] app-sdk-bg-[color:var(--asdk-dui-formfield-background-color)] app-sdk-placeholder-[color:var(--asdk-dui-formfield-placeholder-text-color)] app-sdk-shadow-sm invalid:app-sdk-border-[color:var(--asdk-dui-formfield-invalid-color)] invalid:app-sdk-ring-1 invalid:app-sdk-ring-[color:var(--asdk-dui-formfield-invalid-color)] focus:app-sdk-border-[color:var(--asdk-dui-focus-color)] focus:app-sdk-ring-[color:var(--asdk-dui-focus-color)] sm:app-sdk-text-sm dark:app-sdk-border-solid dark:app-sdk-border-transparent dark:invalid:app-sdk-shadow-app-sdk-dark-invalid dark:focus:app-sdk-shadow-app-sdk-dark",type:"color",defaultValue:a,id:t.id,name:t.id,placeholder:s?.placeholder,"aria-describedby":o,"data-form-field-type":"color"})),s?.hint&&Ue.default.createElement("p",{className:"app-sdk-mt-2 app-sdk-text-sm app-sdk-text-[color:var(--asdk-dui-formfield-hint-text-color)]",id:o},s?.hint))}function Ra(e){return/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/.test(e?.toString())}var vt=l(require("react"),1),bt=(0,vt.forwardRef)(function(t,o){return vt.default.createElement("p",{className:"app-sdk-text-sm"},t.formField.label)});var Ve=l(require("react"),1);function It({formField:e,state:t}){let o=y(e.customForm);return Ve.default.createElement("div",null,Ve.default.createElement("label",{htmlFor:e.id,className:"app-sdk-block app-sdk-text-sm app-sdk-font-medium"},e.label),Ve.default.createElement("div",{className:"app-sdk-mt-1"},Ve.default.createElement("input",{className:"app-sdk-form-input app-sdk-text-app-sdk-inherit app-sdk-border app-sdk-py-2 app-sdk-px-3 app-sdk-block app-sdk-w-full app-sdk-rounded-md app-sdk-border-[color:var(--asdk-dui-border-color)] app-sdk-bg-[color:var(--asdk-dui-formfield-background-color)] app-sdk-placeholder-[color:var(--asdk-dui-formfield-placeholder-text-color)] app-sdk-shadow-sm invalid:app-sdk-border-[color:var(--asdk-dui-formfield-invalid-color)] invalid:app-sdk-ring-1 invalid:app-sdk-ring-[color:var(--asdk-dui-formfield-invalid-color)] focus:app-sdk-border-[color:var(--asdk-dui-focus-color)] focus:app-sdk-ring-[color:var(--asdk-dui-focus-color)] sm:app-sdk-text-sm dark:app-sdk-border-solid dark:app-sdk-border-transparent dark:invalid:app-sdk-shadow-app-sdk-dark-invalid dark:focus:app-sdk-shadow-app-sdk-dark",type:"text",id:e.id,name:e.id,defaultValue:t||(e.defaultValue?.toString()??""),placeholder:o?.placeholder,"aria-describedby":`${e.id}-hint`,"data-form-field-type":"custom"})),o?.hint&&Ve.default.createElement("p",{id:`${e.id}-hint`,"data-hint":!0,className:"app-sdk-mt-2 app-sdk-text-sm app-sdk-text-[color:var(--asdk-dui-formfield-hint-text-color)]"},o.hint))}var be=l(require("react"),1);var Nt=(0,be.forwardRef)(function(t,o){let{formField:s}=t,a=`${s.id}-hint`,r=y(s.customForm);ja(s.defaultValue)||console.warn(`[@5minds/processcube_app_sdk:DynamicUi] Invalid default value for date field "${s.id}"`);let n=t.state||s.de