@rejuve-bio/query-builder 0.0.11 → 0.0.13

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.
Files changed (2) hide show
  1. package/dist/index.js +1 -1
  2. 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 D,ChevronsUpDown as L,Check as M,Trash as R,ArrowRight as q,ArrowLeft as I,CircleIcon as P,ChevronDown as V,AlertCircle as A,Play as Y,Plus as F}from"lucide-react";import*as G from"@radix-ui/react-context-menu";import{Slot as W}from"@radix-ui/react-slot";import{cva as U}from"class-variance-authority";import{Command as B}from"cmdk";import"@radix-ui/react-dialog";import*as X from"@radix-ui/react-label";import{createAvatar as H}from"@dicebear/core";import{identicon as Z}from"@dicebear/collection";import J from"deep-diff";import*as K from"@radix-ui/react-dropdown-menu";import Q from"elkjs";import $ from"object.groupby";import{customAlphabet as ee}from"nanoid";import{toast as te}from"sonner";var ne=function(){return ne=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},ne.apply(this,arguments)};function re(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 ae(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 oe(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return S(O(e))}function ie(t){var n=re(t,[]);return e(_.Root,ne({"data-slot":"popover"},n))}function de(t){var n=re(t,[]);return e(_.Trigger,ne({"data-slot":"popover-trigger"},n))}function se(t){var n=t.className,r=t.align,a=void 0===r?"center":r,o=t.sideOffset,i=void 0===o?4:o,d=re(t,["className","align","sideOffset"]);return e(_.Portal,{children:e(_.Content,ne({"data-slot":"popover-content",align:a,sideOffset:i,className:oe("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 le(t){var n=re(t,[]);return e(j.Root,ne({"data-slot":"accordion"},n))}function ce(t){var n=t.className,r=re(t,["className"]);return e(j.Item,ne({"data-slot":"accordion-item",className:oe("border-b last:border-b-0",n)},r))}function ue(n){var r=n.className,a=n.children,o=re(n,["className","children"]);return e(j.Header,{className:"flex",children:t(j.Trigger,ne({"data-slot":"accordion-trigger",className:oe("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 me(t){var n=t.className,r=t.children,a=re(t,["className","children"]);return e(j.Content,ne({"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:oe("pt-0 pb-4",n),children:r})}))}function pe(t){var n=re(t,[]);return e(G.Root,ne({"data-slot":"context-menu"},n))}function fe(t){var n=re(t,[]);return e(G.Trigger,ne({"data-slot":"context-menu-trigger"},n))}function ve(t){var n=t.className,r=re(t,["className"]);return e(G.Portal,{children:e(G.Content,ne({"data-slot":"context-menu-content",className:oe("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 ge(t){var n=t.className,r=t.inset,a=t.variant,o=void 0===a?"default":a,i=re(t,["className","inset","variant"]);return e(G.Item,ne({"data-slot":"context-menu-item","data-inset":r,"data-variant":o,className:oe("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 he=U("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"}}),be=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=re(r,["className","variant","size","asChild","busy"]);return e(l?W:"button",ne({className:oe(he({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 ye(t){var n=t.className,r=re(t,["className"]);return e(B,ne({"data-slot":"command",className:oe("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",n)},r))}function xe(n){var r=n.className,a=re(n,["className"]);return t("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[e(D,{className:"size-4 shrink-0 opacity-50"}),e(B.Input,ne({"data-slot":"command-input",className:oe("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 ke(t){var n=t.className,r=re(t,["className"]);return e(B.List,ne({"data-slot":"command-list",className:oe("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",n)},r))}function Ne(t){var n=re(t,[]);return e(B.Empty,ne({"data-slot":"command-empty",className:"py-6 text-center text-sm"},n))}function we(t){var n=t.className,r=re(t,["className"]);return e(B.Group,ne({"data-slot":"command-group",className:oe("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 Ce(t){var n=t.className,r=re(t,["className"]);return e(B.Item,ne({"data-slot":"command-item",className:oe("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 ze(t){var n=t.className,r=re(t,["className"]);return e(X.Root,ne({"data-slot":"label",className:oe("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))}be.displayName="Button";var _e=b({forms:{},icons:{},style:{},nodeDefinitions:[],edgeDefinitions:[]}),Oe={input:function(t){var n=t.className,r=t.type,a=re(t,["className","type"]);return e("input",ne({type:r,"data-slot":"input",className:oe("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(ie,{open:s,onOpenChange:l,children:[e(de,{asChild:!0,children:t(be,{variant:"outline",role:"combobox","aria-expanded":s,className:"w-full justify-between",children:[u||"Select option...",e(L,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),e(se,{side:"right",className:"w-full p-0",children:t(ye,{children:[e(xe,{placeholder:"Search option..."}),t(ke,{children:[e(Ne,{children:"No option found."}),e(we,{children:r.map((function(n){return t(Ce,{value:n.value,onSelect:function(e){m(e===u?"":e),l(!1)},children:[e(M,{className:oe("mr-2 h-4 w-4",u===n.value?"opacity-100":"opacity-0")}),n.label||n.value]},n.value)}))})]})]})})]})]})}};function Se(n){var r=n.inputType,a=re(n,["inputType"]),o=Oe[r];return t(ze,{className:"mb-4 block",children:[e("div",{className:"mb-2",children:n.label}),e(o,ne({},a,{options:n.options||[]}))]})}function je(t){var n,r=x(_e),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=H(Z,{seed:t.type,size:s,rowColor:["FFF"]}).toString();return e("div",{className:l,title:t.type,children:e("div",{dangerouslySetInnerHTML:{__html:c}})})}function Te(t){return e(o,ne({},t,{onClick:t.onClick,style:{width:20,height:20,borderWidth:1}}))}function Ee(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(je,{size:"small",type:r.type}),t("span",{className:"ms-2",children:[r.type,r.isSource?e(q,{className:"mx-2 inline stroke-foreground/30"}):e(I,{className:"mx-2 inline stroke-foreground/30"}),r.label]})]},r.id)}))})]})}function De(n){var r,a,o,i=x(_e).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(ie,{open:l,onOpenChange:function(e){var t;e||null===(t=m.current)||void 0===t||t.requestSubmit(),c(e)},children:[e(de,{onAuxClick:function(){},children:n.children}),e(se,{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(Se,{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(Se,ne({},e,{key:e.name,defaultValue:n.values[e.name]}))}))]})})]})})]})}function Le(n){var r,a=x(_e).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(_e).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(_e).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(pe,{children:[e(fe,{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:ne(ne({},l),n)})},children:e(je,{type:c})})}),e(ve,{children:t(ge,{onClick:function(){return o.onDelete(o.id)},children:[e(R,{size:16,className:"me-2 inline"}),"Delete node"]})})]}),t(ie,{children:[e(de,{children:t(n,{children:[e(Te,{type:"target",position:a.Left}),e(Te,{type:"source",position:a.Right})]})}),e(se,{side:"right",className:"max-h-screen w-full overflow-y-auto p-0",children:e(Ee,{connections:m,onClick:function(e){return o.onAddNode(o.id,e)}})})]})]}),e("p",{className:"relative text-center",children:c})]})})}),(function(e,t){return!J(e.data,t.data)}));function Re(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 ne(ne({},e),((r={})[t]=qe[n%qe.length],r))}),{});return e.reduce((function(e,a,o){var i;return ne(ne({},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 Ie(t){var n=re(t,[]);return e(K.Root,ne({"data-slot":"dropdown-menu"},n))}function Pe(t){var n=re(t,[]);return e(K.Trigger,ne({"data-slot":"dropdown-menu-trigger"},n))}function Ve(t){var n=t.className,r=t.sideOffset,a=void 0===r?4:r,o=re(t,["className","sideOffset"]);return e(K.Portal,{children:e(K.Content,ne({"data-slot":"dropdown-menu-content",sideOffset:a,className:oe("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 Ae(t){var n=t.className,r=t.inset,a=t.variant,o=void 0===a?"default":a,i=re(t,["className","inset","variant"]);return e(K.Item,ne({"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":o,className:oe("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 Ye(t){var n=re(t,[]);return e(K.RadioGroup,ne({"data-slot":"dropdown-menu-radio-group"},n))}function Fe(n){var r=n.className,a=n.children,o=re(n,["className","children"]);return t(K.RadioItem,ne({"data-slot":"dropdown-menu-radio-item",className:oe("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(K.ItemIndicator,{children:e(P,{className:"size-2 fill-current"})})}),a]}))}function Ge(t){var n=t.className,r=t.inset,a=re(t,["className","inset"]);return e(K.Label,ne({"data-slot":"dropdown-menu-label","data-inset":r,className:oe("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",n)},a))}function We(t){var n=t.className,r=re(t,["className"]);return e(K.Separator,ne({"data-slot":"dropdown-menu-separator",className:oe("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:ne(ne({},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}]})}})})})]})}function Be(n){return t(Ie,{children:[e(Pe,{children:t("p",{className:"bg-background",children:[n.currentEdgeType," ",e(V,{className:"inline w-4"})]})}),t(Ve,{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,{}),e(Ae,{onClick:n.onDelete,className:"text-destructive hover:cursor-pointer",children:"Delete"})]})]})}var Xe=ee("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,D=j.toObject,L=j.screenToFlowPosition,M=k((function(){return new Q}),[]),R=x(_e).edgeDefinitions,q=k((function(){return{custom:function(t){return e(Ue,ne({},t))}}}),[]),I=k((function(){return{custom:function(t){return e(Me,ne({},t,{onAddNode:U,onDelete:B}))}}}),[]),P=z((function(e){var t;try{t=Y(e.source,e.target)}catch(e){t=!1}if(!t)try{Y(e.target,e.source)}catch(e){te.error("Invalid connection.",{description:"There are no valid connections between those nodes.",action:{label:"Okay",onClick:function(){}}})}}),[Y]);function V(e){var t={id:Xe(),type:"custom",data:{qb_node_type:e,animate:!0},position:L({x:document.body.clientWidth/2,y:0}),measured:{width:100,height:100}};return i((function(e){return ae(ae([],e,!0),[t],!1)})),S(!0),t}function A(e,t){return R.filter((function(n){return n.source===e&&n.target===t}))}function Y(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=A(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={id:Xe(),type:"custom",source:null==a?void 0:a.id,target:null==o?void 0:o.id,data:{edgeType:n||(null===(r=i[0])||void 0===r?void 0:r.label),options:i}};return l((function(e){return ae(ae([],e,!0),[d],!1)})),d}var F=z((function(e){return i((function(t){var r=u(e,t),a=W(e,r,n.nodes,g);return h(a),r}))}),[i,g,o]),G=z((function(e){return l((function(t){var r=m(e,t),a=W(e,r,n.edges,y);return C(a),r}))}),[l,y]);function W(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=J.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 U(e,t){var n=V(t.type),r=t.isSource?[n,e]:[e,n];Y(r[0],r[1],t.label)}function B(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 X(e,t){var n={id:"Y",layoutOptions:He,edges:t,children:e.map((function(e){return ne({},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&&X(o,s)}),[s]),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 ne(ne({},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:ne(ne({},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=A((null==n?void 0:n.data).qb_node_type,(null==a?void 0:a.data).qb_node_type);return t.data=ne(ne({},t.data),{options:o}),t})))||[];X(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:F,onEdgesChange:G,onConnect:P,nodeTypes:I,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(){X(n.nodes,n.edges)}}),e($e,{busy:n.busy,previouslyRun:n.previouslyRun,hasUnsavedChanges:g||y,onClick:function(){return n.onSubmit(D())}})]}),!n.readonly&&e("div",{className:"absolute bottom-10 left-24 z-20",children:e(tt,{onSelect:V,hasInsertedNodes:!!o.length})})]})}function Ke(t){return e(c,{children:e(Je,ne({},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(be,{busy:n.busy,className:"ms-4",onClick:n.onClick,children:[n.busy||e(Y,{className:"mr-2"})," ",r]})}function et(n){return t("div",{children:[t("p",{className:"me-4 inline text-orange-500",children:[e(A,{size:16,className:"me-2 inline"})," You have unsaved changes."]}),e(be,{variant:"outline",onClick:n.onClick,children:"Reset"})]})}function tt(n){var r=x(_e).nodeDefinitions,a=$(r,(function(e){return e.category}));return t(ie,{children:[e(de,{asChild:!0,children:t(be,{variant:n.hasInsertedNodes?"outline":"default",children:[e(F,{className:"me-2 inline"})," Add node"]})}),t(se,{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(le,{type:"single",defaultValue:Object.keys(a)[0],children:Object.keys(a).map((function(r){var o;return t(ce,{value:r,className:"px-4",children:[e(ue,{children:"undefined"==r?"Uncategorized":r}),e(me,{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(je,{type:r.id,size:"small"}),e("p",{className:"ms-2",children:r.name})]},r.id)}))})})]},r)}))})})]})]})}export{je as Icon,Ke as QueryBuilder,_e as QueryBuilderContext,Re 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 D,ChevronsUpDown as L,Check as M,Trash as R,ArrowRight as q,ArrowLeft as I,CircleIcon as P,ChevronDown as V,AlertCircle as A,Play as Y,Plus as F}from"lucide-react";import*as G from"@radix-ui/react-context-menu";import{Slot as W}from"@radix-ui/react-slot";import{cva as U}from"class-variance-authority";import{Command as B}from"cmdk";import"@radix-ui/react-dialog";import*as X from"@radix-ui/react-label";import{createAvatar as H}from"@dicebear/core";import{identicon as Z}from"@dicebear/collection";import J from"deep-diff";import*as K from"@radix-ui/react-dropdown-menu";import Q from"elkjs";import $ from"object.groupby";import{customAlphabet as ee}from"nanoid";import{toast as te}from"sonner";var ne=function(){return ne=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},ne.apply(this,arguments)};function re(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 ae(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 oe(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return S(O(e))}function ie(t){var n=re(t,[]);return e(_.Root,ne({"data-slot":"popover"},n))}function de(t){var n=re(t,[]);return e(_.Trigger,ne({"data-slot":"popover-trigger"},n))}function se(t){var n=t.className,r=t.align,a=void 0===r?"center":r,o=t.sideOffset,i=void 0===o?4:o,d=re(t,["className","align","sideOffset"]);return e(_.Portal,{children:e(_.Content,ne({"data-slot":"popover-content",align:a,sideOffset:i,className:oe("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 le(t){var n=re(t,[]);return e(j.Root,ne({"data-slot":"accordion"},n))}function ce(t){var n=t.className,r=re(t,["className"]);return e(j.Item,ne({"data-slot":"accordion-item",className:oe("border-b last:border-b-0",n)},r))}function ue(n){var r=n.className,a=n.children,o=re(n,["className","children"]);return e(j.Header,{className:"flex",children:t(j.Trigger,ne({"data-slot":"accordion-trigger",className:oe("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 me(t){var n=t.className,r=t.children,a=re(t,["className","children"]);return e(j.Content,ne({"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:oe("pt-0 pb-4",n),children:r})}))}function pe(t){var n=re(t,[]);return e(G.Root,ne({"data-slot":"context-menu"},n))}function fe(t){var n=re(t,[]);return e(G.Trigger,ne({"data-slot":"context-menu-trigger"},n))}function ve(t){var n=t.className,r=re(t,["className"]);return e(G.Portal,{children:e(G.Content,ne({"data-slot":"context-menu-content",className:oe("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 ge(t){var n=t.className,r=t.inset,a=t.variant,o=void 0===a?"default":a,i=re(t,["className","inset","variant"]);return e(G.Item,ne({"data-slot":"context-menu-item","data-inset":r,"data-variant":o,className:oe("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 he=U("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"}}),be=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=re(r,["className","variant","size","asChild","busy"]);return e(l?W:"button",ne({className:oe(he({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 ye(t){var n=t.className,r=re(t,["className"]);return e(B,ne({"data-slot":"command",className:oe("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",n)},r))}function xe(n){var r=n.className,a=re(n,["className"]);return t("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[e(D,{className:"size-4 shrink-0 opacity-50"}),e(B.Input,ne({"data-slot":"command-input",className:oe("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 ke(t){var n=t.className,r=re(t,["className"]);return e(B.List,ne({"data-slot":"command-list",className:oe("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",n)},r))}function Ne(t){var n=re(t,[]);return e(B.Empty,ne({"data-slot":"command-empty",className:"py-6 text-center text-sm"},n))}function we(t){var n=t.className,r=re(t,["className"]);return e(B.Group,ne({"data-slot":"command-group",className:oe("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 Ce(t){var n=t.className,r=re(t,["className"]);return e(B.Item,ne({"data-slot":"command-item",className:oe("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 ze(t){var n=t.className,r=re(t,["className"]);return e(X.Root,ne({"data-slot":"label",className:oe("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))}be.displayName="Button";var _e=b({forms:{},icons:{},style:{},nodeDefinitions:[],edgeDefinitions:[]}),Oe={input:function(t){var n=t.className,r=t.type,a=re(t,["className","type"]);return e("input",ne({type:r,"data-slot":"input",className:oe("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(ie,{open:s,onOpenChange:l,children:[e(de,{asChild:!0,children:t(be,{variant:"outline",role:"combobox","aria-expanded":s,className:"w-full justify-between",children:[u||"Select option...",e(L,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),e(se,{side:"right",className:"w-full p-0",children:t(ye,{children:[e(xe,{placeholder:"Search option..."}),t(ke,{children:[e(Ne,{children:"No option found."}),e(we,{children:r.map((function(n){return t(Ce,{value:n.value,onSelect:function(e){m(e===u?"":e),l(!1)},children:[e(M,{className:oe("mr-2 h-4 w-4",u===n.value?"opacity-100":"opacity-0")}),n.label||n.value]},n.value)}))})]})]})})]})]})}};function Se(n){var r=n.inputType,a=re(n,["inputType"]),o=Oe[r];return t(ze,{className:"mb-4 block",children:[e("div",{className:"mb-2",children:n.label}),e(o,ne({},a,{options:n.options||[]}))]})}function je(t){var n,r=x(_e),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=H(Z,{seed:t.type,size:s,rowColor:["FFF"]}).toString();return e("div",{className:l,title:t.type,children:e("div",{dangerouslySetInnerHTML:{__html:c}})})}function Te(t){return e(o,ne({},t,{onClick:t.onClick,style:{width:20,height:20,borderWidth:1}}))}function Ee(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(je,{size:"small",type:r.type}),t("span",{className:"ms-2",children:[r.type,r.isSource?e(q,{className:"mx-2 inline stroke-foreground/30"}):e(I,{className:"mx-2 inline stroke-foreground/30"}),r.label]})]},r.id)}))})]})}function De(n){var r,a,o,i=x(_e).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(ie,{open:l,onOpenChange:function(e){var t;e||null===(t=m.current)||void 0===t||t.requestSubmit(),c(e)},children:[e(de,{onAuxClick:function(){},children:n.children}),e(se,{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(Se,{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(Se,ne({},e,{key:e.name,defaultValue:n.values[e.name]}))}))]})})]})})]})}function Le(n){var r,a=x(_e).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(_e).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(_e).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(pe,{children:[e(fe,{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:ne(ne({},l),n)})},children:e(je,{type:c})})}),e(ve,{children:t(ge,{onClick:function(){return o.onDelete(o.id)},children:[e(R,{size:16,className:"me-2 inline"}),"Delete node"]})})]}),t(ie,{children:[e(de,{children:t(n,{children:[e(Te,{type:"target",position:a.Left}),e(Te,{type:"source",position:a.Right})]})}),e(se,{side:"right",className:"max-h-screen w-full overflow-y-auto p-0",children:e(Ee,{connections:m,onClick:function(e){return o.onAddNode(o.id,e)}})})]})]}),e("p",{className:"relative text-center",children:c})]})})}),(function(e,t){return!J(e.data,t.data)}));function Re(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 ne(ne({},e),((r={})[t]=qe[n%qe.length],r))}),{});return e.reduce((function(e,a,o){var i;return ne(ne({},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 Ie(t){var n=re(t,[]);return e(K.Root,ne({"data-slot":"dropdown-menu"},n))}function Pe(t){var n=re(t,[]);return e(K.Trigger,ne({"data-slot":"dropdown-menu-trigger"},n))}function Ve(t){var n=t.className,r=t.sideOffset,a=void 0===r?4:r,o=re(t,["className","sideOffset"]);return e(K.Portal,{children:e(K.Content,ne({"data-slot":"dropdown-menu-content",sideOffset:a,className:oe("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 Ae(t){var n=t.className,r=t.inset,a=t.variant,o=void 0===a?"default":a,i=re(t,["className","inset","variant"]);return e(K.Item,ne({"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":o,className:oe("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 Ye(t){var n=re(t,[]);return e(K.RadioGroup,ne({"data-slot":"dropdown-menu-radio-group"},n))}function Fe(n){var r=n.className,a=n.children,o=re(n,["className","children"]);return t(K.RadioItem,ne({"data-slot":"dropdown-menu-radio-item",className:oe("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(K.ItemIndicator,{children:e(P,{className:"size-2 fill-current"})})}),a]}))}function Ge(t){var n=t.className,r=t.inset,a=re(t,["className","inset"]);return e(K.Label,ne({"data-slot":"dropdown-menu-label","data-inset":r,className:oe("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",n)},a))}function We(t){var n=t.className,r=re(t,["className"]);return e(K.Separator,ne({"data-slot":"dropdown-menu-separator",className:oe("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:ne(ne({},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}]})}})})})]})}function Be(n){return t(Ie,{children:[e(Pe,{children:t("p",{className:"bg-background",children:[n.currentEdgeType," ",e(V,{className:"inline w-4"})]})}),t(Ve,{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,{}),e(Ae,{onClick:n.onDelete,className:"text-destructive hover:cursor-pointer",children:"Delete"})]})]})}var Xe=ee("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,D=j.toObject,L=j.screenToFlowPosition,M=k((function(){return new Q}),[]),R=x(_e).edgeDefinitions,q=k((function(){return{custom:function(t){return e(Ue,ne({},t))}}}),[]),I=k((function(){return{custom:function(t){return e(Me,ne({},t,{onAddNode:U,onDelete:B}))}}}),[]),P=z((function(e){var t;try{t=Y(e.source,e.target)}catch(e){t=!1}if(!t)try{Y(e.target,e.source)}catch(e){te.error("Invalid connection.",{description:"There are no valid connections between those nodes.",action:{label:"Okay",onClick:function(){}}})}}),[Y]);function V(e){var t={id:Xe(),type:"custom",data:{qb_node_type:e,animate:!0},position:L({x:document.body.clientWidth/2,y:0}),measured:{width:100,height:100}};return i((function(e){return ae(ae([],e,!0),[t],!1)})),S(!0),t}function A(e,t){return R.filter((function(n){return n.source===e&&n.target===t}))}function Y(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=A(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={id:Xe(),type:"custom",source:null==a?void 0:a.id,target:null==o?void 0:o.id,data:{edgeType:n||(null===(r=i[0])||void 0===r?void 0:r.label),options:i}};return l((function(e){return ae(ae([],e,!0),[d],!1)})),d}var F=z((function(e){return i((function(t){var r=u(e,t),a=W(e,r,n.nodes,g);return h(a),r}))}),[i,g,o]),G=z((function(e){return l((function(t){var r=m(e,t),a=W(e,r,n.edges,y);return C(a),r}))}),[l,y]);function W(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=J.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 U(e,t){var n=V(t.type),r=t.isSource?[n,e]:[e,n];Y(r[0],r[1],t.label)}function B(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 X(e,t){var n={id:"Y",layoutOptions:He,edges:t,children:e.map((function(e){return ne({},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&&X(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 ne(ne({},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:ne(ne({},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=A((null==n?void 0:n.data).qb_node_type,(null==a?void 0:a.data).qb_node_type);return t.data=ne(ne({},t.data),{options:o}),t})))||[];X(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:F,onEdgesChange:G,onConnect:P,nodeTypes:I,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(){X(n.nodes,n.edges)}}),e($e,{busy:n.busy,previouslyRun:n.previouslyRun,hasUnsavedChanges:g||y,onClick:function(){return n.onSubmit(D())}})]}),!n.readonly&&e("div",{className:"absolute bottom-10 left-24 z-20",children:e(tt,{onSelect:V,hasInsertedNodes:!!o.length})})]})}function Ke(t){return e(c,{children:e(Je,ne({},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(be,{busy:n.busy,className:"ms-4",onClick:n.onClick,children:[n.busy||e(Y,{className:"mr-2"})," ",r]})}function et(n){return t("div",{children:[t("p",{className:"me-4 inline text-orange-500",children:[e(A,{size:16,className:"me-2 inline"})," You have unsaved changes."]}),e(be,{variant:"outline",onClick:n.onClick,children:"Reset"})]})}function tt(n){var r=x(_e).nodeDefinitions,a=$(r,(function(e){return e.category}));return t(ie,{children:[e(de,{asChild:!0,children:t(be,{variant:n.hasInsertedNodes?"outline":"default",children:[e(F,{className:"me-2 inline"})," Add node"]})}),t(se,{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(le,{type:"single",defaultValue:Object.keys(a)[0],children:Object.keys(a).map((function(r){var o;return t(ce,{value:r,className:"px-4",children:[e(ue,{children:"undefined"==r?"Uncategorized":r}),e(me,{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(je,{type:r.id,size:"small"}),e("p",{className:"ms-2",children:r.name})]},r.id)}))})})]},r)}))})})]})]})}export{je as Icon,Ke as QueryBuilder,_e as QueryBuilderContext,Re as generateNodeStyle};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rejuve-bio/query-builder",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "description": "Annotation query builder",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",