@rejuve-bio/query-builder 0.0.15 → 0.0.16
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/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{useReactFlow as r,Position as a,Handle as o,getBezierPath as i,BaseEdge as d,EdgeLabelRenderer as s,MarkerType as l,ReactFlowProvider as c,applyNodeChanges as u,applyEdgeChanges as m,ReactFlow as p,Controls as f,Background as v}from"@xyflow/react";import*as g from"react";import h,{createContext as b,useRef as y,useContext as x,useMemo as k,useEffect as N,useState as w,createElement as C,useCallback as z}from"react";import*as _ from"@radix-ui/react-popover";import{clsx as O}from"clsx";import{twMerge as S}from"tailwind-merge";import*as j from"@radix-ui/react-accordion";import{ChevronDownIcon as T,Loader as E,SearchIcon as R,ChevronsUpDown as D,Check as L,Trash as M,ArrowRight as I,ArrowLeft as q,CircleIcon as P,ChevronDown as V,ArrowLeftRight as A,AlertCircle as Y,Play as F,Plus as G}from"lucide-react";import*as W from"@radix-ui/react-context-menu";import{Slot as U}from"@radix-ui/react-slot";import{cva as B}from"class-variance-authority";import{Command as X}from"cmdk";import"@radix-ui/react-dialog";import*as H from"@radix-ui/react-label";import{createAvatar as Z}from"@dicebear/core";import{identicon as J}from"@dicebear/collection";import K from"deep-diff";import*as Q from"@radix-ui/react-dropdown-menu";import $ from"elkjs";import ee from"object.groupby";import{customAlphabet as te}from"nanoid";import{toast as ne}from"sonner";var re=function(){return re=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},re.apply(this,arguments)};function ae(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n}function oe(e,t,n){if(n||2===arguments.length)for(var r,a=0,o=t.length;a<o;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}function ie(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return S(O(e))}function de(t){var n=ae(t,[]);return e(_.Root,re({"data-slot":"popover"},n))}function se(t){var n=ae(t,[]);return e(_.Trigger,re({"data-slot":"popover-trigger"},n))}function le(t){var n=t.className,r=t.align,a=void 0===r?"center":r,o=t.sideOffset,i=void 0===o?4:o,d=ae(t,["className","align","sideOffset"]);return e(_.Portal,{children:e(_.Content,re({"data-slot":"popover-content",align:a,sideOffset:i,className:ie("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",n)},d))})}function ce(t){var n=ae(t,[]);return e(j.Root,re({"data-slot":"accordion"},n))}function ue(t){var n=t.className,r=ae(t,["className"]);return e(j.Item,re({"data-slot":"accordion-item",className:ie("border-b last:border-b-0",n)},r))}function me(n){var r=n.className,a=n.children,o=ae(n,["className","children"]);return e(j.Header,{className:"flex",children:t(j.Trigger,re({"data-slot":"accordion-trigger",className:ie("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",r)},o,{children:[a,e(T,{className:"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"})]}))})}function pe(t){var n=t.className,r=t.children,a=ae(t,["className","children"]);return e(j.Content,re({"data-slot":"accordion-content",className:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"},a,{children:e("div",{className:ie("pt-0 pb-4",n),children:r})}))}function fe(t){var n=ae(t,[]);return e(W.Root,re({"data-slot":"context-menu"},n))}function ve(t){var n=ae(t,[]);return e(W.Trigger,re({"data-slot":"context-menu-trigger"},n))}function ge(t){var n=t.className,r=ae(t,["className"]);return e(W.Portal,{children:e(W.Content,re({"data-slot":"context-menu-content",className:ie("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",n)},r))})}function he(t){var n=t.className,r=t.inset,a=t.variant,o=void 0===a?"default":a,i=ae(t,["className","inset","variant"]);return e(W.Item,re({"data-slot":"context-menu-item","data-inset":r,"data-variant":o,className:ie("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",n)},i))}"function"==typeof SuppressedError&&SuppressedError;var be=B("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),ye=g.forwardRef((function(r,a){var o=r.className,i=r.variant,d=r.size,s=r.asChild,l=void 0!==s&&s,c=r.busy,u=void 0!==c&&c,m=ae(r,["className","variant","size","asChild","busy"]);return e(l?U:"button",re({className:ie(be({variant:i,size:d,className:o})),ref:a},m,{disabled:m.disabled||u,children:u?t(n,{children:[e(E,{className:"me-2 h-4 w-4 animate-spin"})," ",m.children]}):m.children}))}));function xe(t){var n=t.className,r=ae(t,["className"]);return e(X,re({"data-slot":"command",className:ie("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",n)},r))}function ke(n){var r=n.className,a=ae(n,["className"]);return t("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[e(R,{className:"size-4 shrink-0 opacity-50"}),e(X.Input,re({"data-slot":"command-input",className:ie("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",r)},a))]})}function Ne(t){var n=t.className,r=ae(t,["className"]);return e(X.List,re({"data-slot":"command-list",className:ie("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",n)},r))}function we(t){var n=ae(t,[]);return e(X.Empty,re({"data-slot":"command-empty",className:"py-6 text-center text-sm"},n))}function Ce(t){var n=t.className,r=ae(t,["className"]);return e(X.Group,re({"data-slot":"command-group",className:ie("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",n)},r))}function ze(t){var n=t.className,r=ae(t,["className"]);return e(X.Item,re({"data-slot":"command-item",className:ie("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",n)},r))}function _e(t){var n=t.className,r=ae(t,["className"]);return e(H.Root,re({"data-slot":"label",className:ie("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",n)},r))}ye.displayName="Button";var Oe=b({forms:{},icons:{},style:{},nodeDefinitions:[],edgeDefinitions:[]}),Se={input:function(t){var n=t.className,r=t.type,a=ae(t,["className","type"]);return e("input",re({type:r,"data-slot":"input",className:ie("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",n)},a))},combobox:function(n){var r=n.options,a=n.className,o=n.defaultValue,i=n.name,d=g.useState(!1),s=d[0],l=d[1],c=g.useState(o),u=c[0],m=c[1];return t("div",{className:a,children:[e("input",{type:"hidden",name:i,value:u}),t(de,{open:s,onOpenChange:l,children:[e(se,{asChild:!0,children:t(ye,{variant:"outline",role:"combobox","aria-expanded":s,className:"w-full justify-between",children:[u||"Select option...",e(D,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),e(le,{side:"right",className:"w-full p-0",children:t(xe,{children:[e(ke,{placeholder:"Search option..."}),t(Ne,{children:[e(we,{children:"No option found."}),e(Ce,{children:r.map((function(n){return t(ze,{value:n.value,onSelect:function(e){m(e===u?"":e),l(!1)},children:[e(L,{className:ie("mr-2 h-4 w-4",u===n.value?"opacity-100":"opacity-0")}),n.label||n.value]},n.value)}))})]})]})})]})]})}};function je(n){var r=n.inputType,a=ae(n,["inputType"]),o=Se[r];return t(_e,{className:"mb-4 block",children:[e("div",{className:"mb-2",children:n.label}),e(o,re({},a,{options:n.options||[]}))]})}function Te(t){var n,r=x(Oe),a=r.icons,o=r.style,i=(null===(n=null==o?void 0:o[t.type])||void 0===n?void 0:n.icon)||" bg-stone-500 dark:bg-stone-600",d=null==a?void 0:a[t.type],s="small"==t.size?24:48,l=("small"==t.size?"h-10 w-10":"h-24 w-24")+" flex items-center justify-center rounded-full "+i;if(d)return e("div",{className:l,children:e(d,{size:s})});var c=Z(J,{seed:t.type,size:s,rowColor:["FFF"]}).toString();return e("div",{className:l,title:t.type,children:e("div",{dangerouslySetInnerHTML:{__html:c}})})}function Ee(t){return e(o,re({},t,{onClick:t.onClick,style:{width:20,height:20,borderWidth:1}}))}function Re(n){return t("div",{className:"w-full",children:[e("h4",{className:"p-4 font-bold",children:"Available connections"}),e("ul",{children:n.connections.map((function(r){return t("li",{onClick:function(){return n.onClick(r)},className:"flex items-center p-1 px-4 hover:bg-foreground/10 cursor-pointer whitespace-nowrap",children:[e(Te,{size:"small",type:r.type}),t("span",{className:"ms-2",children:[r.type,r.isSource?e(I,{className:"mx-2 inline stroke-foreground/30"}):e(q,{className:"mx-2 inline stroke-foreground/30"}),r.label]})]},r.id)}))})]})}function De(n){var r,a,o,i=x(Oe).style,d=(null===(r=null==i?void 0:i[n.values.qb_node_type])||void 0===r?void 0:r.form)||" bg-stone-500 dark:bg-stone-600",s=w(!1),l=s[0],c=s[1],u="p-4 rounded-t text-white "+d,m=y(null);return t(de,{open:l,onOpenChange:function(e){var t;e||null===(t=m.current)||void 0===t||t.requestSubmit(),c(e)},children:[e(se,{onAuxClick:function(){},children:n.children}),e(le,{className:"border-0 p-0 dark:border",side:"right",children:t("div",{className:"rounded-b shadow-2xl",children:[t("div",{className:u,children:[n.values.qb_node_type," parameters"]}),e("form",{onSubmit:n.onSubmit,ref:m,children:t("div",{className:"p-4 max-h-[70vh] overflow-y-auto",children:[!(null===(a=n.fields)||void 0===a?void 0:a.length)&&e(je,{name:"id",label:"ID",inputType:"input",defaultValue:n.values.id}),null===(o=n.fields)||void 0===o?void 0:o.map((function(e){return C(je,re({},e,{key:e.name,defaultValue:n.values[e.name]}))}))]})})]})})]})}function Le(n){var r,a=x(Oe).style,o="rounded-xl border-4 border-background px-4 py-2 font-mono text-xs "+((null===(r=null==a?void 0:a[n.parameters.qb_node_type])||void 0===r?void 0:r.params)||" bg-stone-100 text-stone-700 dark:bg-stone-700 dark:text-stone-100"),i=k((function(){var e=[],t=["qb_node_type","error","animate"];return Object.keys(n.parameters).forEach((function(r){!t.includes(r)&&n.parameters[r]&&e.push({key:r,value:n.parameters[r]})})),e}),[n.parameters]);return i.length?e("ul",{className:o,children:i.map((function(e){return t("li",{className:"whitespace-nowrap",children:[e.key,": ",e.value]},e.key)}))}):null}var Me=h.memo((function(o){var i=r().updateNode,d=y(null),s=y(null),l=o.data,c=l.qb_node_type,u=x(Oe).edgeDefinitions,m=k((function(){return e=c,t=[],u.forEach((function(n){var r=n.source,a=n.target;r!=e&&a!=e||t.push({id:n.id,label:n.label,type:r==e?a:r,isSource:e==a})})),t;var e,t}),[c]),p="pointer-events-none ".concat(o.data.animate&&"animate-bounce-once"),f=x(Oe).forms;return N((function(){var e=d.current,t=s.current;t&&e&&(e.style.width="".concat(t.clientWidth+100,"px"),i(o.id,{measured:{width:t.clientWidth+100,height:100}}))}),[o.data]),e("div",{ref:d,className:p,children:t("div",{className:"relative w-fit",children:[e("div",{ref:s,className:"absolute bottom-3/4 left-3/4 z-10",children:e(Le,{parameters:o.data})}),t("div",{className:"pointer-events-auto relative w-fit",children:[t(fe,{children:[e(ve,{className:"p-0",children:e(De,{values:l,fields:null==f?void 0:f[c],onSubmit:function(e){e.preventDefault();var t=new FormData(e.target),n=Object.fromEntries(t);Object.keys(n).map((function(e){"-"==n[e]&&(n[e]="")})),i(o.id,{data:re(re({},l),n)})},children:e(Te,{type:c})})}),e(ge,{children:t(he,{onClick:function(){return o.onDelete(o.id)},children:[e(M,{size:16,className:"me-2 inline"}),"Delete node"]})})]}),t(de,{children:[e(se,{children:t(n,{children:[e(Ee,{type:"target",position:a.Left}),e(Ee,{type:"source",position:a.Right})]})}),e(le,{side:"right",className:"max-h-screen w-full overflow-y-auto p-0",children:e(Re,{connections:m,onClick:function(e){return o.onAddNode(o.id,e)}})})]})]}),e("p",{className:"relative text-center",children:c})]})})}),(function(e,t){return!K(e.data,t.data)}));function Ie(e,t){var n=new Set(e.map((function(e){return e.category})).filter((function(e){return e}))),r=Array.from(n).reduce((function(e,t,n){var r;return re(re({},e),((r={})[t]=qe[n%qe.length],r))}),{});return e.reduce((function(e,a,o){var i;return re(re({},e),((i={})[a.id]=t&&n.size>1?r[a.category]:qe[o%qe.length],i))}),{})}var qe=[{form:"bg-purple-600 dark:bg-purple-700",icon:"bg-purple-500 dark:bg-purple-900",params:"bg-purple-100 text-purple-700 dark:bg-purple-950 dark:text-purple-100"},{icon:"bg-orange-500 dark:bg-orange-900",params:"bg-orange-100 text-orange-700 dark:bg-orange-950 dark:text-orange-100",form:"bg-orange-500 dark:bg-orange-700"},{icon:"bg-pink-500 dark:bg-pink-900",params:"bg-pink-100 text-pink-700 dark:bg-pink-950 dark:text-pink-100",form:"bg-pink-500 dark:bg-pink-700"},{icon:"bg-lime-500 dark:bg-lime-900",params:"bg-lime-100 text-lime-700 dark:bg-lime-950 dark:text-lime-100",form:"bg-lime-500 dark:bg-lime-700"},{icon:"bg-blue-500 dark:bg-blue-900",params:"bg-blue-100 text-blue-700 dark:bg-blue-950 dark:text-blue-100",form:"bg-blue-500 dark:bg-blue-700"},{icon:"bg-yellow-500 dark:bg-yellow-900",params:"bg-yellow-100 text-yellow-700 dark:bg-yellow-950 dark:text-yellow-100",form:"bg-yellow-500 dark:bg-yellow-700"},{icon:"bg-emerald-500 dark:bg-emerald-900",params:"bg-emerald-100 text-emerald-700 dark:bg-emerald-950 dark:text-emerald-100",form:"bg-emerald-500 dark:bg-emerald-700"},{icon:"bg-amber-600 dark:bg-amber-900",params:"bg-amber-100 text-amber-700 dark:bg-amber-950 dark:text-amber-100",form:"bg-amber-600 dark:bg-amber-700"},{form:"bg-indigo-500 dark:bg-indigo-700",icon:"bg-indigo-500 dark:bg-indigo-900",params:"bg-indigo-100 text-indigo-700 dark:bg-indigo-950 dark:text-indigo-100"},{icon:"bg-rose-500 dark:bg-rose-900",params:"bg-rose-100 text-rose-700 dark:bg-rose-950 dark:text-rose-100",form:"bg-rose-500 dark:bg-rose-700"},{icon:"bg-violet-500 dark:bg-violet-900",params:"bg-violet-100 text-violet-700 dark:bg-violet-950 dark:text-violet-100",form:"bg-violet-500 dark:bg-violet-700"}];function Pe(t){var n=ae(t,[]);return e(Q.Root,re({"data-slot":"dropdown-menu"},n))}function Ve(t){var n=ae(t,[]);return e(Q.Trigger,re({"data-slot":"dropdown-menu-trigger"},n))}function Ae(t){var n=t.className,r=t.sideOffset,a=void 0===r?4:r,o=ae(t,["className","sideOffset"]);return e(Q.Portal,{children:e(Q.Content,re({"data-slot":"dropdown-menu-content",sideOffset:a,className:ie("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",n)},o))})}function Ye(t){var n=ae(t,[]);return e(Q.RadioGroup,re({"data-slot":"dropdown-menu-radio-group"},n))}function Fe(n){var r=n.className,a=n.children,o=ae(n,["className","children"]);return t(Q.RadioItem,re({"data-slot":"dropdown-menu-radio-item",className:ie("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",r)},o,{children:[e("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:e(Q.ItemIndicator,{children:e(P,{className:"size-2 fill-current"})})}),a]}))}function Ge(t){var n=t.className,r=t.inset,a=ae(t,["className","inset"]);return e(Q.Label,re({"data-slot":"dropdown-menu-label","data-inset":r,className:ie("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",n)},a))}function We(t){var n=t.className,r=ae(t,["className"]);return e(Q.Separator,re({"data-slot":"dropdown-menu-separator",className:ie("bg-border -mx-1 my-1 h-px",n)},r))}function Ue(a){var o,l=r(),c=l.updateEdgeData,u=l.deleteElements,m=i({sourceX:a.sourceX,sourceY:a.sourceY,targetX:a.targetX,targetY:a.targetY,sourcePosition:a.sourcePosition,targetPosition:a.targetPosition}),p=m[0],f=m[1],v=m[2];return t(n,{children:[e(d,{id:a.id,path:p,markerEnd:a.markerEnd,style:re(re({},a.style),{strokeWidth:2})}),e(s,{children:e("div",{className:"pointer-events-auto absolute text-xs",style:{transform:"translate(-75%, -50%) translate(".concat(f,"px,").concat(v,"px)")},children:e(Be,{options:null===(o=a.data)||void 0===o?void 0:o.options,currentEdgeType:a.data.edgeType,onSelect:function(e){c(a.id,{edgeType:e})},onDelete:function(){return u({edges:[{id:a.id}]})},onReverse:function(){return a.onReverse(a.id,a.source,a.target,a.data.edgeType)}})})})]})}function Be(n){return e("div",{children:t(Pe,{children:[e(Ve,{children:t("p",{className:"bg-background",children:[n.currentEdgeType," ",e(V,{className:"inline w-4"})]})}),t(Ae,{children:[e(Ge,{children:n.currentEdgeType}),e(We,{}),e(Ye,{value:n.currentEdgeType,onValueChange:n.onSelect,children:n.options.map((function(t){return e(Fe,{value:t.label,children:t.label},t.label)}))}),e(We,{}),t("div",{className:"flex gap-2 justify-end",children:[e(ye,{size:"icon",variant:"ghost",onClick:n.onReverse,children:e(A,{className:"size-4"})}),e(ye,{size:"icon",variant:"ghost",onClick:n.onDelete,children:e(M,{className:"size-4 text-destructive"})})]})]})]})})}var Xe=te("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",10),He={"elk.algorithm":"layered","elk.direction":"RIGHT","elk.layered.spacing.nodeNodeBetweenLayers":300,"elk.spacing.nodeNode":200},Ze={animated:!0,markerEnd:{type:l.ArrowClosed,color:"var(--marker-fill)"}};function Je(n){var a=w([]),o=a[0],i=a[1],d=w([]),s=d[0],l=d[1],c=w(!1),g=c[0],h=c[1],b=w(!1),y=b[0],C=b[1],_=w(!1),O=_[0],S=_[1],j=r(),T=j.getNode,E=j.fitView,R=j.toObject,D=j.screenToFlowPosition,L=j.deleteElements,M=k((function(){return new $}),[]),I=x(Oe).edgeDefinitions,q=k((function(){return{custom:function(t){return e(Ue,re({},t,{onReverse:G}))}}}),[]),P=k((function(){return{custom:function(t){return e(Me,re({},t,{onAddNode:X,onDelete:H}))}}}),[]),V=z((function(e){var t;try{t=F(e.source,e.target)}catch(e){t=!1}if(!t)try{F(e.target,e.source)}catch(e){ne.error("Invalid connection.",{description:"There are no valid connections between those nodes.",action:{label:"Okay",onClick:function(){}}})}}),[F]);function A(e){var t={id:Xe(),type:"custom",data:{qb_node_type:e,animate:!0},position:D({x:document.body.clientWidth/2,y:0}),measured:{width:100,height:100}};return i((function(e){return oe(oe([],e,!0),[t],!1)})),S(!0),t}function Y(e,t){return I.filter((function(n){return n.source===e&&n.target===t}))}function F(e,t,n){var r,a="string"==typeof e?T(e):e,o="string"==typeof t?T(t):t;if(!a||!o)throw"Not possible to connect nodes";var i=Y(null==a?void 0:a.data.qb_node_type,null==o?void 0:o.data.qb_node_type);if(!i.length)throw"Not possible to connect nodes";var d=i.some((function(e){return e.label==n})),s={id:Xe(),type:"custom",source:null==a?void 0:a.id,target:null==o?void 0:o.id,data:{edgeType:d?n:null===(r=i[0])||void 0===r?void 0:r.label,options:i}};return l((function(e){return oe(oe([],e,!0),[s],!1)})),s}var G=z((function(e,t,n,r){L({edges:[{id:e}]});try{F(n,t,r)}catch(e){F(t,n,r),ne.error("Invalid connection.",{description:"It's not possible to connect those nodes in the reverse direction.",action:{label:"Okay",onClick:function(){}}})}}),[]),W=z((function(e){return i((function(t){var r=u(e,t),a=B(e,r,n.nodes,g);return h(a),r}))}),[i,g,o]),U=z((function(e){return l((function(t){var r=m(e,t),a=B(e,r,n.edges,y);return C(a),r}))}),[l,y]);function B(e,t,n,r){if(!t||!n)return!1;if((null==t?void 0:t.length)!=(null==n?void 0:n.length))return!0;var a=["dimensions","replace","remove","add"];if(!e.some((function(e){return a.includes(e.type)})))return r;var o=K.diff(n.map((function(e){return e.data})),t.map((function(e){return e.data})));return!!o&&(!o.every((function(e){var t;return"E"==e.kind&&(null===(t=e.path)||void 0===t?void 0:t.includes("animate"))}))&&!o.every((function(e){return"N"==e.kind&&""==e.rhs})))}function X(e,t){var n=A(t.type),r=t.isSource?[n,e]:[e,n];F(r[0],r[1],t.label)}function H(e){i((function(t){return t.filter((function(t){return t.id!==e}))})),l((function(t){return t.filter((function(t){return t.source!==e&&t.target!==e}))}))}function Z(e,t){var n={id:"Y",layoutOptions:He,edges:t,children:e.map((function(e){return re({},e)}))};M.layout(n).then((function(e){var n=e.children;n.forEach((function(e){e.position={x:e.x,y:e.y}})),i(n),l(t),S(!0)}))}return N((function(){o.length&&s.length>=o.length-1&&Z(o,s)}),[s.length]),N((function(){O&&(E(),S(!1))}),[O]),N((function(){var e,t,r=(null===(e=n.nodes)||void 0===e?void 0:e.map((function(e){var t,n;return re(re({},e),{width:(null===(t=e.measured)||void 0===t?void 0:t.width)||100,height:(null===(n=e.measured)||void 0===n?void 0:n.height)||100,data:re(re({},e.data),{animate:!1})})})))||[],a=(null===(t=n.edges)||void 0===t?void 0:t.map((function(e){var t=e,n=r.find((function(t){return t.id==e.source})),a=r.find((function(t){return t.id==e.target})),o=Y((null==n?void 0:n.data).qb_node_type,(null==a?void 0:a.data).qb_node_type);return t.data=re(re({},t.data),{options:o}),t})))||[];Z(r,a)}),[]),t("div",{className:"query-builder w-full h-full",children:[0==o.length&&e(Qe,{}),t(p,{fitView:!0,fitViewOptions:{padding:"20%"},nodes:o,edges:s,onNodesChange:W,onEdgesChange:U,onConnect:V,nodeTypes:P,edgeTypes:q,colorMode:n.theme,defaultEdgeOptions:Ze,proOptions:{hideAttribution:!0},children:[!n.readonly&&e(f,{}),e(v,{patternClassName:"qb-bg"})]}),!!o.length&&!n.readonly&&t("div",{className:"absolute bottom-10 right-24 z-20 flex items-center",children:[(g||y)&&e(et,{onClick:function(){Z(n.nodes,n.edges)}}),e($e,{busy:n.busy,previouslyRun:n.previouslyRun,hasUnsavedChanges:g||y,onClick:function(){return n.onSubmit(R())}})]}),!n.readonly&&e("div",{className:"absolute bottom-10 left-24 z-20",children:e(tt,{onSelect:A,hasInsertedNodes:!!o.length})})]})}function Ke(t){return e(c,{children:e(Je,re({},t))})}function Qe(){return e("div",{className:"absolute z-10 flex h-full w-full items-center justify-center",children:t("div",{className:"flex w-1/3 flex-col items-center text-center",children:[e("img",{src:"data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3c!-- Created with Vectornator (http://vectornator.io/) --%3e%3csvg height='100%25' stroke-miterlimit='10' style='fill-rule:nonzero%3bclip-rule:evenodd%3bstroke-linecap:round%3bstroke-linejoin:round%3b' version='1.1' viewBox='0 0 24 24' width='100%25' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:vectornator='http://vectornator.io' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs/%3e%3cg id='Layer-1' vectornator:layerName='Layer 1'%3e%3cpath d='M3.62131 12.0384C3.62131 7.39169 7.38825 3.62474 12.035 3.62474C16.6818 3.62474 20.4487 7.39169 20.4487 12.0384C20.4487 16.6852 16.6818 20.4521 12.035 20.4521C7.38825 20.4521 3.62131 16.6852 3.62131 12.0384Z' fill='none' opacity='1' stroke='%23dddddd' stroke-linecap='butt' stroke-linejoin='round' stroke-width='0.5' vectornator:layerName='Oval 1'/%3e%3cpath d='M14.8009 9.32897M12.1178 10.5242M13.84 8.52605L15.7528 10.3539M11.8301 10.0305L14.0213 12.1995M10.5624 10.6425L13.3991 13.2165M10.2261 11.9295L12.2905 13.9752M8.61877 13.7694L10.2261 15.5567M7.39629 14.2648L9.98536 16.7415M14.2166 7.40771C14.2166 7.40771 14.9369 8.06113 15.6027 8.73598C16.2686 9.41082 16.8521 10.0305 16.8521 10.0305M17.1618 9.82916C14.953 11.4943 12.0923 8.69719 10.5624 10.6425C9.06488 12.5466 11.1133 14.827 9.98536 17.0567M14.2166 7.02021C12.913 9.72026 15.0376 11.6149 13.6665 13.2564C12.0173 15.2309 8.80683 12.8051 6.90825 14.2648M13.2167 11.1774' fill='none' opacity='1' stroke='%23dddddd' stroke-linecap='round' stroke-linejoin='round' stroke-width='0.6' vectornator:layerName='Curve 1'/%3e%3cpath d='M15.3269 18.1471C15.3269 16.6146 16.5692 15.3723 18.1017 15.3723C19.6342 15.3723 20.8765 16.6146 20.8765 18.1471C20.8765 19.6796 19.6342 20.9219 18.1017 20.9219C16.5692 20.9219 15.3269 19.6796 15.3269 18.1471Z' fill='%23dddddd' fill-rule='nonzero' opacity='1' stroke='none' vectornator:layerName='Oval 2'/%3e%3cpath d='M19.4383 18.1471L16.7651 18.1471' fill='none' opacity='1' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='0.7' vectornator:layerName='Line 2'/%3e%3cpath d='M18.1017 19.4837L18.1017 18.0577L18.1017 16.8105' fill='none' opacity='1' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='0.7' vectornator:layerName='Line 1'/%3e%3c/g%3e%3c/svg%3e",className:"h-72 w-72 dark:invert-[0.95]"}),e("h2",{className:"mb-4 text-xl font-bold text-foreground/70",children:"Start by adding a node"}),e("p",{className:"mb-8 text-center text-foreground/50",children:'Click on the "Add node" button below to select from all node types available in the bio-atomspace. Click / drag the handles on the sides of nodes to add connections.'})]})})}function $e(n){var r="Run query";return n.previouslyRun&&(r="Re-run query"),n.previouslyRun&&n.hasUnsavedChanges&&(r="Save and re-run query"),t(ye,{busy:n.busy,className:"ms-4",onClick:n.onClick,children:[n.busy||e(F,{className:"mr-2"})," ",r]})}function et(n){return t("div",{children:[t("p",{className:"me-4 inline text-orange-500",children:[e(Y,{size:16,className:"me-2 inline"})," You have unsaved changes."]}),e(ye,{variant:"outline",onClick:n.onClick,children:"Reset"})]})}function tt(n){var r=x(Oe).nodeDefinitions,a=ee(r,(function(e){return e.category}));return t(de,{children:[e(se,{asChild:!0,children:t(ye,{variant:n.hasInsertedNodes?"outline":"default",children:[e(G,{className:"me-2 inline"})," Add node"]})}),t(le,{side:"top",className:"p-0 shadow-2xl",children:[e("h4",{className:"p-4 font-bold shadow",children:"Select a node type "}),e("div",{className:"max-h-[70vh] overflow-y-auto",children:e(ce,{type:"single",defaultValue:Object.keys(a)[0],children:Object.keys(a).map((function(r){var o;return t(ue,{value:r,className:"px-4",children:[e(me,{children:"undefined"==r?"Uncategorized":r}),e(pe,{className:"px-2",children:e("ul",{children:null===(o=a[r])||void 0===o?void 0:o.map((function(r){return t("li",{className:"mb-1 flex items-center hover:cursor-pointer",onClick:function(){return n.onSelect(r.id)},children:[e(Te,{type:r.id,size:"small"}),e("p",{className:"ms-2",children:r.name})]},r.id)}))})})]},r)}))})})]})]})}export{Te as Icon,Ke as QueryBuilder,Oe as QueryBuilderContext,Ie as generateNodeStyle};
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{useReactFlow as r,Position as a,Handle as o,getBezierPath as i,BaseEdge as d,EdgeLabelRenderer as s,MarkerType as l,ReactFlowProvider as c,applyNodeChanges as u,applyEdgeChanges as m,ReactFlow as p,Controls as f,Background as v}from"@xyflow/react";import*as g from"react";import h,{createContext as b,useRef as y,useContext as x,useMemo as k,useEffect as N,useState as w,createElement as C,useCallback as z}from"react";import*as _ from"@radix-ui/react-popover";import{clsx as O}from"clsx";import{twMerge as S}from"tailwind-merge";import*as j from"@radix-ui/react-accordion";import{ChevronDownIcon as T,Loader as E,SearchIcon as R,ChevronsUpDown as D,Check as L,Trash as M,ArrowRight as I,ArrowLeft as q,CircleIcon as P,ChevronDown as V,ArrowLeftRight as A,AlertCircle as Y,Play as F,Plus as G}from"lucide-react";import*as W from"@radix-ui/react-context-menu";import{Slot as U}from"@radix-ui/react-slot";import{cva as B}from"class-variance-authority";import{Command as X}from"cmdk";import"@radix-ui/react-dialog";import*as H from"@radix-ui/react-label";import{createAvatar as Z}from"@dicebear/core";import{identicon as J}from"@dicebear/collection";import K from"deep-diff";import*as Q from"@radix-ui/react-dropdown-menu";import $ from"elkjs";import ee from"object.groupby";import{customAlphabet as te}from"nanoid";import{toast as ne}from"sonner";var re=function(){return re=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},re.apply(this,arguments)};function ae(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n}function oe(e,t,n){if(n||2===arguments.length)for(var r,a=0,o=t.length;a<o;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}function ie(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return S(O(e))}function de(t){var n=ae(t,[]);return e(_.Root,re({"data-slot":"popover"},n))}function se(t){var n=ae(t,[]);return e(_.Trigger,re({"data-slot":"popover-trigger"},n))}function le(t){var n=t.className,r=t.align,a=void 0===r?"center":r,o=t.sideOffset,i=void 0===o?4:o,d=ae(t,["className","align","sideOffset"]);return e(_.Portal,{children:e(_.Content,re({"data-slot":"popover-content",align:a,sideOffset:i,className:ie("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",n)},d))})}function ce(t){var n=ae(t,[]);return e(j.Root,re({"data-slot":"accordion"},n))}function ue(t){var n=t.className,r=ae(t,["className"]);return e(j.Item,re({"data-slot":"accordion-item",className:ie("border-b last:border-b-0",n)},r))}function me(n){var r=n.className,a=n.children,o=ae(n,["className","children"]);return e(j.Header,{className:"flex",children:t(j.Trigger,re({"data-slot":"accordion-trigger",className:ie("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",r)},o,{children:[a,e(T,{className:"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"})]}))})}function pe(t){var n=t.className,r=t.children,a=ae(t,["className","children"]);return e(j.Content,re({"data-slot":"accordion-content",className:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"},a,{children:e("div",{className:ie("pt-0 pb-4",n),children:r})}))}function fe(t){var n=ae(t,[]);return e(W.Root,re({"data-slot":"context-menu"},n))}function ve(t){var n=ae(t,[]);return e(W.Trigger,re({"data-slot":"context-menu-trigger"},n))}function ge(t){var n=t.className,r=ae(t,["className"]);return e(W.Portal,{children:e(W.Content,re({"data-slot":"context-menu-content",className:ie("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",n)},r))})}function he(t){var n=t.className,r=t.inset,a=t.variant,o=void 0===a?"default":a,i=ae(t,["className","inset","variant"]);return e(W.Item,re({"data-slot":"context-menu-item","data-inset":r,"data-variant":o,className:ie("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",n)},i))}"function"==typeof SuppressedError&&SuppressedError;var be=B("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),ye=g.forwardRef((function(r,a){var o=r.className,i=r.variant,d=r.size,s=r.asChild,l=void 0!==s&&s,c=r.busy,u=void 0!==c&&c,m=ae(r,["className","variant","size","asChild","busy"]);return e(l?U:"button",re({className:ie(be({variant:i,size:d,className:o})),ref:a},m,{disabled:m.disabled||u,children:u?t(n,{children:[e(E,{className:"me-2 h-4 w-4 animate-spin"})," ",m.children]}):m.children}))}));function xe(t){var n=t.className,r=ae(t,["className"]);return e(X,re({"data-slot":"command",className:ie("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",n)},r))}function ke(n){var r=n.className,a=ae(n,["className"]);return t("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[e(R,{className:"size-4 shrink-0 opacity-50"}),e(X.Input,re({"data-slot":"command-input",className:ie("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",r)},a))]})}function Ne(t){var n=t.className,r=ae(t,["className"]);return e(X.List,re({"data-slot":"command-list",className:ie("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",n)},r))}function we(t){var n=ae(t,[]);return e(X.Empty,re({"data-slot":"command-empty",className:"py-6 text-center text-sm"},n))}function Ce(t){var n=t.className,r=ae(t,["className"]);return e(X.Group,re({"data-slot":"command-group",className:ie("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",n)},r))}function ze(t){var n=t.className,r=ae(t,["className"]);return e(X.Item,re({"data-slot":"command-item",className:ie("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",n)},r))}function _e(t){var n=t.className,r=ae(t,["className"]);return e(H.Root,re({"data-slot":"label",className:ie("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",n)},r))}ye.displayName="Button";var Oe=b({forms:{},icons:{},style:{},nodeDefinitions:[],edgeDefinitions:[]}),Se={input:function(t){var n=t.className,r=t.type,a=ae(t,["className","type"]);return e("input",re({type:r,"data-slot":"input",className:ie("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",n)},a))},combobox:function(n){var r=n.options,a=n.className,o=n.defaultValue,i=n.name,d=g.useState(!1),s=d[0],l=d[1],c=g.useState(o),u=c[0],m=c[1];return t("div",{className:a,children:[e("input",{type:"hidden",name:i,value:u}),t(de,{open:s,onOpenChange:l,children:[e(se,{asChild:!0,children:t(ye,{variant:"outline",role:"combobox","aria-expanded":s,className:"w-full justify-between",children:[u||"Select option...",e(D,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),e(le,{side:"right",className:"w-full p-0",children:t(xe,{children:[e(ke,{placeholder:"Search option..."}),t(Ne,{children:[e(we,{children:"No option found."}),e(Ce,{children:r.map((function(n){return t(ze,{value:n.value,onSelect:function(e){m(e===u?"":e),l(!1)},children:[e(L,{className:ie("mr-2 h-4 w-4",u===n.value?"opacity-100":"opacity-0")}),n.label||n.value]},n.value)}))})]})]})})]})]})}};function je(n){var r=n.inputType,a=ae(n,["inputType"]),o=Se[r];return t(_e,{className:"mb-4 block",children:[e("div",{className:"mb-2",children:n.label}),e(o,re({},a,{options:n.options||[]}))]})}function Te(t){var n,r=x(Oe),a=r.icons,o=r.style,i=(null===(n=null==o?void 0:o[t.type])||void 0===n?void 0:n.icon)||" bg-stone-500 dark:bg-stone-600",d=null==a?void 0:a[t.type],s="small"==t.size?24:48,l=("small"==t.size?"h-10 w-10":"h-24 w-24")+" flex items-center justify-center rounded-full "+i;if(d)return e("div",{className:l,children:e(d,{size:s})});var c=Z(J,{seed:t.type,size:s,rowColor:["FFF"]}).toString();return e("div",{className:l,title:t.type,children:e("div",{dangerouslySetInnerHTML:{__html:c}})})}function Ee(t){return e(o,re({},t,{onClick:t.onClick,style:{width:20,height:20,borderWidth:1}}))}function Re(n){return t("div",{className:"w-full",children:[e("h4",{className:"p-4 font-bold",children:"Available connections"}),e("ul",{children:n.connections.map((function(r){return t("li",{onClick:function(){return n.onClick(r)},className:"flex items-center p-1 px-4 hover:bg-foreground/10 cursor-pointer whitespace-nowrap",children:[e(Te,{size:"small",type:r.type}),t("span",{className:"ms-2",children:[r.type,r.isSource?e(I,{className:"mx-2 inline stroke-foreground/30"}):e(q,{className:"mx-2 inline stroke-foreground/30"}),r.label]})]},r.id)}))})]})}function De(n){var r,a,o=x(Oe).style,i=(null===(r=null==o?void 0:o[n.values.qb_node_type])||void 0===r?void 0:r.form)||" bg-stone-500 dark:bg-stone-600",d=w(!1),s=d[0],l=d[1],c="p-4 rounded-t text-white "+i,u=y(null);return t(de,{open:s,onOpenChange:function(e){var t;e||null===(t=u.current)||void 0===t||t.requestSubmit(),l(e)},children:[e(se,{onAuxClick:function(){},children:n.children}),e(le,{className:"border-0 p-0 dark:border",side:"right",children:t("div",{className:"rounded-b shadow-2xl",children:[t("div",{className:c,children:[n.values.qb_node_type," parameters"]}),e("form",{onSubmit:n.onSubmit,ref:u,children:t("div",{className:"p-4 max-h-[70vh] overflow-y-auto",children:[e(je,{name:"id",label:"ID",inputType:"input",defaultValue:n.values.id}),null===(a=n.fields)||void 0===a?void 0:a.map((function(e){return C(je,re({},e,{key:e.name,defaultValue:n.values[e.name]}))}))]})})]})})]})}function Le(n){var r,a=x(Oe).style,o="rounded-xl border-4 border-background px-4 py-2 font-mono text-xs "+((null===(r=null==a?void 0:a[n.parameters.qb_node_type])||void 0===r?void 0:r.params)||" bg-stone-100 text-stone-700 dark:bg-stone-700 dark:text-stone-100"),i=k((function(){var e=[],t=["qb_node_type","error","animate"];return Object.keys(n.parameters).forEach((function(r){!t.includes(r)&&n.parameters[r]&&e.push({key:r,value:n.parameters[r]})})),e}),[n.parameters]);return i.length?e("ul",{className:o,children:i.map((function(e){return t("li",{className:"whitespace-nowrap",children:[e.key,": ",e.value]},e.key)}))}):null}var Me=h.memo((function(o){var i=r().updateNode,d=y(null),s=y(null),l=o.data,c=l.qb_node_type,u=x(Oe).edgeDefinitions,m=k((function(){return e=c,t=[],u.forEach((function(n){var r=n.source,a=n.target;r!=e&&a!=e||t.push({id:n.id,label:n.label,type:r==e?a:r,isSource:e==a})})),t;var e,t}),[c]),p="pointer-events-none ".concat(o.data.animate&&"animate-bounce-once"),f=x(Oe).forms;return N((function(){var e=d.current,t=s.current;t&&e&&(e.style.width="".concat(t.clientWidth+100,"px"),i(o.id,{measured:{width:t.clientWidth+100,height:100}}))}),[o.data]),e("div",{ref:d,className:p,children:t("div",{className:"relative w-fit",children:[e("div",{ref:s,className:"absolute bottom-3/4 left-3/4 z-10",children:e(Le,{parameters:o.data})}),t("div",{className:"pointer-events-auto relative w-fit",children:[t(fe,{children:[e(ve,{className:"p-0",children:e(De,{values:l,fields:null==f?void 0:f[c],onSubmit:function(e){e.preventDefault();var t=new FormData(e.target),n=Object.fromEntries(t);Object.keys(n).map((function(e){"-"==n[e]&&(n[e]="")})),i(o.id,{data:re(re({},l),n)})},children:e(Te,{type:c})})}),e(ge,{children:t(he,{onClick:function(){return o.onDelete(o.id)},children:[e(M,{size:16,className:"me-2 inline"}),"Delete node"]})})]}),t(de,{children:[e(se,{children:t(n,{children:[e(Ee,{type:"target",position:a.Left}),e(Ee,{type:"source",position:a.Right})]})}),e(le,{side:"right",className:"max-h-screen w-full overflow-y-auto p-0",children:e(Re,{connections:m,onClick:function(e){return o.onAddNode(o.id,e)}})})]})]}),e("p",{className:"relative text-center",children:c})]})})}),(function(e,t){return!K(e.data,t.data)}));function Ie(e,t){var n=new Set(e.map((function(e){return e.category})).filter((function(e){return e}))),r=Array.from(n).reduce((function(e,t,n){var r;return re(re({},e),((r={})[t]=qe[n%qe.length],r))}),{});return e.reduce((function(e,a,o){var i;return re(re({},e),((i={})[a.id]=t&&n.size>1?r[a.category]:qe[o%qe.length],i))}),{})}var qe=[{form:"bg-purple-600 dark:bg-purple-700",icon:"bg-purple-500 dark:bg-purple-900",params:"bg-purple-100 text-purple-700 dark:bg-purple-950 dark:text-purple-100"},{icon:"bg-orange-500 dark:bg-orange-900",params:"bg-orange-100 text-orange-700 dark:bg-orange-950 dark:text-orange-100",form:"bg-orange-500 dark:bg-orange-700"},{icon:"bg-pink-500 dark:bg-pink-900",params:"bg-pink-100 text-pink-700 dark:bg-pink-950 dark:text-pink-100",form:"bg-pink-500 dark:bg-pink-700"},{icon:"bg-lime-500 dark:bg-lime-900",params:"bg-lime-100 text-lime-700 dark:bg-lime-950 dark:text-lime-100",form:"bg-lime-500 dark:bg-lime-700"},{icon:"bg-blue-500 dark:bg-blue-900",params:"bg-blue-100 text-blue-700 dark:bg-blue-950 dark:text-blue-100",form:"bg-blue-500 dark:bg-blue-700"},{icon:"bg-yellow-500 dark:bg-yellow-900",params:"bg-yellow-100 text-yellow-700 dark:bg-yellow-950 dark:text-yellow-100",form:"bg-yellow-500 dark:bg-yellow-700"},{icon:"bg-emerald-500 dark:bg-emerald-900",params:"bg-emerald-100 text-emerald-700 dark:bg-emerald-950 dark:text-emerald-100",form:"bg-emerald-500 dark:bg-emerald-700"},{icon:"bg-amber-600 dark:bg-amber-900",params:"bg-amber-100 text-amber-700 dark:bg-amber-950 dark:text-amber-100",form:"bg-amber-600 dark:bg-amber-700"},{form:"bg-indigo-500 dark:bg-indigo-700",icon:"bg-indigo-500 dark:bg-indigo-900",params:"bg-indigo-100 text-indigo-700 dark:bg-indigo-950 dark:text-indigo-100"},{icon:"bg-rose-500 dark:bg-rose-900",params:"bg-rose-100 text-rose-700 dark:bg-rose-950 dark:text-rose-100",form:"bg-rose-500 dark:bg-rose-700"},{icon:"bg-violet-500 dark:bg-violet-900",params:"bg-violet-100 text-violet-700 dark:bg-violet-950 dark:text-violet-100",form:"bg-violet-500 dark:bg-violet-700"}];function Pe(t){var n=ae(t,[]);return e(Q.Root,re({"data-slot":"dropdown-menu"},n))}function Ve(t){var n=ae(t,[]);return e(Q.Trigger,re({"data-slot":"dropdown-menu-trigger"},n))}function Ae(t){var n=t.className,r=t.sideOffset,a=void 0===r?4:r,o=ae(t,["className","sideOffset"]);return e(Q.Portal,{children:e(Q.Content,re({"data-slot":"dropdown-menu-content",sideOffset:a,className:ie("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",n)},o))})}function Ye(t){var n=ae(t,[]);return e(Q.RadioGroup,re({"data-slot":"dropdown-menu-radio-group"},n))}function Fe(n){var r=n.className,a=n.children,o=ae(n,["className","children"]);return t(Q.RadioItem,re({"data-slot":"dropdown-menu-radio-item",className:ie("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",r)},o,{children:[e("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:e(Q.ItemIndicator,{children:e(P,{className:"size-2 fill-current"})})}),a]}))}function Ge(t){var n=t.className,r=t.inset,a=ae(t,["className","inset"]);return e(Q.Label,re({"data-slot":"dropdown-menu-label","data-inset":r,className:ie("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",n)},a))}function We(t){var n=t.className,r=ae(t,["className"]);return e(Q.Separator,re({"data-slot":"dropdown-menu-separator",className:ie("bg-border -mx-1 my-1 h-px",n)},r))}function Ue(a){var o,l=r(),c=l.updateEdgeData,u=l.deleteElements,m=i({sourceX:a.sourceX,sourceY:a.sourceY,targetX:a.targetX,targetY:a.targetY,sourcePosition:a.sourcePosition,targetPosition:a.targetPosition}),p=m[0],f=m[1],v=m[2];return t(n,{children:[e(d,{id:a.id,path:p,markerEnd:a.markerEnd,style:re(re({},a.style),{strokeWidth:2})}),e(s,{children:e("div",{className:"pointer-events-auto absolute text-xs",style:{transform:"translate(-75%, -50%) translate(".concat(f,"px,").concat(v,"px)")},children:e(Be,{options:null===(o=a.data)||void 0===o?void 0:o.options,currentEdgeType:a.data.edgeType,onSelect:function(e){c(a.id,{edgeType:e})},onDelete:function(){return u({edges:[{id:a.id}]})},onReverse:function(){return a.onReverse(a.id,a.source,a.target,a.data.edgeType)}})})})]})}function Be(n){return e("div",{children:t(Pe,{children:[e(Ve,{children:t("p",{className:"bg-background",children:[n.currentEdgeType," ",e(V,{className:"inline w-4"})]})}),t(Ae,{children:[e(Ge,{children:n.currentEdgeType}),e(We,{}),e(Ye,{value:n.currentEdgeType,onValueChange:n.onSelect,children:n.options.map((function(t){return e(Fe,{value:t.label,children:t.label},t.label)}))}),e(We,{}),t("div",{className:"flex gap-2 justify-end",children:[e(ye,{size:"icon",variant:"ghost",onClick:n.onReverse,children:e(A,{className:"size-4"})}),e(ye,{size:"icon",variant:"ghost",onClick:n.onDelete,children:e(M,{className:"size-4 text-destructive"})})]})]})]})})}var Xe=te("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",10),He={"elk.algorithm":"layered","elk.direction":"RIGHT","elk.layered.spacing.nodeNodeBetweenLayers":300,"elk.spacing.nodeNode":200},Ze={animated:!0,markerEnd:{type:l.ArrowClosed,color:"var(--marker-fill)"}};function Je(n){var a=w([]),o=a[0],i=a[1],d=w([]),s=d[0],l=d[1],c=w(!1),g=c[0],h=c[1],b=w(!1),y=b[0],C=b[1],_=w(!1),O=_[0],S=_[1],j=r(),T=j.getNode,E=j.fitView,R=j.toObject,D=j.screenToFlowPosition,L=j.deleteElements,M=k((function(){return new $}),[]),I=x(Oe).edgeDefinitions,q=k((function(){return{custom:function(t){return e(Ue,re({},t,{onReverse:G}))}}}),[]),P=k((function(){return{custom:function(t){return e(Me,re({},t,{onAddNode:X,onDelete:H}))}}}),[]),V=z((function(e){var t;try{t=F(e.source,e.target)}catch(e){t=!1}if(!t)try{F(e.target,e.source)}catch(e){ne.error("Invalid connection.",{description:"There are no valid connections between those nodes.",action:{label:"Okay",onClick:function(){}}})}}),[F]);function A(e){var t={id:Xe(),type:"custom",data:{qb_node_type:e,animate:!0},position:D({x:document.body.clientWidth/2,y:0}),measured:{width:100,height:100}};return i((function(e){return oe(oe([],e,!0),[t],!1)})),S(!0),t}function Y(e,t){return I.filter((function(n){return n.source===e&&n.target===t}))}function F(e,t,n){var r,a="string"==typeof e?T(e):e,o="string"==typeof t?T(t):t;if(!a||!o)throw"Not possible to connect nodes";var i=Y(null==a?void 0:a.data.qb_node_type,null==o?void 0:o.data.qb_node_type);if(!i.length)throw"Not possible to connect nodes";var d=i.some((function(e){return e.label==n})),s={id:Xe(),type:"custom",source:null==a?void 0:a.id,target:null==o?void 0:o.id,data:{edgeType:d?n:null===(r=i[0])||void 0===r?void 0:r.label,options:i}};return l((function(e){return oe(oe([],e,!0),[s],!1)})),s}var G=z((function(e,t,n,r){L({edges:[{id:e}]});try{F(n,t,r)}catch(e){F(t,n,r),ne.error("Invalid connection.",{description:"It's not possible to connect those nodes in the reverse direction.",action:{label:"Okay",onClick:function(){}}})}}),[]),W=z((function(e){return i((function(t){var r=u(e,t),a=B(e,r,n.nodes,g);return h(a),r}))}),[i,g,o]),U=z((function(e){return l((function(t){var r=m(e,t),a=B(e,r,n.edges,y);return C(a),r}))}),[l,y]);function B(e,t,n,r){if(!t||!n)return!1;if((null==t?void 0:t.length)!=(null==n?void 0:n.length))return!0;var a=["dimensions","replace","remove","add"];if(!e.some((function(e){return a.includes(e.type)})))return r;var o=K.diff(n.map((function(e){return e.data})),t.map((function(e){return e.data})));return!!o&&(!o.every((function(e){var t;return"E"==e.kind&&(null===(t=e.path)||void 0===t?void 0:t.includes("animate"))}))&&!o.every((function(e){return"N"==e.kind&&""==e.rhs})))}function X(e,t){var n=A(t.type),r=t.isSource?[n,e]:[e,n];F(r[0],r[1],t.label)}function H(e){i((function(t){return t.filter((function(t){return t.id!==e}))})),l((function(t){return t.filter((function(t){return t.source!==e&&t.target!==e}))}))}function Z(e,t){var n={id:"Y",layoutOptions:He,edges:t,children:e.map((function(e){return re({},e)}))};M.layout(n).then((function(e){var n=e.children;n.forEach((function(e){e.position={x:e.x,y:e.y}})),i(n),l(t),S(!0)}))}return N((function(){o.length&&s.length>=o.length-1&&Z(o,s)}),[s.length]),N((function(){O&&(E(),S(!1))}),[O]),N((function(){var e,t,r=(null===(e=n.nodes)||void 0===e?void 0:e.map((function(e){var t,n;return re(re({},e),{width:(null===(t=e.measured)||void 0===t?void 0:t.width)||100,height:(null===(n=e.measured)||void 0===n?void 0:n.height)||100,data:re(re({},e.data),{animate:!1})})})))||[],a=(null===(t=n.edges)||void 0===t?void 0:t.map((function(e){var t=e,n=r.find((function(t){return t.id==e.source})),a=r.find((function(t){return t.id==e.target})),o=Y((null==n?void 0:n.data).qb_node_type,(null==a?void 0:a.data).qb_node_type);return t.data=re(re({},t.data),{options:o}),t})))||[];Z(r,a)}),[]),t("div",{className:"query-builder w-full h-full",children:[0==o.length&&e(Qe,{}),t(p,{fitView:!0,fitViewOptions:{padding:"20%"},nodes:o,edges:s,onNodesChange:W,onEdgesChange:U,onConnect:V,nodeTypes:P,edgeTypes:q,colorMode:n.theme,defaultEdgeOptions:Ze,proOptions:{hideAttribution:!0},children:[!n.readonly&&e(f,{}),e(v,{patternClassName:"qb-bg"})]}),!!o.length&&!n.readonly&&t("div",{className:"absolute bottom-10 right-24 z-20 flex items-center",children:[(g||y)&&e(et,{onClick:function(){Z(n.nodes,n.edges)}}),e($e,{busy:n.busy,previouslyRun:n.previouslyRun,hasUnsavedChanges:g||y,onClick:function(){return n.onSubmit(R())}})]}),!n.readonly&&e("div",{className:"absolute bottom-10 left-24 z-20",children:e(tt,{onSelect:A,hasInsertedNodes:!!o.length})})]})}function Ke(t){return e(c,{children:e(Je,re({},t))})}function Qe(){return e("div",{className:"absolute z-10 flex h-full w-full items-center justify-center",children:t("div",{className:"flex w-1/3 flex-col items-center text-center",children:[e("img",{src:"data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3c!-- Created with Vectornator (http://vectornator.io/) --%3e%3csvg height='100%25' stroke-miterlimit='10' style='fill-rule:nonzero%3bclip-rule:evenodd%3bstroke-linecap:round%3bstroke-linejoin:round%3b' version='1.1' viewBox='0 0 24 24' width='100%25' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:vectornator='http://vectornator.io' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs/%3e%3cg id='Layer-1' vectornator:layerName='Layer 1'%3e%3cpath d='M3.62131 12.0384C3.62131 7.39169 7.38825 3.62474 12.035 3.62474C16.6818 3.62474 20.4487 7.39169 20.4487 12.0384C20.4487 16.6852 16.6818 20.4521 12.035 20.4521C7.38825 20.4521 3.62131 16.6852 3.62131 12.0384Z' fill='none' opacity='1' stroke='%23dddddd' stroke-linecap='butt' stroke-linejoin='round' stroke-width='0.5' vectornator:layerName='Oval 1'/%3e%3cpath d='M14.8009 9.32897M12.1178 10.5242M13.84 8.52605L15.7528 10.3539M11.8301 10.0305L14.0213 12.1995M10.5624 10.6425L13.3991 13.2165M10.2261 11.9295L12.2905 13.9752M8.61877 13.7694L10.2261 15.5567M7.39629 14.2648L9.98536 16.7415M14.2166 7.40771C14.2166 7.40771 14.9369 8.06113 15.6027 8.73598C16.2686 9.41082 16.8521 10.0305 16.8521 10.0305M17.1618 9.82916C14.953 11.4943 12.0923 8.69719 10.5624 10.6425C9.06488 12.5466 11.1133 14.827 9.98536 17.0567M14.2166 7.02021C12.913 9.72026 15.0376 11.6149 13.6665 13.2564C12.0173 15.2309 8.80683 12.8051 6.90825 14.2648M13.2167 11.1774' fill='none' opacity='1' stroke='%23dddddd' stroke-linecap='round' stroke-linejoin='round' stroke-width='0.6' vectornator:layerName='Curve 1'/%3e%3cpath d='M15.3269 18.1471C15.3269 16.6146 16.5692 15.3723 18.1017 15.3723C19.6342 15.3723 20.8765 16.6146 20.8765 18.1471C20.8765 19.6796 19.6342 20.9219 18.1017 20.9219C16.5692 20.9219 15.3269 19.6796 15.3269 18.1471Z' fill='%23dddddd' fill-rule='nonzero' opacity='1' stroke='none' vectornator:layerName='Oval 2'/%3e%3cpath d='M19.4383 18.1471L16.7651 18.1471' fill='none' opacity='1' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='0.7' vectornator:layerName='Line 2'/%3e%3cpath d='M18.1017 19.4837L18.1017 18.0577L18.1017 16.8105' fill='none' opacity='1' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='0.7' vectornator:layerName='Line 1'/%3e%3c/g%3e%3c/svg%3e",className:"h-72 w-72 dark:invert-[0.95]"}),e("h2",{className:"mb-4 text-xl font-bold text-foreground/70",children:"Start by adding a node"}),e("p",{className:"mb-8 text-center text-foreground/50",children:'Click on the "Add node" button below to select from all node types available in the bio-atomspace. Click / drag the handles on the sides of nodes to add connections.'})]})})}function $e(n){var r="Run query";return n.previouslyRun&&(r="Re-run query"),n.previouslyRun&&n.hasUnsavedChanges&&(r="Save and re-run query"),t(ye,{busy:n.busy,className:"ms-4",onClick:n.onClick,children:[n.busy||e(F,{className:"mr-2"})," ",r]})}function et(n){return t("div",{children:[t("p",{className:"me-4 inline text-orange-500",children:[e(Y,{size:16,className:"me-2 inline"})," You have unsaved changes."]}),e(ye,{variant:"outline",onClick:n.onClick,children:"Reset"})]})}function tt(n){var r=x(Oe).nodeDefinitions,a=ee(r,(function(e){return e.category}));return t(de,{children:[e(se,{asChild:!0,children:t(ye,{variant:n.hasInsertedNodes?"outline":"default",children:[e(G,{className:"me-2 inline"})," Add node"]})}),t(le,{side:"top",className:"p-0 shadow-2xl",children:[e("h4",{className:"p-4 font-bold shadow",children:"Select a node type "}),e("div",{className:"max-h-[70vh] overflow-y-auto",children:e(ce,{type:"single",defaultValue:Object.keys(a)[0],children:Object.keys(a).map((function(r){var o;return t(ue,{value:r,className:"px-4",children:[e(me,{children:"undefined"==r?"Uncategorized":r}),e(pe,{className:"px-2",children:e("ul",{children:null===(o=a[r])||void 0===o?void 0:o.map((function(r){return t("li",{className:"mb-1 flex items-center hover:cursor-pointer",onClick:function(){return n.onSelect(r.id)},children:[e(Te,{type:r.id,size:"small"}),e("p",{className:"ms-2",children:r.name})]},r.id)}))})})]},r)}))})})]})]})}export{Te as Icon,Ke as QueryBuilder,Oe as QueryBuilderContext,Ie as generateNodeStyle};
|