UNPKG

@5minds/processcube_app_sdk

Version:
7 lines (4 loc) • 114 kB
"use client";import"client-only";import oa from"bpmn-js/lib/Viewer";import ta from"bpmn-js/lib/features/outline";import aa from"clsx";import sa from"diagram-js/lib/features/selection";import ra from"diagram-js/lib/navigation/movecanvas";import na from"diagram-js/lib/navigation/zoomscroll";import da from"next/dynamic";import{forwardRef as ia,useEffect as pa,useImperativeHandle as la,useRef as tt}from"react";import at from"react";var ca={canvas:{autoFocus:!0}};function ma(e,o){let t=tt(null),a=tt(new oa({bpmnRenderer:{defaultFillColor:"var(--asdk-bv-background-color)",defaultStrokeColor:"var(--asdk-bv-foreground-color)"},additionalModules:[na,ra,sa,ta],...ca}));return la(o,()=>({getOverlays(){return a.current.get("overlays")},getElementRegistry(){return a.current.get("elementRegistry")},addMarker(s,r){a.current.get("canvas")?.addMarker(s,r)},removeMarker(s,r){a.current.get("canvas")?.removeMarker(s,r)},hasMarker(s,r){return a.current.get("canvas")?.hasMarker(s,r)}}),[a.current,t.current]),pa(()=>{if(!t.current)return;let s=a.current;s.attachTo(t.current);let r=s.get("canvas"),n=d=>{e.onSelectionChanged?.(d.newSelection)};return s.importXML(e.xml).then(()=>{let d=r.viewbox(),i={x:d.outer.width/2,y:d.outer.height/2};r.zoom("fit-viewport",i),e.onImportDone?.(),s.on("selection.changed",n);let{preselectedElementIds:f}=e;if(!f||f.length===0)return;let u=s.get("elementRegistry").filter(C=>f.includes(C.id)).sort((C,V)=>f.indexOf(C.id)-f.indexOf(V.id));s.get("selection").select(u??[])}).catch(d=>{console.error(`[@5minds/processcube_app_sdk:BPMNViewer] Error while importing BPMN XML: "${d.message}`)}),()=>{s.off("selection.changed",n),s.detach()}},[e.xml,e.preselectedElementIds]),at.createElement("div",{ref:t,className:aa("app-sdk-bpmn-viewer","app-sdk-h-full",e.className)})}var Qe=ia(ma);function ka(e){return at.createElement(Qe,{...e,ref:e.viewerRef})}var yr=da(()=>Promise.resolve(ka),{ssr:!1});import{getBusinessObject as oo}from"bpmn-js/lib/util/ModelUtil";import ya from"next/dynamic";import L,{forwardRef as ba}from"react";import{useEffect as Ae,useImperativeHandle as xa,useRef as nt,useState as ce}from"react";import{renderToString as me}from"react-dom/server";import st from"react";import ua from"react-markdown";import fa from"rehype-autolink-headings";import ha from"rehype-raw";import ga from"rehype-slug";import wa from"remark-gfm";function eo(e){return st.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"},st.createElement(ua,{remarkPlugins:[wa],rehypePlugins:[ha,ga,[fa,{behavior:"wrap"}]],className:"app-sdk-markdown lg:app-sdk-mx-40 md:app-sdk-mx-20 app-sdk-mx-10"},e.documentation??""))}import ee from"react";var rt=4,ze=class extends ee.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(o){super(o),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:o.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 o;if(this.props.secondaryInitialSize!=null)o=this.props.secondaryInitialSize;else{let t=this.container.getBoundingClientRect(),a;this.splitter?a=this.splitter.getBoundingClientRect():a={width:rt,height:rt},o=this.getSecondaryPaneSize(t,a,{left:t.left+(t.width-a.width)/2,top:t.top+(t.height-a.height)/2},!1)}this.setSecondaryPaneSize(o)}componentDidUpdate(o,t){t.secondaryPaneSize!==this.state.secondaryPaneSize&&this.props.onSizeChanged&&this.props.onSizeChanged(this.state.secondaryPaneSize),t.resizing!==this.state.resizing&&(this.state.resizing?this.props.onDragStart&&this.props.onDragStart(t.secondaryPaneSize):this.props.onDragEnd&&this.props.onDragEnd(t.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 o=document.body.createTextRange();o.collapse(),o.select()}else if(window.getSelection){let o=window.getSelection();if(o==null)return;o.empty?o.empty():o.removeAllRanges&&o.removeAllRanges()}else document.selection&&document.selection.empty()}getSecondaryPaneSize(o,t,a,s){let r=0,n=0,d=0;this.props.vertical?(r=o.height,n=t.height,d=a.top-o.top):(r=o.width,n=t.width,d=a.left-o.left),s&&(d-=n/2),d<0?d=0:d>r-n&&(d=r-n);let i;this.props.primaryIndex===1?i=d:i=r-n-d;let f=r-n-i;return this.props.percentage&&(i=i*100/r,f=f*100/r,n=n*100/r,r=100),f<this.props.primaryMinSize?i=Math.max(i-(this.props.primaryMinSize-f),0):i<this.props.secondaryMinSize&&(i=Math.min(r-n-this.props.primaryMinSize,this.props.secondaryMinSize)),i}setSecondaryPaneSize(o){this.setState({secondaryPaneSize:o})}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 o=this.props.secondaryDefaultSize||this.props.secondaryMinSize;return this.state.secondaryPaneSize===o}reset(){let o=this.props.secondaryDefaultSize||this.props.secondaryMinSize;this.setSecondaryPaneSize(o)}handleResize(){if(this.splitter&&!this.props.percentage){let o=this.container.getBoundingClientRect(),t=this.splitter.getBoundingClientRect(),a=this.getSecondaryPaneSize(o,t,{left:t.left,top:t.top},!1);this.setState({secondaryPaneSize:a})}}handleMouseMove(o){if(this.state.resizing){let t=this.container.getBoundingClientRect(),a=this.splitter.getBoundingClientRect(),s=this.getSecondaryPaneSize(t,a,{left:o.clientX,top:o.clientY},!0);this.clearSelection(),this.setState({secondaryPaneSize:s})}}handleTouchMove(o){this.handleMouseMove(o.changedTouches[0])}handleSplitterMouseDown(o){o.preventDefault(),this.clearSelection(),this.setState({resizing:!0})}handleSplitterDoubleClick(){let o=this.props.secondaryDefaultSize||this.props.secondaryMinSize;this.state.secondaryPaneSize===o?this.setSecondaryPaneSize(Math.floor(o*1.5)):this.setSecondaryPaneSize(o)}handleMouseUp(){this.setState(o=>o.resizing?{resizing:!1}:null)}render(){let o="app-sdk-splitter-layout";this.props.customClassName&&(o+=` ${this.props.customClassName}`),this.props.vertical&&(o+=" app-sdk-splitter-layout-vertical"),this.state.resizing&&(o+=" layout-changing");let t=ee.Children.toArray(this.props.children).slice(0,2);t.length===0&&t.push(ee.createElement("div",null));let a=[],s=this.props.primaryIndex!==0&&this.props.primaryIndex!==1?0:this.props.primaryIndex;for(let r=0;r<t.length;++r){let n=!0,d;t.length>1&&r!==s&&(n=!1,d=this.state.secondaryPaneSize),a.push(ee.createElement(va,{vertical:this.props.vertical,percentage:this.props.percentage,primary:n,size:d},t[r]))}return ee.createElement("div",{className:o,ref:r=>{this.container=r}},a[0],a.length>1&&ee.createElement("div",{role:"separator",className:"app-sdk-layout-splitter"},ee.createElement("div",{className:"app-sdk-layout-splitter__inner",ref:r=>{this.splitter=r},onMouseDown:this.handleSplitterMouseDown,onTouchStart:this.handleSplitterMouseDown,onDoubleClick:this.handleSplitterDoubleClick})),a.length>1&&a[1])}};function va(e={vertical:!1,primary:!1,size:0,percentage:!1,children:[]}){let o=e.size||0,t=e.percentage?"%":"px",a="app-sdk-layout-pane",s={};return e.primary?a+=" app-sdk-layout-pane-primary":e.vertical?s.height=`${o}${t}`:s.width=`${o}${t}`,ee.createElement("div",{className:a,style:s},e.children)}var ke=30;function Na(e,o){let[t,a]=ce([]),s=nt(null),r=nt(null),[n,d]=ce([]),[i,f]=ce(!1),[l,u]=ce([]),[C,V]=ce(ke);return Ae(()=>{if(!window)return;let p=new URLSearchParams(window.location.search),k=p.getAll("selected");if(u(k),!p.has("splitterSize"))return;let I=parseFloat(p.get("splitterSize"));isNaN(I)||I===ke||(V(I),r.current?.setSecondaryPaneSize(I))},[]),Ae(()=>{if(!i)return;let p=new URLSearchParams(window.location.search);C!==ke?p.set("splitterSize",C.toString()):p.delete("splitterSize"),p.delete("selected"),n.length>0&&n.forEach(j=>p.append("selected",j.id));let k=decodeURIComponent(window.location.hash.slice(1)),I=k.length>0?document.getElementById(k):null;window.history.replaceState(null,"",`?${p.toString()}${I?window.location.hash:""}`),window.location.hash&&(window.location.hash=window.location.hash),I?.scrollIntoView()},[n,C]),Ae(()=>{if(!i)return;t.forEach(j=>j());let p=s.current?.getOverlays();s.current?.getElementRegistry()?.filter(dt)?.forEach(j=>{p?.add(j.id,Ca(j))})},[i]),Ae(()=>{e.setSelectedElementIds?.(n.map(p=>p.id))},[n]),xa(o,()=>({bpmnViewerRef:{getElementRegistry(){return s.current?.getElementRegistry()},getOverlays(){return s.current?.getOverlays()},addMarker(p,k){s.current?.addMarker(p,k)},removeMarker(p,k){s.current?.removeMarker(p,k)},hasMarker(p,k){return s.current?.hasMarker(p,k)},onImportDone(p){i?p():a(k=>[...k,p])}}}),[s.current]),L.createElement(ze,{ref:r,vertical:!0,percentage:!0,secondaryInitialSize:ke,secondaryDefaultSize:ke,onDragEnd:(p,k)=>V(Math.round(k))},L.createElement(Qe,{ref:s,xml:e.xml,preselectedElementIds:l,onSelectionChanged:p=>d([...p]),onImportDone:()=>f(!0)}),L.createElement("div",{className:"app-sdk-flex app-sdk-justify-center app-sdk-h-full app-sdk-bg-[color:var(--asdk-ddi-background-color)]"},L.createElement(Ia,{elements:n})))}function Ia({elements:e}){if(e.length===0)return L.createElement("p",{className:"app-sdk-m-0 app-sdk-p-6"},"Please select an element");let o=e.filter(dt);if(o.length===0)return L.createElement("p",{className:"app-sdk-m-0 app-sdk-p-6"},"No documentation available");if(o.length===1){let t=oo(o[0])?.documentation?.[0]?.text;return L.createElement(eo,{documentation:t})}return L.createElement(eo,{documentation:o.map(t=>oo(t)?.documentation?.[0]?.text).join(` <hr /> `)})}var ue=({showBackground:e})=>L.createElement("div",{title:"This element has documentation"},L.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"},L.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"}))),Fa=["bpmn:DataInputAssociation","bpmn:DataOutputAssociation","bpmn:SequenceFlow","label"],fe={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 Ca(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:fe.DEFAULT,html:me(L.createElement(ue,null))}:e.type==="bpmn:Participant"?{position:fe.PARTICIPANT,html:me(L.createElement(ue,null))}:e.type.endsWith("Gateway")?{position:fe.GATEWAY,html:me(L.createElement(ue,{showBackground:!0}))}:e.type==="bpmn:TextAnnotation"?{position:fe.ANNOTATION,html:me(L.createElement(ue,{showBackground:!0}))}:{position:fe.OTHER,html:me(L.createElement(ue,{showBackground:!0}))}}function dt(e){if(Fa.includes(e.type))return!1;let t=oo(e)?.documentation?.[0]?.text;return t!=null&&t.trim()!==""}var to=ba(Na);function Pa(e){return L.createElement(to,{...e,ref:e.viewerRef})}var Hr=ya(()=>Promise.resolve(Pa),{ssr:!1});import{Menu as $e,Transition as Sa}from"@headlessui/react";import G,{Fragment as Da}from"react";function P(...e){return e.filter(Boolean).join(" ")}function Rr(e){return G.createElement($e,{as:"div",className:"app-sdk-default-styles app-sdk-relative app-sdk-inline-block app-sdk-text-left"},G.createElement("div",null,G.createElement($e.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)] "},G.createElement("span",{className:"app-sdk-sr-only"},"Open options"),e.collapsedIcon||G.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"},G.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"})))),G.createElement(Sa,{as:Da,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"},G.createElement($e.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"},G.createElement("div",{className:"app-sdk-py-1"},e.children))))}function Yr(e){return G.createElement($e.Item,null,({active:o})=>G.createElement("button",{type:"button",onClick:()=>e.onClick(),className:P(o?"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))}import{useRouter as Ta}from"next/navigation";import Ma from"react";var it=new Set;function F(e,o){it.has(e)||(console.warn(`[@5minds/processcube_app_sdk] Warning: The component "${e}" is deprecated. ${o??""}`.trimEnd()),it.add(e))}function on({href:e,children:o}){F("DynamicLink","Please use the NextJS Link component instead.");let t=Ta();return Ma.createElement("a",{href:e,onClick:a=>{a.preventDefault(),t.replace(e),t.refresh()}},o)}import Ha from"bpmn-js/lib/Viewer";import ja from"bpmn-js/lib/features/outline";import Ga from"diagram-js/lib/navigation/movecanvas";import Ja from"diagram-js/lib/navigation/zoomscroll";import uo from"react";import za from"react";import{createRoot as Aa}from"react-dom/client";import{v4 as $a}from"uuid";import{Button as co,Divider as mt,Modal as kt,ModalBody as ut,ModalContent as ft,ModalFooter as ht,ModalHeader as gt,useDisclosure as wt}from"@heroui/react";import Va from"@monaco-editor/react";import v,{useState as _a}from"react";import se from"react";import Ea from"react";function ao(e){F("ExecutionCount");let o={width:30};return e.count<=1?null:Ea.createElement("div",{style:o,className:"bpmn-element-overlay__below-item bpmn-element-overlay__below-item--execution-count"},e.count)}import M from"react";function so(e){return F("GotoButton"),M.createElement("div",{onClick:e.onClick,className:"bpmn-element-overlay__below-item bpmn-element-overlay__below-item--action"},M.createElement("div",{className:"action-icon"},M.createElement("svg",{width:"14px",height:"14px",viewBox:"0 0 512 512",version:"1.1",xmlns:"http://www.w3.org/2000/svg",fill:"#000000"},M.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:"0"}),M.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),M.createElement("g",{id:"SVGRepo_iconCarrier"}," ",M.createElement("title",null,"open-external")," ",M.createElement("g",{id:"Page-1",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"}," ",M.createElement("g",{id:"icon",fill:"#FFFFFF",transform:"translate(85.333333, 64.000000)"}," ",M.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"}," ")," ")," ")," "))),M.createElement("div",{className:"action-icon-hovered"},M.createElement("svg",{width:"14px",height:"14px",viewBox:"0 0 512 512",version:"1.1",xmlns:"http://www.w3.org/2000/svg",fill:"#000000"},M.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:"0"}),M.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),M.createElement("g",{id:"SVGRepo_iconCarrier"}," ",M.createElement("title",null,"goto process")," ",M.createElement("g",{id:"Page-1",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"}," ",M.createElement("g",{id:"icon",fill:"#FFFFFF",transform:"translate(85.333333, 64.000000)"}," ",M.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"}," ")," ")," ")," "))))}import q from"react";function ro(e){return F("PlayButton"),q.createElement("div",{onClick:e.onClick,className:"bpmn-element-overlay__below-item bpmn-element-overlay__below-item--action"},q.createElement("div",{className:"action-icon"},q.createElement("svg",{width:"14px",height:"14px",viewBox:"0 0 24 24",color:"white",fill:"none",xmlns:"http://www.w3.org/2000/svg"},q.createElement("g",{id:"Media / Play",color:"white"},q.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"})))),q.createElement("div",{className:"action-icon-hovered"},q.createElement("svg",{width:"14px",height:"14px",viewBox:"0 0 24 24",color:"white",fill:"white",xmlns:"http://www.w3.org/2000/svg"},q.createElement("g",{id:"Media / Play",color:"white"},q.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"})))))}import te from"react";function no(e){return F("RetryButton"),te.createElement("div",{onClick:e.onClick,className:"bpmn-element-overlay__below-item bpmn-element-overlay__below-item--action"},te.createElement("div",{className:"action-icon"},te.createElement("svg",{width:"14px",height:"14px",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},te.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"}))),te.createElement("div",{className:"action-icon-hovered"},te.createElement("svg",{width:"14px",height:"14px",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},te.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 io(e){F("FlowNodeButtonArea");let o={marginTop:"7px"},t=e.flowNode,a=!!e.onRetryClick,s=!t.IsGateway&&t.ProcessInstanceState!=="running"&&t.ProcessInstanceState!=="finished"&&a,r=!!e.onGotoClick,n=(t.IsCallActivity||(t.IsEventReceiver||t.IsEventSender)&&t.LinkedProcessInstanceId)&&r,d=!!e.onPlayClick,i=(t.IsUserTask||t.IsManualTask)&&t.State==="suspended"&&d;return se.createElement("div",{className:"flownode-overlay",style:o},se.createElement("div",{className:"bpmn-element-overlay__below"},s&&se.createElement(no,{onClick:e.onRetryClick,flowNode:e.flowNode}),se.createElement(ao,{count:e.flowNode.ExecutionCount}),n&&se.createElement(so,{onClick:e.onGotoClick}),i&&se.createElement(ro,{onClick:e.onPlayClick})))}import pt from"react";function po(e){F("FlowNodeColorArea");let o={width:e.width,height:e.height},t="",a={width:e.width,height:e.height};return e.flowNode.IsGateway?(a.height*=.7,a.width*=.7,t="bpmn-element-overlay-backdrop--gateway"):e.flowNode.IsEvent&&(t="bpmn-element-overlay-backdrop--rounded"),pt.createElement("div",{onClick:e.onClick,className:"bpmn-element-overlay-backdrop cursor-pointer",style:o},pt.createElement("div",{className:`flow-node-${e.flowNode.State}-state-overlay ${t}`,style:a}))}import{Divider as lt}from"@heroui/react";import ct from"@monaco-editor/react";import z,{useEffect as Ba}from"react";import{createRoot as Oa}from"react-dom/client";import Ua from"react-markdown";import La from"remark-gfm";function lo(e){F("FlowNodeInfoComponent");function o(t){setTimeout(()=>{t.getAction("editor.action.formatDocument").run(),t.updateOptions({readOnly:!0})},300)}return Ba(()=>{let t=z.createElement(Ua,{remarkPlugins:[La]},e.flowNode.Documentation),a=document.getElementById("markdown-container");if(a){let s=a.attachShadow({mode:"open"});Oa(s).render(t)}},[]),z.createElement(z.Fragment,null,z.createElement(lt,{className:"my-2"}),z.createElement("div",{className:"flex-row"},z.createElement("div",{className:"token-area"},z.createElement("p",null,"Start Token:"),z.createElement(ct,{className:"monaco-editor",height:"25vh",defaultLanguage:"json",theme:"vs-light",defaultValue:JSON.stringify(e.flowNode.CurrentStartToken,null,2),onMount:o,options:{formatOnPaste:!0,formatOnType:!0,minimap:{enabled:!1},lineNumbers:"off"}}),z.createElement(lt,{className:"my-2"}),z.createElement("p",null,"End Token:"),z.createElement(ct,{className:"monaco-editor",height:"25vh",defaultLanguage:"json",theme:"vs-light",defaultValue:JSON.stringify(e.flowNode.CurrentEndToken,null,2),onMount:o,options:{formatOnPaste:!0,formatOnType:!0,minimap:{enabled:!1},lineNumbers:"off"}})),z.createElement("div",{className:"documentation-area"},z.createElement("p",null,"Dokumentation:"),z.createElement("div",{id:"markdown-container"}))))}function mo(e){F("FlowNodeOverlay");let o=wt(),t=wt(),[a,s]=_a(JSON.stringify(e.flowNode.CurrentStartToken));function r(d){setTimeout(()=>{d.getAction("editor.action.formatDocument").run()},300)}let n={width:e.width,height:e.height+10};return v.createElement(v.Fragment,null,v.createElement("div",{style:n},v.createElement(po,{onClick:t.onOpen,...e}),v.createElement(io,{onRetryClick:e.retryAction?o.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})),v.createElement(kt,{isOpen:o.isOpen,onOpenChange:o.onOpenChange},v.createElement(ft,null,d=>v.createElement(v.Fragment,null,v.createElement(gt,{className:"flex flex-col gap-1"},"Confirm Retry"),v.createElement(ut,null,v.createElement(mt,{className:"my-2"}),v.createElement("p",null,"Are you sure you want to retry process instance ",e.flowNode.CurrentFlowNodeInstanceId,"?"),v.createElement(mt,{className:"my-2"}),v.createElement(Va,{className:"monaco-editor",height:"25vh",defaultLanguage:"json",theme:"vs-light",defaultValue:JSON.stringify(e.flowNode.CurrentStartToken,null,2),onChange:(i,f)=>s(i??""),onMount:r,options:{formatOnPaste:!0,formatOnType:!0,minimap:{enabled:!1},lineNumbers:"off"}})),v.createElement(ht,null,v.createElement(co,{color:"warning",variant:"light",onPress:d},"Close"),v.createElement(co,{color:"primary",onPress:()=>{e.retryAction?.(e.flowNode.ProcessInstanceId,e.flowNode.CurrentFlowNodeInstanceId,JSON.parse(a)),d()}},"Retry"))))),v.createElement(kt,{size:"4xl",isOpen:t.isOpen,onOpenChange:t.onOpenChange},v.createElement(ft,null,d=>v.createElement(v.Fragment,null,v.createElement(gt,{className:"flex flex-col gap-1"},"FlowNode: ",e.flowNode.Name??e.flowNode.Id),v.createElement(ut,null,v.createElement(lo,{flowNode:e.flowNode})),v.createElement(ht,null,v.createElement(co,{color:"primary",onPress:d},"Close"))))))}var ko=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 o=this.flowNodeInstances.at(-1);if(this.IsCallActivity)return o.childProcessInstanceId;if(this.IsEventReceiver)return o?.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(o,t,a,s){this.id=o,this.flowNodeInstances=[],this.processInstanceState=t,this.documentation=a,this.triggeredFlowNodeInstance=s,this.type=""}addFlowNodeInstance(o){this.flowNodeInstances.push(o),this.type=o.flowNodeType}},he=class{canvas;overlays;elementRegistry;overlayIds;overlayRoots;constructor(o){F("BpmnViewerOverlayCreator"),this.canvas=o.get("canvas"),this.overlays=o.get("overlays"),this.elementRegistry=o.get("elementRegistry"),this.overlayIds=[],this.overlayRoots={}}createOverlaysFlowNodeInstances(o,t,a,s,r,n){let d=this.getExecutedFlowNodes(t,o,a);this.overlayIds=[];for(let f of d){let l=this.elementRegistry.get(f.Id);this.getOrCreateOverlayRoot(f)?.render(za.createElement(mo,{flowNode:f,width:l.width,height:l.height,retryAction:s,gotoProcessAction:r,gotoManualOrUserTaskAction:n})),this.setSequenceFlowsColor(l,d)}let i=[];for(let f in this.overlayRoots)d.find(u=>u.Id===f)||i.push(f);i.forEach(f=>{let l=this.elementRegistry.get(f);this.removeSequenceFlowsColor(l),this.overlayRoots[f].unmount(),delete this.overlayRoots[f]})}getOrCreateOverlayRoot(o){if(o.Id in this.overlayRoots)return this.overlayRoots[o.Id];let t=`bpmn-element-overlay-${$a()}`,a=`<div id="${t}"></div>`,s=this.overlays.add(o.Id,{position:{top:0,left:0},html:a});this.overlayIds.push(s);let r=document.querySelector(`#${t}`);if(r){let n=Aa(r);return this.overlayRoots[o.Id]=n,n}}getExecutedFlowNodes(o,t,a){let s=[],r={};for(let n of a)n.triggeredByFlowNodeInstance&&(r[n.triggeredByFlowNodeInstance?.flowNodeInstanceId]=n);for(let n of o){let d=s.find(i=>i.Id===n.flowNodeId);if(!d){let i=this.elementRegistry.get(n.flowNodeId),f=i.businessObject.documentation?i.businessObject.documentation[0].text:"";d=new ko(n.flowNodeId,t,f,r[n.flowNodeInstanceId]),s.push(d)}d.addFlowNodeInstance(n)}return s}setSequenceFlowsColor(o,t){if(o&&o.businessObject.incoming)for(let a of o.businessObject.incoming)t.find(r=>r.Id===a.sourceRef?.id)&&this.canvas.addMarker(a.id,"connection-done")}removeSequenceFlowsColor(o){if(o&&o.businessObject.incoming){for(let t of o.businessObject.incoming)this.canvas.removeMarker(t.id,"connection-done");if(o.businessObject.outgoing)for(let t of o.businessObject.outgoing)this.canvas.removeMarker(t.id,"connection-done")}}};var Wa={canvas:{autoFocus:!0}},vt=class extends uo.Component{containerRef;bpmnViewer;bpmnViewerOverlayCreator;constructor(o){super(o),F("BpmnViewerComponent"),this.state={diagramXML:""},this.containerRef=uo.createRef()}componentDidMount(){let{diagramXML:o,options:t}=this.props,a=this.containerRef.current;if(this.bpmnViewer=new Ha({container:a,height:t?.height??600,bpmnRenderer:{defaultFillColor:t?.fillColor,defaultStrokeColor:t?.strokeColor},additionalModules:[Ja,Ga,ja],...Wa}),this.bpmnViewerOverlayCreator=new he(this.bpmnViewer),o)return this.displayDiagram(o)}componentWillUnmount(){this.bpmnViewer.destroy()}componentDidUpdate(o,t){let{props:a,state:s}=this,r=a.diagramXML||s.diagramXML,n=o.diagramXML||t.diagramXML;if(r&&r!==n)return this.displayDiagram(r);this.bpmnViewerOverlayCreator.createOverlaysFlowNodeInstances(this.props.processInstanceState,this.props.flowNodeInstances,a.flowNodeInstancesTriggeredByThisProcessInstance,a.retryAction,a.gotoProcessAction,a.gotoManualOrUserTaskAction)}displayDiagram(o){this.bpmnViewer.importXML(o).then(()=>{let t=this.bpmnViewer.get("canvas"),a=t.viewbox(),s={x:a.outer.width/2,y:a.outer.height/2};t.zoom("fit-viewport",s),this.bpmnViewerOverlayCreator.createOverlaysFlowNodeInstances(this.props.processInstanceState,this.props.flowNodeInstances,this.props.flowNodeInstancesTriggeredByThisProcessInstance,this.props.retryAction,this.props.gotoProcessAction,this.props.gotoManualOrUserTaskAction)})}render(){return uo.createElement("div",{className:this.props.className,ref:this.containerRef})}};import y,{Fragment as jo,useRef as xt}from"react";import*as ae from"react-is";import ws from"semver/functions/gt";import vs from"semver/functions/prerelease";import ys from"semver/functions/satisfies";import{mapUserTask as bs}from"../common/index.mjs";import{DataModels as gs}from"@5minds/processcube_engine_sdk";import re,{forwardRef as Xa}from"react";function m(e){if(e!=null&&e.trim()!=="")try{return JSON.parse(e)}catch{return null}return null}var fo=Xa(function(o,t){let{formField:a}=o,s=`${a.id}-hint`,r=m(a.customForm);return re.createElement("div",{className:"app-sdk-relative app-sdk-flex app-sdk-items-start"},re.createElement("div",{className:"app-sdk-flex app-sdk-h-5 app-sdk-items-center"},re.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:o.state&&o.state!=="false"||a.defaultValue==="true",id:a.id,name:a.id,"aria-describedby":r?.hint?s:void 0,"data-form-field-type":"boolean"})),re.createElement("div",{className:"app-sdk-ml-3 app-sdk-text-sm"},re.createElement("label",{className:"app-sdk-font-medium",htmlFor:a.id},a.label),r?.hint&&re.createElement("p",{className:"app-sdk-text-[color:var(--asdk-dui-formfield-hint-text-color)]",id:s},r.hint)))});import Z from"react";function ho({formField:e,state:o}){let t=m(e.customForm),a=t?.entries,s=`${e.id}-hint`,r;return Array.isArray(o)&&o.length?r=o:r=(o||e.defaultValue?.toString())?.split(",")??[],Z.createElement("div",null,Z.createElement("label",{className:"app-sdk-block app-sdk-text-sm app-sdk-font-medium",htmlFor:e.id},e.label),Z.createElement("fieldset",{id:e.id,className:"app-sdk-pl-0 app-sdk-pb-0 app-sdk-space-y-2","data-type":"checkbox","aria-describedby":t?.hint?`${e.id}-hint`:void 0,"data-form-field-type":"checkbox"},a?.map(n=>{let d=r.find(i=>i.trim()===n.key);return Z.createElement("div",{key:n.key,className:"app-sdk-relative app-sdk-flex app-sdk-items-start"},Z.createElement("div",{className:"app-sdk-flex app-sdk-h-5 app-sdk-items-center"},Z.createElement("input",{type:"checkbox",defaultChecked:d,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"})),Z.createElement("div",{className:"app-sdk-ml-3 app-sdk-text-sm"},Z.createElement("label",{htmlFor:n.key,className:"app-sdk-font-medium app-sdk-text-[color:var(--asdk-dui-text-color)]"},n.value)))})),t?.hint&&Z.createElement("p",{className:"app-sdk-mt-1 app-sdk-text-sm app-sdk-text-[color:var(--asdk-dui-formfield-hint-text-color)]",id:s},t?.hint))}import ge from"react";function go(e){let{formField:o}=e,t=`${o.id}-hint`,a=m(o.customForm);o.defaultValue&&!Ra(o.defaultValue.toString())&&console.warn(`[@5minds/processcube_app_sdk:DynamicUi] Invalid default value for color field "${o.id}"`);let s=e.state||o.defaultValue?.toString();return ge.createElement("div",null,ge.createElement("label",{className:"app-sdk-block app-sdk-text-sm app-sdk-font-medium",htmlFor:o.id},o.label),ge.createElement("div",{className:"app-sdk-mt-1 app-sdk-w-20"},ge.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:s,id:o.id,name:o.id,placeholder:a?.placeholder,"aria-describedby":t,"data-form-field-type":"color"})),a?.hint&&ge.createElement("p",{className:"app-sdk-mt-2 app-sdk-text-sm app-sdk-text-[color:var(--asdk-dui-formfield-hint-text-color)]",id:t},a?.hint))}function Ra(e){return/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/.test(e?.toString())}import Ya,{forwardRef as qa}from"react";var wo=qa(function(o,t){return Ya.createElement("p",{className:"app-sdk-text-sm"},o.formField.label)});import we from"react";function vo({formField:e,state:o}){let t=m(e.customForm);return we.createElement("div",null,we.createElement("label",{htmlFor:e.id,className:"app-sdk-block app-sdk-text-sm app-sdk-font-medium"},e.label),we.createElement("div",{className:"app-sdk-mt-1"},we.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:o||(e.defaultValue?.toString()??""),placeholder:t?.placeholder,"aria-describedby":`${e.id}-hint`,"data-form-field-type":"custom"})),t?.hint&&we.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)]"},t.hint))}import ve,{forwardRef as Za}from"react";var yo=Za(function(o,t){let{formField:a}=o,s=`${a.id}-hint`,r=m(a.customForm);Ka(a.defaultValue)||console.warn(`[@5minds/processcube_app_sdk:DynamicUi] Invalid default value for date field "${a.id}"`);let n=o.state||a.defaultValue?.toString();return ve.createElement("div",null,ve.createElement("label",{className:"app-sdk-block app-sdk-text-sm app-sdk-font-medium",htmlFor:a.id},a.label),ve.createElement("div",{className:"app-sdk-mt-1"},ve.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:"date",defaultValue:n,id:a.id,name:a.id,"aria-describedby":s,"data-form-field-type":"date"})),r?.hint&&ve.createElement("p",{className:"app-sdk-mt-2 app-sdk-text-sm app-sdk-text-[color:var(--asdk-dui-formfield-hint-text-color)]",id:s},r?.hint))});function Ka(e){return new Date(e?.toString()).toString()!=="Invalid Date"}import ye from"react";function bo(e){let{formField:o}=e,t=`${o.id}-hint`,a=m(o.customForm);o.defaultValue&&!os(o.defaultValue.toString())&&console.warn(`[@5minds/processcube_app_sdk:DynamicUi] Invalid default value for dateteime-local field "${o.id}"`);let s=e.state||o.defaultValue?.toString();return ye.createElement("div",null,ye.createElement("label",{className:"app-sdk-block app-sdk-text-sm app-sdk-font-medium",htmlFor:o.id},o.label),ye.createElement("div",{className:"app-sdk-mt-1"},ye.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:"datetime-local",defaultValue:s,id:o.id,name:o.id,"aria-describedby":t,"data-form-field-type":"datetime-local"})),a?.hint&&ye.createElement("p",{className:"app-sdk-mt-2 app-sdk-text-sm app-sdk-text-[color:var(--asdk-dui-formfield-hint-text-color)]",id:t},a?.hint))}function Qa(e){return new Date(e?.toString()).toString()!=="Invalid Date"}function es(e){return/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?$/.test(e)}function os(e){if(!e.includes("T"))return!1;let[o,t]=e.split("T");return Qa(o)&&es(t)}import be,{forwardRef as ts}from"react";function He(e){return!Number.isNaN(Number(e?.toString()))}var xo=ts(function(o,t){let{formField:a}=o,s=`${a.id}-hint`,r=m(a.customForm);return He(a.defaultValue)||console.warn(`[@5minds/processcube_app_sdk:DynamicUi] Invalid default value for decimal field "${a.id}"`),be.createElement("div",null,be.createElement("label",{className:"app-sdk-block app-sdk-text-sm app-sdk-font-medium",htmlFor:a.id},a.label),be.createElement("div",{className:"app-sdk-mt-1"},be.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:"number",step:r?.step??.01,placeholder:r?.placeholder||"0.00",defaultValue:o.state||a.defaultValue?.toString(),id:a.id,name:a.id,"aria-describedby":s,"data-form-field-type":"decimal"})),r?.hint&&be.createElement("p",{className:"app-sdk-mt-2 app-sdk-text-sm app-sdk-text-[color:var(--asdk-dui-formfield-hint-text-color)]",id:s},r?.hint))});import xe from"react";function No(e){let{formField:o}=e,t=`${o.id}-hint`,a=m(o.customForm),s=e.state||(o.defaultValue?.toString()??"");return xe.createElement("div",null,xe.createElement("label",{className:"app-sdk-block app-sdk-text-sm app-sdk-font-medium",htmlFor:o.id},o.label),xe.createElement("div",{className:"app-sdk-mt-1"},xe.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:"email",defaultValue:s,id:o.id,name:o.id,placeholder:a?.placeholder,"aria-describedby":t,"data-form-field-type":"email"})),a?.hint&&xe.createElement("p",{className:"app-sdk-mt-2 app-sdk-text-sm app-sdk-text-[color:var(--asdk-dui-formfield-hint-text-color)]",id:t},a?.hint))}import E,{forwardRef as as}from"react";var Io=as(function({formField:o,state:t},a){let s=m(o.customForm),r=o.label,n=o.enumValues,d;switch(s?.displayAs){case"checkbox":let f;Array.isArray(t)&&t.length?f=t:f=(t||o.defaultValue?.toString())?.split(",")??[],d=E.createElement("fieldset",{id:o.id,className:"app-sdk-pl-0 app-sdk-pb-0 app-sdk-space-y-2","data-type":"checkbox","aria-describedby":s?.hint?`${o.id}-hint`:void 0,"data-form-field-type":"enum"},n?.map(u=>{let C=f.find(V=>V.trim()===u.id);return E.createElement("div",{key:u.id,className:"app-sdk-relative app-sdk-flex app-sdk-items-start"},E.createElement("div",{className:"app-sdk-flex app-sdk-h-5 app-sdk-items-center"},E.createElement("input",{type:"checkbox",defaultChecked:C,name:o.id,id:u.id,value:u.id,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"})),E.createElement("div",{className:"app-sdk-ml-3 app-sdk-text-sm"},E.createElement("label",{htmlFor:u.id,className:"app-sdk-font-medium app-sdk-text-[color:var(--asdk-dui-text-color)]"},u.name)))}));break;case"radio":d=E.createElement("fieldset",{id:o.id,className:"app-sdk-pl-0 app-sdk-pb-0 app-sdk-space-y-2","data-type":"radio","aria-describedby":s?.hint?`${o.id}-hint`:void 0,"data-form-field-type":"enum"},n?.map(u=>E.createElement("div",{key:u.id,className:"app-sdk-relative app-sdk-flex app-sdk-items-start"},E.createElement("div",{className:"app-sdk-flex app-sdk-h-5 app-sdk-items-center"},E.createElement("input",{type:"radio",defaultChecked:(t||o.defaultValue)==u.id,name:o.id,id:u.id,value:u.id,className:"app-sdk-form-radio 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"})),E.createElement("div",{className:"app-sdk-ml-3 app-sdk-text-sm"},E.createElement("label",{htmlFor:u.id,className:"app-sdk-font-medium app-sdk-text-[color:var(--asdk-dui-text-color)]"},u.name)))));break;default:let l=t||n?.find(u=>u.id===o.defaultValue)?.id||"";d=E.createElement("select",{id:o.id,name:o.id,className:"app-sdk-form-select app-sdk-text-app-sdk-inherit app-sdk-border ap