randmarcomps 1.573.0 → 1.574.0

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.
@@ -74922,7 +74922,7 @@ ${f.description}` : f.summary || `${d.toUpperCase()} ${S[S.length - 1]}`,
74922
74922
  put: "Inserting",
74923
74923
  post: "Updating",
74924
74924
  delete: "Deleting"
74925
- }[d]} data - Randmar ${pt} API.`, ft = `${d} ${o}`;
74925
+ }[d]} - ${pt}.`, ft = `${d} ${o}`;
74926
74926
  s.push({
74927
74927
  declaration: ct,
74928
74928
  handler: dt,
@@ -536,7 +536,7 @@ Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=1
536
536
  Use <ProductCard product={data} applicationId={applicationId}>`],basicComponents=["<Card> <CardHeader> <CardTitle>...</CardTitle> <CardDescription>...</CardDescription> </CardHeader> <CardContent> ... </CardContent> </Card>","<Badge>...</Badge>",'<Tabs defaultValue="eg1"> <TabsList> <TabsTrigger value="eg1">Example1</TabsTrigger> <TabsTrigger value="eg2">Example2</TabsTrigger> </TabsList> <TabsContent value="eg1"> ... </TabsContent> <TabsContent value="eg2"> ... </TabsContent> </Tabs>',"<ScrollArea>...</ScrollArea>","<ScrollArea orientation='horizontal'>...</ScrollArea>"],GetJSXFromAI=async(e,t,n,s,a=3)=>{const o="In addition to basic html tags, You have access to these beautiful Handmade Components. Try to use them even when you get an array of search results. For example, use ProductCard when ContentType is Product:",l="You also have access to these few Shadcn UI components:",c='Here is the data to display to the user (If a Handmade Component is a good fit for the data, use it. Otherwise, use regular html tags) (You have access to this data object in React via the data variable. Do not use JSON.parse, it is already parsed. For example, if data is an array, you can use {data.map(item, idx => <>...</>)} directly. CAUTION: when using map, you must use implicit return rather than a block body, as shown before. AGAIN: never use JSON.parse - data is already parsed and never a block body with arrow functions such as: (item => { return "EXAMPLE - DO NOT DO THIS" }):',d="Only output a single JSX code snippet. Start with <> and end with </>. All other code will be ignored, so make sure to place all CSS styles inline. Use CSS flex layouts when there is a lot of stuff to display.",f=JSON.stringify(n),S=[t,o,...complexComponents,l,...basicComponents,d,c,f,d].join(`\r
537
537
  `),V=await new GoogleGenAI({apiKey:e}).chats.create({model:s?"gemini-2.5-pro":"gemini-2.5-flash-lite"}).sendMessage({message:S}),at=trimJSXString(V.text??"");return at&&!containsBlockArrowFunc(at)?at:a==0?"<p>Could not generate visuals for this data.</p>":await GetJSXFromAI(e,t,n,s,a-1)};function containsBlockArrowFunc(e){return e.replace(/\s+/g,"").indexOf("=>{")>=0}function trimJSXString(e){const t=e.indexOf("<"),n=e.lastIndexOf("</");return t===-1||n===-1?"":e.slice(t,e.indexOf(">",n)+1)}function AiGeneratedContent(e){const[t,n]=React.useState(""),{apiKey:s}=useGeminiApiKey();return React.useEffect(()=>{if(!s||!e.prompt||!e.data)return;n("");let a=!1;return GetJSXFromAI(s,e.prompt,e.data,e.smartAndSlow===!0).then(o=>{a||n(o)}),()=>{a=!0}},[e.prompt,e.data,n,s,e.smartAndSlow]),t?jsxRuntime.jsx(source_default,{bindings:{data:e.data},components:{ResellerCard,ManufacturerCard,PartnerCard,ProductCard,Card,CardHeader,CardTitle,CardContent,CardDescription,Badge,Tabs,TabsList,TabsContent,TabsTrigger,ScrollArea},jsx:t}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx(Skeleton,{className:"h-32 w-32",children:jsxRuntime.jsx(Bot,{className:"m-auto align-middle h-full"})})})}var CHECKBOX_NAME="Checkbox",[createCheckboxContext]=createContextScope$2(CHECKBOX_NAME),[CheckboxProviderImpl,useCheckboxContext]=createCheckboxContext(CHECKBOX_NAME);function CheckboxProvider(e){const{__scopeCheckbox:t,checked:n,children:s,defaultChecked:a,disabled:o,form:l,name:c,onCheckedChange:d,required:f,value:S="on",internal_do_not_use_render:R}=e,[A,V]=useControllableState({prop:n,defaultProp:a??!1,onChange:d,caller:CHECKBOX_NAME}),[at,lt]=React__namespace.useState(null),[ot,ct]=React__namespace.useState(null),dt=React__namespace.useRef(!1),ft=at?!!l||!!at.closest("form"):!0,yt={checked:A,disabled:o,setChecked:V,control:at,setControl:lt,name:c,form:l,value:S,hasConsumerStoppedPropagationRef:dt,required:f,defaultChecked:isIndeterminate(a)?!1:a,isFormControl:ft,bubbleInput:ot,setBubbleInput:ct};return jsxRuntime.jsx(CheckboxProviderImpl,{scope:t,...yt,children:isFunction$1(R)?R(yt):s})}var TRIGGER_NAME$4="CheckboxTrigger",CheckboxTrigger=React__namespace.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...s},a)=>{const{control:o,value:l,disabled:c,checked:d,required:f,setControl:S,setChecked:R,hasConsumerStoppedPropagationRef:A,isFormControl:V,bubbleInput:at}=useCheckboxContext(TRIGGER_NAME$4,e),lt=useComposedRefs(a,S),ot=React__namespace.useRef(d);return React__namespace.useEffect(()=>{const ct=o?.form;if(ct){const dt=()=>R(ot.current);return ct.addEventListener("reset",dt),()=>ct.removeEventListener("reset",dt)}},[o,R]),jsxRuntime.jsx(Primitive$4.button,{type:"button",role:"checkbox","aria-checked":isIndeterminate(d)?"mixed":d,"aria-required":f,"data-state":getState$3(d),"data-disabled":c?"":void 0,disabled:c,value:l,...s,ref:lt,onKeyDown:composeEventHandlers(t,ct=>{ct.key==="Enter"&&ct.preventDefault()}),onClick:composeEventHandlers(n,ct=>{R(dt=>isIndeterminate(dt)?!0:!dt),at&&V&&(A.current=ct.isPropagationStopped(),A.current||ct.stopPropagation())})})});CheckboxTrigger.displayName=TRIGGER_NAME$4;var Checkbox$1=React__namespace.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:s,checked:a,defaultChecked:o,required:l,disabled:c,value:d,onCheckedChange:f,form:S,...R}=e;return jsxRuntime.jsx(CheckboxProvider,{__scopeCheckbox:n,checked:a,defaultChecked:o,disabled:c,required:l,onCheckedChange:f,name:s,form:S,value:d,internal_do_not_use_render:({isFormControl:A})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(CheckboxTrigger,{...R,ref:t,__scopeCheckbox:n}),A&&jsxRuntime.jsx(CheckboxBubbleInput,{__scopeCheckbox:n})]})})});Checkbox$1.displayName=CHECKBOX_NAME;var INDICATOR_NAME="CheckboxIndicator",CheckboxIndicator=React__namespace.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:s,...a}=e,o=useCheckboxContext(INDICATOR_NAME,n);return jsxRuntime.jsx(Presence,{present:s||isIndeterminate(o.checked)||o.checked===!0,children:jsxRuntime.jsx(Primitive$4.span,{"data-state":getState$3(o.checked),"data-disabled":o.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});CheckboxIndicator.displayName=INDICATOR_NAME;var BUBBLE_INPUT_NAME="CheckboxBubbleInput",CheckboxBubbleInput=React__namespace.forwardRef(({__scopeCheckbox:e,...t},n)=>{const{control:s,hasConsumerStoppedPropagationRef:a,checked:o,defaultChecked:l,required:c,disabled:d,name:f,value:S,form:R,bubbleInput:A,setBubbleInput:V}=useCheckboxContext(BUBBLE_INPUT_NAME,e),at=useComposedRefs(n,V),lt=usePrevious(o),ot=useSize(s);React__namespace.useEffect(()=>{const dt=A;if(!dt)return;const ft=window.HTMLInputElement.prototype,mt=Object.getOwnPropertyDescriptor(ft,"checked").set,pt=!a.current;if(lt!==o&&mt){const Rt=new Event("click",{bubbles:pt});dt.indeterminate=isIndeterminate(o),mt.call(dt,isIndeterminate(o)?!1:o),dt.dispatchEvent(Rt)}},[A,lt,o,a]);const ct=React__namespace.useRef(isIndeterminate(o)?!1:o);return jsxRuntime.jsx(Primitive$4.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??ct.current,required:c,disabled:d,name:f,value:S,form:R,...t,tabIndex:-1,ref:at,style:{...t.style,...ot,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});CheckboxBubbleInput.displayName=BUBBLE_INPUT_NAME;function isFunction$1(e){return typeof e=="function"}function isIndeterminate(e){return e==="indeterminate"}function getState$3(e){return isIndeterminate(e)?"indeterminate":e?"checked":"unchecked"}const Checkbox=React__namespace.forwardRef(({className:e,...t},n)=>jsxRuntime.jsx(Checkbox$1,{ref:n,className:cn("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:jsxRuntime.jsx(CheckboxIndicator,{className:cn("flex items-center justify-center text-current"),children:jsxRuntime.jsx(Check,{className:"h-4 w-4"})})}));Checkbox.displayName=Checkbox$1.displayName;var U=1,Y$1=.9,H=.8,J=.17,p=.1,u=.999,$=.9999,k$1=.99,m=/[\\\/_+.#"@\[\(\{&]/,B$1=/[\\\/_+.#"@\[\(\{&]/g,K$1=/[\s-]/,X=/[\s-]/g;function G(e,t,n,s,a,o,l){if(o===t.length)return a===e.length?U:k$1;var c=`${a},${o}`;if(l[c]!==void 0)return l[c];for(var d=s.charAt(o),f=n.indexOf(d,a),S=0,R,A,V,at;f>=0;)R=G(e,t,n,s,f+1,o+1,l),R>S&&(f===a?R*=U:m.test(e.charAt(f-1))?(R*=H,V=e.slice(a,f-1).match(B$1),V&&a>0&&(R*=Math.pow(u,V.length))):K$1.test(e.charAt(f-1))?(R*=Y$1,at=e.slice(a,f-1).match(X),at&&a>0&&(R*=Math.pow(u,at.length))):(R*=J,a>0&&(R*=Math.pow(u,f-a))),e.charAt(f)!==t.charAt(o)&&(R*=$)),(R<p&&n.charAt(f-1)===s.charAt(o+1)||s.charAt(o+1)===s.charAt(o)&&n.charAt(f-1)!==s.charAt(o))&&(A=G(e,t,n,s,f+1,o+2,l),A*p>R&&(R=A*p)),R>S&&(S=R),f=n.indexOf(d,f+1);return l[c]=S,S}function D(e){return e.toLowerCase().replace(X," ")}function W(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,G(e,t,D(e),D(t),0,0,{})}var N='[cmdk-group=""]',Y='[cmdk-group-items=""]',be='[cmdk-group-heading=""]',le='[cmdk-item=""]',ce=`${le}:not([aria-disabled="true"])`,Z="cmdk-item-select",T="data-value",Re=(e,t,n)=>W(e,t,n),ue=React__namespace.createContext(void 0),K=()=>React__namespace.useContext(ue),de=React__namespace.createContext(void 0),ee=()=>React__namespace.useContext(de),fe=React__namespace.createContext(void 0),me=React__namespace.forwardRef((e,t)=>{let n=L(()=>{var un,hn;return{search:"",value:(hn=(un=e.value)!=null?un:e.defaultValue)!=null?hn:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),s=L(()=>new Set),a=L(()=>new Map),o=L(()=>new Map),l=L(()=>new Set),c=pe(e),{label:d,children:f,value:S,onValueChange:R,filter:A,shouldFilter:V,loop:at,disablePointerSelection:lt=!1,vimBindings:ot=!0,...ct}=e,dt=useId$1(),ft=useId$1(),yt=useId$1(),mt=React__namespace.useRef(null),pt=ke();k(()=>{if(S!==void 0){let un=S.trim();n.current.value=un,Rt.emit()}},[S]),k(()=>{pt(6,$t)},[]);let Rt=React__namespace.useMemo(()=>({subscribe:un=>(l.current.add(un),()=>l.current.delete(un)),snapshot:()=>n.current,setState:(un,hn,mn)=>{var sn,Cn,on,Sn;if(!Object.is(n.current[un],hn)){if(n.current[un]=hn,un==="search")Ct(),Ft(),pt(1,Ut);else if(un==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let dn=document.getElementById(yt);dn?dn.focus():(sn=document.getElementById(dt))==null||sn.focus()}if(pt(7,()=>{var dn;n.current.selectedItemId=(dn=Vt())==null?void 0:dn.id,Rt.emit()}),mn||pt(5,$t),((Cn=c.current)==null?void 0:Cn.value)!==void 0){let dn=hn??"";(Sn=(on=c.current).onValueChange)==null||Sn.call(on,dn);return}}Rt.emit()}},emit:()=>{l.current.forEach(un=>un())}}),[]),Mt=React__namespace.useMemo(()=>({value:(un,hn,mn)=>{var sn;hn!==((sn=o.current.get(un))==null?void 0:sn.value)&&(o.current.set(un,{value:hn,keywords:mn}),n.current.filtered.items.set(un,Dt(hn,mn)),pt(2,()=>{Ft(),Rt.emit()}))},item:(un,hn)=>(s.current.add(un),hn&&(a.current.has(hn)?a.current.get(hn).add(un):a.current.set(hn,new Set([un]))),pt(3,()=>{Ct(),Ft(),n.current.value||Ut(),Rt.emit()}),()=>{o.current.delete(un),s.current.delete(un),n.current.filtered.items.delete(un);let mn=Vt();pt(4,()=>{Ct(),mn?.getAttribute("id")===un&&Ut(),Rt.emit()})}),group:un=>(a.current.has(un)||a.current.set(un,new Set),()=>{o.current.delete(un),a.current.delete(un)}),filter:()=>c.current.shouldFilter,label:d||e["aria-label"],getDisablePointerSelection:()=>c.current.disablePointerSelection,listId:dt,inputId:yt,labelId:ft,listInnerRef:mt}),[]);function Dt(un,hn){var mn,sn;let Cn=(sn=(mn=c.current)==null?void 0:mn.filter)!=null?sn:Re;return un?Cn(un,n.current.search,hn):0}function Ft(){if(!n.current.search||c.current.shouldFilter===!1)return;let un=n.current.filtered.items,hn=[];n.current.filtered.groups.forEach(sn=>{let Cn=a.current.get(sn),on=0;Cn.forEach(Sn=>{let dn=un.get(Sn);on=Math.max(dn,on)}),hn.push([sn,on])});let mn=mt.current;Ht().sort((sn,Cn)=>{var on,Sn;let dn=sn.getAttribute("id"),nn=Cn.getAttribute("id");return((on=un.get(nn))!=null?on:0)-((Sn=un.get(dn))!=null?Sn:0)}).forEach(sn=>{let Cn=sn.closest(Y);Cn?Cn.appendChild(sn.parentElement===Cn?sn:sn.closest(`${Y} > *`)):mn.appendChild(sn.parentElement===mn?sn:sn.closest(`${Y} > *`))}),hn.sort((sn,Cn)=>Cn[1]-sn[1]).forEach(sn=>{var Cn;let on=(Cn=mt.current)==null?void 0:Cn.querySelector(`${N}[${T}="${encodeURIComponent(sn[0])}"]`);on?.parentElement.appendChild(on)})}function Ut(){let un=Ht().find(mn=>mn.getAttribute("aria-disabled")!=="true"),hn=un?.getAttribute(T);Rt.setState("value",hn||void 0)}function Ct(){var un,hn,mn,sn;if(!n.current.search||c.current.shouldFilter===!1){n.current.filtered.count=s.current.size;return}n.current.filtered.groups=new Set;let Cn=0;for(let on of s.current){let Sn=(hn=(un=o.current.get(on))==null?void 0:un.value)!=null?hn:"",dn=(sn=(mn=o.current.get(on))==null?void 0:mn.keywords)!=null?sn:[],nn=Dt(Sn,dn);n.current.filtered.items.set(on,nn),nn>0&&Cn++}for(let[on,Sn]of a.current)for(let dn of Sn)if(n.current.filtered.items.get(dn)>0){n.current.filtered.groups.add(on);break}n.current.filtered.count=Cn}function $t(){var un,hn,mn;let sn=Vt();sn&&(((un=sn.parentElement)==null?void 0:un.firstChild)===sn&&((mn=(hn=sn.closest(N))==null?void 0:hn.querySelector(be))==null||mn.scrollIntoView({block:"nearest"})),sn.scrollIntoView({block:"nearest"}))}function Vt(){var un;return(un=mt.current)==null?void 0:un.querySelector(`${le}[aria-selected="true"]`)}function Ht(){var un;return Array.from(((un=mt.current)==null?void 0:un.querySelectorAll(ce))||[])}function Kt(un){let hn=Ht()[un];hn&&Rt.setState("value",hn.getAttribute(T))}function Jt(un){var hn;let mn=Vt(),sn=Ht(),Cn=sn.findIndex(Sn=>Sn===mn),on=sn[Cn+un];(hn=c.current)!=null&&hn.loop&&(on=Cn+un<0?sn[sn.length-1]:Cn+un===sn.length?sn[0]:sn[Cn+un]),on&&Rt.setState("value",on.getAttribute(T))}function zt(un){let hn=Vt(),mn=hn?.closest(N),sn;for(;mn&&!sn;)mn=un>0?we(mn,N):De(mn,N),sn=mn?.querySelector(ce);sn?Rt.setState("value",sn.getAttribute(T)):Jt(un)}let qt=()=>Kt(Ht().length-1),en=un=>{un.preventDefault(),un.metaKey?qt():un.altKey?zt(1):Jt(1)},fn=un=>{un.preventDefault(),un.metaKey?Kt(0):un.altKey?zt(-1):Jt(-1)};return React__namespace.createElement(Primitive$4.div,{ref:t,tabIndex:-1,...ct,"cmdk-root":"",onKeyDown:un=>{var hn;(hn=ct.onKeyDown)==null||hn.call(ct,un);let mn=un.nativeEvent.isComposing||un.keyCode===229;if(!(un.defaultPrevented||mn))switch(un.key){case"n":case"j":{ot&&un.ctrlKey&&en(un);break}case"ArrowDown":{en(un);break}case"p":case"k":{ot&&un.ctrlKey&&fn(un);break}case"ArrowUp":{fn(un);break}case"Home":{un.preventDefault(),Kt(0);break}case"End":{un.preventDefault(),qt();break}case"Enter":{un.preventDefault();let sn=Vt();if(sn){let Cn=new Event(Z);sn.dispatchEvent(Cn)}}}}},React__namespace.createElement("label",{"cmdk-label":"",htmlFor:Mt.inputId,id:Mt.labelId,style:Te},d),B(e,un=>React__namespace.createElement(de.Provider,{value:Rt},React__namespace.createElement(ue.Provider,{value:Mt},un))))}),he=React__namespace.forwardRef((e,t)=>{var n,s;let a=useId$1(),o=React__namespace.useRef(null),l=React__namespace.useContext(fe),c=K(),d=pe(e),f=(s=(n=d.current)==null?void 0:n.forceMount)!=null?s:l?.forceMount;k(()=>{if(!f)return c.item(a,l?.id)},[f]);let S=ve(a,o,[e.value,e.children,o],e.keywords),R=ee(),A=P(pt=>pt.value&&pt.value===S.current),V=P(pt=>f||c.filter()===!1?!0:pt.search?pt.filtered.items.get(a)>0:!0);React__namespace.useEffect(()=>{let pt=o.current;if(!(!pt||e.disabled))return pt.addEventListener(Z,at),()=>pt.removeEventListener(Z,at)},[V,e.onSelect,e.disabled]);function at(){var pt,Rt;lt(),(Rt=(pt=d.current).onSelect)==null||Rt.call(pt,S.current)}function lt(){R.setState("value",S.current,!0)}if(!V)return null;let{disabled:ot,value:ct,onSelect:dt,forceMount:ft,keywords:yt,...mt}=e;return React__namespace.createElement(Primitive$4.div,{ref:composeRefs(o,t),...mt,id:a,"cmdk-item":"",role:"option","aria-disabled":!!ot,"aria-selected":!!A,"data-disabled":!!ot,"data-selected":!!A,onPointerMove:ot||c.getDisablePointerSelection()?void 0:lt,onClick:ot?void 0:at},e.children)}),Ee=React__namespace.forwardRef((e,t)=>{let{heading:n,children:s,forceMount:a,...o}=e,l=useId$1(),c=React__namespace.useRef(null),d=React__namespace.useRef(null),f=useId$1(),S=K(),R=P(V=>a||S.filter()===!1?!0:V.search?V.filtered.groups.has(l):!0);k(()=>S.group(l),[]),ve(l,c,[e.value,e.heading,d]);let A=React__namespace.useMemo(()=>({id:l,forceMount:a}),[a]);return React__namespace.createElement(Primitive$4.div,{ref:composeRefs(c,t),...o,"cmdk-group":"",role:"presentation",hidden:R?void 0:!0},n&&React__namespace.createElement("div",{ref:d,"cmdk-group-heading":"","aria-hidden":!0,id:f},n),B(e,V=>React__namespace.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?f:void 0},React__namespace.createElement(fe.Provider,{value:A},V))))}),ye=React__namespace.forwardRef((e,t)=>{let{alwaysRender:n,...s}=e,a=React__namespace.useRef(null),o=P(l=>!l.search);return!n&&!o?null:React__namespace.createElement(Primitive$4.div,{ref:composeRefs(a,t),...s,"cmdk-separator":"",role:"separator"})}),Se=React__namespace.forwardRef((e,t)=>{let{onValueChange:n,...s}=e,a=e.value!=null,o=ee(),l=P(f=>f.search),c=P(f=>f.selectedItemId),d=K();return React__namespace.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),React__namespace.createElement(Primitive$4.input,{ref:t,...s,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":d.listId,"aria-labelledby":d.labelId,"aria-activedescendant":c,id:d.inputId,type:"text",value:a?e.value:l,onChange:f=>{a||o.setState("search",f.target.value),n?.(f.target.value)}})}),Ce=React__namespace.forwardRef((e,t)=>{let{children:n,label:s="Suggestions",...a}=e,o=React__namespace.useRef(null),l=React__namespace.useRef(null),c=P(f=>f.selectedItemId),d=K();return React__namespace.useEffect(()=>{if(l.current&&o.current){let f=l.current,S=o.current,R,A=new ResizeObserver(()=>{R=requestAnimationFrame(()=>{let V=f.offsetHeight;S.style.setProperty("--cmdk-list-height",V.toFixed(1)+"px")})});return A.observe(f),()=>{cancelAnimationFrame(R),A.unobserve(f)}}},[]),React__namespace.createElement(Primitive$4.div,{ref:composeRefs(o,t),...a,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":c,"aria-label":s,id:d.listId},B(e,f=>React__namespace.createElement("div",{ref:composeRefs(l,d.listInnerRef),"cmdk-list-sizer":""},f)))}),xe=React__namespace.forwardRef((e,t)=>{let{open:n,onOpenChange:s,overlayClassName:a,contentClassName:o,container:l,...c}=e;return React__namespace.createElement(Root$a,{open:n,onOpenChange:s},React__namespace.createElement(Portal$4,{container:l},React__namespace.createElement(Overlay,{"cmdk-overlay":"",className:a}),React__namespace.createElement(Content$3,{"aria-label":e.label,"cmdk-dialog":"",className:o},React__namespace.createElement(me,{ref:t,...c}))))}),Ie=React__namespace.forwardRef((e,t)=>P(n=>n.filtered.count===0)?React__namespace.createElement(Primitive$4.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Pe=React__namespace.forwardRef((e,t)=>{let{progress:n,children:s,label:a="Loading...",...o}=e;return React__namespace.createElement(Primitive$4.div,{ref:t,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},B(e,l=>React__namespace.createElement("div",{"aria-hidden":!0},l)))}),_e=Object.assign(me,{List:Ce,Item:he,Input:Se,Group:Ee,Separator:ye,Dialog:xe,Empty:Ie,Loading:Pe});function we(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function De(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function pe(e){let t=React__namespace.useRef(e);return k(()=>{t.current=e}),t}var k=typeof window>"u"?React__namespace.useEffect:React__namespace.useLayoutEffect;function L(e){let t=React__namespace.useRef();return t.current===void 0&&(t.current=e()),t}function P(e){let t=ee(),n=()=>e(t.snapshot());return React__namespace.useSyncExternalStore(t.subscribe,n,n)}function ve(e,t,n,s=[]){let a=React__namespace.useRef(),o=K();return k(()=>{var l;let c=(()=>{var f;for(let S of n){if(typeof S=="string")return S.trim();if(typeof S=="object"&&"current"in S)return S.current?(f=S.current.textContent)==null?void 0:f.trim():a.current}})(),d=s.map(f=>f.trim());o.value(e,c,d),(l=t.current)==null||l.setAttribute(T,c),a.current=c}),a}var ke=()=>{let[e,t]=React__namespace.useState(),n=L(()=>new Map);return k(()=>{n.current.forEach(s=>s()),n.current=new Map},[e]),(s,a)=>{n.current.set(s,a),t({})}};function Me(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function B({asChild:e,children:t},n){return e&&React__namespace.isValidElement(t)?React__namespace.cloneElement(Me(t),{ref:t.ref},n(t.props.children)):n(t)}var Te={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const Command=React__namespace.forwardRef(({className:e,...t},n)=>jsxRuntime.jsx(_e,{ref:n,className:cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));Command.displayName=_e.displayName;const CommandDialog=({children:e,...t})=>jsxRuntime.jsx(Dialog,{...t,children:jsxRuntime.jsx(DialogContent,{className:"overflow-hidden p-0",children:jsxRuntime.jsx(Command,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:e})})}),CommandInput=React__namespace.forwardRef(({className:e,...t},n)=>jsxRuntime.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[jsxRuntime.jsx(Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),jsxRuntime.jsx(_e.Input,{ref:n,className:cn("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));CommandInput.displayName=_e.Input.displayName;const CommandList=React__namespace.forwardRef(({className:e,...t},n)=>jsxRuntime.jsx(_e.List,{ref:n,className:cn("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));CommandList.displayName=_e.List.displayName;const CommandEmpty=React__namespace.forwardRef((e,t)=>jsxRuntime.jsx(_e.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));CommandEmpty.displayName=_e.Empty.displayName;const CommandGroup=React__namespace.forwardRef(({className:e,...t},n)=>jsxRuntime.jsx(_e.Group,{ref:n,className:cn("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));CommandGroup.displayName=_e.Group.displayName;const CommandSeparator=React__namespace.forwardRef(({className:e,...t},n)=>jsxRuntime.jsx(_e.Separator,{ref:n,className:cn("-mx-1 h-px bg-border",e),...t}));CommandSeparator.displayName=_e.Separator.displayName;const CommandItem=React__namespace.forwardRef(({className:e,...t},n)=>jsxRuntime.jsx(_e.Item,{ref:n,className:cn("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));CommandItem.displayName=_e.Item.displayName;const CommandShortcut=({className:e,...t})=>jsxRuntime.jsx("span",{className:cn("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});CommandShortcut.displayName="CommandShortcut";function GeneralDocumentCard({document:e,loading:t=!1}){return t?jsxRuntime.jsx("div",{children:"loading..."}):jsxRuntime.jsxs("div",{children:["GENERAL DOCUMENT CARD - ",e?.OrderNumber," for P.O. ",e?.PONumber]})}var md5={exports:{}};const __viteBrowserExternal={},__viteBrowserExternal$1=Object.freeze(Object.defineProperty({__proto__:null,default:__viteBrowserExternal},Symbol.toStringTag,{value:"Module"})),require$$1=getAugmentedNamespace(__viteBrowserExternal$1);var hasRequiredMd5;function requireMd5(){return hasRequiredMd5||(hasRequiredMd5=1,(function(e){(function(){var t="input is invalid type",n="finalize already called",s=typeof window=="object",a=s?window:{};a.JS_MD5_NO_WINDOW&&(s=!1);var o=!s&&typeof self=="object",l=!a.JS_MD5_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;l?a=commonjsGlobal:o&&(a=self);var c=!a.JS_MD5_NO_COMMON_JS&&!0&&e.exports,d=!a.JS_MD5_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",f="0123456789abcdef".split(""),S=[128,32768,8388608,-2147483648],R=[0,8,16,24],A=["hex","array","digest","buffer","arrayBuffer","base64"],V="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),at=[],lt;if(d){var ot=new ArrayBuffer(68);lt=new Uint8Array(ot),at=new Uint32Array(ot)}var ct=Array.isArray;(a.JS_MD5_NO_NODE_JS||!ct)&&(ct=function(Ct){return Object.prototype.toString.call(Ct)==="[object Array]"});var dt=ArrayBuffer.isView;d&&(a.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW||!dt)&&(dt=function(Ct){return typeof Ct=="object"&&Ct.buffer&&Ct.buffer.constructor===ArrayBuffer});var ft=function(Ct){var $t=typeof Ct;if($t==="string")return[Ct,!0];if($t!=="object"||Ct===null)throw new Error(t);if(d&&Ct.constructor===ArrayBuffer)return[new Uint8Array(Ct),!1];if(!ct(Ct)&&!dt(Ct))throw new Error(t);return[Ct,!1]},yt=function(Ct){return function($t){return new Dt(!0).update($t)[Ct]()}},mt=function(){var Ct=yt("hex");l&&(Ct=pt(Ct)),Ct.create=function(){return new Dt},Ct.update=function(Ht){return Ct.create().update(Ht)};for(var $t=0;$t<A.length;++$t){var Vt=A[$t];Ct[Vt]=yt(Vt)}return Ct},pt=function(Ct){var $t=require$$1,Vt=require$$1.Buffer,Ht;Vt.from&&!a.JS_MD5_NO_BUFFER_FROM?Ht=Vt.from:Ht=function(Jt){return new Vt(Jt)};var Kt=function(Jt){if(typeof Jt=="string")return $t.createHash("md5").update(Jt,"utf8").digest("hex");if(Jt==null)throw new Error(t);return Jt.constructor===ArrayBuffer&&(Jt=new Uint8Array(Jt)),ct(Jt)||dt(Jt)||Jt.constructor===Vt?$t.createHash("md5").update(Ht(Jt)).digest("hex"):Ct(Jt)};return Kt},Rt=function(Ct){return function($t,Vt){return new Ft($t,!0).update(Vt)[Ct]()}},Mt=function(){var Ct=Rt("hex");Ct.create=function(Ht){return new Ft(Ht)},Ct.update=function(Ht,Kt){return Ct.create(Ht).update(Kt)};for(var $t=0;$t<A.length;++$t){var Vt=A[$t];Ct[Vt]=Rt(Vt)}return Ct};function Dt(Ct){if(Ct)at[0]=at[16]=at[1]=at[2]=at[3]=at[4]=at[5]=at[6]=at[7]=at[8]=at[9]=at[10]=at[11]=at[12]=at[13]=at[14]=at[15]=0,this.blocks=at,this.buffer8=lt;else if(d){var $t=new ArrayBuffer(68);this.buffer8=new Uint8Array($t),this.blocks=new Uint32Array($t)}else this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h0=this.h1=this.h2=this.h3=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}Dt.prototype.update=function(Ct){if(this.finalized)throw new Error(n);var $t=ft(Ct);Ct=$t[0];for(var Vt=$t[1],Ht,Kt=0,Jt,zt=Ct.length,qt=this.blocks,en=this.buffer8;Kt<zt;){if(this.hashed&&(this.hashed=!1,qt[0]=qt[16],qt[16]=qt[1]=qt[2]=qt[3]=qt[4]=qt[5]=qt[6]=qt[7]=qt[8]=qt[9]=qt[10]=qt[11]=qt[12]=qt[13]=qt[14]=qt[15]=0),Vt)if(d)for(Jt=this.start;Kt<zt&&Jt<64;++Kt)Ht=Ct.charCodeAt(Kt),Ht<128?en[Jt++]=Ht:Ht<2048?(en[Jt++]=192|Ht>>>6,en[Jt++]=128|Ht&63):Ht<55296||Ht>=57344?(en[Jt++]=224|Ht>>>12,en[Jt++]=128|Ht>>>6&63,en[Jt++]=128|Ht&63):(Ht=65536+((Ht&1023)<<10|Ct.charCodeAt(++Kt)&1023),en[Jt++]=240|Ht>>>18,en[Jt++]=128|Ht>>>12&63,en[Jt++]=128|Ht>>>6&63,en[Jt++]=128|Ht&63);else for(Jt=this.start;Kt<zt&&Jt<64;++Kt)Ht=Ct.charCodeAt(Kt),Ht<128?qt[Jt>>>2]|=Ht<<R[Jt++&3]:Ht<2048?(qt[Jt>>>2]|=(192|Ht>>>6)<<R[Jt++&3],qt[Jt>>>2]|=(128|Ht&63)<<R[Jt++&3]):Ht<55296||Ht>=57344?(qt[Jt>>>2]|=(224|Ht>>>12)<<R[Jt++&3],qt[Jt>>>2]|=(128|Ht>>>6&63)<<R[Jt++&3],qt[Jt>>>2]|=(128|Ht&63)<<R[Jt++&3]):(Ht=65536+((Ht&1023)<<10|Ct.charCodeAt(++Kt)&1023),qt[Jt>>>2]|=(240|Ht>>>18)<<R[Jt++&3],qt[Jt>>>2]|=(128|Ht>>>12&63)<<R[Jt++&3],qt[Jt>>>2]|=(128|Ht>>>6&63)<<R[Jt++&3],qt[Jt>>>2]|=(128|Ht&63)<<R[Jt++&3]);else if(d)for(Jt=this.start;Kt<zt&&Jt<64;++Kt)en[Jt++]=Ct[Kt];else for(Jt=this.start;Kt<zt&&Jt<64;++Kt)qt[Jt>>>2]|=Ct[Kt]<<R[Jt++&3];this.lastByteIndex=Jt,this.bytes+=Jt-this.start,Jt>=64?(this.start=Jt-64,this.hash(),this.hashed=!0):this.start=Jt}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this},Dt.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var Ct=this.blocks,$t=this.lastByteIndex;Ct[$t>>>2]|=S[$t&3],$t>=56&&(this.hashed||this.hash(),Ct[0]=Ct[16],Ct[16]=Ct[1]=Ct[2]=Ct[3]=Ct[4]=Ct[5]=Ct[6]=Ct[7]=Ct[8]=Ct[9]=Ct[10]=Ct[11]=Ct[12]=Ct[13]=Ct[14]=Ct[15]=0),Ct[14]=this.bytes<<3,Ct[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},Dt.prototype.hash=function(){var Ct,$t,Vt,Ht,Kt,Jt,zt=this.blocks;this.first?(Ct=zt[0]-680876937,Ct=(Ct<<7|Ct>>>25)-271733879<<0,Ht=(-1732584194^Ct&2004318071)+zt[1]-117830708,Ht=(Ht<<12|Ht>>>20)+Ct<<0,Vt=(-271733879^Ht&(Ct^-271733879))+zt[2]-1126478375,Vt=(Vt<<17|Vt>>>15)+Ht<<0,$t=(Ct^Vt&(Ht^Ct))+zt[3]-1316259209,$t=($t<<22|$t>>>10)+Vt<<0):(Ct=this.h0,$t=this.h1,Vt=this.h2,Ht=this.h3,Ct+=(Ht^$t&(Vt^Ht))+zt[0]-680876936,Ct=(Ct<<7|Ct>>>25)+$t<<0,Ht+=(Vt^Ct&($t^Vt))+zt[1]-389564586,Ht=(Ht<<12|Ht>>>20)+Ct<<0,Vt+=($t^Ht&(Ct^$t))+zt[2]+606105819,Vt=(Vt<<17|Vt>>>15)+Ht<<0,$t+=(Ct^Vt&(Ht^Ct))+zt[3]-1044525330,$t=($t<<22|$t>>>10)+Vt<<0),Ct+=(Ht^$t&(Vt^Ht))+zt[4]-176418897,Ct=(Ct<<7|Ct>>>25)+$t<<0,Ht+=(Vt^Ct&($t^Vt))+zt[5]+1200080426,Ht=(Ht<<12|Ht>>>20)+Ct<<0,Vt+=($t^Ht&(Ct^$t))+zt[6]-1473231341,Vt=(Vt<<17|Vt>>>15)+Ht<<0,$t+=(Ct^Vt&(Ht^Ct))+zt[7]-45705983,$t=($t<<22|$t>>>10)+Vt<<0,Ct+=(Ht^$t&(Vt^Ht))+zt[8]+1770035416,Ct=(Ct<<7|Ct>>>25)+$t<<0,Ht+=(Vt^Ct&($t^Vt))+zt[9]-1958414417,Ht=(Ht<<12|Ht>>>20)+Ct<<0,Vt+=($t^Ht&(Ct^$t))+zt[10]-42063,Vt=(Vt<<17|Vt>>>15)+Ht<<0,$t+=(Ct^Vt&(Ht^Ct))+zt[11]-1990404162,$t=($t<<22|$t>>>10)+Vt<<0,Ct+=(Ht^$t&(Vt^Ht))+zt[12]+1804603682,Ct=(Ct<<7|Ct>>>25)+$t<<0,Ht+=(Vt^Ct&($t^Vt))+zt[13]-40341101,Ht=(Ht<<12|Ht>>>20)+Ct<<0,Vt+=($t^Ht&(Ct^$t))+zt[14]-1502002290,Vt=(Vt<<17|Vt>>>15)+Ht<<0,$t+=(Ct^Vt&(Ht^Ct))+zt[15]+1236535329,$t=($t<<22|$t>>>10)+Vt<<0,Ct+=(Vt^Ht&($t^Vt))+zt[1]-165796510,Ct=(Ct<<5|Ct>>>27)+$t<<0,Ht+=($t^Vt&(Ct^$t))+zt[6]-1069501632,Ht=(Ht<<9|Ht>>>23)+Ct<<0,Vt+=(Ct^$t&(Ht^Ct))+zt[11]+643717713,Vt=(Vt<<14|Vt>>>18)+Ht<<0,$t+=(Ht^Ct&(Vt^Ht))+zt[0]-373897302,$t=($t<<20|$t>>>12)+Vt<<0,Ct+=(Vt^Ht&($t^Vt))+zt[5]-701558691,Ct=(Ct<<5|Ct>>>27)+$t<<0,Ht+=($t^Vt&(Ct^$t))+zt[10]+38016083,Ht=(Ht<<9|Ht>>>23)+Ct<<0,Vt+=(Ct^$t&(Ht^Ct))+zt[15]-660478335,Vt=(Vt<<14|Vt>>>18)+Ht<<0,$t+=(Ht^Ct&(Vt^Ht))+zt[4]-405537848,$t=($t<<20|$t>>>12)+Vt<<0,Ct+=(Vt^Ht&($t^Vt))+zt[9]+568446438,Ct=(Ct<<5|Ct>>>27)+$t<<0,Ht+=($t^Vt&(Ct^$t))+zt[14]-1019803690,Ht=(Ht<<9|Ht>>>23)+Ct<<0,Vt+=(Ct^$t&(Ht^Ct))+zt[3]-187363961,Vt=(Vt<<14|Vt>>>18)+Ht<<0,$t+=(Ht^Ct&(Vt^Ht))+zt[8]+1163531501,$t=($t<<20|$t>>>12)+Vt<<0,Ct+=(Vt^Ht&($t^Vt))+zt[13]-1444681467,Ct=(Ct<<5|Ct>>>27)+$t<<0,Ht+=($t^Vt&(Ct^$t))+zt[2]-51403784,Ht=(Ht<<9|Ht>>>23)+Ct<<0,Vt+=(Ct^$t&(Ht^Ct))+zt[7]+1735328473,Vt=(Vt<<14|Vt>>>18)+Ht<<0,$t+=(Ht^Ct&(Vt^Ht))+zt[12]-1926607734,$t=($t<<20|$t>>>12)+Vt<<0,Kt=$t^Vt,Ct+=(Kt^Ht)+zt[5]-378558,Ct=(Ct<<4|Ct>>>28)+$t<<0,Ht+=(Kt^Ct)+zt[8]-2022574463,Ht=(Ht<<11|Ht>>>21)+Ct<<0,Jt=Ht^Ct,Vt+=(Jt^$t)+zt[11]+1839030562,Vt=(Vt<<16|Vt>>>16)+Ht<<0,$t+=(Jt^Vt)+zt[14]-35309556,$t=($t<<23|$t>>>9)+Vt<<0,Kt=$t^Vt,Ct+=(Kt^Ht)+zt[1]-1530992060,Ct=(Ct<<4|Ct>>>28)+$t<<0,Ht+=(Kt^Ct)+zt[4]+1272893353,Ht=(Ht<<11|Ht>>>21)+Ct<<0,Jt=Ht^Ct,Vt+=(Jt^$t)+zt[7]-155497632,Vt=(Vt<<16|Vt>>>16)+Ht<<0,$t+=(Jt^Vt)+zt[10]-1094730640,$t=($t<<23|$t>>>9)+Vt<<0,Kt=$t^Vt,Ct+=(Kt^Ht)+zt[13]+681279174,Ct=(Ct<<4|Ct>>>28)+$t<<0,Ht+=(Kt^Ct)+zt[0]-358537222,Ht=(Ht<<11|Ht>>>21)+Ct<<0,Jt=Ht^Ct,Vt+=(Jt^$t)+zt[3]-722521979,Vt=(Vt<<16|Vt>>>16)+Ht<<0,$t+=(Jt^Vt)+zt[6]+76029189,$t=($t<<23|$t>>>9)+Vt<<0,Kt=$t^Vt,Ct+=(Kt^Ht)+zt[9]-640364487,Ct=(Ct<<4|Ct>>>28)+$t<<0,Ht+=(Kt^Ct)+zt[12]-421815835,Ht=(Ht<<11|Ht>>>21)+Ct<<0,Jt=Ht^Ct,Vt+=(Jt^$t)+zt[15]+530742520,Vt=(Vt<<16|Vt>>>16)+Ht<<0,$t+=(Jt^Vt)+zt[2]-995338651,$t=($t<<23|$t>>>9)+Vt<<0,Ct+=(Vt^($t|~Ht))+zt[0]-198630844,Ct=(Ct<<6|Ct>>>26)+$t<<0,Ht+=($t^(Ct|~Vt))+zt[7]+1126891415,Ht=(Ht<<10|Ht>>>22)+Ct<<0,Vt+=(Ct^(Ht|~$t))+zt[14]-1416354905,Vt=(Vt<<15|Vt>>>17)+Ht<<0,$t+=(Ht^(Vt|~Ct))+zt[5]-57434055,$t=($t<<21|$t>>>11)+Vt<<0,Ct+=(Vt^($t|~Ht))+zt[12]+1700485571,Ct=(Ct<<6|Ct>>>26)+$t<<0,Ht+=($t^(Ct|~Vt))+zt[3]-1894986606,Ht=(Ht<<10|Ht>>>22)+Ct<<0,Vt+=(Ct^(Ht|~$t))+zt[10]-1051523,Vt=(Vt<<15|Vt>>>17)+Ht<<0,$t+=(Ht^(Vt|~Ct))+zt[1]-2054922799,$t=($t<<21|$t>>>11)+Vt<<0,Ct+=(Vt^($t|~Ht))+zt[8]+1873313359,Ct=(Ct<<6|Ct>>>26)+$t<<0,Ht+=($t^(Ct|~Vt))+zt[15]-30611744,Ht=(Ht<<10|Ht>>>22)+Ct<<0,Vt+=(Ct^(Ht|~$t))+zt[6]-1560198380,Vt=(Vt<<15|Vt>>>17)+Ht<<0,$t+=(Ht^(Vt|~Ct))+zt[13]+1309151649,$t=($t<<21|$t>>>11)+Vt<<0,Ct+=(Vt^($t|~Ht))+zt[4]-145523070,Ct=(Ct<<6|Ct>>>26)+$t<<0,Ht+=($t^(Ct|~Vt))+zt[11]-1120210379,Ht=(Ht<<10|Ht>>>22)+Ct<<0,Vt+=(Ct^(Ht|~$t))+zt[2]+718787259,Vt=(Vt<<15|Vt>>>17)+Ht<<0,$t+=(Ht^(Vt|~Ct))+zt[9]-343485551,$t=($t<<21|$t>>>11)+Vt<<0,this.first?(this.h0=Ct+1732584193<<0,this.h1=$t-271733879<<0,this.h2=Vt-1732584194<<0,this.h3=Ht+271733878<<0,this.first=!1):(this.h0=this.h0+Ct<<0,this.h1=this.h1+$t<<0,this.h2=this.h2+Vt<<0,this.h3=this.h3+Ht<<0)},Dt.prototype.hex=function(){this.finalize();var Ct=this.h0,$t=this.h1,Vt=this.h2,Ht=this.h3;return f[Ct>>>4&15]+f[Ct&15]+f[Ct>>>12&15]+f[Ct>>>8&15]+f[Ct>>>20&15]+f[Ct>>>16&15]+f[Ct>>>28&15]+f[Ct>>>24&15]+f[$t>>>4&15]+f[$t&15]+f[$t>>>12&15]+f[$t>>>8&15]+f[$t>>>20&15]+f[$t>>>16&15]+f[$t>>>28&15]+f[$t>>>24&15]+f[Vt>>>4&15]+f[Vt&15]+f[Vt>>>12&15]+f[Vt>>>8&15]+f[Vt>>>20&15]+f[Vt>>>16&15]+f[Vt>>>28&15]+f[Vt>>>24&15]+f[Ht>>>4&15]+f[Ht&15]+f[Ht>>>12&15]+f[Ht>>>8&15]+f[Ht>>>20&15]+f[Ht>>>16&15]+f[Ht>>>28&15]+f[Ht>>>24&15]},Dt.prototype.toString=Dt.prototype.hex,Dt.prototype.digest=function(){this.finalize();var Ct=this.h0,$t=this.h1,Vt=this.h2,Ht=this.h3;return[Ct&255,Ct>>>8&255,Ct>>>16&255,Ct>>>24&255,$t&255,$t>>>8&255,$t>>>16&255,$t>>>24&255,Vt&255,Vt>>>8&255,Vt>>>16&255,Vt>>>24&255,Ht&255,Ht>>>8&255,Ht>>>16&255,Ht>>>24&255]},Dt.prototype.array=Dt.prototype.digest,Dt.prototype.arrayBuffer=function(){this.finalize();var Ct=new ArrayBuffer(16),$t=new Uint32Array(Ct);return $t[0]=this.h0,$t[1]=this.h1,$t[2]=this.h2,$t[3]=this.h3,Ct},Dt.prototype.buffer=Dt.prototype.arrayBuffer,Dt.prototype.base64=function(){for(var Ct,$t,Vt,Ht="",Kt=this.array(),Jt=0;Jt<15;)Ct=Kt[Jt++],$t=Kt[Jt++],Vt=Kt[Jt++],Ht+=V[Ct>>>2]+V[(Ct<<4|$t>>>4)&63]+V[($t<<2|Vt>>>6)&63]+V[Vt&63];return Ct=Kt[Jt],Ht+=V[Ct>>>2]+V[Ct<<4&63]+"==",Ht};function Ft(Ct,$t){var Vt,Ht=ft(Ct);if(Ct=Ht[0],Ht[1]){var Kt=[],Jt=Ct.length,zt=0,qt;for(Vt=0;Vt<Jt;++Vt)qt=Ct.charCodeAt(Vt),qt<128?Kt[zt++]=qt:qt<2048?(Kt[zt++]=192|qt>>>6,Kt[zt++]=128|qt&63):qt<55296||qt>=57344?(Kt[zt++]=224|qt>>>12,Kt[zt++]=128|qt>>>6&63,Kt[zt++]=128|qt&63):(qt=65536+((qt&1023)<<10|Ct.charCodeAt(++Vt)&1023),Kt[zt++]=240|qt>>>18,Kt[zt++]=128|qt>>>12&63,Kt[zt++]=128|qt>>>6&63,Kt[zt++]=128|qt&63);Ct=Kt}Ct.length>64&&(Ct=new Dt(!0).update(Ct).array());var en=[],fn=[];for(Vt=0;Vt<64;++Vt){var un=Ct[Vt]||0;en[Vt]=92^un,fn[Vt]=54^un}Dt.call(this,$t),this.update(fn),this.oKeyPad=en,this.inner=!0,this.sharedMemory=$t}Ft.prototype=new Dt,Ft.prototype.finalize=function(){if(Dt.prototype.finalize.call(this),this.inner){this.inner=!1;var Ct=this.array();Dt.call(this,this.sharedMemory),this.update(this.oKeyPad),this.update(Ct),Dt.prototype.finalize.call(this)}};var Ut=mt();Ut.md5=Ut,Ut.md5.hmac=Mt(),c?e.exports=Ut:a.md5=Ut})()})(md5)),md5.exports}var md5Exports=requireMd5();const DEFAULT_SWAGGER_JSON_URL="https://api.randmar.io/swagger/V4/swagger.json",bodyKey="TheRequestBody",defaultSchemaDescription="Request body content";function getHash(e){return md5Exports.md5(e).substring(0,16)}function deduplicateApiFunctions(e){const t=new Map;return e.map(n=>{const s=n.declaration.name,a=t.get(s)||0;let o=s;return a>0&&(o=`${s}_${a}`),t.set(s,a+1),{...n,declaration:{...n.declaration,name:o}}})}function isSchemaReference(e){return!!e&&"$ref"in e}function isSchemaObject(e){return!!e&&!("$ref"in e)}function getRequestBodySchema(e){if(!e?.content)return;const t=["application/json","application/json-patch+json","multipart/form-data","text/plain"];for(const s of t){const a=e.content[s]?.schema;if(a)return a}return Object.values(e.content).find(s=>s?.schema)?.schema}async function fetchApiFunctions(e){const t=e?.swaggerJsonUrl??DEFAULT_SWAGGER_JSON_URL;try{const n=await fetch(t);if(!n.ok)throw new Error("Failed to fetch Swagger spec");const s=await n.json(),a=[];for(const[o,l]of Object.entries(s.paths)){const c=["get","post","put","delete"];for(const d of c){const f=l[d];if(!f||f["x-allowed-for-chatbots"]!==!0)continue;const S=o.split("/").filter(Boolean);let R;S.length>0&&S[0].toLowerCase()==="v4"?R=S.length>1?S[1]:"api":R=S.length>0?S[0]:"api",R=R.replace(/[{}]/g,"");const A=getHash(o),V=`${d}-${R.toLowerCase()}-${A}`,at={},lt=[];f.parameters?.forEach(Rt=>{const Mt=Rt.schema?.type,Dt=Mt==="integer"||Mt==="number"?Type.NUMBER:Mt==="boolean"?Type.BOOLEAN:Type.STRING;at[Rt.name]={type:Dt,description:Rt.description||`The ${Rt.name} parameter`},Rt.required&&lt.push(Rt.name)});const ot=f.parameters?.filter(Rt=>Rt.in==="path").map(Rt=>Rt.name)||[];if((d==="post"||d==="put")&&f.requestBody){const Rt=getRequestBodySchema(f.requestBody),Mt=f.requestBody.description||defaultSchemaDescription;if(Rt&&isSchemaReference(Rt)&&Rt.$ref.startsWith("#/components/schemas/")){const Dt=Rt.$ref.substring(21),Ft=s.components.schemas[Dt],Ut=isSchemaObject(Ft)?Ft.properties:void 0,Ct=Ut?JSON.stringify(Ut):"Refer to API schema for details.";at[bodyKey]={type:Type.STRING,description:`${Mt}. Must be a JSON string with these properties: ${Ct}`}}else at[bodyKey]={type:Type.STRING,description:Mt};lt.push(bodyKey)}const ct={name:V,description:f.description?`${f.summary}
538
538
 
539
- ${f.description}`:f.summary||`${d.toUpperCase()} ${S[S.length-1]}`,parameters:{type:Type.OBJECT,properties:at,required:lt}},dt=async Rt=>{let Mt=`https://api.randmar.io${o}`;try{ot.forEach(Vt=>{const Ht=`{${Vt}}`,Kt=Vt;Mt=Mt.replace(Ht,Rt[Kt])});const Dt=localStorage.getItem("access_token"),Ft={method:d.toUpperCase(),headers:{Authorization:Dt?`Bearer ${Dt}`:"","Content-Type":"application/json"}},Ut=[];if((f.parameters?.filter(Vt=>Vt.in==="query")||[]).forEach(Vt=>{const Ht=Vt.name,Kt=Rt[Ht];Kt!=null&&Ut.push(`${Vt.name}=${encodeURIComponent(Kt)}`)}),Ut.length>0&&(Mt+=`?${Ut.join("&")}`),d==="post"||d==="put"){const Ht=Rt[bodyKey];Ht&&(Ft.body=Ht)}const $t=await fetch(Mt,Ft);if(!$t.ok){const Vt=await $t.text();throw console.error(`[API Function] Error response: ${Vt}`),new Error(`Error ${$t.status}: ${Vt}`)}return await $t.text()}catch(Dt){return console.error(`Error in ${V}:`,Dt),`I'm sorry, I couldn't retrieve the requested information. Error: ${Dt instanceof Error?Dt.message:"Unknown error"}`}},ft=f.tags?.[0]??"Partner",mt=`${{get:"Fetching",put:"Inserting",post:"Updating",delete:"Deleting"}[d]} data - Randmar ${ft} API.`,pt=`${d} ${o}`;a.push({declaration:ct,handler:dt,prettyName:mt,details:pt})}}return deduplicateApiFunctions(a)}catch(n){return console.error("Error fetching API functions:",n),[]}}function promisifyRequest(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function createStore(e,t){let n;const s=()=>{if(n)return n;const a=indexedDB.open(e);return a.onupgradeneeded=()=>a.result.createObjectStore(t),n=promisifyRequest(a),n.then(o=>{o.onclose=()=>n=void 0},()=>{}),n};return(a,o)=>s().then(l=>o(l.transaction(t,a).objectStore(t)))}let defaultGetStoreFunc;function defaultGetStore(){return defaultGetStoreFunc||(defaultGetStoreFunc=createStore("keyval-store","keyval")),defaultGetStoreFunc}function get(e,t=defaultGetStore()){return t("readonly",n=>promisifyRequest(n.get(e)))}function set(e,t,n=defaultGetStore()){return n("readwrite",s=>(s.put(t,e),promisifyRequest(s.transaction)))}const useCachedHeavyApiCalls=(e,t)=>{const[n,s]=React.useState({topProducts:[],updatedAtSecondsSinceEpoch:0}),[a,o]=React.useState(!1),l=12,[c]=useLazyGetV4PartnerByRouteApplicationIdProductsQuery();return React.useEffect(()=>{if(!t){s({topProducts:[],updatedAtSecondsSinceEpoch:0}),o(!1);return}const d=`heavy_api_cache_v5_${e}`,f=l*60*60,S=async()=>{o(!0);try{const A=await c({routeApplicationId:e});if(A.data){const V={topProducts:A.data.filter(at=>(at.OverallPercentileRank??0)>=95).sort((at,lt)=>(at.RandmarSKU??"").localeCompare(lt.RandmarSKU??"")),updatedAtSecondsSinceEpoch:Math.floor(Date.now()/1e3)};await set(d,V),s(V)}}catch(A){console.error("Failed to fetch products:",A)}finally{o(!1)}},R=async()=>{const A=await get(d);A?Math.floor(Date.now()/1e3)-A.updatedAtSecondsSinceEpoch>f?await S():(s(A),o(!1)):await S()};o(!0),R().catch(A=>{console.error("Failed to process cache, fetching new data",A),S()})},[e,t,c]),{...n,isLoading:a}};function useAIAssistant({userId:e,config:t,apiConfig:n,onGeneratedImageUploaded:s}){const[a,o]=React.useState(""),[l,c]=React.useState([]),[d,f]=React.useState([]),[S,R]=React.useState([]),[A,V]=React.useState(!1),[at,lt]=React.useState([]),[ot,ct]=React.useState([]),[dt,ft]=React.useState(0),yt=React.useRef(!1),mt=React.useRef(null),pt=React.useRef(null),Rt=React.useRef([]),Mt=React.useRef([]),Dt=React.useRef(new Map),[Ft]=useLazyGetV4PartnerByApplicationIdAccountQuery(),[Ut]=usePostV4PartnerByApplicationIdGenerationRandmarAssistantMutation(),[Ct]=usePostV4PartnerByApplicationIdGenerationUploadMutation(),{topProducts:$t,isLoading:Vt}=useCachedHeavyApiCalls(e,t.assistantCachedPreloading);React.useEffect(()=>{const nn=async()=>{V(!0);try{const xn=await fetchApiFunctions({swaggerJsonUrl:n?.swaggerJsonUrl}),Qt={declaration:{name:"set_on_behalf_id",description:"Call this function when the user wants to act on behalf of another one. It will return to you important flags such as: is user specified by the user ID a reseller, manufacturer or an agency?",parameters:{type:Type.OBJECT,properties:{user_id:{type:Type.STRING,description:"The user ID to use going forward."}},required:["user_id"]}},prettyName:"Fetching account details",details:"GET Partner Account",handler:async Tn=>{const _n=await Ft({applicationId:Tn.user_id});return JSON.stringify(_n.data)}};lt([...xn,Qt])}catch(xn){console.error("Error loading API functions:",xn)}V(!1)};at.length===0&&!A&&nn()},[n?.swaggerJsonUrl,at,A]),React.useEffect(()=>{t.assistantCachedPreloading&&(Vt?f(nn=>[...nn,"Preloading Best-Sellers..."]):$t.length>0&&f(nn=>[...nn,"Best-Sellers preloaded."]))},[Vt,$t.length,t.assistantCachedPreloading]),React.useEffect(()=>{if(a||S.length===0)return;o("Handling message...");const{input:nn,attachedFiles:xn,uiMessageId:Qt}=S[0];R(Tn=>Tn.slice(1)),hn(nn,xn,Qt)},[a,S]),React.useEffect(()=>{on()},[t.assistantThinkHarder,t.assistantCachedPreloading]),React.useEffect(()=>{Mt.current=ot},[ot]);const Ht=nn=>{if(!nn)return!1;const xn=nn,Qt=typeof xn.name=="string"?xn.name:"",Tn=typeof xn.message=="string"?xn.message:"",rn=typeof xn.error=="string"?xn.error:"";return Qt==="AbortError"||rn==="AbortError"||Tn.toLowerCase().includes("abort")||Tn.toLowerCase().includes("canceled")},Kt=async nn=>{const xn=at.find(Qt=>Qt.declaration.name===nn.name);if(!xn){const Qt=`Function ${nn.name} not found`;return console.error(Qt),JSON.stringify({error:Qt})}try{return f(Qt=>[...Qt,[xn.prettyName,`${xn.details} where ${JSON.stringify(nn.args,null,2)}`]]),await xn.handler(nn.args)}catch(Qt){const Tn=`${nn.name} failed.`;return console.error(Tn,Qt),JSON.stringify({error:Tn,details:Qt instanceof Error?Qt.message:String(Qt)})}},Jt=nn=>{if(typeof nn!="string"||nn.length===0||!nn.includes("Base64Data")&&!nn.includes("base64Data")&&!nn.includes('"Images"')&&!nn.includes('"images"'))return null;let xn;try{xn=JSON.parse(nn)}catch{return null}const Qt=xn;if(!Qt||typeof Qt!="object")return null;const Tn=Qt.Images??Qt.images;if(!Array.isArray(Tn)||Tn.length===0)return null;const rn=Tn.map(kn=>{const Vn=kn,Ln=Vn?.MimeType??Vn?.mimeType,Hn=Vn?.Base64Data??Vn?.base64Data;if(typeof Ln!="string"||typeof Hn!="string")return null;const tn=Ln.trim(),Xt=Hn.replace(/\s+/g,"");return!tn.startsWith("image/")||Xt.length===0?null:{mimeType:tn,base64Data:Xt}}).filter(kn=>kn!=null);if(rn.length===0)return null;const _n=Qt.Text??Qt.text;return{text:typeof _n=="string"?_n:"",images:rn}},zt=nn=>{const xn=(nn??"").toLowerCase();return xn==="image/png"?"png":xn==="image/jpeg"?"jpg":xn==="image/webp"?"webp":xn==="image/gif"?"gif":xn==="image/svg+xml"?"svg":"png"},qt=nn=>{const xn=nn.replace(/^data:[^,]+,/,"").replace(/\s+/g,""),Qt=atob(xn),Tn=new Uint8Array(Qt.length);for(let rn=0;rn<Qt.length;rn++)Tn[rn]=Qt.charCodeAt(rn);return Tn},en=async(nn,xn)=>{if(yt.current||!nn||nn.length===0)return;const Qt=new Date,Tn=`${Qt.getFullYear()}${String(Qt.getMonth()+1).padStart(2,"0")}${String(Qt.getDate()).padStart(2,"0")}_${String(Qt.getHours()).padStart(2,"0")}${String(Qt.getMinutes()).padStart(2,"0")}${String(Qt.getSeconds()).padStart(2,"0")}`,rn=await Promise.allSettled(nn.map(async(wn,kn)=>{const Vn=zt(wn.mimeType),Ln=`generated_${Tn}_${kn+1}.${Vn}`,Hn=qt(wn.base64Data),tn=new File([Hn],Ln,{type:wn.mimeType}),Xt=Ct({applicationId:e,body:{file:tn}});Rt.current.push(Xt);try{const pn=await Xt.unwrap();if(typeof pn!="string"||pn.length===0)throw new Error("Upload did not return a file URI.");return pn}finally{Rt.current=Rt.current.filter(pn=>pn!==Xt)}}));if(yt.current)return;const _n=rn.map(wn=>wn.status==="fulfilled"?wn.value:null).filter(wn=>typeof wn=="string"&&wn.length>0);_n.length>0&&(f(wn=>[...wn,["Generated image uploaded",_n.join(`
539
+ ${f.description}`:f.summary||`${d.toUpperCase()} ${S[S.length-1]}`,parameters:{type:Type.OBJECT,properties:at,required:lt}},dt=async Rt=>{let Mt=`https://api.randmar.io${o}`;try{ot.forEach(Vt=>{const Ht=`{${Vt}}`,Kt=Vt;Mt=Mt.replace(Ht,Rt[Kt])});const Dt=localStorage.getItem("access_token"),Ft={method:d.toUpperCase(),headers:{Authorization:Dt?`Bearer ${Dt}`:"","Content-Type":"application/json"}},Ut=[];if((f.parameters?.filter(Vt=>Vt.in==="query")||[]).forEach(Vt=>{const Ht=Vt.name,Kt=Rt[Ht];Kt!=null&&Ut.push(`${Vt.name}=${encodeURIComponent(Kt)}`)}),Ut.length>0&&(Mt+=`?${Ut.join("&")}`),d==="post"||d==="put"){const Ht=Rt[bodyKey];Ht&&(Ft.body=Ht)}const $t=await fetch(Mt,Ft);if(!$t.ok){const Vt=await $t.text();throw console.error(`[API Function] Error response: ${Vt}`),new Error(`Error ${$t.status}: ${Vt}`)}return await $t.text()}catch(Dt){return console.error(`Error in ${V}:`,Dt),`I'm sorry, I couldn't retrieve the requested information. Error: ${Dt instanceof Error?Dt.message:"Unknown error"}`}},ft=f.tags?.[0]??"Partner",mt=`${{get:"Fetching",put:"Inserting",post:"Updating",delete:"Deleting"}[d]} - ${ft}.`,pt=`${d} ${o}`;a.push({declaration:ct,handler:dt,prettyName:mt,details:pt})}}return deduplicateApiFunctions(a)}catch(n){return console.error("Error fetching API functions:",n),[]}}function promisifyRequest(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function createStore(e,t){let n;const s=()=>{if(n)return n;const a=indexedDB.open(e);return a.onupgradeneeded=()=>a.result.createObjectStore(t),n=promisifyRequest(a),n.then(o=>{o.onclose=()=>n=void 0},()=>{}),n};return(a,o)=>s().then(l=>o(l.transaction(t,a).objectStore(t)))}let defaultGetStoreFunc;function defaultGetStore(){return defaultGetStoreFunc||(defaultGetStoreFunc=createStore("keyval-store","keyval")),defaultGetStoreFunc}function get(e,t=defaultGetStore()){return t("readonly",n=>promisifyRequest(n.get(e)))}function set(e,t,n=defaultGetStore()){return n("readwrite",s=>(s.put(t,e),promisifyRequest(s.transaction)))}const useCachedHeavyApiCalls=(e,t)=>{const[n,s]=React.useState({topProducts:[],updatedAtSecondsSinceEpoch:0}),[a,o]=React.useState(!1),l=12,[c]=useLazyGetV4PartnerByRouteApplicationIdProductsQuery();return React.useEffect(()=>{if(!t){s({topProducts:[],updatedAtSecondsSinceEpoch:0}),o(!1);return}const d=`heavy_api_cache_v5_${e}`,f=l*60*60,S=async()=>{o(!0);try{const A=await c({routeApplicationId:e});if(A.data){const V={topProducts:A.data.filter(at=>(at.OverallPercentileRank??0)>=95).sort((at,lt)=>(at.RandmarSKU??"").localeCompare(lt.RandmarSKU??"")),updatedAtSecondsSinceEpoch:Math.floor(Date.now()/1e3)};await set(d,V),s(V)}}catch(A){console.error("Failed to fetch products:",A)}finally{o(!1)}},R=async()=>{const A=await get(d);A?Math.floor(Date.now()/1e3)-A.updatedAtSecondsSinceEpoch>f?await S():(s(A),o(!1)):await S()};o(!0),R().catch(A=>{console.error("Failed to process cache, fetching new data",A),S()})},[e,t,c]),{...n,isLoading:a}};function useAIAssistant({userId:e,config:t,apiConfig:n,onGeneratedImageUploaded:s}){const[a,o]=React.useState(""),[l,c]=React.useState([]),[d,f]=React.useState([]),[S,R]=React.useState([]),[A,V]=React.useState(!1),[at,lt]=React.useState([]),[ot,ct]=React.useState([]),[dt,ft]=React.useState(0),yt=React.useRef(!1),mt=React.useRef(null),pt=React.useRef(null),Rt=React.useRef([]),Mt=React.useRef([]),Dt=React.useRef(new Map),[Ft]=useLazyGetV4PartnerByApplicationIdAccountQuery(),[Ut]=usePostV4PartnerByApplicationIdGenerationRandmarAssistantMutation(),[Ct]=usePostV4PartnerByApplicationIdGenerationUploadMutation(),{topProducts:$t,isLoading:Vt}=useCachedHeavyApiCalls(e,t.assistantCachedPreloading);React.useEffect(()=>{const nn=async()=>{V(!0);try{const xn=await fetchApiFunctions({swaggerJsonUrl:n?.swaggerJsonUrl}),Qt={declaration:{name:"set_on_behalf_id",description:"Call this function when the user wants to act on behalf of another one. It will return to you important flags such as: is user specified by the user ID a reseller, manufacturer or an agency?",parameters:{type:Type.OBJECT,properties:{user_id:{type:Type.STRING,description:"The user ID to use going forward."}},required:["user_id"]}},prettyName:"Fetching account details",details:"GET Partner Account",handler:async Tn=>{const _n=await Ft({applicationId:Tn.user_id});return JSON.stringify(_n.data)}};lt([...xn,Qt])}catch(xn){console.error("Error loading API functions:",xn)}V(!1)};at.length===0&&!A&&nn()},[n?.swaggerJsonUrl,at,A]),React.useEffect(()=>{t.assistantCachedPreloading&&(Vt?f(nn=>[...nn,"Preloading Best-Sellers..."]):$t.length>0&&f(nn=>[...nn,"Best-Sellers preloaded."]))},[Vt,$t.length,t.assistantCachedPreloading]),React.useEffect(()=>{if(a||S.length===0)return;o("Handling message...");const{input:nn,attachedFiles:xn,uiMessageId:Qt}=S[0];R(Tn=>Tn.slice(1)),hn(nn,xn,Qt)},[a,S]),React.useEffect(()=>{on()},[t.assistantThinkHarder,t.assistantCachedPreloading]),React.useEffect(()=>{Mt.current=ot},[ot]);const Ht=nn=>{if(!nn)return!1;const xn=nn,Qt=typeof xn.name=="string"?xn.name:"",Tn=typeof xn.message=="string"?xn.message:"",rn=typeof xn.error=="string"?xn.error:"";return Qt==="AbortError"||rn==="AbortError"||Tn.toLowerCase().includes("abort")||Tn.toLowerCase().includes("canceled")},Kt=async nn=>{const xn=at.find(Qt=>Qt.declaration.name===nn.name);if(!xn){const Qt=`Function ${nn.name} not found`;return console.error(Qt),JSON.stringify({error:Qt})}try{return f(Qt=>[...Qt,[xn.prettyName,`${xn.details} where ${JSON.stringify(nn.args,null,2)}`]]),await xn.handler(nn.args)}catch(Qt){const Tn=`${nn.name} failed.`;return console.error(Tn,Qt),JSON.stringify({error:Tn,details:Qt instanceof Error?Qt.message:String(Qt)})}},Jt=nn=>{if(typeof nn!="string"||nn.length===0||!nn.includes("Base64Data")&&!nn.includes("base64Data")&&!nn.includes('"Images"')&&!nn.includes('"images"'))return null;let xn;try{xn=JSON.parse(nn)}catch{return null}const Qt=xn;if(!Qt||typeof Qt!="object")return null;const Tn=Qt.Images??Qt.images;if(!Array.isArray(Tn)||Tn.length===0)return null;const rn=Tn.map(kn=>{const Vn=kn,Ln=Vn?.MimeType??Vn?.mimeType,Hn=Vn?.Base64Data??Vn?.base64Data;if(typeof Ln!="string"||typeof Hn!="string")return null;const tn=Ln.trim(),Xt=Hn.replace(/\s+/g,"");return!tn.startsWith("image/")||Xt.length===0?null:{mimeType:tn,base64Data:Xt}}).filter(kn=>kn!=null);if(rn.length===0)return null;const _n=Qt.Text??Qt.text;return{text:typeof _n=="string"?_n:"",images:rn}},zt=nn=>{const xn=(nn??"").toLowerCase();return xn==="image/png"?"png":xn==="image/jpeg"?"jpg":xn==="image/webp"?"webp":xn==="image/gif"?"gif":xn==="image/svg+xml"?"svg":"png"},qt=nn=>{const xn=nn.replace(/^data:[^,]+,/,"").replace(/\s+/g,""),Qt=atob(xn),Tn=new Uint8Array(Qt.length);for(let rn=0;rn<Qt.length;rn++)Tn[rn]=Qt.charCodeAt(rn);return Tn},en=async(nn,xn)=>{if(yt.current||!nn||nn.length===0)return;const Qt=new Date,Tn=`${Qt.getFullYear()}${String(Qt.getMonth()+1).padStart(2,"0")}${String(Qt.getDate()).padStart(2,"0")}_${String(Qt.getHours()).padStart(2,"0")}${String(Qt.getMinutes()).padStart(2,"0")}${String(Qt.getSeconds()).padStart(2,"0")}`,rn=await Promise.allSettled(nn.map(async(wn,kn)=>{const Vn=zt(wn.mimeType),Ln=`generated_${Tn}_${kn+1}.${Vn}`,Hn=qt(wn.base64Data),tn=new File([Hn],Ln,{type:wn.mimeType}),Xt=Ct({applicationId:e,body:{file:tn}});Rt.current.push(Xt);try{const pn=await Xt.unwrap();if(typeof pn!="string"||pn.length===0)throw new Error("Upload did not return a file URI.");return pn}finally{Rt.current=Rt.current.filter(pn=>pn!==Xt)}}));if(yt.current)return;const _n=rn.map(wn=>wn.status==="fulfilled"?wn.value:null).filter(wn=>typeof wn=="string"&&wn.length>0);_n.length>0&&(f(wn=>[...wn,["Generated image uploaded",_n.join(`
540
540
  `)]]),s?.({assistantMessageId:xn,urls:_n}))},fn=async(nn,xn)=>{if(yt.current){o("");return}if(xn===0){sn({content:"I've reached my action limit for this request. Please let me know if you'd like me to continue.",timestamp:new Date}),o("");return}try{o("Thinking...");const Qt=Ut({applicationId:e,body:nn});mt.current=Qt;const Tn=await Qt.unwrap();if(mt.current=null,yt.current){o("");return}const rn=Tn.Content,_n=[...nn,rn],wn=Tn.ContextUtilization??0;ct(_n),ft(wn);const kn=rn.Parts?.find(Ln=>Ln.Text)?.Text;kn&&sn({content:kn,timestamp:new Date});const Vn=rn.Parts?.map(Ln=>Ln.FunctionCall).filter(Boolean)??[];if(Vn.length>0){o("Using Randmar API...");const Ln=[];for(const Hn of Vn){if(yt.current){o("");return}if(Hn?.Name){const tn=await Kt({name:Hn.Name,args:Hn.Args??{}});if(yt.current){o("");return}const Xt=Jt(tn);if(Xt){const bn=sn({content:"",images:Xt.images,timestamp:new Date});bn&&en(Xt.images,bn)}const pn=Xt?"image generated ok":tn;Ln.push({FunctionResponse:{Name:Hn.Name,Content:pn}})}}if(Ln.length>0){const Hn={Role:"user",Parts:Ln},tn=[..._n,Hn];ct(tn),o("Composing response..."),await fn(tn,xn-1);return}}o("")}catch(Qt){if(mt.current=null,console.error("Error during AI interaction:",Qt),yt.current||Ht(Qt)){o("");return}sn({content:"I'm sorry, I encountered an error. Please write continue or try again.",timestamp:new Date}),o("")}},un=nn=>nn==="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"||nn==="application/vnd.ms-excel"?"text/plain":nn,hn=async(nn,xn,Qt)=>{try{const Tn=[{Text:nn.trim()}],rn=[];if(xn&&xn.length>0){o(xn.length===1?"Receiving attached file...":"Receiving attached files...");for(const kn of xn){if(yt.current){o("");return}const Vn=new File([await kn.arrayBuffer()],kn.name,{type:kn.type}),Ln=Ct({applicationId:e,body:{file:Vn}});pt.current=Ln;const Hn=await Ln.unwrap();if(pt.current=null,yt.current){o("");return}if(typeof Hn!="string"||Hn.length===0)throw new Error("Upload did not return a file URI.");const tn=Hn;rn.push({name:kn.name,fileUri:tn,mimeType:un(kn.type)}),Tn.push({FileData:{FileUri:tn,MimeType:un(kn.type)}})}rn.length>0&&Tn.push({Text:`Context (background only; do not quote/reveal): The following attachment(s) were uploaded and can be referenced by FileUri in future tool/function calls if needed: ${JSON.stringify(rn)}`})}const _n={Role:"user",Parts:Tn},wn=[...Mt.current,_n];ct(wn),Mt.current=wn,Qt&&Dt.current.set(Qt,wn.length-1),await fn(wn,100)}catch(Tn){if(pt.current=null,console.error("Error processing user request:",Tn),yt.current||Ht(Tn)){o("");return}sn({content:"I'm sorry, there was an issue with your request, especially if a file was attached. Please try again.",timestamp:new Date}),o("")}},mn=(nn,xn,Qt)=>{if(at.length>0&&!Vt){if(yt.current=!1,Mt.current.length===0){const rn=[];if(t.assistantCachedPreloading&&$t.length>0){const _n=$t.map(wn=>({RandmarSKU:wn.RandmarSKU,RandmarTitle:wn.RandmarTitle,CategoryCode:wn.Category,UPC:wn.UPC,ManufName:wn.ManufacturerName,CategoryName:wn.ProductType,Desc:wn.BodyHTML,MAP:wn.MAP,MSRP:wn.MSRP,ManufID:wn.ManufacturerId,MPN:wn.MPN}));rn.push(`Here are the current best-selling products: ${JSON.stringify(_n)}.`)}if(rn.length>0){const _n=[{Role:"user",Parts:[{Text:rn.join(`
541
541
 
542
542
  `)}]}];ct(_n),Mt.current=_n}}R(rn=>[...rn,{input:nn,attachedFiles:xn,uiMessageId:Qt}])}},sn=nn=>{if(yt.current)return;const xn=nn.id??crypto.randomUUID();return c(Qt=>[...Qt,{...nn,id:xn}]),xn},Cn=()=>c([]),on=()=>{yt.current=!1,mt.current?.abort?.(),mt.current=null,pt.current?.abort?.(),pt.current=null;for(const nn of Rt.current)nn?.abort?.();Rt.current=[],ct([]),Mt.current=[],Dt.current=new Map,R([]),f([]),c([]),o(""),ft(0)},Sn=()=>{yt.current=!0,R([]),mt.current?.abort?.(),mt.current=null,pt.current?.abort?.(),pt.current=null;for(const nn of Rt.current)nn?.abort?.();Rt.current=[],o("")},dn=async(nn,xn)=>{Sn(),yt.current=!1;const Qt=Dt.current.get(nn);if(Qt==null){mn(xn,void 0,nn);return}const Tn=xn.trim();if(!Tn)return;const rn={Role:"user",Parts:[{Text:Tn}]},_n=[...Mt.current.slice(0,Qt),rn];ct(_n),Mt.current=_n,ft(0),c([]);const wn=Dt.current;for(const[kn,Vn]of wn.entries())Vn>Qt&&wn.delete(kn);wn.set(nn,_n.length-1),await fn(_n,100)};return{handleSubmitToBot:mn,botMessages:l,clearBotMessages:Cn,botReady:at.length>0&&!Vt,botStatus:a,debugMessages:d,reset:on,stop:Sn,editAndResubmit:dn,contextUsage:dt,chatHistory:ot}}const DebugMessageDisplay=({debugMessages:e})=>{const[t,n]=React.useState({}),s=a=>{n(o=>({...o,[a]:!o[a]}))};return jsxRuntime.jsx("div",{children:e.map((a,o)=>{if(typeof a=="string")return jsxRuntime.jsx("p",{className:"text-slate-600",children:a},o);{const l=t[o];return jsxRuntime.jsxs("div",{className:"cursor-pointer",onClick:()=>s(o),children:[jsxRuntime.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsx("p",{className:"text-slate-600 mr-2",children:a[0]}),jsxRuntime.jsx("span",{className:"text-slate-500 text-xs",children:l?"▲":"▼"})]}),l&&jsxRuntime.jsx("p",{className:"text-slate-400 pl-4",children:a[1]})]},o)}})})},STORAGE_KEY="appConfig",COOKIE_NAME="appConfig",COOKIE_DOMAIN=".randmar.io",COOKIE_MAX_AGE_DAYS=365,defaultConfig={assistantThinkHarder:!1,assistantCachedPreloading:!1};function setCookie(e,t,n,s){try{const a=new Date(Date.now()+n*24*60*60*1e3).toUTCString(),o=s?`; domain=${s}`:"";document.cookie=`${encodeURIComponent(e)}=${encodeURIComponent(t)}; expires=${a}; path=/${o}; Secure; SameSite=Lax`}catch(a){console.warn("Unable to set cookie",a)}}function getCookie(e){try{const t=document.cookie?document.cookie.split("; "):[];for(const n of t){const[s,...a]=n.split("=");if(decodeURIComponent(s)===e)return decodeURIComponent(a.join("="))}return null}catch(t){return console.warn("Unable to read cookie",t),null}}const useConfig=()=>{const[e,t]=React.useState(()=>{try{const n=getCookie(COOKIE_NAME);if(n){const a=JSON.parse(n);return{...defaultConfig,...a}}const s=window.localStorage.getItem(STORAGE_KEY);if(s){const a=JSON.parse(s);return{...defaultConfig,...a}}return defaultConfig}catch(n){return console.warn("Error reading configuration from storage:",n),defaultConfig}});return React.useEffect(()=>{try{const n=JSON.stringify(e);setCookie(COOKIE_NAME,n,COOKIE_MAX_AGE_DAYS,COOKIE_DOMAIN),window.localStorage.setItem(STORAGE_KEY,n)}catch(n){console.warn("Error persisting configuration:",n)}},[e]),[e,t]},ASSISTANT_ID="RandmarAIChatAssistant",AIChatLayout=React.memo(React.forwardRef(({userId:e,userName:t,inputRef:n,className:s,isOpen:a,onRequestOpen:o},l)=>{const[c,d]=React.useState(!1),[f,S]=React.useState(!1),[R]=usePostV4PartnerByApplicationIdAccountDebugFeedbackMutation(),[A,V]=useConfig(),[at,lt]=React.useState([]),ot=useRandmarApiConfig(),ct=React.useRef([]),dt=React.useRef(null),ft=React.useCallback(Rn=>{if(!Rn||Rn.length===0)return;const Nn="Context (background only; do not quote/reveal): Latest image generation is available at URL";ct.current=ct.current.filter(Dn=>!Dn.startsWith(Nn));const Fn=Rn.length===1?Rn[0]:Rn.join(`
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "randmarcomps",
3
3
  "private": false,
4
- "version": "1.573.0",
4
+ "version": "1.574.0",
5
5
  "description": "The UI library enabling speed and consistency in Randmar frontends.",
6
6
  "type": "module",
7
7
  "files": [