@5minds/processcube_app_sdk 5.1.0-feature-22cf74-loogdr08 → 5.1.0-feature-e1b871-looj2y6f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/components/DynamicUi.d.ts +18 -0
- package/client/index.cjs +1 -1
- package/client/index.d.ts +1 -0
- package/client/index.mjs +1 -1
- package/package.json +3 -2
- package/server/index.cjs +1 -1
- package/server/index.mjs +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React, { PropsWithChildren } from 'react';
|
|
2
|
+
import type { DataModels } from '@5minds/processcube_engine_sdk';
|
|
3
|
+
type DynamicUiRefFunctions = {
|
|
4
|
+
getValue(): any;
|
|
5
|
+
};
|
|
6
|
+
export declare function DynamicUi(props: PropsWithChildren<{
|
|
7
|
+
task: DataModels.FlowNodeInstances.UserTaskInstance;
|
|
8
|
+
onSubmit: (result: DataModels.FlowNodeInstances.UserTaskResult) => void;
|
|
9
|
+
className?: string;
|
|
10
|
+
title?: React.ReactNode;
|
|
11
|
+
customFieldComponents?: {
|
|
12
|
+
[type: string]: React.ForwardRefRenderFunction<DynamicUiRefFunctions, {
|
|
13
|
+
formField: DataModels.FlowNodeInstances.UserTaskFormField;
|
|
14
|
+
state?: any;
|
|
15
|
+
}>;
|
|
16
|
+
};
|
|
17
|
+
}>): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export {};
|
package/client/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";"use client";var i=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var u=(e,r)=>{for(var n in r)i(e,n,{get:r[n],enumerable:!0})},l=(e,r,n,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of f(r))!m.call(e,o)&&o!==n&&i(e,o,{get:()=>r[o],enumerable:!(t=c(r,o))||t.enumerable});return e};var s=e=>l(i({},"__esModule",{value:!0}),e);var D={};u(D,{DynamicLink:()=>y});module.exports=s(D);var v=require("client-only");var p=require("next/navigation"),a=require("react/jsx-runtime");function y({href:e,children:r}){let n=(0,p.useRouter)();return(0,a.jsx)("a",{href:e,onClick:t=>{t.preventDefault(),n.replace(e),n.refresh()},children:r})}0&&(module.exports={DynamicLink});
|
|
1
|
+
"use strict";"use client";var I=Object.create;var h=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,U=Object.prototype.hasOwnProperty;var V=(e,o)=>{for(var t in o)h(e,t,{get:o[t],enumerable:!0})},x=(e,o,t,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of C(o))!U.call(e,n)&&n!==t&&h(e,n,{get:()=>o[n],enumerable:!(a=T(o,n))||a.enumerable});return e};var F=(e,o,t)=>(t=e!=null?I(M(e)):{},x(o||!e||!e.__esModule?h(t,"default",{value:e,enumerable:!0}):t,e)),E=e=>x(h({},"__esModule",{value:!0}),e);var Q={};V(Q,{DynamicLink:()=>P,DynamicUi:()=>H});module.exports=E(Q);var te=require("client-only");var w=require("next/navigation"),N=require("react/jsx-runtime");function P({href:e,children:o}){let t=(0,w.useRouter)();return(0,N.jsx)("a",{href:e,onClick:a=>{a.preventDefault(),t.replace(e),t.refresh()},children:o})}var i=F(require("react"),1),k=require("marked"),D=F(require("isomorphic-dompurify"),1),r=require("react/jsx-runtime");function H(e){let{userTaskConfig:o}=e.task,{formFields:t}=o,a=t.find(s=>s.type==="confirm"),n=(0,i.useRef)(null),l={...O,...e.customFieldComponents?e.customFieldComponents:{}},m=new Map,b=(...s)=>{};return(0,r.jsx)("div",{className:"min-h-[200px] block sm:max-w-lg sm:w-full mx-auto h-full shadow-lg shadow-[color:var(--uic-shadow-color)] dark:shadow-studio-gray-300 rounded-lg",children:(0,r.jsxs)("form",{ref:n,className:S("flex flex-col rounded-lg max-h-full bg-[color:var(--uic-background-color)] text-[color:var(--uic-text-color)] shadow-lg shadow-[color:var(--uic-shadow-color)] dark:bg-studio-gray-500 dark:text-studio-gray-50 dark:shadow-studio-gray-300",e.className?e.className:""),"data-user-task-id":e.task.flowNodeId,"data-user-task-instance-id":e.task.flowNodeInstanceId,action:(...s)=>{let f=new FormData(n.current)},children:[(0,r.jsx)("header",{className:"px-4 pt-4 pb-3 sm:px-6",children:(0,r.jsx)($,{title:e.title??e.task.flowNodeName??"User Task"})}),(0,r.jsx)("section",{className:"px-4 py-3 sm:px-6 overflow-y-auto",children:(0,r.jsx)("div",{className:"flex flex-col space-y-6 dark:[color-scheme:dark]",children:t.map(s=>{let f=l[s.type];if(f){let g=(0,i.forwardRef)(f),p=(0,i.useRef)(null);return m.set(s.id,{renderer:g,ref:p}),(0,r.jsx)(i.Fragment,{children:(0,r.jsx)(g,{ref:p,formField:s})},s.id)}return null})})}),(0,r.jsx)("footer",{className:"rounded-b-lg bg-[color:var(--uic-footer-background-color)] px-4 py-3 sm:px-6 dark:bg-studio-gray-600",children:(0,r.jsx)(z,{confirmFormField:a,onSubmit:b})})]})})}function L(e,o){function t(){}return o.myFunction=t.bind(o),(0,r.jsx)("button",{ref:o,children:"TestFunction"})}var _=class extends i.default.Component{myFunction(){}render(){return(0,r.jsx)("button",{children:"Test Component"})}},O={boolean:j,date:A,enum:K,long:G,number:J,string:q,paragraph:X,header:W,confirm:B,bla:L};function z(e){let{confirmFormField:o}=e,t=(0,r.jsx)(i.Fragment,{children:(0,r.jsx)("button",{type:"submit",className:"w-full inline-flex justify-center px-3 py-2 border text-base leading-4 font-medium rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 sm:w-auto sm:text-sm sm:ml-2 border-transparent text-[color:var(--uic-footer-continue-button-text-color)] bg-[color:var(--uic-footer-continue-button-background-color)] hover:bg-[color:var(--uic-footer-continue-button-background-hover-color)] focus:ring-[color:var(--uic-footer-continue-button-focus-outline-color)] dark:bg-[#33609a] dark:hover:bg-[#3666a5] dark:focus:ring-[#3666a5]",onSubmit:e.onSubmit,children:"OK"})});if(o){let a=u(o.customForm);t=(0,r.jsxs)(i.Fragment,{children:[(0,r.jsx)("button",{type:"submit",className:"w-full inline-flex justify-center px-3 py-2 border text-base leading-4 font-medium rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 sm:w-auto sm:text-sm sm:ml-2 border-transparent text-[color:var(--uic-footer-continue-button-text-color)] bg-[color:var(--uic-footer-continue-button-background-color)] hover:bg-[color:var(--uic-footer-continue-button-background-hover-color)] focus:ring-[color:var(--uic-footer-continue-button-focus-outline-color)] dark:bg-[#33609a] dark:hover:bg-[#3666a5] dark:focus:ring-[#3666a5]",onSubmit:e.onSubmit,children:a?.confirmButtonText??"Confirm"}),(0,r.jsx)("button",{type:"submit",className:"w-full inline-flex justify-center px-3 py-2 border text-base leading-4 font-medium rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 sm:w-auto sm:text-sm sm:ml-2 border-[color:var(--uic-border-color)] bg-[color:var(--uic-footer-decline-button-background-color)] text-[color:var(--uic-footer-decline-button-text-color)] hover:bg-[color:var(--uic-footer-decline-button-background-hover-color)] focus:ring-[color:var(--uic-footer-decline-button-focus-outline-color)] dark:bg-studio-gray-350 dark:border-transparent dark:text-studio-gray-50 dark:hover:bg-studio-gray-300 dark:focus:ring-studio-gray-300",onSubmit:e.onSubmit,children:a?.declineButtonText??"Decline"})]})}return(0,r.jsx)("div",{className:"space-y-2 sm:-space-x-2 sm:space-y-0 sm:flex sm:flex-row-reverse",children:t})}function S(...e){return e.filter(Boolean).join(" ")}function u(e){if(e!=null&&e.trim()!=="")try{return JSON.parse(e)}catch{return null}return null}function $(e){return(0,r.jsxs)("div",{className:"flex space-x-3",children:[(0,r.jsx)("div",{className:"flex-1",children:(0,r.jsx)("h3",{id:"headline-title",className:"text-lg leading-6 font-medium text-[color:var(--uic-header-text-color)] dark:text-studio-gray-150",children:e.title})}),(0,r.jsx)("div",{className:"flex self-center",children:(0,r.jsxs)("div",{id:"dropdown",className:"relative z-30 inline-block text-left",children:[(0,r.jsx)("button",{id:"dropdown-toggle-button",type:"button",className:"-m-2 p-2 rounded-full flex items-center text-[color:var(--uic-header-dropdown-icon-text-color)] hover:text-[color:var(--uic-header-dropdown-icon-text-hover-color)] focus:outline-none focus:ring-2 focus:ring-[color:var(--uic-focus-color)] dark:text-studio-gray-150 dark:hover:text-studio-gray-100",children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:"h-5 w-5",children:(0,r.jsx)("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"})})}),(0,r.jsx)("div",{className:"hidden origin-top-right absolute right-0 mt-2 w-56 rounded-md shadow-lg bg-[color:var(--uic-header-dropdown-menu-background-color)] ring-1 ring-black ring-opacity-5 focus:outline-none dark:bg-studio-gray-400",id:"dropdown-options",role:"menu",tabIndex:0,children:(0,r.jsxs)("div",{className:"py-1",role:"none",children:[(0,r.jsxs)("button",{id:"dropdown-option-suspend",className:"text-[color:var(--uic-header-dropdown-menu-suspend-entry-text-color)] flex w-full px-4 py-2 text-sm hover:bg-[color:var(--uic-header-dropdown-menu-entry-background-hover-color)] focus-visible:outline-none focus-visible:bg-[color:var(--uic-header-dropdown-menu-entry-background-hover-color)] dark:hover:bg-studio-gray-250 dark:focus-visible:bg-studio-gray-250 dark:text-studio-gray-50",role:"menuitem",tabIndex:-1,children:[(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:"mr-3 h-5 w-5 text-[color:var(--uic-header-dropdown-menu-suspend-entry-icon-color)] dark:text-gray-200",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z",clipRule:"evenodd"})}),(0,r.jsx)("span",{children:"Suspend"})]}),(0,r.jsxs)("button",{id:"dropdown-option-terminate",className:"text-[color:var(--uic-header-dropdown-menu-terminate-entry-text-color)] flex w-full px-4 py-2 text-sm hover:bg-[color:var(--uic-header-dropdown-menu-entry-background-hover-color)] focus-visible:outline-none focus-visible:bg-[color:var(--uic-header-dropdown-menu-entry-background-hover-color)] dark:hover:bg-studio-gray-250 dark:focus-visible:bg-studio-gray-250 dark:text-[#d6868d]",role:"menuitem",tabIndex:-1,children:[(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:"mr-3 h-5 w-5 text-[color:var(--uic-header-dropdown-menu-terminate-entry-icon-color)]",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M13.477 14.89A6 6 0 015.11 6.524l8.367 8.368zm1.414-1.414L6.524 5.11a6 6 0 018.367 8.367zM18 10a8 8 0 11-16 0 8 8 0 0116 0z",clipRule:"evenodd"})}),(0,r.jsx)("span",{children:"Terminate"})]})]})})]})})]})}function j(e,o){let{formField:t}=e,a=`${t.id}-hint`,n=u(t.customForm),l=(0,i.useRef)(null);return(0,i.useImperativeHandle)(o,()=>({getValue(){return l.current}}),[]),(0,r.jsxs)("div",{ref:l,className:"relative flex items-start",children:[(0,r.jsx)("div",{className:"flex items-center h-5",children:(0,r.jsx)("input",{type:"checkbox",className:"focus:ring-[color:var(--uic-focus-color)] h-4 w-4 text-sky-600 border-[color:var(--uic-border-color)] rounded dark:border-2 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400",defaultChecked:t.defaultValue==="true",id:t.id,name:t.id,"aria-describedby":n?.hint?a:void 0,"data-form-field-type":"boolean"})}),(0,r.jsxs)("div",{className:"ml-3 text-sm",children:[(0,r.jsx)("label",{className:"font-medium",htmlFor:t.id,children:t.label}),n?.hint&&(0,r.jsx)("p",{className:"text-gray-500 dark:text-studio-gray-200",id:a,children:n.hint})]})]})}function B(e){let{formField:o}=e;return(0,r.jsx)("p",{className:"text-sm",children:o.label})}function A(e){return null}function J(e){let{formField:o}=e,t=`${o.id}-hint`,a=u(o.customForm);return(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium",htmlFor:o.id,children:o.label}),(0,r.jsx)("div",{className:"mt-1",children:(0,r.jsx)("input",{className:"shadow-sm focus:ring-[color:var(--uic-focus-color)] focus:border-[color:var(--uic-focus-color)] block w-full sm:text-sm border-[color:var(--uic-border-color)] rounded-md invalid:border-red-500 invalid:ring-red-500 invalid:ring-1 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400 dark:invalid:shadow-studio-dark-invalid dark:invalid:border-[#dc35467f] dark:invalid:ring-[#dc35467f]",type:"number",step:"0.01",placeholder:a?.placeholder||"0.00",value:o.defaultValue?.toString(),id:o.id,name:o.id,"aria-describedby":t,"data-form-field-type":"decimal"})}),a?.hint&&(0,r.jsx)("p",{className:"mt-2 text-sm text-gray-500 dark:text-studio-gray-200",id:t,children:a?.hint})]})}function W({formField:e}){let o=u(e.customForm),t;switch(o?.style){case"heading_1":t=(0,r.jsx)("h1",{className:"text-2xl font-bold",children:e.defaultValue?.toString()||e.label?.toString()});break;case"heading_2":t=(0,r.jsx)("h2",{className:"text-xl font-bold",children:e.defaultValue?.toString()||e.label?.toString()});break;case"heading_3":t=(0,r.jsx)("h3",{className:"text-lg font-bold",children:e.defaultValue?.toString()||e.label?.toString()});break;default:t=(0,r.jsx)("h1",{className:"text-2xl font-bold",children:e.defaultValue?.toString()||e.label?.toString()});break}return(0,r.jsx)("div",{className:"header-form-field",children:t})}function G({formField:e,state:o}){let t=u(e.customForm);return(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:e.id,className:"block text-sm font-medium",children:e.label}),(0,r.jsx)("div",{className:"mt-1",children:(0,r.jsx)("input",{className:"shadow-sm focus:ring-[color:var(--uic-focus-color)] focus:border-[color:var(--uic-focus-color)] block w-full sm:text-sm border-[color:var(--uic-border-color)] rounded-md invalid:border-red-500 invalid:ring-red-500 invalid:ring-1 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400 dark:invalid:shadow-studio-dark-invalid dark:invalid:border-[#dc35467f] dark:invalid:ring-[#dc35467f]",type:"number",step:1,id:e.id,name:e.id,defaultValue:o?`${o}`:e.defaultValue?.toString()??"",placeholder:t?.placeholder??"0","aria-describedby":`${e.id}-hint`,"data-form-field-type":"integer"})}),t?.hint&&(0,r.jsx)("p",{id:`${e.id}-hint`,"data-hint":!0,className:"mt-2 text-sm text-gray-500 dark:text-studio-gray-200",children:t.hint})]})}function X({formField:{defaultValue:e,label:o}}){let[t,a]=(0,i.useState)("");return(0,i.useEffect)(()=>{let n=k.marked.parse(e?.toString()??o?.toString()??"",{renderer:new y,hooks:{postprocess:l=>D.default.sanitize(l,{ADD_ATTR:["target"]}),preprocess:k.marked.Hooks.prototype.preprocess}});a(n)},[e,o]),(0,r.jsx)("div",{className:S("text-sm","[&_p]:my-4 first-of-type:[&_p]:mt-0 first-of-type:[&_p]:mb-4","[&_a]:text-[color:var(--uic-link-color)] hover:[&_a]:text-[color:var(--uic-link-hover-color)] [&_a]:underline","[&_h1]:font-bold [&_h1]:text-2xl [&_h2]:font-bold [&_h2]:text-xl [&_h3]:font-bold [&_h3]:text-lg [&_h4]:font-bold [&_h4]:text-base [&_h5]:font-bold [&_h5]:text-sm [&_h6]:font-bold [&_h6]:text-xs","[&_code]:text-[#e83e8c] [&_pre]:my-4 [&_pre]:bg-gray-100 [&_pre]:dark:bg-studio-gray-700 [&_pre_code]:text-inherit","[&_h1]:m-[revert] [&_h2]:m-[revert] [&_h3]:m-[revert] [&_h4]:m-[revert] [&_h5]:m-[revert] [&_h6]:m-[revert] [&_blockquote]:m-[revert] [&_ol]:m-[revert] [&_ul]:m-[revert] [&_fieldset]:m-[revert] [&_menu]:m-[revert]","[&_ol]:p-[revert] [&_ul]:p-[revert] [&_fieldset]:p-[revert] [&_menu]:p-[revert]","[&_ol]:list-decimal [&_ol_p]:my-2 first-of-type:[&_ol_p]:my-4 [&_ul]:list-disc [&_ul_p]:my-2 first-of-type:[&_ul_p]:my-4","[&_input[type='checkbox']]:h-4 [&_input[type='checkbox']]:w-4 [&_input[type='checkbox']]:rounded [&_input[type='checkbox']]:border-[color:var(--uic-border-color)] [&_input[type='checkbox']]:hover:border-[color:var(--uic-border-color)] [&_input[type='checkbox']]:text-sky-600 [&_input[type='checkbox']]:dark:bg-studio-gray-350 [&_input[type='checkbox']]:dark:border-2 [&_input[type='checkbox']]:dark:border-solid [&_input[type='checkbox']]:dark:border-transparent [&_input[type='checkbox']]:dark:text-[#007bff40] [&_input[type='checkbox']]:dark:hover:checked:bg-studio-gray-350"),dangerouslySetInnerHTML:{__html:t}})}function q({formField:e,state:o}){let t=u(e.customForm),a=e.label,n=t?.multiline==="true"?"textarea":"input",l=i.default.createElement(n,{className:"shadow-sm focus:ring-[color:var(--uic-focus-color)] focus:border-[color:var(--uic-focus-color)] block w-full sm:text-sm rounded-md border-[color:var(--uic-border-color)] invalid:border-red-500 invalid:ring-red-500 invalid:ring-1 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400 dark:invalid:shadow-studio-dark-invalid dark:invalid:border-[#dc35467f] dark:invalid:ring-[#dc35467f]",id:e.id,name:e.id,defaultValue:o||(e.defaultValue?.toString()??""),placeholder:t?.placeholder,"aria-describedby":t?.hint?`${e.id}-hint`:void 0,type:n==="input"?"text":void 0,rows:n==="textarea"?4:void 0,"data-form-field-type":"string"}),m=t?.hint?(0,r.jsx)("p",{id:`${e.id}-hint`,className:"mt-2 text-sm text-gray-500 dark:text-studio-gray-200",children:t.hint}):null;return(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium",htmlFor:e.id,children:a}),(0,r.jsx)("div",{className:"mt-1",children:l}),m]})}function K({formField:e,state:o}){let t=u(e.customForm),a=e.label,n=e.enumValues,l;switch(t?.displayAs){case"checkbox":let b;Array.isArray(o)&&o.length?b=o:b=e.defaultValue?.toString().split(",")??[],l=(0,r.jsx)("fieldset",{id:e.id,className:"mt-1 space-y-2","data-type":"checkbox","aria-describedby":t?.hint?`${e.id}-hint`:void 0,"data-form-field-type":"enum",children:n?.map(d=>{let c=b.find(v=>v.trim()===d.id);return(0,r.jsxs)("div",{className:"relative flex items-start",children:[(0,r.jsx)("div",{className:"flex items-center h-5",children:(0,r.jsx)("input",{type:"checkbox",checked:c,name:e.id,id:d.id,value:d.id,className:"focus:ring-[color:var(--uic-focus-color)] h-4 w-4 text-sky-600 border-[color:var(--uic-border-color)] rounded dark:border-2 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400 dark:text-[#007bff40]"})}),(0,r.jsx)("div",{className:"ml-3 text-sm",children:(0,r.jsx)("label",{htmlFor:d.id,className:"font-medium text-gray-700 dark:text-studio-gray-50",children:d.name})})]},d.id)})});break;case"radio":l=(0,r.jsx)("fieldset",{id:e.id,className:"mt-1 space-y-2","data-type":"radio","aria-describedby":t?.hint?`${e.id}-hint`:void 0,"data-form-field-type":"enum",children:n?.map(d=>(0,r.jsxs)("div",{className:"relative flex items-start",children:[(0,r.jsx)("div",{className:"flex items-center h-5",children:(0,r.jsx)("input",{type:"radio",checked:(o||e.defaultValue)==d.id,name:e.id,id:d.id,value:d.id,className:"focus:ring-[color:var(--uic-focus-color)] h-4 w-4 text-sky-600 border-[color:var(--uic-border-color)] rounded dark:border-2 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400 dark:text-[#007bff40]"})}),(0,r.jsx)("div",{className:"ml-3 text-sm",children:(0,r.jsx)("label",{htmlFor:d.id,className:"font-medium text-gray-700 dark:text-studio-gray-50",children:d.name})})]},d.id))});break;default:let s=!0,f,g=d=>(0,r.jsx)("select",{id:e.id,className:"mt-1 block w-full pl-3 pr-10 py-2 text-base border-[color:var(--uic-border-color)] focus:outline-none focus:ring-[color:var(--uic-focus-color)] focus:border-[color:var(--uic-focus-color)] sm:text-sm rounded-md invalid:border-red-500 invalid:ring-red-500 invalid:ring-1 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400 dark:invalid:shadow-studio-dark-invalid dark:invalid:border-[#dc35467f] dark:invalid:ring-[#dc35467f]",onChange:c=>c.target.dataset.value=c.target.value,"data-value":!0,"aria-describedby":t?.hint?`${e.id}-hint`:void 0,"data-form-field-type":"enum",...d,children:d.children}),p=d=>{let{children:c,...v}=d;return(0,r.jsx)("option",{disabled:!0,hidden:!0,style:{display:"none"},defaultValue:"",...v,children:c})},R=()=>(0,r.jsx)(i.Fragment,{children:n?.map(d=>{let c=(o||e.defaultValue)===d.id;return c&&(s=!1,f=d.id),(0,r.jsx)("option",{value:d.id,selected:c,children:d.name},d.id)})});l=(0,r.jsxs)(g,{"data-value":f,children:[(0,r.jsx)(p,{selected:!!s,children:s&&t?.placeholder}),(0,r.jsx)(R,{})]});break}let m=t?.hint?(0,r.jsx)("p",{id:`${e.id}-hint`,className:"mt-2 text-sm text-gray-500 dark:text-studio-gray-200",children:t.hint}):null;return(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium",htmlFor:e.id,children:a}),l,m]})}var y=class extends k.marked.Renderer{link(o,t,a){return super.link(o,t,a).replace("<a","<a target='_blank'")}html(o,t){let a=super.html(o,t);return a.startsWith("<a ")&&!a.includes("target=")?a.replace("<a ",'<a target="_blank" '):a}};0&&(module.exports={DynamicLink,DynamicUi});
|
package/client/index.d.ts
CHANGED
package/client/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import"client-only";import{useRouter as t}from"next/navigation";import{jsx as i}from"react/jsx-runtime";function a({href:r,children:n}){let e=t();return i("a",{href:r,onClick:o=>{o.preventDefault(),e.replace(r),e.refresh()},children:n})}export{a as DynamicLink};
|
|
1
|
+
"use client";import"client-only";import{useRouter as D}from"next/navigation";import{jsx as S}from"react/jsx-runtime";function G({href:e,children:t}){let o=D();return S("a",{href:e,onClick:a=>{a.preventDefault(),o.replace(e),o.refresh()},children:t})}import w,{Fragment as h,forwardRef as R,useEffect as I,useImperativeHandle as T,useRef as v,useState as C}from"react";import{marked as y}from"marked";import M from"isomorphic-dompurify";import{jsx as r,jsxs as i}from"react/jsx-runtime";function re(e){let{userTaskConfig:t}=e.task,{formFields:o}=t,a=o.find(s=>s.type==="confirm"),n=v(null),l={...V,...e.customFieldComponents?e.customFieldComponents:{}},m=new Map,b=(...s)=>{};return r("div",{className:"min-h-[200px] block sm:max-w-lg sm:w-full mx-auto h-full shadow-lg shadow-[color:var(--uic-shadow-color)] dark:shadow-studio-gray-300 rounded-lg",children:i("form",{ref:n,className:N("flex flex-col rounded-lg max-h-full bg-[color:var(--uic-background-color)] text-[color:var(--uic-text-color)] shadow-lg shadow-[color:var(--uic-shadow-color)] dark:bg-studio-gray-500 dark:text-studio-gray-50 dark:shadow-studio-gray-300",e.className?e.className:""),"data-user-task-id":e.task.flowNodeId,"data-user-task-instance-id":e.task.flowNodeInstanceId,action:(...s)=>{let f=new FormData(n.current)},children:[r("header",{className:"px-4 pt-4 pb-3 sm:px-6",children:r(P,{title:e.title??e.task.flowNodeName??"User Task"})}),r("section",{className:"px-4 py-3 sm:px-6 overflow-y-auto",children:r("div",{className:"flex flex-col space-y-6 dark:[color-scheme:dark]",children:o.map(s=>{let f=l[s.type];if(f){let g=R(f),p=v(null);return m.set(s.id,{renderer:g,ref:p}),r(h,{children:r(g,{ref:p,formField:s})},s.id)}return null})})}),r("footer",{className:"rounded-b-lg bg-[color:var(--uic-footer-background-color)] px-4 py-3 sm:px-6 dark:bg-studio-gray-600",children:r(E,{confirmFormField:a,onSubmit:b})})]})})}function U(e,t){function o(){}return t.myFunction=o.bind(t),r("button",{ref:t,children:"TestFunction"})}var F=class extends w.Component{myFunction(){}render(){return r("button",{children:"Test Component"})}},V={boolean:H,date:O,enum:J,long:j,number:z,string:A,paragraph:B,header:$,confirm:L,bla:U};function E(e){let{confirmFormField:t}=e,o=r(h,{children:r("button",{type:"submit",className:"w-full inline-flex justify-center px-3 py-2 border text-base leading-4 font-medium rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 sm:w-auto sm:text-sm sm:ml-2 border-transparent text-[color:var(--uic-footer-continue-button-text-color)] bg-[color:var(--uic-footer-continue-button-background-color)] hover:bg-[color:var(--uic-footer-continue-button-background-hover-color)] focus:ring-[color:var(--uic-footer-continue-button-focus-outline-color)] dark:bg-[#33609a] dark:hover:bg-[#3666a5] dark:focus:ring-[#3666a5]",onSubmit:e.onSubmit,children:"OK"})});if(t){let a=u(t.customForm);o=i(h,{children:[r("button",{type:"submit",className:"w-full inline-flex justify-center px-3 py-2 border text-base leading-4 font-medium rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 sm:w-auto sm:text-sm sm:ml-2 border-transparent text-[color:var(--uic-footer-continue-button-text-color)] bg-[color:var(--uic-footer-continue-button-background-color)] hover:bg-[color:var(--uic-footer-continue-button-background-hover-color)] focus:ring-[color:var(--uic-footer-continue-button-focus-outline-color)] dark:bg-[#33609a] dark:hover:bg-[#3666a5] dark:focus:ring-[#3666a5]",onSubmit:e.onSubmit,children:a?.confirmButtonText??"Confirm"}),r("button",{type:"submit",className:"w-full inline-flex justify-center px-3 py-2 border text-base leading-4 font-medium rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 sm:w-auto sm:text-sm sm:ml-2 border-[color:var(--uic-border-color)] bg-[color:var(--uic-footer-decline-button-background-color)] text-[color:var(--uic-footer-decline-button-text-color)] hover:bg-[color:var(--uic-footer-decline-button-background-hover-color)] focus:ring-[color:var(--uic-footer-decline-button-focus-outline-color)] dark:bg-studio-gray-350 dark:border-transparent dark:text-studio-gray-50 dark:hover:bg-studio-gray-300 dark:focus:ring-studio-gray-300",onSubmit:e.onSubmit,children:a?.declineButtonText??"Decline"})]})}return r("div",{className:"space-y-2 sm:-space-x-2 sm:space-y-0 sm:flex sm:flex-row-reverse",children:o})}function N(...e){return e.filter(Boolean).join(" ")}function u(e){if(e!=null&&e.trim()!=="")try{return JSON.parse(e)}catch{return null}return null}function P(e){return i("div",{className:"flex space-x-3",children:[r("div",{className:"flex-1",children:r("h3",{id:"headline-title",className:"text-lg leading-6 font-medium text-[color:var(--uic-header-text-color)] dark:text-studio-gray-150",children:e.title})}),r("div",{className:"flex self-center",children:i("div",{id:"dropdown",className:"relative z-30 inline-block text-left",children:[r("button",{id:"dropdown-toggle-button",type:"button",className:"-m-2 p-2 rounded-full flex items-center text-[color:var(--uic-header-dropdown-icon-text-color)] hover:text-[color:var(--uic-header-dropdown-icon-text-hover-color)] focus:outline-none focus:ring-2 focus:ring-[color:var(--uic-focus-color)] dark:text-studio-gray-150 dark:hover:text-studio-gray-100",children:r("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:"h-5 w-5",children:r("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"})})}),r("div",{className:"hidden origin-top-right absolute right-0 mt-2 w-56 rounded-md shadow-lg bg-[color:var(--uic-header-dropdown-menu-background-color)] ring-1 ring-black ring-opacity-5 focus:outline-none dark:bg-studio-gray-400",id:"dropdown-options",role:"menu",tabIndex:0,children:i("div",{className:"py-1",role:"none",children:[i("button",{id:"dropdown-option-suspend",className:"text-[color:var(--uic-header-dropdown-menu-suspend-entry-text-color)] flex w-full px-4 py-2 text-sm hover:bg-[color:var(--uic-header-dropdown-menu-entry-background-hover-color)] focus-visible:outline-none focus-visible:bg-[color:var(--uic-header-dropdown-menu-entry-background-hover-color)] dark:hover:bg-studio-gray-250 dark:focus-visible:bg-studio-gray-250 dark:text-studio-gray-50",role:"menuitem",tabIndex:-1,children:[r("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:"mr-3 h-5 w-5 text-[color:var(--uic-header-dropdown-menu-suspend-entry-icon-color)] dark:text-gray-200",children:r("path",{fillRule:"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z",clipRule:"evenodd"})}),r("span",{children:"Suspend"})]}),i("button",{id:"dropdown-option-terminate",className:"text-[color:var(--uic-header-dropdown-menu-terminate-entry-text-color)] flex w-full px-4 py-2 text-sm hover:bg-[color:var(--uic-header-dropdown-menu-entry-background-hover-color)] focus-visible:outline-none focus-visible:bg-[color:var(--uic-header-dropdown-menu-entry-background-hover-color)] dark:hover:bg-studio-gray-250 dark:focus-visible:bg-studio-gray-250 dark:text-[#d6868d]",role:"menuitem",tabIndex:-1,children:[r("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:"mr-3 h-5 w-5 text-[color:var(--uic-header-dropdown-menu-terminate-entry-icon-color)]",children:r("path",{fillRule:"evenodd",d:"M13.477 14.89A6 6 0 015.11 6.524l8.367 8.368zm1.414-1.414L6.524 5.11a6 6 0 018.367 8.367zM18 10a8 8 0 11-16 0 8 8 0 0116 0z",clipRule:"evenodd"})}),r("span",{children:"Terminate"})]})]})})]})})]})}function H(e,t){let{formField:o}=e,a=`${o.id}-hint`,n=u(o.customForm),l=v(null);return T(t,()=>({getValue(){return l.current}}),[]),i("div",{ref:l,className:"relative flex items-start",children:[r("div",{className:"flex items-center h-5",children:r("input",{type:"checkbox",className:"focus:ring-[color:var(--uic-focus-color)] h-4 w-4 text-sky-600 border-[color:var(--uic-border-color)] rounded dark:border-2 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400",defaultChecked:o.defaultValue==="true",id:o.id,name:o.id,"aria-describedby":n?.hint?a:void 0,"data-form-field-type":"boolean"})}),i("div",{className:"ml-3 text-sm",children:[r("label",{className:"font-medium",htmlFor:o.id,children:o.label}),n?.hint&&r("p",{className:"text-gray-500 dark:text-studio-gray-200",id:a,children:n.hint})]})]})}function L(e){let{formField:t}=e;return r("p",{className:"text-sm",children:t.label})}function O(e){return null}function z(e){let{formField:t}=e,o=`${t.id}-hint`,a=u(t.customForm);return i("div",{children:[r("label",{className:"block text-sm font-medium",htmlFor:t.id,children:t.label}),r("div",{className:"mt-1",children:r("input",{className:"shadow-sm focus:ring-[color:var(--uic-focus-color)] focus:border-[color:var(--uic-focus-color)] block w-full sm:text-sm border-[color:var(--uic-border-color)] rounded-md invalid:border-red-500 invalid:ring-red-500 invalid:ring-1 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400 dark:invalid:shadow-studio-dark-invalid dark:invalid:border-[#dc35467f] dark:invalid:ring-[#dc35467f]",type:"number",step:"0.01",placeholder:a?.placeholder||"0.00",value:t.defaultValue?.toString(),id:t.id,name:t.id,"aria-describedby":o,"data-form-field-type":"decimal"})}),a?.hint&&r("p",{className:"mt-2 text-sm text-gray-500 dark:text-studio-gray-200",id:o,children:a?.hint})]})}function $({formField:e}){let t=u(e.customForm),o;switch(t?.style){case"heading_1":o=r("h1",{className:"text-2xl font-bold",children:e.defaultValue?.toString()||e.label?.toString()});break;case"heading_2":o=r("h2",{className:"text-xl font-bold",children:e.defaultValue?.toString()||e.label?.toString()});break;case"heading_3":o=r("h3",{className:"text-lg font-bold",children:e.defaultValue?.toString()||e.label?.toString()});break;default:o=r("h1",{className:"text-2xl font-bold",children:e.defaultValue?.toString()||e.label?.toString()});break}return r("div",{className:"header-form-field",children:o})}function j({formField:e,state:t}){let o=u(e.customForm);return i("div",{children:[r("label",{htmlFor:e.id,className:"block text-sm font-medium",children:e.label}),r("div",{className:"mt-1",children:r("input",{className:"shadow-sm focus:ring-[color:var(--uic-focus-color)] focus:border-[color:var(--uic-focus-color)] block w-full sm:text-sm border-[color:var(--uic-border-color)] rounded-md invalid:border-red-500 invalid:ring-red-500 invalid:ring-1 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400 dark:invalid:shadow-studio-dark-invalid dark:invalid:border-[#dc35467f] dark:invalid:ring-[#dc35467f]",type:"number",step:1,id:e.id,name:e.id,defaultValue:t?`${t}`:e.defaultValue?.toString()??"",placeholder:o?.placeholder??"0","aria-describedby":`${e.id}-hint`,"data-form-field-type":"integer"})}),o?.hint&&r("p",{id:`${e.id}-hint`,"data-hint":!0,className:"mt-2 text-sm text-gray-500 dark:text-studio-gray-200",children:o.hint})]})}function B({formField:{defaultValue:e,label:t}}){let[o,a]=C("");return I(()=>{let n=y.parse(e?.toString()??t?.toString()??"",{renderer:new x,hooks:{postprocess:l=>M.sanitize(l,{ADD_ATTR:["target"]}),preprocess:y.Hooks.prototype.preprocess}});a(n)},[e,t]),r("div",{className:N("text-sm","[&_p]:my-4 first-of-type:[&_p]:mt-0 first-of-type:[&_p]:mb-4","[&_a]:text-[color:var(--uic-link-color)] hover:[&_a]:text-[color:var(--uic-link-hover-color)] [&_a]:underline","[&_h1]:font-bold [&_h1]:text-2xl [&_h2]:font-bold [&_h2]:text-xl [&_h3]:font-bold [&_h3]:text-lg [&_h4]:font-bold [&_h4]:text-base [&_h5]:font-bold [&_h5]:text-sm [&_h6]:font-bold [&_h6]:text-xs","[&_code]:text-[#e83e8c] [&_pre]:my-4 [&_pre]:bg-gray-100 [&_pre]:dark:bg-studio-gray-700 [&_pre_code]:text-inherit","[&_h1]:m-[revert] [&_h2]:m-[revert] [&_h3]:m-[revert] [&_h4]:m-[revert] [&_h5]:m-[revert] [&_h6]:m-[revert] [&_blockquote]:m-[revert] [&_ol]:m-[revert] [&_ul]:m-[revert] [&_fieldset]:m-[revert] [&_menu]:m-[revert]","[&_ol]:p-[revert] [&_ul]:p-[revert] [&_fieldset]:p-[revert] [&_menu]:p-[revert]","[&_ol]:list-decimal [&_ol_p]:my-2 first-of-type:[&_ol_p]:my-4 [&_ul]:list-disc [&_ul_p]:my-2 first-of-type:[&_ul_p]:my-4","[&_input[type='checkbox']]:h-4 [&_input[type='checkbox']]:w-4 [&_input[type='checkbox']]:rounded [&_input[type='checkbox']]:border-[color:var(--uic-border-color)] [&_input[type='checkbox']]:hover:border-[color:var(--uic-border-color)] [&_input[type='checkbox']]:text-sky-600 [&_input[type='checkbox']]:dark:bg-studio-gray-350 [&_input[type='checkbox']]:dark:border-2 [&_input[type='checkbox']]:dark:border-solid [&_input[type='checkbox']]:dark:border-transparent [&_input[type='checkbox']]:dark:text-[#007bff40] [&_input[type='checkbox']]:dark:hover:checked:bg-studio-gray-350"),dangerouslySetInnerHTML:{__html:o}})}function A({formField:e,state:t}){let o=u(e.customForm),a=e.label,n=o?.multiline==="true"?"textarea":"input",l=w.createElement(n,{className:"shadow-sm focus:ring-[color:var(--uic-focus-color)] focus:border-[color:var(--uic-focus-color)] block w-full sm:text-sm rounded-md border-[color:var(--uic-border-color)] invalid:border-red-500 invalid:ring-red-500 invalid:ring-1 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400 dark:invalid:shadow-studio-dark-invalid dark:invalid:border-[#dc35467f] dark:invalid:ring-[#dc35467f]",id:e.id,name:e.id,defaultValue:t||(e.defaultValue?.toString()??""),placeholder:o?.placeholder,"aria-describedby":o?.hint?`${e.id}-hint`:void 0,type:n==="input"?"text":void 0,rows:n==="textarea"?4:void 0,"data-form-field-type":"string"}),m=o?.hint?r("p",{id:`${e.id}-hint`,className:"mt-2 text-sm text-gray-500 dark:text-studio-gray-200",children:o.hint}):null;return i("div",{children:[r("label",{className:"block text-sm font-medium",htmlFor:e.id,children:a}),r("div",{className:"mt-1",children:l}),m]})}function J({formField:e,state:t}){let o=u(e.customForm),a=e.label,n=e.enumValues,l;switch(o?.displayAs){case"checkbox":let b;Array.isArray(t)&&t.length?b=t:b=e.defaultValue?.toString().split(",")??[],l=r("fieldset",{id:e.id,className:"mt-1 space-y-2","data-type":"checkbox","aria-describedby":o?.hint?`${e.id}-hint`:void 0,"data-form-field-type":"enum",children:n?.map(d=>{let c=b.find(k=>k.trim()===d.id);return i("div",{className:"relative flex items-start",children:[r("div",{className:"flex items-center h-5",children:r("input",{type:"checkbox",checked:c,name:e.id,id:d.id,value:d.id,className:"focus:ring-[color:var(--uic-focus-color)] h-4 w-4 text-sky-600 border-[color:var(--uic-border-color)] rounded dark:border-2 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400 dark:text-[#007bff40]"})}),r("div",{className:"ml-3 text-sm",children:r("label",{htmlFor:d.id,className:"font-medium text-gray-700 dark:text-studio-gray-50",children:d.name})})]},d.id)})});break;case"radio":l=r("fieldset",{id:e.id,className:"mt-1 space-y-2","data-type":"radio","aria-describedby":o?.hint?`${e.id}-hint`:void 0,"data-form-field-type":"enum",children:n?.map(d=>i("div",{className:"relative flex items-start",children:[r("div",{className:"flex items-center h-5",children:r("input",{type:"radio",checked:(t||e.defaultValue)==d.id,name:e.id,id:d.id,value:d.id,className:"focus:ring-[color:var(--uic-focus-color)] h-4 w-4 text-sky-600 border-[color:var(--uic-border-color)] rounded dark:border-2 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400 dark:text-[#007bff40]"})}),r("div",{className:"ml-3 text-sm",children:r("label",{htmlFor:d.id,className:"font-medium text-gray-700 dark:text-studio-gray-50",children:d.name})})]},d.id))});break;default:let s=!0,f,g=d=>r("select",{id:e.id,className:"mt-1 block w-full pl-3 pr-10 py-2 text-base border-[color:var(--uic-border-color)] focus:outline-none focus:ring-[color:var(--uic-focus-color)] focus:border-[color:var(--uic-focus-color)] sm:text-sm rounded-md invalid:border-red-500 invalid:ring-red-500 invalid:ring-1 dark:border-solid dark:border-transparent dark:bg-studio-gray-350 dark:focus:shadow-studio-dark dark:focus:border-[#007bff40] dark:focus:ring-[#007bff40] dark:placeholder-gray-400 dark:invalid:shadow-studio-dark-invalid dark:invalid:border-[#dc35467f] dark:invalid:ring-[#dc35467f]",onChange:c=>c.target.dataset.value=c.target.value,"data-value":!0,"aria-describedby":o?.hint?`${e.id}-hint`:void 0,"data-form-field-type":"enum",...d,children:d.children}),p=d=>{let{children:c,...k}=d;return r("option",{disabled:!0,hidden:!0,style:{display:"none"},defaultValue:"",...k,children:c})},_=()=>r(h,{children:n?.map(d=>{let c=(t||e.defaultValue)===d.id;return c&&(s=!1,f=d.id),r("option",{value:d.id,selected:c,children:d.name},d.id)})});l=i(g,{"data-value":f,children:[r(p,{selected:!!s,children:s&&o?.placeholder}),r(_,{})]});break}let m=o?.hint?r("p",{id:`${e.id}-hint`,className:"mt-2 text-sm text-gray-500 dark:text-studio-gray-200",children:o.hint}):null;return i("div",{children:[r("label",{className:"block text-sm font-medium",htmlFor:e.id,children:a}),l,m]})}var x=class extends y.Renderer{link(t,o,a){return super.link(t,o,a).replace("<a","<a target='_blank'")}html(t,o){let a=super.html(t,o);return a.startsWith("<a ")&&!a.includes("target=")?a.replace("<a ",'<a target="_blank" '):a}};export{G as DynamicLink,re as DynamicUi};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@5minds/processcube_app_sdk",
|
|
3
|
-
"version": "5.1.0-feature-
|
|
3
|
+
"version": "5.1.0-feature-e1b871-looj2y6f",
|
|
4
4
|
"description": "The SDK for ProcessCube Apps",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "common/index.cjs",
|
|
@@ -78,10 +78,11 @@
|
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"@5minds/processcube_engine_client": "2023-2",
|
|
80
80
|
"@5minds/processcube_engine_sdk": "2023-2",
|
|
81
|
-
"chokidar": "^3.5.3",
|
|
82
81
|
"client-only": "^0.0.1",
|
|
83
82
|
"esbuild": "^0.19.3",
|
|
83
|
+
"isomorphic-dompurify": "^1.9.0",
|
|
84
84
|
"jwt-decode": "^3.1.2",
|
|
85
|
+
"marked": "^9.1.2",
|
|
85
86
|
"only-server": "^0.0.1",
|
|
86
87
|
"openid-client": "^5.5.0"
|
|
87
88
|
}
|
package/server/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var X=Object.create;var g=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var V=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty;var Z=(e,t)=>{for(var s in t)g(e,s,{get:t[s],enumerable:!0})},_=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of j(t))!J.call(e,n)&&n!==s&&g(e,n,{get:()=>t[n],enumerable:!(r=Y(t,n))||r.enumerable});return e};var Q=(e,t,s)=>(s=e!=null?X(V(e)):{},_(t||!e||!e.__esModule?g(s,"default",{value:e,enumerable:!0}):s,e)),z=e=>_(g({},"__esModule",{value:!0}),e);var Ne={};Z(Ne,{finishUserTask:()=>xe,finishUserTaskAndGetNext:()=>pe,getActiveProcessInstances:()=>de,getAssignedUserTasksByIdentity:()=>we,getEngineClient:()=>ie,getIdentity:()=>le,getReservedUserTasksByIdentity:()=>Te,getUserTasks:()=>B,getWaitingUserTaskByFlowNodeInstanceId:()=>$,getWaitingUserTasks:()=>fe,getWaitingUserTasksByCorrelationId:()=>Ie,getWaitingUserTasksByFlowNodeId:()=>ke,getWaitingUserTasksByProcessInstanceId:()=>me,navigateToUrl:()=>ye,startProcess:()=>Ee,waitForUserTask:()=>ue,withApplicationSdk:()=>ge});module.exports=z(Ne);var ot=require("only-server");var U=require("@5minds/processcube_engine_sdk"),R=require("@5minds/processcube_engine_client"),u=require("node:path"),F=require("esbuild"),I=require("node:fs"),A=require("openid-client"),D=Q(require("jwt-decode"),1);var P=require("@5minds/processcube_engine_client"),C=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new P.EngineClient(C);var ee={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},te=.85,se="external_task.ts",f=new U.Logger("processcube_app_sdk:external_task_adapter"),y=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0;async function b(e){let t,s=[e,(0,u.join)(process.cwd(),"app"),(0,u.join)(process.cwd(),"src","app")];for(let n of s)if(n&&(0,I.existsSync)(n)){t=n;break}if(!t)throw new Error("Could not find external tasks directory");let r=await O(t);for(let n of r){let a=await ne(n);if(!a)continue;let d=(0,u.join)(n,a),x=await re(d),m=y?await L():null,c={identity:await M(m),...x?.config},N=x.default,T=(0,u.relative)(t,n).replace(/^\.\/+|\([^)]+\)|^\/*|\/*$/g,"").replace(/[\/]{2,}/g,"/"),p=new R.ExternalTaskWorker(C,T,N,c);await S(m,p),p.onWorkerError((w,k,H)=>{f.error(`Intercepted "${w}"-type error: ${k.message}`,{err:k,type:w,externalTask:H})}),p.start(),f.info(`Started external task worker ${p.workerId} for topic '${T}'`)}}async function ne(e){let s=(await I.promises.readdir(e)).filter(r=>r===se);if(s.length===0)return null;if(s.length>1)throw new Error(`Found more than one external task file in directory '${e}'`);return s[0]}async function L(){if(!y)throw new Error("No authority is configured");let e=await A.Issuer.discover(process.env.PROCESSCUBE_AUTHORITY_URL);return await new e.Client({client_id:process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID,client_secret:process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET}).grant({grant_type:"client_credentials",scope:"engine_etw"})}async function M(e){if(!y||e===null)return ee;let t=e.access_token,s=(0,D.default)(t);return{token:e.access_token,userId:s.sub}}async function S(e,t,s=5){try{if(!y||e===null)return;let n=await oe(e)*te*1e3;setTimeout(async()=>{let a=await L(),d=await M(a);t.identity=d,await S(a,t)},n)}catch(r){if(s===0)throw r;f.error(`Could not refresh identity for external task worker ${t.workerId}`,{err:r,workerId:t.workerId});let n=2*1e3;setTimeout(async()=>await S(e,t,s-1),n)}}async function re(e){let t=await(0,F.build)({entryPoints:[e],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs"}),s=t.outputFiles[0].text,r=ae(s,e);if(t.errors.length>0)throw f.error(`Could not transpile file at '${e}'`,{errors:t.errors}),new Error(`Could not transpile file at '${e}'`);return t.warnings.length>0&&f.warn(`Transpiled file at '${e}' with warnings`,{warnings:t.warnings}),r}async function O(e){let t=await I.promises.readdir(e,{withFileTypes:!0}),s=await Promise.all(t.map(async r=>{let n=(0,u.join)(e.toString(),r.name);return r.isDirectory()?[n,...await O(n)]:[]}));return Array.prototype.concat(...s)}async function oe(e){let t=e.expires_in;if(!t&&e.expires_at&&(t=Math.floor(e.expires_at-Date.now()/1e3)),t===void 0)throw new Error("Could not determine the time until the access token for external task workers expires");return t}function ae(e,t){try{var s=module.constructor,r=new s;return r._compile(e,t),r.exports}catch(n){throw f.error("Could not require module from string",{err:n}),n}}function ie(){return o}var l=require("next/headers"),W=require("next/dist/compiled/@edge-runtime/cookies"),h=require("next-auth/jwt"),ce=process.env.NEXTAUTH_URL?.startsWith("https://"),q=`${ce?"__Secure-":""}next-auth.session-token`;async function le(){let e=await(0,h.getToken)({req:{cookies:(0,l.cookies)(),headers:(0,l.headers)()}});if(e?.expiresAt&&Date.now()>=e.expiresAt*1e3){let s=await fetch(`${process.env.NEXTAUTH_URL}/api/auth/session`,{method:"GET",headers:{"Content-Type":"application/json",cookie:(0,l.cookies)().toString()}}),r=new W.ResponseCookies(s.headers),n=r.get(q);if(n){let a=!1;try{(0,l.cookies)().set(q,n.value,{...n})}catch{a=!0}if(e=await(0,h.getToken)({req:{cookies:a?r:(0,l.cookies)(),headers:(0,l.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 v=require("@5minds/processcube_engine_client");async function de(e){return await o.processInstances.query({...e?.query,state:v.DataModels.ProcessInstances.ProcessInstanceState.running},e?.options)}var i=require("@5minds/processcube_engine_client");async function ue(e={},t){let{processInstanceId:s,flowNodeId:r}=e;return new Promise(async(n,a)=>{let d=await o.userTasks.onUserTaskWaiting(async c=>{let N=c.flowNodeInstanceId===void 0,T=s!==void 0&&c.processInstanceId!==s,p=r!==void 0&&c.flowNodeId!==r,w=s!==void 0&&r!==void 0&&c.processInstanceId!==s&&c.flowNodeId!==r;if(N||T||p||w)return;let k=await $(c.flowNodeInstanceId,{identity:t});return o.notification.removeSubscription(d,t),k===null?a(new Error(`UserTask with instance ID "${c.flowNodeInstanceId}" does not exist.`)):n(k)},{identity:t}),m=(await B({processInstanceId:s,flowNodeId:r,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:t})).userTasks[0];m&&(o.notification.removeSubscription(d,t),n(m))})}async function pe(e,t,s,r){await o.userTasks.finishUserTask(e,t,r);let n=await o.userTasks.query({flowNodeId:s,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:r});return n.userTasks.length===0?null:n.userTasks[0]}async function B(...e){return await o.userTasks.query(...e)}async function fe(e){return await o.userTasks.query({state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function me(e,t){return await o.userTasks.query({processInstanceId:e,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function ke(e,t){return await o.userTasks.query({flowNodeId:e,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function $(e,t){let s=await o.userTasks.query({flowNodeInstanceId:e,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{...t,limit:1});return s.userTasks.length===0?null:s.userTasks[0]}async function Ie(e,t){return await o.userTasks.query({correlationId:e,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Te(e,t){let s=await o.userTasks.query({state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),r=s.userTasks.filter(n=>n.actualOwnerId===e.userId);return s.userTasks=r,s}async function we(e,t){let s=await o.userTasks.query({state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),r=s.userTasks.filter(n=>n.assignedUserIds?.includes(e.userId));return s.userTasks=r,s}var E=require("next/dist/shared/lib/constants");function ge(e={}){let{applicationSdk:t,...s}=e;return async(r,n)=>{let a=r===E.PHASE_DEVELOPMENT_SERVER||r===E.PHASE_PRODUCTION_SERVER;return t?.useExternalTasks&&a&&await b(t?.customExternalTasksDirPath),s}}var K=require("next/cache"),G=require("next/navigation");function ye(e){(0,K.revalidatePath)(e),(0,G.redirect)(e)}async function Ee(...e){return await o.processModels.startProcessInstance(...e)}async function xe(...e){await o.userTasks.finishUserTask(...e)}0&&(module.exports={finishUserTask,finishUserTaskAndGetNext,getActiveProcessInstances,getAssignedUserTasksByIdentity,getEngineClient,getIdentity,getReservedUserTasksByIdentity,getUserTasks,getWaitingUserTaskByFlowNodeInstanceId,getWaitingUserTasks,getWaitingUserTasksByCorrelationId,getWaitingUserTasksByFlowNodeId,getWaitingUserTasksByProcessInstanceId,navigateToUrl,startProcess,waitForUserTask,withApplicationSdk});
|
package/server/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"only-server";import{Logger as D}from"@5minds/processcube_engine_sdk";import{ExternalTaskWorker as b}from"@5minds/processcube_engine_client";import{join as
|
|
1
|
+
import"only-server";import{Logger as D}from"@5minds/processcube_engine_sdk";import{ExternalTaskWorker as b}from"@5minds/processcube_engine_client";import{join as I,relative as L}from"node:path";import{build as M}from"esbuild";import{promises as N,existsSync as O}from"node:fs";import{Issuer as q}from"openid-client";import W from"jwt-decode";import{EngineClient as A}from"@5minds/processcube_engine_client";var E=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new A(E);var v={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},B=.85,$="external_task.ts",u=new D("processcube_app_sdk:external_task_adapter"),T=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0;async function C(e){let t,s=[e,I(process.cwd(),"app"),I(process.cwd(),"src","app")];for(let r of s)if(r&&O(r)){t=r;break}if(!t)throw new Error("Could not find external tasks directory");let n=await _(t);for(let r of n){let a=await K(r);if(!a)continue;let l=I(r,a),g=await G(l),p=T?await S():null,i={identity:await h(p),...g?.config},y=g.default,m=L(t,r).replace(/^\.\/+|\([^)]+\)|^\/*|\/*$/g,"").replace(/[\/]{2,}/g,"/"),d=new b(E,m,y,i);await x(p,d),d.onWorkerError((k,f,F)=>{u.error(`Intercepted "${k}"-type error: ${f.message}`,{err:f,type:k,externalTask:F})}),d.start(),u.info(`Started external task worker ${d.workerId} for topic '${m}'`)}}async function K(e){let s=(await N.readdir(e)).filter(n=>n===$);if(s.length===0)return null;if(s.length>1)throw new Error(`Found more than one external task file in directory '${e}'`);return s[0]}async function S(){if(!T)throw new Error("No authority is configured");let e=await q.discover(process.env.PROCESSCUBE_AUTHORITY_URL);return await new e.Client({client_id:process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID,client_secret:process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET}).grant({grant_type:"client_credentials",scope:"engine_etw"})}async function h(e){if(!T||e===null)return v;let t=e.access_token,s=W(t);return{token:e.access_token,userId:s.sub}}async function x(e,t,s=5){try{if(!T||e===null)return;let r=await H(e)*B*1e3;setTimeout(async()=>{let a=await S(),l=await h(a);t.identity=l,await x(a,t)},r)}catch(n){if(s===0)throw n;u.error(`Could not refresh identity for external task worker ${t.workerId}`,{err:n,workerId:t.workerId});let r=2*1e3;setTimeout(async()=>await x(e,t,s-1),r)}}async function G(e){let t=await M({entryPoints:[e],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs"}),s=t.outputFiles[0].text,n=X(s,e);if(t.errors.length>0)throw u.error(`Could not transpile file at '${e}'`,{errors:t.errors}),new Error(`Could not transpile file at '${e}'`);return t.warnings.length>0&&u.warn(`Transpiled file at '${e}' with warnings`,{warnings:t.warnings}),n}async function _(e){let t=await N.readdir(e,{withFileTypes:!0}),s=await Promise.all(t.map(async n=>{let r=I(e.toString(),n.name);return n.isDirectory()?[r,...await _(r)]:[]}));return Array.prototype.concat(...s)}async function H(e){let t=e.expires_in;if(!t&&e.expires_at&&(t=Math.floor(e.expires_at-Date.now()/1e3)),t===void 0)throw new Error("Could not determine the time until the access token for external task workers expires");return t}function X(e,t){try{var s=module.constructor,n=new s;return n._compile(e,t),n.exports}catch(r){throw u.error("Could not require module from string",{err:r}),r}}function we(){return o}import{cookies as w,headers as P}from"next/headers";import{ResponseCookies as Y}from"next/dist/compiled/@edge-runtime/cookies";import{getToken as U}from"next-auth/jwt";var j=process.env.NEXTAUTH_URL?.startsWith("https://"),R=`${j?"__Secure-":""}next-auth.session-token`;async function Ne(){let e=await U({req:{cookies:w(),headers:P()}});if(e?.expiresAt&&Date.now()>=e.expiresAt*1e3){let s=await fetch(`${process.env.NEXTAUTH_URL}/api/auth/session`,{method:"GET",headers:{"Content-Type":"application/json",cookie:w().toString()}}),n=new Y(s.headers),r=n.get(R);if(r){let a=!1;try{w().set(R,r.value,{...r})}catch{a=!0}if(e=await U({req:{cookies:a?n:w(),headers:P()}}),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}}import{DataModels as V}from"@5minds/processcube_engine_client";async function _e(e){return await o.processInstances.query({...e?.query,state:V.ProcessInstances.ProcessInstanceState.running},e?.options)}import{DataModels as c}from"@5minds/processcube_engine_client";async function Fe(e={},t){let{processInstanceId:s,flowNodeId:n}=e;return new Promise(async(r,a)=>{let l=await o.userTasks.onUserTaskWaiting(async i=>{let y=i.flowNodeInstanceId===void 0,m=s!==void 0&&i.processInstanceId!==s,d=n!==void 0&&i.flowNodeId!==n,k=s!==void 0&&n!==void 0&&i.processInstanceId!==s&&i.flowNodeId!==n;if(y||m||d||k)return;let f=await Z(i.flowNodeInstanceId,{identity:t});return o.notification.removeSubscription(l,t),f===null?a(new Error(`UserTask with instance ID "${i.flowNodeInstanceId}" does not exist.`)):r(f)},{identity:t}),p=(await J({processInstanceId:s,flowNodeId:n,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:t})).userTasks[0];p&&(o.notification.removeSubscription(l,t),r(p))})}async function Ae(e,t,s,n){await o.userTasks.finishUserTask(e,t,n);let r=await o.userTasks.query({flowNodeId:s,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:n});return r.userTasks.length===0?null:r.userTasks[0]}async function J(...e){return await o.userTasks.query(...e)}async function De(e){return await o.userTasks.query({state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function be(e,t){return await o.userTasks.query({processInstanceId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Le(e,t){return await o.userTasks.query({flowNodeId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Z(e,t){let s=await o.userTasks.query({flowNodeInstanceId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{...t,limit:1});return s.userTasks.length===0?null:s.userTasks[0]}async function Me(e,t){return await o.userTasks.query({correlationId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Oe(e,t){let s=await o.userTasks.query({state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),n=s.userTasks.filter(r=>r.actualOwnerId===e.userId);return s.userTasks=n,s}async function qe(e,t){let s=await o.userTasks.query({state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),n=s.userTasks.filter(r=>r.assignedUserIds?.includes(e.userId));return s.userTasks=n,s}import{PHASE_DEVELOPMENT_SERVER as Q,PHASE_PRODUCTION_SERVER as z}from"next/dist/shared/lib/constants";function Ve(e={}){let{applicationSdk:t,...s}=e;return async(n,r)=>{let a=n===Q||n===z;return t?.useExternalTasks&&a&&await C(t?.customExternalTasksDirPath),s}}import{revalidatePath as ee}from"next/cache";import{redirect as te}from"next/navigation";function tt(e){ee(e),te(e)}async function rt(...e){return await o.processModels.startProcessInstance(...e)}async function it(...e){await o.userTasks.finishUserTask(...e)}export{it as finishUserTask,Ae as finishUserTaskAndGetNext,_e as getActiveProcessInstances,qe as getAssignedUserTasksByIdentity,we as getEngineClient,Ne as getIdentity,Oe as getReservedUserTasksByIdentity,J as getUserTasks,Z as getWaitingUserTaskByFlowNodeInstanceId,De as getWaitingUserTasks,Me as getWaitingUserTasksByCorrelationId,Le as getWaitingUserTasksByFlowNodeId,be as getWaitingUserTasksByProcessInstanceId,tt as navigateToUrl,rt as startProcess,Fe as waitForUserTask,Ve as withApplicationSdk};
|