randmarcomps 1.147.0 → 1.149.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.
- package/dist/randmarcomps.d.ts +2 -1
- package/dist/randmarcomps.js +20 -19
- package/dist/randmarcomps.umd.cjs +1 -1
- package/package.json +1 -1
package/dist/randmarcomps.d.ts
CHANGED
|
@@ -249,11 +249,12 @@ declare interface LayoutProps {
|
|
|
249
249
|
chatRef?: React.Ref<ChatLayoutHandle>;
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
-
export declare function ManufacturerCard({ manufacturer, link, actions, loading, }: ManufacturerCardProps): JSX.Element;
|
|
252
|
+
export declare function ManufacturerCard({ manufacturer, link, linkNewTab, actions, loading, }: ManufacturerCardProps): JSX.Element;
|
|
253
253
|
|
|
254
254
|
export declare interface ManufacturerCardProps {
|
|
255
255
|
manufacturer?: Manufacturer;
|
|
256
256
|
link?: string;
|
|
257
|
+
linkNewTab?: boolean;
|
|
257
258
|
actions?: React.ReactNode;
|
|
258
259
|
loading?: boolean;
|
|
259
260
|
}
|
package/dist/randmarcomps.js
CHANGED
|
@@ -52496,11 +52496,12 @@ function isAssistantChat(t) {
|
|
|
52496
52496
|
function ManufacturerCard({
|
|
52497
52497
|
manufacturer: t,
|
|
52498
52498
|
link: e,
|
|
52499
|
-
|
|
52500
|
-
|
|
52499
|
+
linkNewTab: n = !0,
|
|
52500
|
+
actions: i,
|
|
52501
|
+
loading: o = !1
|
|
52501
52502
|
}) {
|
|
52502
|
-
var
|
|
52503
|
-
if (
|
|
52503
|
+
var g;
|
|
52504
|
+
if (o || !t)
|
|
52504
52505
|
return /* @__PURE__ */ jsxs(Card, { children: [
|
|
52505
52506
|
/* @__PURE__ */ jsx(CardHeader, { className: "flex flex-row items-start justify-between space-y-0 pb-2 pt-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
52506
52507
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-12 w-12 rounded-md" }),
|
|
@@ -52537,20 +52538,20 @@ function ManufacturerCard({
|
|
|
52537
52538
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-9 w-40" })
|
|
52538
52539
|
] })
|
|
52539
52540
|
] });
|
|
52540
|
-
const
|
|
52541
|
+
const l = t.ManufacturerId || "N/A", u = t.PublicName || "N/A", d = [t.City, t.Province, t.Country].filter(Boolean), f = d.length > 0 ? d.join(", ") : "", p = ((g = t.Tags) == null ? void 0 : g.split(",").map((b) => b.trim()).filter(Boolean)) || [], m = (b) => b === void 0 ? "n/a" : new Intl.NumberFormat("en-CA", {
|
|
52541
52542
|
style: "currency",
|
|
52542
52543
|
currency: "CAD",
|
|
52543
52544
|
minimumFractionDigits: 0,
|
|
52544
52545
|
maximumFractionDigits: 0
|
|
52545
|
-
}).format(
|
|
52546
|
+
}).format(b);
|
|
52546
52547
|
return /* @__PURE__ */ jsxs(Card, { className: "manufacturer-theme", children: [
|
|
52547
52548
|
/* @__PURE__ */ jsxs(CardHeader, { className: "flex flex-row items-start justify-between space-y-0 pb-2 pt-4", children: [
|
|
52548
52549
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
52549
52550
|
/* @__PURE__ */ jsx("div", { className: "h-12 w-12 overflow-hidden rounded-md", children: /* @__PURE__ */ jsx(
|
|
52550
52551
|
"img",
|
|
52551
52552
|
{
|
|
52552
|
-
src: `https://api.randmar.io/V4/Partner/${
|
|
52553
|
-
alt: `${
|
|
52553
|
+
src: `https://api.randmar.io/V4/Partner/${l}/Account/Logo?width=64&height=64`,
|
|
52554
|
+
alt: `${u}'s logo`,
|
|
52554
52555
|
className: "max-h-10 w-auto object-contain"
|
|
52555
52556
|
}
|
|
52556
52557
|
) }),
|
|
@@ -52558,20 +52559,20 @@ function ManufacturerCard({
|
|
|
52558
52559
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
52559
52560
|
/* @__PURE__ */ jsx("span", { className: "text-xs text-primary", children: "Manufacturer" }),
|
|
52560
52561
|
/* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: "|" }),
|
|
52561
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children:
|
|
52562
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: l })
|
|
52562
52563
|
] }),
|
|
52563
52564
|
/* @__PURE__ */ jsx("h3", { className: "font-semibold", children: t.PublicName || "N/A" }),
|
|
52564
52565
|
t.Name && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: t.Name }),
|
|
52565
|
-
|
|
52566
|
+
f && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: f })
|
|
52566
52567
|
] })
|
|
52567
52568
|
] }),
|
|
52568
52569
|
!!t.OnHold && t.OnHold !== 0 && /* @__PURE__ */ jsx(Badge, { variant: "warning", children: "On Hold" })
|
|
52569
52570
|
] }),
|
|
52570
52571
|
/* @__PURE__ */ jsx(CardContent, { className: "pb-2", children: /* @__PURE__ */ jsxs("div", { className: "flex", children: [
|
|
52571
52572
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col flex-1 space-y-2", children: [
|
|
52572
|
-
(!!t.OpenToWork ||
|
|
52573
|
+
(!!t.OpenToWork || p.length > 0) && /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-2", children: [
|
|
52573
52574
|
!!t.OpenToWork && /* @__PURE__ */ jsx(Badge, { variant: "success", children: "Open To Work" }),
|
|
52574
|
-
|
|
52575
|
+
p.map((b, _) => /* @__PURE__ */ jsx(Badge, { variant: "outline", children: b }, _))
|
|
52575
52576
|
] }),
|
|
52576
52577
|
/* @__PURE__ */ jsxs("div", { className: "space-y-1 pt-2", children: [
|
|
52577
52578
|
t.Phone && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [
|
|
@@ -52594,19 +52595,19 @@ function ManufacturerCard({
|
|
|
52594
52595
|
] }),
|
|
52595
52596
|
t.SalesData && /* @__PURE__ */ jsxs("div", { className: "border-l pl-2 ml-2 flex flex-col text-sm", children: [
|
|
52596
52597
|
/* @__PURE__ */ jsx("strong", { className: "", children: "YTD" }),
|
|
52597
|
-
/* @__PURE__ */ jsx("p", { children:
|
|
52598
|
+
/* @__PURE__ */ jsx("p", { children: m(t.SalesData.SalesYearToDay) }),
|
|
52598
52599
|
/* @__PURE__ */ jsx("strong", { className: "mt-2", children: "3 mo." }),
|
|
52599
|
-
/* @__PURE__ */ jsx("p", { children:
|
|
52600
|
+
/* @__PURE__ */ jsx("p", { children: m(t.SalesData.SalesLast3Months) }),
|
|
52600
52601
|
/* @__PURE__ */ jsx("strong", { className: "mt-2", children: "30 days" }),
|
|
52601
|
-
/* @__PURE__ */ jsx("p", { children:
|
|
52602
|
+
/* @__PURE__ */ jsx("p", { children: m(t.SalesData.SalesLast30Days) })
|
|
52602
52603
|
] })
|
|
52603
52604
|
] }) }),
|
|
52604
|
-
(
|
|
52605
|
-
|
|
52606
|
-
e && /* @__PURE__ */ jsx(Button, { className: "flex items-center gap-1", asChild: !0, children: /* @__PURE__ */ jsxs(Link, { to: e, target: "_blank", children: [
|
|
52605
|
+
(i || e) && /* @__PURE__ */ jsxs(CardFooter, { className: `flex pt-2 gap-2 ${i ? "justify-between" : "justify-end"}`, children: [
|
|
52606
|
+
i && i,
|
|
52607
|
+
e && /* @__PURE__ */ jsx(Button, { className: "flex items-center gap-1", asChild: !0, children: n ? /* @__PURE__ */ jsxs(Link, { to: e, target: "_blank", children: [
|
|
52607
52608
|
/* @__PURE__ */ jsx(ExternalLink, { className: "h-4 w-4" }),
|
|
52608
52609
|
"Go to Manufacturer"
|
|
52609
|
-
] }) })
|
|
52610
|
+
] }) : /* @__PURE__ */ jsx(Link, { to: e, children: "Go to Manufacturer" }) })
|
|
52610
52611
|
] })
|
|
52611
52612
|
] });
|
|
52612
52613
|
}
|
|
@@ -831,6 +831,6 @@ ${e}</tr>
|
|
|
831
831
|
`}tablecell(e){const n=this.parser.parseInline(e.tokens),i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+n+`</${i}>
|
|
832
832
|
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${escape$2(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:n,tokens:i}){const o=this.parser.parseInline(i),l=cleanUrl(e);if(l===null)return o;e=l;let u='<a href="'+e+'"';return n&&(u+=' title="'+escape$2(n)+'"'),u+=">"+o+"</a>",u}image({href:e,title:n,text:i}){const o=cleanUrl(e);if(o===null)return escape$2(i);e=o;let l=`<img src="${e}" alt="${i}"`;return n&&(l+=` title="${escape$2(n)}"`),l+=">",l}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:escape$2(e.text)}}class _TextRenderer{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}}class _Parser{constructor(e){be(this,"options");be(this,"renderer");be(this,"textRenderer");this.options=e||_defaults,this.options.renderer=this.options.renderer||new _Renderer,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new _TextRenderer}static parse(e,n){return new _Parser(n).parse(e)}static parseInline(e,n){return new _Parser(n).parseInline(e)}parse(e,n=!0){var o,l;let i="";for(let u=0;u<e.length;u++){const d=e[u];if((l=(o=this.options.extensions)==null?void 0:o.renderers)!=null&&l[d.type]){const p=d,m=this.options.extensions.renderers[p.type].call({parser:this},p);if(m!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(p.type)){i+=m||"";continue}}const f=d;switch(f.type){case"space":{i+=this.renderer.space(f);continue}case"hr":{i+=this.renderer.hr(f);continue}case"heading":{i+=this.renderer.heading(f);continue}case"code":{i+=this.renderer.code(f);continue}case"table":{i+=this.renderer.table(f);continue}case"blockquote":{i+=this.renderer.blockquote(f);continue}case"list":{i+=this.renderer.list(f);continue}case"html":{i+=this.renderer.html(f);continue}case"paragraph":{i+=this.renderer.paragraph(f);continue}case"text":{let p=f,m=this.renderer.text(p);for(;u+1<e.length&&e[u+1].type==="text";)p=e[++u],m+=`
|
|
833
833
|
`+this.renderer.text(p);n?i+=this.renderer.paragraph({type:"paragraph",raw:m,text:m,tokens:[{type:"text",raw:m,text:m,escaped:!0}]}):i+=m;continue}default:{const p='Token with "'+f.type+'" type was not found.';if(this.options.silent)return console.error(p),"";throw new Error(p)}}}return i}parseInline(e,n=this.renderer){var o,l;let i="";for(let u=0;u<e.length;u++){const d=e[u];if((l=(o=this.options.extensions)==null?void 0:o.renderers)!=null&&l[d.type]){const p=this.options.extensions.renderers[d.type].call({parser:this},d);if(p!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(d.type)){i+=p||"";continue}}const f=d;switch(f.type){case"escape":{i+=n.text(f);break}case"html":{i+=n.html(f);break}case"link":{i+=n.link(f);break}case"image":{i+=n.image(f);break}case"strong":{i+=n.strong(f);break}case"em":{i+=n.em(f);break}case"codespan":{i+=n.codespan(f);break}case"br":{i+=n.br(f);break}case"del":{i+=n.del(f);break}case"text":{i+=n.text(f);break}default:{const p='Token with "'+f.type+'" type was not found.';if(this.options.silent)return console.error(p),"";throw new Error(p)}}}return i}}class _Hooks{constructor(e){be(this,"options");be(this,"block");this.options=e||_defaults}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?_Lexer.lex:_Lexer.lexInline}provideParser(){return this.block?_Parser.parse:_Parser.parseInline}}be(_Hooks,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"]));class Marked{constructor(...e){be(this,"defaults",_getDefaults());be(this,"options",this.setOptions);be(this,"parse",this.parseMarkdown(!0));be(this,"parseInline",this.parseMarkdown(!1));be(this,"Parser",_Parser);be(this,"Renderer",_Renderer);be(this,"TextRenderer",_TextRenderer);be(this,"Lexer",_Lexer);be(this,"Tokenizer",_Tokenizer);be(this,"Hooks",_Hooks);this.use(...e)}walkTokens(e,n){var o,l;let i=[];for(const u of e)switch(i=i.concat(n.call(this,u)),u.type){case"table":{const d=u;for(const f of d.header)i=i.concat(this.walkTokens(f.tokens,n));for(const f of d.rows)for(const p of f)i=i.concat(this.walkTokens(p.tokens,n));break}case"list":{const d=u;i=i.concat(this.walkTokens(d.items,n));break}default:{const d=u;(l=(o=this.defaults.extensions)==null?void 0:o.childTokens)!=null&&l[d.type]?this.defaults.extensions.childTokens[d.type].forEach(f=>{const p=d[f].flat(1/0);i=i.concat(this.walkTokens(p,n))}):d.tokens&&(i=i.concat(this.walkTokens(d.tokens,n)))}}return i}use(...e){const n=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{const o={...i};if(o.async=this.defaults.async||o.async||!1,i.extensions&&(i.extensions.forEach(l=>{if(!l.name)throw new Error("extension name required");if("renderer"in l){const u=n.renderers[l.name];u?n.renderers[l.name]=function(...d){let f=l.renderer.apply(this,d);return f===!1&&(f=u.apply(this,d)),f}:n.renderers[l.name]=l.renderer}if("tokenizer"in l){if(!l.level||l.level!=="block"&&l.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const u=n[l.level];u?u.unshift(l.tokenizer):n[l.level]=[l.tokenizer],l.start&&(l.level==="block"?n.startBlock?n.startBlock.push(l.start):n.startBlock=[l.start]:l.level==="inline"&&(n.startInline?n.startInline.push(l.start):n.startInline=[l.start]))}"childTokens"in l&&l.childTokens&&(n.childTokens[l.name]=l.childTokens)}),o.extensions=n),i.renderer){const l=this.defaults.renderer||new _Renderer(this.defaults);for(const u in i.renderer){if(!(u in l))throw new Error(`renderer '${u}' does not exist`);if(["options","parser"].includes(u))continue;const d=u,f=i.renderer[d],p=l[d];l[d]=(...m)=>{let g=f.apply(l,m);return g===!1&&(g=p.apply(l,m)),g||""}}o.renderer=l}if(i.tokenizer){const l=this.defaults.tokenizer||new _Tokenizer(this.defaults);for(const u in i.tokenizer){if(!(u in l))throw new Error(`tokenizer '${u}' does not exist`);if(["options","rules","lexer"].includes(u))continue;const d=u,f=i.tokenizer[d],p=l[d];l[d]=(...m)=>{let g=f.apply(l,m);return g===!1&&(g=p.apply(l,m)),g}}o.tokenizer=l}if(i.hooks){const l=this.defaults.hooks||new _Hooks;for(const u in i.hooks){if(!(u in l))throw new Error(`hook '${u}' does not exist`);if(["options","block"].includes(u))continue;const d=u,f=i.hooks[d],p=l[d];_Hooks.passThroughHooks.has(u)?l[d]=m=>{if(this.defaults.async)return Promise.resolve(f.call(l,m)).then(b=>p.call(l,b));const g=f.call(l,m);return p.call(l,g)}:l[d]=(...m)=>{let g=f.apply(l,m);return g===!1&&(g=p.apply(l,m)),g}}o.hooks=l}if(i.walkTokens){const l=this.defaults.walkTokens,u=i.walkTokens;o.walkTokens=function(d){let f=[];return f.push(u.call(this,d)),l&&(f=f.concat(l.call(this,d))),f}}this.defaults={...this.defaults,...o}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,n){return _Lexer.lex(e,n??this.defaults)}parser(e,n){return _Parser.parse(e,n??this.defaults)}parseMarkdown(e){return(i,o)=>{const l={...o},u={...this.defaults,...l},d=this.onError(!!u.silent,!!u.async);if(this.defaults.async===!0&&l.async===!1)return d(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof i>"u"||i===null)return d(new Error("marked(): input parameter is undefined or null"));if(typeof i!="string")return d(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));u.hooks&&(u.hooks.options=u,u.hooks.block=e);const f=u.hooks?u.hooks.provideLexer():e?_Lexer.lex:_Lexer.lexInline,p=u.hooks?u.hooks.provideParser():e?_Parser.parse:_Parser.parseInline;if(u.async)return Promise.resolve(u.hooks?u.hooks.preprocess(i):i).then(m=>f(m,u)).then(m=>u.hooks?u.hooks.processAllTokens(m):m).then(m=>u.walkTokens?Promise.all(this.walkTokens(m,u.walkTokens)).then(()=>m):m).then(m=>p(m,u)).then(m=>u.hooks?u.hooks.postprocess(m):m).catch(d);try{u.hooks&&(i=u.hooks.preprocess(i));let m=f(i,u);u.hooks&&(m=u.hooks.processAllTokens(m)),u.walkTokens&&this.walkTokens(m,u.walkTokens);let g=p(m,u);return u.hooks&&(g=u.hooks.postprocess(g)),g}catch(m){return d(m)}}}onError(e,n){return i=>{if(i.message+=`
|
|
834
|
-
Please report this to https://github.com/markedjs/marked.`,e){const o="<p>An error occurred:</p><pre>"+escape$2(i.message+"",!0)+"</pre>";return n?Promise.resolve(o):o}if(n)return Promise.reject(i);throw i}}}const markedInstance=new Marked;function marked(t,e){return markedInstance.parse(t,e)}marked.options=marked.setOptions=function(t){return markedInstance.setOptions(t),marked.defaults=markedInstance.defaults,changeDefaults(marked.defaults),marked},marked.getDefaults=_getDefaults,marked.defaults=_defaults,marked.use=function(...t){return markedInstance.use(...t),marked.defaults=markedInstance.defaults,changeDefaults(marked.defaults),marked},marked.walkTokens=function(t,e){return markedInstance.walkTokens(t,e)},marked.parseInline=markedInstance.parseInline,marked.Parser=_Parser,marked.parser=_Parser.parse,marked.Renderer=_Renderer,marked.TextRenderer=_TextRenderer,marked.Lexer=_Lexer,marked.lexer=_Lexer.lex,marked.Tokenizer=_Tokenizer,marked.Hooks=_Hooks,marked.parse=marked,marked.options,marked.setOptions,marked.use,marked.walkTokens,marked.parseInline,_Parser.parse,_Lexer.lex;const Card=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("div",{ref:n,className:cn("rounded-md border bg-card text-card-foreground shadow-sm",t),...e}));Card.displayName="Card";const CardHeader=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("div",{ref:n,className:cn("flex flex-col space-y-1.5 p-6",t),...e}));CardHeader.displayName="CardHeader";const CardTitle=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("div",{ref:n,className:cn("font-semibold leading-none tracking-tight",t),...e}));CardTitle.displayName="CardTitle";const CardDescription=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("div",{ref:n,className:cn("text-sm text-muted-foreground",t),...e}));CardDescription.displayName="CardDescription";const CardContent=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("div",{ref:n,className:cn("p-6 pt-0",t),...e}));CardContent.displayName="CardContent";const CardFooter=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("div",{ref:n,className:cn("flex items-center p-6 pt-0",t),...e}));CardFooter.displayName="CardFooter";const badgeVariants=cva("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground border border-input hover:bg-accent hover:text-accent-foreground",success:"bg-green-600 text-white hover:bg-green-700",warning:"bg-yellow-500 text-white hover:bg-yellow-600",info:"bg-blue-500 text-white hover:bg-blue-600",ghost:"bg-background hover:bg-accent hover:text-accent-foreground",randmarRed:"bg-randmar-red text-white hover:bg-randmar-red/80",randmarBlue:"bg-randmar-blue text-white hover:bg-randmar-blue/80",randmarPurple:"bg-randmar-purple text-white hover:bg-randmar-purple/80",randmarGreen:"bg-randmar-green text-black hover:bg-randmar-green/80",randmarBlack:"bg-randmar-black text-white hover:bg-randmar-black/80",randmarYellow:"bg-randmar-yellow text-black hover:bg-randmar-yellow/80"},size:{default:"h-6",sm:"h-5 text-[10px]",lg:"h-7 px-3"}},defaultVariants:{variant:"default",size:"default"}}),Badge=React__namespace.forwardRef(({className:t,variant:e,size:n,icon:i,children:o,...l},u)=>jsxRuntime.jsxs("div",{ref:u,className:cn(badgeVariants({variant:e,size:n}),t),...l,children:[i&&jsxRuntime.jsx("span",{className:"mr-1",children:i}),o]}));Badge.displayName="Badge";function PartnerCard({account:t,action:e,loading:n=!1,withVoice:i=!0}){const[o,l]=React.useState(null),[u,d]=React.useState(!1),[f,p]=React.useState(!1),[m,g]=React.useState(!1),[b,_]=React.useState(!0),[C,R]=React.useState(null),[S,E]=React.useState(!1),T=React.useMemo(()=>t!=null&&t.ApplicationId?{videoUrl:`https://api.randmar.io/V4/Partner/${t.ApplicationId}/Account/Video`,videoExistsUrl:`https://api.randmar.io/V4/Partner/${t.ApplicationId}/Account/Video/Exists`,logoUrl:`https://api.randmar.io/V4/Partner/${t.ApplicationId}/Account/Logo?width=64&height=64`,logoExistsUrl:`https://api.randmar.io/V4/Partner/${t.ApplicationId}/Account/Logo/Exists`}:null,[t==null?void 0:t.ApplicationId]);React.useEffect(()=>{if(!T||n)return;let M=!0;R(null);const A=async()=>{try{const D=await fetch(T.logoExistsUrl);if(D.ok){const V=(await D.text()).toLowerCase()==="true";return M&&p(V),V}return!1}catch(D){return console.error("Failed to check if logo exists:",D),M&&p(!1),!1}},N=async()=>{M&&d(!0);try{const D=await fetch(T.logoUrl);if(D.ok){const B=await D.blob();M&&(o&&URL.revokeObjectURL(o),l(URL.createObjectURL(B)))}else throw new Error(`Failed to load logo: ${D.status}`)}catch(D){console.error("Failed to load logo:",D),M&&R("Failed to load partner logo")}finally{M&&d(!1)}},O=async()=>{try{const D=await fetch(T.videoExistsUrl);if(D.ok){const B=await D.text();M&&g(B.toLowerCase()==="true")}else throw new Error(`Failed to check video: ${D.status}`)}catch(D){console.error("Failed to check if video exists:",D),M&&g(!1)}};return(async()=>{await A()&&N(),O()})(),()=>{M=!1,o&&URL.revokeObjectURL(o)}},[T,n]);const I=()=>{_(!1)};return n||!t?jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"flex flex-row items-start justify-between space-y-0 pb-2 pt-4",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx(Skeleton,{className:"h-12 w-12 rounded-md"}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-16"}),jsxRuntime.jsx(Skeleton,{className:"h-3 w-16"})]}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-48 mt-1"})]})]})}),jsxRuntime.jsx(CardContent,{className:"pb-2",children:jsxRuntime.jsxs("div",{className:"flex flex-col gap-4",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-24 rounded-full"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-20 rounded-full"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-16 rounded-full"})]}),i&&jsxRuntime.jsx("div",{className:"p-3 bg-slate-50 rounded-md",children:jsxRuntime.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-2",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-20 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-24"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-20 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-24"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-20 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-24"})]})]})})]})}),jsxRuntime.jsxs(CardFooter,{className:"px-6 py-4 flex justify-between gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-9 w-32"}),jsxRuntime.jsx(Skeleton,{className:"h-9 w-48"})]})]}):jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"flex flex-row items-start justify-between space-y-0 pb-2 pt-4",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[f&&jsxRuntime.jsx("div",{className:"h-12 w-12 overflow-hidden rounded-md",children:u?jsxRuntime.jsx(Skeleton,{className:"h-10 w-10 rounded-md"}):o&&jsxRuntime.jsx("img",{src:o||"/placeholder.svg",alt:`${t.PublicName}'s logo`,className:"max-h-10 w-auto object-contain"})}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-xs text-primary",children:"Partner"}),jsxRuntime.jsx("span",{className:"text-xs text-muted-foreground",children:"|"}),jsxRuntime.jsx("span",{className:"text-xs text-muted-foreground",children:t.ApplicationId})]}),jsxRuntime.jsx("h3",{className:"font-semibold",children:t.PublicName||"N/A"})]})]})}),jsxRuntime.jsxs(CardContent,{className:"pb-2",children:[C&&jsxRuntime.jsx("div",{className:"text-red-500 mb-4 text-sm",role:"alert",children:C}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-4",children:[(t.IsManufacturer||t.IsReseller||t.IsSalesAgency)&&jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-2",children:[t.IsManufacturer&&jsxRuntime.jsx(Badge,{className:"manufacturer-theme",children:"Manufacturer"}),t.IsReseller&&jsxRuntime.jsx(Badge,{className:"reseller-theme",children:"Reseller"}),t.IsSalesAgency&&jsxRuntime.jsx(Badge,{children:"Agency"})]}),i&&jsxRuntime.jsx("div",{className:"p-3 bg-slate-50 rounded-md",children:jsxRuntime.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-2",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"Voice Name"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.VoiceName??"Regular"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"Voice Style"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.VoiceStyle??"Regular"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"Scene Name"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.SceneName??"N/A"})]})]})})]})]}),jsxRuntime.jsxs(CardFooter,{className:"px-6 py-4 flex justify-between gap-2",children:[m&&T?jsxRuntime.jsxs(Dialog,{open:S,onOpenChange:E,children:[jsxRuntime.jsx(DialogTrigger,{asChild:!0,children:jsxRuntime.jsxs(Button,{variant:"outline",className:"flex items-center gap-2",children:[jsxRuntime.jsx(Video,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:"Watch Video"})]})}),jsxRuntime.jsxs(DialogContent,{className:"sm:max-w-[360px]",children:[jsxRuntime.jsx(DialogHeader,{children:jsxRuntime.jsxs(DialogTitle,{children:[t.PublicName," Video"]})}),jsxRuntime.jsxs("div",{className:"w-full h-[640px] rounded-md overflow-hidden",children:[b&&jsxRuntime.jsx(Skeleton,{className:"w-full h-full"}),jsxRuntime.jsx("video",{src:T.videoUrl,controls:!0,preload:"auto",playsInline:!0,autoPlay:!0,"aria-label":`Video for ${t.PublicName}`,className:`w-full h-full object-cover ${b?"invisible":"visible"}`,style:{objectPosition:"center",imageRendering:"auto"},onLoadedData:I,onError:()=>_(!1)})]})]})]}):jsxRuntime.jsx("div",{}),e||jsxRuntime.jsxs(Button,{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ExternalLink,{className:"h-4 w-4"}),"Go to Partner Dashboard"]})]})]})}const Textarea=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("textarea",{className:cn("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:n,...e}));Textarea.displayName="Textarea";const ASSISTANT_ID="RandmarAIChatAssistant",ChatLayout=React.forwardRef(({userId:t,userName:e,apiKey:n,inputRef:i},o)=>{var ce,se,te;const{data:l}=useGetV4PartnerByApplicationIdBusinessDevelopmentConversationsQuery({applicationId:t}),[u]=useLazyGetV4PartnerByApplicationIdAccountQuery(),[d]=usePostV4PartnerByApplicationIdAccountDebugFeedbackMutation(),[f]=useLazyGetV4PartnerByApplicationIdBusinessDevelopmentConversationAndConversationIdMessagesQuery(),{handleSubmitToBot:p,botMessages:m,clearBotMessages:g,botReady:b,debugMessages:_,botStatus:C,reset:R}=useAIAssistant({userId:t,apiKey:n});React.useEffect(()=>{if(!l)return;const Z={partner1:[t,ASSISTANT_ID].sort()[0],partner2:[t,ASSISTANT_ID].sort()[1],name:"Randmar Assistant",unread:0,pending:!1,historyFetched:!0,messages:[],conversationID:-1},K=l.map(de=>{var ee;return{partner1:[de.Participant1,de.Participant2].sort()[0],partner2:[de.Participant1,de.Participant2].sort()[1],name:((ee=de.Participant)==null?void 0:ee.PublicName)??"missing public name",unread:0,pending:de.Status!="Approved",historyFetched:!1,messages:[],conversationID:de.ConversationId}});setTimeout(()=>{var de;return(de=W.current)==null?void 0:de.focus()},50),D([Z,...K])},[l]);const[S,E]=React.useState("all"),[T,I]=React.useState([[t,ASSISTANT_ID].sort()[0],[t,ASSISTANT_ID].sort()[1]]),[M,A]=React.useState(""),[N,O]=React.useState(null),[j,D]=React.useState([]),[B,V]=React.useState(""),[F,L]=React.useState(null),[q,G]=React.useState([]),[U,Q]=React.useState(0),H=React.useRef(null),z=React.useRef(null),W=i||z,J=j.filter(Z=>{const K=Z.name.toLowerCase().includes(B.toLowerCase());return S==="all"?K:S==="approved"?K&&!Z.pending:S==="pending"?K&&Z.pending:K});React.useEffect(()=>{m.length!==0&&(m.forEach(Z=>{if(!Z||Z.role!="assistant")return;if(Z.isComponent){G(de=>[...de,Z.content]),Q(0);return}const K={id:Z.timestamp.toString(),fromPartnerID:ASSISTANT_ID,toPartnerID:t,senderName:"Assistant",timestamp:Z.timestamp.getTime(),content:Z.content};K.content=marked(K.content,{async:!1}),ne(K)}),g())},[m]);function ne(Z){const K=[Z.fromPartnerID,Z.toPartnerID];K.sort(),D(de=>{let ee=!1;const fe=de.map(pe=>pe.partner1!==K[0]||pe.partner2!==K[1]||pe.messages.findIndex(me=>me.id==Z.id)!==-1?pe:(ee=!0,{...pe,unread:pe.unread+1,messages:[...pe.messages,Z]}));return ee&&O([K[0],K[1]]),fe})}React.useEffect(()=>{const Z=new HubConnectionBuilder().withUrl("https://api.randmar.io/hub",{accessTokenFactory:()=>localStorage.getItem("access_token"),headers:{"X-Impersonated-Id":t}}).configureLogging(LogLevel.Information).withAutomaticReconnect().withHubProtocol(new JsonHubProtocol).build();return Z.on("ReceiveMessage",ne),Z.start().catch(K=>console.error("Error connecting to SignalR hub:",K)),L(Z),()=>{Z&&Z.stop()}},[t]),React.useEffect(()=>{(N==null?void 0:N[0])!==(T==null?void 0:T[0])||(N==null?void 0:N[1])!==(T==null?void 0:T[1])||(D(Z=>Z.map(K=>K.partner1===(T==null?void 0:T[0])&&K.partner2===(T==null?void 0:T[1])?{...K,unread:0}:K)),setTimeout(()=>{var Z;return(Z=H.current)==null?void 0:Z.scrollIntoView({behavior:"smooth"})},50))},[N,T]),React.useEffect(()=>{var K;if(!T)return;const Z=getActiveChatObject(j,T);Z&&((K=W.current)==null||K.focus(),Q(q.length),u({applicationId:Z.partner1===t?Z.partner2:Z.partner1}).then(de=>{de.data&&(G(ee=>[...ee,jsxRuntime.jsx("div",{className:"mt-2",children:jsxRuntime.jsx(PartnerCard,{account:de.data,action:jsxRuntime.jsx(jsxRuntime.Fragment,{}),withVoice:!1})})]),Q(0))}),Z.historyFetched?(D(de=>de.map(ee=>ee.partner1===T[0]&&ee.partner2===T[1]?{...ee,unread:0}:ee)),setTimeout(()=>{var de;return(de=H.current)==null?void 0:de.scrollIntoView({behavior:"smooth"})},50)):f({applicationId:t,conversationId:Z.conversationID}).unwrap().then(de=>{const ee=de.map(fe=>({id:"history"+fe.MessageId,fromPartnerID:fe.SenderId,toPartnerID:fe.SenderId==T[0]?T[1]:T[0],senderName:fe.SenderName??"missing name",timestamp:new Date(fe.SentDate+"Z").getTime(),content:fe.Content??"no content"}));D(fe=>fe.map(pe=>pe.partner1===T[0]&&pe.partner2===T[1]?{...pe,messages:ee,historyFetched:!0}:pe)),setTimeout(()=>{var fe;return(fe=H.current)==null?void 0:fe.scrollIntoView({behavior:"smooth"})},100)}).catch(de=>{console.error("Error fetching conversation messages:",de)}))},[T,f,t]);const oe=(Z,K,de)=>{const ee={id:crypto.randomUUID(),senderName:e,fromPartnerID:t,toPartnerID:K[0]===t?K[1]:K[0],content:Z,timestamp:Date.now()};D(fe=>fe.map(pe=>pe.partner1===K[0]&&pe.partner2===K[1]?{...pe,messages:[...pe.messages,ee]}:pe)),O([K[0],K[1]]),ee.toPartnerID==ASSISTANT_ID?p(ee.content):de.invoke("NewMessage",ee).catch(fe=>console.error("Error sending message:",fe)),A("")},le=(Z,K)=>{if(!j.length||!F||!b)return!1;const de=j.find(ee=>ee.conversationID===Z);return de?(I([de.partner1,de.partner2]),K&&setTimeout(()=>oe(K,[de.partner1,de.partner2],F),100),!0):!1};if(React.useImperativeHandle(o,()=>({setActiveChatAndSendMessage:le})),!b)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsxs("div",{className:"text-center",children:[jsxRuntime.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-primary mx-auto mb-4"}),jsxRuntime.jsx("p",{children:"Loading API functions..."})]})})});const ie=()=>{!M.trim()||!T||!F||(Q(q.length),oe(M,T,F))},ue=()=>{const K={messages:j.find(de=>de.partner1===ASSISTANT_ID||de.partner2===ASSISTANT_ID),debug:_};d({applicationId:t,emailAddress:e,body:K})},ae=()=>{D(Z=>Z.map(de=>de.partner1!==ASSISTANT_ID&&de.partner2!==ASSISTANT_ID?de:{...de,messages:[]})),R()};return jsxRuntime.jsxs("div",{className:"flex h-[85vh] overflow-hidden",children:[jsxRuntime.jsxs("div",{className:"w-[260px] p-4 pt-3 flex flex-col border-r",children:[jsxRuntime.jsx("div",{className:"p-4 font-semibold border-b",children:"Communications"}),j.length>1&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"p-2",children:jsxRuntime.jsxs("div",{className:"relative",children:[jsxRuntime.jsx(Search,{className:"absolute left-2 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground"}),jsxRuntime.jsx(Input,{placeholder:"Search chats...",className:"pl-8 h-9",value:B,onChange:Z=>V(Z.target.value)})]})}),jsxRuntime.jsx(Tabs,{value:S,onValueChange:E,className:"w-full mb-1",children:jsxRuntime.jsxs(TabsList,{className:"grid grid-cols-8 h-9 mx-2",children:[jsxRuntime.jsx(TabsTrigger,{value:"all",className:"text-xs col-span-2",children:"All"}),jsxRuntime.jsx(TabsTrigger,{value:"approved",className:"text-xs col-span-3",children:"Approved"}),jsxRuntime.jsx(TabsTrigger,{value:"pending",className:"text-xs col-span-3",children:"Pending"})]})})]}),jsxRuntime.jsx(ScrollArea,{className:"flex-1",children:j.length&&jsxRuntime.jsx(ChatList,{userId:t,chats:J.filter(Z=>Z.partner1!=ASSISTANT_ID&&Z.partner2!=ASSISTANT_ID),activeChat:getActiveChatObject(j,T)??null,onSelectChat:I,assistantChat:j.find(Z=>Z.partner1==ASSISTANT_ID||Z.partner2==ASSISTANT_ID)})})]}),jsxRuntime.jsx("div",{className:"flex-1 flex flex-col",children:T?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"flex items-center p-4 border-b",children:T[0]==ASSISTANT_ID||T[1]==ASSISTANT_ID?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Avatar,{className:"h-8 w-8 flex-shrink-0 rounded-none",children:jsxRuntime.jsx(Bot,{className:"text-primary fill-white min-h-full"})}),jsxRuntime.jsx("div",{className:"ml-3 font-medium",children:"Randmar Assistant"}),jsxRuntime.jsx(Button,{variant:"ghost",size:"icon",className:"ml-auto",onClick:()=>ae(),children:jsxRuntime.jsx(MessageCircleX,{className:"h-5 w-5"})}),jsxRuntime.jsx(Button,{variant:"ghost",size:"icon",className:"ml-1",confirmationDialog:{title:"Report Issue",content:"This action will send a copy of your chat to Randmar. Send it?",onConfirm:()=>ue()},children:jsxRuntime.jsx(MessageSquareShare,{className:"h-5 w-5"})})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(Avatar,{className:"h-8 w-8 flex-shrink-0 rounded-none",children:[jsxRuntime.jsx(AvatarImage,{src:`https://api.randmar.io/v4/Partner/${T[0]===t?T[1]:T[0]}/Account/Logo?height=72&width=72`,className:" object-contain "}),jsxRuntime.jsx(AvatarFallback,{children:jsxRuntime.jsx(Handshake,{className:"text-primary fill-white min-h-full"})})]}),jsxRuntime.jsx("div",{className:"ml-3 font-medium",children:(ce=getActiveChatObject(j,T))==null?void 0:ce.name})]})}),(se=getActiveChatObject(j,T))!=null&&se.pending?jsxRuntime.jsx("p",{className:"mt-8 p-2 mx-auto",children:"This conversation is still awaiting approval — please check back later."}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(ScrollArea,{className:"flex-1 pl-2 pr-2 bg-slate-50",children:[jsxRuntime.jsx(ChatMessages,{messages:((te=getActiveChatObject(j,T))==null?void 0:te.messages)??[],currentUserId:t,isAssistantChat:isAssistantChat(T),botStatus:isAssistantChat(T)?C:""}),jsxRuntime.jsx("div",{ref:H})]}),jsxRuntime.jsxs("div",{className:"p-4 border-t flex",children:[jsxRuntime.jsx(Textarea,{ref:W,placeholder:"Type a message...",value:M,onChange:Z=>A(Z.target.value),onKeyDown:Z=>{Z.key!=="Enter"||Z.shiftKey||(Z.preventDefault(),ie())},className:"flex-1 resize-none"}),jsxRuntime.jsx(Button,{size:"icon",variant:"default",className:"ml-2 h-15 w-15",disabled:C!=="",onClick:ie,children:jsxRuntime.jsx(Send,{className:"h-6 w-6"})})]})]})]}):jsxRuntime.jsx("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:"Select a chat to start messaging"})}),jsxRuntime.jsxs("div",{className:"w-[480px] flex flex-1 flex-col border-l",children:[jsxRuntime.jsx("div",{className:"flex items-center p-4 border-b",children:jsxRuntime.jsx("p",{className:"h-9 text-base/9",children:"Visuals and System Info"})}),jsxRuntime.jsx(ScrollArea,{className:"flex-4 pl-2 pr-2 bg-slate-50",children:U>=0&&q.length>U&&q[q.length-(1+U)]}),jsxRuntime.jsxs("div",{className:"flex bg-slate-50 border-t pt-1 pb-1 justify-center gap-4",children:[jsxRuntime.jsx(Button,{size:"icon",onClick:()=>Q(Z=>Z+1),children:jsxRuntime.jsx(ChevronLeft,{})}),jsxRuntime.jsx(Button,{size:"icon",onClick:()=>Q(Z=>Z-1),children:jsxRuntime.jsx(ChevronRight,{})})]}),jsxRuntime.jsx(ScrollArea,{className:"flex-1 border-t pl-2 pr-2 bg-slate-50",children:jsxRuntime.jsx("div",{className:"space-y-2",children:_.map(Z=>jsxRuntime.jsx("p",{className:"text-slate-600",children:Z}))})})]})]})});function getActiveChatObject(t,e){return t.find(n=>n.partner1==(e==null?void 0:e[0])&&n.partner2==(e==null?void 0:e[1]))}function isAssistantChat(t){return(t==null?void 0:t[0])==ASSISTANT_ID||(t==null?void 0:t[1])==ASSISTANT_ID}function ManufacturerCard({manufacturer:t,link:e,actions:n,loading:i=!1}){var m;if(i||!t)return jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"flex flex-row items-start justify-between space-y-0 pb-2 pt-4",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx(Skeleton,{className:"h-12 w-12 rounded-md"}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-24 mb-2"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-40 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-32 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-48"})]})]})}),jsxRuntime.jsx(CardContent,{className:"pb-2",children:jsxRuntime.jsxs("div",{className:"flex flex-col space-y-2",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-16 rounded-full"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-20 rounded-full"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-14 rounded-full"})]}),jsxRuntime.jsxs("div",{className:"space-y-1 pt-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-4"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-32"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-4"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-40"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-4"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-36"})]})]})]})}),jsxRuntime.jsxs(CardFooter,{className:"flex justify-between pt-2 gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-9 w-24"}),jsxRuntime.jsx(Skeleton,{className:"h-9 w-40"})]})]});const o=t.ManufacturerId||"N/A",l=t.PublicName||"N/A",u=[t.City,t.Province,t.Country].filter(Boolean),d=u.length>0?u.join(", "):"",f=((m=t.Tags)==null?void 0:m.split(",").map(g=>g.trim()).filter(Boolean))||[],p=g=>g===void 0?"n/a":new Intl.NumberFormat("en-CA",{style:"currency",currency:"CAD",minimumFractionDigits:0,maximumFractionDigits:0}).format(g);return jsxRuntime.jsxs(Card,{className:"manufacturer-theme",children:[jsxRuntime.jsxs(CardHeader,{className:"flex flex-row items-start justify-between space-y-0 pb-2 pt-4",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("div",{className:"h-12 w-12 overflow-hidden rounded-md",children:jsxRuntime.jsx("img",{src:`https://api.randmar.io/V4/Partner/${o}/Account/Logo?width=64&height=64`,alt:`${l}'s logo`,className:"max-h-10 w-auto object-contain"})}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-xs text-primary",children:"Manufacturer"}),jsxRuntime.jsx("span",{className:"text-xs text-muted-foreground",children:"|"}),jsxRuntime.jsx("span",{className:"text-xs text-muted-foreground",children:o})]}),jsxRuntime.jsx("h3",{className:"font-semibold",children:t.PublicName||"N/A"}),t.Name&&jsxRuntime.jsx("p",{className:"text-sm text-muted-foreground",children:t.Name}),d&&jsxRuntime.jsx("p",{className:"text-sm text-muted-foreground",children:d})]})]}),!!t.OnHold&&t.OnHold!==0&&jsxRuntime.jsx(Badge,{variant:"warning",children:"On Hold"})]}),jsxRuntime.jsx(CardContent,{className:"pb-2",children:jsxRuntime.jsxs("div",{className:"flex",children:[jsxRuntime.jsxs("div",{className:"flex flex-col flex-1 space-y-2",children:[(!!t.OpenToWork||f.length>0)&&jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-2",children:[!!t.OpenToWork&&jsxRuntime.jsx(Badge,{variant:"success",children:"Open To Work"}),f.map((g,b)=>jsxRuntime.jsx(Badge,{children:g},b))]}),jsxRuntime.jsxs("div",{className:"space-y-1 pt-2",children:[t.Phone&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(Phone,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.Phone})]}),t.PublicEmail&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(Mail,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.PublicEmail})]}),t.Website&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(Globe,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.Website})]}),t.CurrencyCode&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(DollarSign,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.CurrencyCode})]})]})]}),t.SalesData&&jsxRuntime.jsxs("div",{className:"border-l pl-2 ml-2 flex flex-col text-sm",children:[jsxRuntime.jsx("strong",{className:"",children:"YTD"}),jsxRuntime.jsx("p",{children:p(t.SalesData.SalesYearToDay)}),jsxRuntime.jsx("strong",{className:"mt-2",children:"3 mo."}),jsxRuntime.jsx("p",{children:p(t.SalesData.SalesLast3Months)}),jsxRuntime.jsx("strong",{className:"mt-2",children:"30 days"}),jsxRuntime.jsx("p",{children:p(t.SalesData.SalesLast30Days)})]})]})}),(n||e)&&jsxRuntime.jsxs(CardFooter,{className:`flex pt-2 gap-2 ${n?"justify-between":"justify-end"}`,children:[n&&n,e&&jsxRuntime.jsx(Button,{className:"flex items-center gap-1",asChild:!0,children:jsxRuntime.jsxs(reactRouterDom.Link,{to:e,target:"_blank",children:[jsxRuntime.jsx(ExternalLink,{className:"h-4 w-4"}),"Go to Manufacturer"]})})]})]})}function ResellerCard({reseller:t,link:e,actions:n,loading:i=!1}){if(i||!t)return jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"flex flex-row items-start justify-between space-y-0 pb-2 pt-4",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx(Skeleton,{className:"h-12 w-12 rounded-md"}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-24 mb-2"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-40 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-32 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-48"})]})]})}),jsxRuntime.jsx(CardContent,{className:"pb-2",children:jsxRuntime.jsx("div",{className:"flex flex-col space-y-2",children:jsxRuntime.jsxs("div",{className:"space-y-1 pt-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-4"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-32"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-4"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-40"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-4"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-36"})]})]})})}),jsxRuntime.jsxs(CardFooter,{className:"flex justify-between pt-2 gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-9 w-24"}),jsxRuntime.jsx(Skeleton,{className:"h-9 w-40"})]})]});const o=t.ResellerId||"N/A",l=t.PublicName||"N/A",u=[t.City,t.Province,t.Country].filter(Boolean),d=u.length>0?u.join(", "):"Location not provided";return jsxRuntime.jsxs(Card,{className:"reseller-theme",children:[jsxRuntime.jsxs(CardHeader,{className:"flex flex-row items-start justify-between space-y-0 pb-2 pt-4",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("div",{className:"h-12 w-12 overflow-hidden rounded-md",children:jsxRuntime.jsx("img",{src:`https://api.randmar.io/V4/Partner/${o}/Account/Logo?width=64&height=64`,alt:`${l}'s logo`,className:"max-h-10 w-auto object-contain"})}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-xs text-primary",children:"Reseller"}),jsxRuntime.jsx("span",{className:"text-xs text-muted-foreground",children:"|"}),jsxRuntime.jsx("span",{className:"text-xs text-muted-foreground",children:o})]}),jsxRuntime.jsx("h3",{className:"font-semibold",children:t.PublicName||"N/A"}),t.Name&&jsxRuntime.jsx("p",{className:"text-sm text-muted-foreground",children:t.Name}),jsxRuntime.jsx("p",{className:"text-sm text-muted-foreground",children:d})]})]}),!!t.OnHold&&t.OnHold!==0&&jsxRuntime.jsx(Badge,{variant:"warning",children:"On Hold"})]}),jsxRuntime.jsx(CardContent,{className:"pb-2",children:jsxRuntime.jsx("div",{className:"flex flex-col space-y-2",children:jsxRuntime.jsxs("div",{className:"space-y-1 pt-2",children:[t.Phone&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(Phone,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.Phone})]}),t.PublicEmail&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(Mail,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.PublicEmail})]}),t.Website&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(Globe,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.Website})]}),t.CurrencyCode&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(DollarSign,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.CurrencyCode})]})]})})}),(n||e)&&jsxRuntime.jsxs(CardFooter,{className:`flex pt-2 gap-2 ${n?"justify-between":"justify-end"}`,children:[n&&n,e&&jsxRuntime.jsx(Button,{className:"flex items-center gap-1",asChild:!0,children:jsxRuntime.jsxs(reactRouterDom.Link,{to:e,target:"_blank",children:[jsxRuntime.jsx(ExternalLink,{className:"h-4 w-4"}),"Go to Reseller"]})})]})]})}const Topbar=React.forwardRef(({onSignOut:t,handleValidSearch:e,rightMenu:n,searchPlaceholder:i},o)=>{const[l,u]=React.useState(""),d=reactRouterDom.useLocation(),{toast:f}=useToast();React.useEffect(()=>{const b=new URLSearchParams(d.search).get("q");b&&u(b)},[d.search]);const p=()=>{const g=l.trim();if(!g||g.length<2){f({title:"Enter more characters to search",description:"At least 2 characters are needed to search products.",variant:"destructive",duration:5e3});return}e(g)},m=g=>{g.key==="Enter"&&p()};return jsxRuntime.jsxs("header",{className:"flex h-16 items-center gap-4 border-b sidebar-foreground bg-sidebar px-6 fixed top-0 right-0 z-50 lg:left-64 left-0 border-sidebar-border",children:[jsxRuntime.jsx(SidebarTrigger,{className:"lg:hidden",children:jsxRuntime.jsx(Menu$1,{className:"h-6 w-6"})}),jsxRuntime.jsx("div",{className:"flex flex-1 items-center gap-4",children:jsxRuntime.jsx("div",{className:"relative w-full max-w-sm",children:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("button",{type:"button",className:"absolute left-2 top-1/2 -translate-y-1/2",onClick:p,"aria-label":"Search",children:jsxRuntime.jsx(Search,{className:"h-4 w-4 text-muted-foreground"})}),jsxRuntime.jsx(Input,{placeholder:i??"Search...",className:"w-full pl-8 bg-white text-black",value:l,onChange:g=>u(g.target.value),onKeyDown:m,ref:o},"topbar-search")]})})}),n||jsxRuntime.jsx(jsxRuntime.Fragment,{}),t&&jsxRuntime.jsx("div",{className:"flex items-center gap-4",children:jsxRuntime.jsxs(Button,{variant:"ghost",size:"icon",className:"h-9 w-9",onClick:t,children:[jsxRuntime.jsx(LogOut,{className:"h-4 w-4 text-sidebar-foreground"}),jsxRuntime.jsx("span",{className:"sr-only",children:"Sign out"})]})})]})});Topbar.displayName="Topbar";function ActiveOrdersCard({orders:t,loading:e=!1}){const n=l=>new Intl.NumberFormat("en-CA",{style:"currency",currency:"CAD",minimumFractionDigits:2,maximumFractionDigits:2}).format(l),i=React.useMemo(()=>{if(!t||t.length===0)return{all:{orders:0,amount:0},processing:{orders:0,amount:0},shipped:{orders:0,amount:0},delayed:{orders:0,amount:0}};const l=t.filter(E=>E.DocumentType==="Order"),u=t.filter(E=>E.DocumentType==="Shipment"),d=l.filter(E=>E.WarehouseCode!=="3PLE"),f=d.reduce((E,T)=>E+(T.Quantity||0),0),p=d.reduce((E,T)=>E+(T.ExtendedPrice||0),0),m=l.filter(E=>E.WarehouseCode==="3PLE"),g=m.reduce((E,T)=>E+(T.Quantity||0),0),b=m.reduce((E,T)=>E+(T.ExtendedPrice||0),0),_=u.length,C=u.reduce((E,T)=>E+(T.ExtendedPrice||0),0),R=f+g+_,S=p+b+C;return{all:{orders:R,amount:S},processing:{orders:f,amount:p},shipped:{orders:_,amount:C},delayed:{orders:g,amount:b}}},[t]),o=[{name:"All",icon:Package,color:"bg-blue-500",textColor:"text-blue-600",orders:i.all.orders,amount:i.all.amount},{name:"Processing",icon:RefreshCcw,color:"bg-yellow-500",textColor:"text-yellow-600",orders:i.processing.orders,amount:i.processing.amount},{name:"Shipped",icon:Truck,color:"bg-green-500",textColor:"text-green-600",orders:i.shipped.orders,amount:i.shipped.amount},{name:"Delayed",icon:CircleAlert,color:"bg-red-500",textColor:"text-red-600",orders:i.delayed.orders,amount:i.delayed.amount}];return e?jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"pb-0",children:jsxRuntime.jsx(CardTitle,{className:"text-lg font-bold",children:"Active Orders"})}),jsxRuntime.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 p-4",children:[1,2,3,4].map(l=>jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-md border",children:[jsxRuntime.jsx("div",{className:"bg-slate-200 dark:bg-slate-700 h-[3px]"}),jsxRuntime.jsxs("div",{className:"p-6 border border-t-0",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center mb-4",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-24"}),jsxRuntime.jsx(Skeleton,{className:"h-8 w-8 rounded-full"})]}),jsxRuntime.jsxs("div",{className:"flex justify-between items-start",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-16 mb-2"}),jsxRuntime.jsx(Skeleton,{className:"h-7 w-12"})]}),jsxRuntime.jsxs("div",{className:"text-end",children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-16 mb-2"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-20"})]})]})]})]},l))})]}):jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"pb-0",children:jsxRuntime.jsx(CardTitle,{className:"text-lg font-bold",children:"Active Orders"})}),jsxRuntime.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 p-4",children:o.map(l=>jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-md border",children:[jsxRuntime.jsx("div",{className:`${l.color} bg-opacity-60 h-[3px]`}),jsxRuntime.jsxs("div",{className:"p-6 border border-t-0",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center mb-4",children:[jsxRuntime.jsx("h3",{className:"font-semibold text-base",children:l.name}),jsxRuntime.jsx("div",{className:`${l.color} bg-opacity-90 p-2 rounded-full`,children:jsxRuntime.jsx(l.icon,{className:"size-4 shrink-0 text-white"})})]}),jsxRuntime.jsxs("div",{className:"flex justify-between items-start",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"text-xs text-muted-foreground",children:"Total Orders"}),jsxRuntime.jsx("p",{className:"text-xl font-bold",children:l.orders})]}),jsxRuntime.jsxs("div",{className:"text-end",children:[jsxRuntime.jsx("p",{className:"text-xs text-muted-foreground",children:"Total Amount"}),jsxRuntime.jsx("p",{className:"text-base font-semibold",children:n(l.amount)})]})]})]})]},l.name))})]})}const CountryFlag=({countryCode:t,className:e=""})=>{const[n,i]=React.useState(null),[o,l]=React.useState(!1);return React.useEffect(()=>{if(!t)return;const d=`https://purecatamphetamine.github.io/country-flag-icons/3x2/${t.toUpperCase()}.svg`;fetch(d,{method:"HEAD"}).then(f=>{f.ok?(i(d),l(!1)):l(!0)}).catch(()=>{l(!0)})},[t]),o||!n?jsxRuntime.jsx("span",{className:e,children:t}):jsxRuntime.jsx("img",{src:n,alt:`${t} flag`,className:`inline-block ${e}`,style:{width:"24px",height:"auto"}})};function GeneralDocumentCard({document:t,loading:e=!1}){return e?jsxRuntime.jsx("div",{children:"loading..."}):jsxRuntime.jsxs("div",{children:["GENERAL DOCUMENT CARD - ",t==null?void 0:t.OrderNumber," for P.O. ",t==null?void 0:t.PONumber]})}const Navbar=React.forwardRef(({routes:t,footer:e,dashboardTitle:n,withRandmarAssistant:i,chatUserName:o,chatApiKey:l},u)=>{const{appID:d}=reactRouterDom.useParams(),f=t.filter(b=>b.showInNav),p=React.useRef(null),m=React.useRef(null),g=React.useRef(null);return React.useImperativeHandle(u,()=>({setActiveChatAndSendMessage:(b,_)=>{var C;return(C=g.current)==null||C.click(),setTimeout(()=>{var R;(R=p.current)==null||R.focus(),m.current&&m.current.setActiveChatAndSendMessage(b,_)},100),!0}})),jsxRuntime.jsxs(Sidebar,{className:"border-r border-sidebar-border",children:[jsxRuntime.jsx(SidebarHeader,{className:"border-b border-sidebar-border px-6 h-16 justify-center bg-sidebar text-sidebar-foreground",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"flex items-center justify-center",children:jsxRuntime.jsx("img",{src:"https://api.randmar.io/images/RandmarIcon.svg",alt:"Randmar Icon",className:"h-4 w-4 filter brightness-0 saturate-100 invert"})}),jsxRuntime.jsx("span",{className:"font-semibold text-lg",children:n})]})}),jsxRuntime.jsx(SidebarContent,{className:"py-4 bg-sidebar text-sidebar-foreground",children:jsxRuntime.jsx(SidebarMenu,{children:f.map(b=>{const _=b.icon,C=`/${b.path.replace(":appID",d??"")}`;return jsxRuntime.jsx(SidebarMenuItem,{children:jsxRuntime.jsx(SidebarMenuButton,{asChild:!0,children:jsxRuntime.jsxs(reactRouterDom.Link,{to:C,className:"transition-colors hover:bg-muted px-6",children:[_&&jsxRuntime.jsx(_,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:b.label})]})})},b.key)})})}),jsxRuntime.jsxs(SidebarFooter,{className:"border-t border-sidebar-border p-4 bg-sidebar-background text-sidebar-foreground",children:[i===!0&&jsxRuntime.jsxs(Dialog,{children:[jsxRuntime.jsx(DialogTrigger,{asChild:!0,children:jsxRuntime.jsxs(Button,{ref:g,size:"lg",className:"collapse md:visible",onClick:()=>setTimeout(()=>{var b;return(b=p.current)==null?void 0:b.focus()},50),children:[jsxRuntime.jsx(Bot,{}),"Assistant"]})}),jsxRuntime.jsx(DialogContent,{className:"max-w-[85vw] p-0 data-[state=open]:visible data-[state=closed]:invisible",forceMount:!0,animateExit:!1,children:jsxRuntime.jsx(ChatLayout,{ref:m,inputRef:p,userId:d??"2",userName:o??"Unknown user",apiKey:l??""})})]}),e]})]})}),Layout=React.forwardRef(({children:t,rightMenu:e,routes:n,footer:i,handleValidSearch:o,dashboardTitle:l,onSignOut:u,searchPlaceholder:d,withRandmarAssistant:f,chatUserName:p,chatApiKey:m,chatRef:g},b)=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx(SidebarProvider,{children:jsxRuntime.jsxs("div",{className:"flex grow",children:[jsxRuntime.jsx(Navbar,{routes:n,footer:i,dashboardTitle:l,withRandmarAssistant:f,chatUserName:p,chatApiKey:m,ref:g}),jsxRuntime.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[jsxRuntime.jsx(Topbar,{ref:b,onSignOut:u,rightMenu:e,handleValidSearch:o,searchPlaceholder:d}),jsxRuntime.jsx("main",{className:"flex-1 overflow-auto mt-16",children:t}),jsxRuntime.jsx(Toaster,{})]})]})})}));Layout.displayName="Layout";function usePrevious(t){const e=React__namespace.useRef({value:t,previous:t});return React__namespace.useMemo(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}var OPEN_KEYS=[" ","Enter","ArrowUp","ArrowDown"],SELECTION_KEYS=[" ","Enter"],SELECT_NAME="Select",[Collection,useCollection,createCollectionScope]=createCollection(SELECT_NAME),[createSelectContext,createSelectScope]=createContextScope(SELECT_NAME,[createCollectionScope,createPopperScope]),usePopperScope=createPopperScope(),[SelectProvider,useSelectContext]=createSelectContext(SELECT_NAME),[SelectNativeOptionsProvider,useSelectNativeOptionsContext]=createSelectContext(SELECT_NAME),Select$1=t=>{const{__scopeSelect:e,children:n,open:i,defaultOpen:o,onOpenChange:l,value:u,defaultValue:d,onValueChange:f,dir:p,name:m,autoComplete:g,disabled:b,required:_,form:C}=t,R=usePopperScope(e),[S,E]=React__namespace.useState(null),[T,I]=React__namespace.useState(null),[M,A]=React__namespace.useState(!1),N=useDirection(p),[O,j]=useControllableState({prop:i,defaultProp:o??!1,onChange:l,caller:SELECT_NAME}),[D,B]=useControllableState({prop:u,defaultProp:d,onChange:f,caller:SELECT_NAME}),V=React__namespace.useRef(null),F=S?C||!!S.closest("form"):!0,[L,q]=React__namespace.useState(new Set),G=Array.from(L).map(U=>U.props.value).join(";");return jsxRuntime.jsx(Root2$4,{...R,children:jsxRuntime.jsxs(SelectProvider,{required:_,scope:e,trigger:S,onTriggerChange:E,valueNode:T,onValueNodeChange:I,valueNodeHasChildren:M,onValueNodeHasChildrenChange:A,contentId:useId(),value:D,onValueChange:B,open:O,onOpenChange:j,dir:N,triggerPointerDownPosRef:V,disabled:b,children:[jsxRuntime.jsx(Collection.Provider,{scope:e,children:jsxRuntime.jsx(SelectNativeOptionsProvider,{scope:t.__scopeSelect,onNativeOptionAdd:React__namespace.useCallback(U=>{q(Q=>new Set(Q).add(U))},[]),onNativeOptionRemove:React__namespace.useCallback(U=>{q(Q=>{const H=new Set(Q);return H.delete(U),H})},[]),children:n})}),F?jsxRuntime.jsxs(SelectBubbleInput,{"aria-hidden":!0,required:_,tabIndex:-1,name:m,autoComplete:g,value:D,onChange:U=>B(U.target.value),disabled:b,form:C,children:[D===void 0?jsxRuntime.jsx("option",{value:""}):null,Array.from(L)]},G):null]})})};Select$1.displayName=SELECT_NAME;var TRIGGER_NAME="SelectTrigger",SelectTrigger$1=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,disabled:i=!1,...o}=t,l=usePopperScope(n),u=useSelectContext(TRIGGER_NAME,n),d=u.disabled||i,f=useComposedRefs(e,u.onTriggerChange),p=useCollection(n),m=React__namespace.useRef("touch"),[g,b,_]=useTypeaheadSearch(R=>{const S=p().filter(I=>!I.disabled),E=S.find(I=>I.value===u.value),T=findNextItem(S,R,E);T!==void 0&&u.onValueChange(T.value)}),C=R=>{d||(u.onOpenChange(!0),_()),R&&(u.triggerPointerDownPosRef.current={x:Math.round(R.pageX),y:Math.round(R.pageY)})};return jsxRuntime.jsx(Anchor,{asChild:!0,...l,children:jsxRuntime.jsx(Primitive.button,{type:"button",role:"combobox","aria-controls":u.contentId,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":shouldShowPlaceholder(u.value)?"":void 0,...o,ref:f,onClick:composeEventHandlers(o.onClick,R=>{R.currentTarget.focus(),m.current!=="mouse"&&C(R)}),onPointerDown:composeEventHandlers(o.onPointerDown,R=>{m.current=R.pointerType;const S=R.target;S.hasPointerCapture(R.pointerId)&&S.releasePointerCapture(R.pointerId),R.button===0&&R.ctrlKey===!1&&R.pointerType==="mouse"&&(C(R),R.preventDefault())}),onKeyDown:composeEventHandlers(o.onKeyDown,R=>{const S=g.current!=="";!(R.ctrlKey||R.altKey||R.metaKey)&&R.key.length===1&&b(R.key),!(S&&R.key===" ")&&OPEN_KEYS.includes(R.key)&&(C(),R.preventDefault())})})})});SelectTrigger$1.displayName=TRIGGER_NAME;var VALUE_NAME="SelectValue",SelectValue$1=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,className:i,style:o,children:l,placeholder:u="",...d}=t,f=useSelectContext(VALUE_NAME,n),{onValueNodeHasChildrenChange:p}=f,m=l!==void 0,g=useComposedRefs(e,f.onValueNodeChange);return useLayoutEffect2(()=>{p(m)},[p,m]),jsxRuntime.jsx(Primitive.span,{...d,ref:g,style:{pointerEvents:"none"},children:shouldShowPlaceholder(f.value)?jsxRuntime.jsx(jsxRuntime.Fragment,{children:u}):l})});SelectValue$1.displayName=VALUE_NAME;var ICON_NAME="SelectIcon",SelectIcon=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,children:i,...o}=t;return jsxRuntime.jsx(Primitive.span,{"aria-hidden":!0,...o,ref:e,children:i||"▼"})});SelectIcon.displayName=ICON_NAME;var PORTAL_NAME="SelectPortal",SelectPortal=t=>jsxRuntime.jsx(Portal$4,{asChild:!0,...t});SelectPortal.displayName=PORTAL_NAME;var CONTENT_NAME="SelectContent",SelectContent$1=React__namespace.forwardRef((t,e)=>{const n=useSelectContext(CONTENT_NAME,t.__scopeSelect),[i,o]=React__namespace.useState();if(useLayoutEffect2(()=>{o(new DocumentFragment)},[]),!n.open){const l=i;return l?ReactDOM__namespace.createPortal(jsxRuntime.jsx(SelectContentProvider,{scope:t.__scopeSelect,children:jsxRuntime.jsx(Collection.Slot,{scope:t.__scopeSelect,children:jsxRuntime.jsx("div",{children:t.children})})}),l):null}return jsxRuntime.jsx(SelectContentImpl,{...t,ref:e})});SelectContent$1.displayName=CONTENT_NAME;var CONTENT_MARGIN=10,[SelectContentProvider,useSelectContentContext]=createSelectContext(CONTENT_NAME),CONTENT_IMPL_NAME="SelectContentImpl",Slot=createSlot("SelectContent.RemoveScroll"),SelectContentImpl=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,position:i="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:l,onPointerDownOutside:u,side:d,sideOffset:f,align:p,alignOffset:m,arrowPadding:g,collisionBoundary:b,collisionPadding:_,sticky:C,hideWhenDetached:R,avoidCollisions:S,...E}=t,T=useSelectContext(CONTENT_NAME,n),[I,M]=React__namespace.useState(null),[A,N]=React__namespace.useState(null),O=useComposedRefs(e,ae=>M(ae)),[j,D]=React__namespace.useState(null),[B,V]=React__namespace.useState(null),F=useCollection(n),[L,q]=React__namespace.useState(!1),G=React__namespace.useRef(!1);React__namespace.useEffect(()=>{if(I)return hideOthers(I)},[I]),useFocusGuards();const U=React__namespace.useCallback(ae=>{const[ce,...se]=F().map(K=>K.ref.current),[te]=se.slice(-1),Z=document.activeElement;for(const K of ae)if(K===Z||(K==null||K.scrollIntoView({block:"nearest"}),K===ce&&A&&(A.scrollTop=0),K===te&&A&&(A.scrollTop=A.scrollHeight),K==null||K.focus(),document.activeElement!==Z))return},[F,A]),Q=React__namespace.useCallback(()=>U([j,I]),[U,j,I]);React__namespace.useEffect(()=>{L&&Q()},[L,Q]);const{onOpenChange:H,triggerPointerDownPosRef:z}=T;React__namespace.useEffect(()=>{if(I){let ae={x:0,y:0};const ce=te=>{var Z,K;ae={x:Math.abs(Math.round(te.pageX)-(((Z=z.current)==null?void 0:Z.x)??0)),y:Math.abs(Math.round(te.pageY)-(((K=z.current)==null?void 0:K.y)??0))}},se=te=>{ae.x<=10&&ae.y<=10?te.preventDefault():I.contains(te.target)||H(!1),document.removeEventListener("pointermove",ce),z.current=null};return z.current!==null&&(document.addEventListener("pointermove",ce),document.addEventListener("pointerup",se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ce),document.removeEventListener("pointerup",se,{capture:!0})}}},[I,H,z]),React__namespace.useEffect(()=>{const ae=()=>H(!1);return window.addEventListener("blur",ae),window.addEventListener("resize",ae),()=>{window.removeEventListener("blur",ae),window.removeEventListener("resize",ae)}},[H]);const[W,J]=useTypeaheadSearch(ae=>{const ce=F().filter(Z=>!Z.disabled),se=ce.find(Z=>Z.ref.current===document.activeElement),te=findNextItem(ce,ae,se);te&&setTimeout(()=>te.ref.current.focus())}),ne=React__namespace.useCallback((ae,ce,se)=>{const te=!G.current&&!se;(T.value!==void 0&&T.value===ce||te)&&(D(ae),te&&(G.current=!0))},[T.value]),oe=React__namespace.useCallback(()=>I==null?void 0:I.focus(),[I]),le=React__namespace.useCallback((ae,ce,se)=>{const te=!G.current&&!se;(T.value!==void 0&&T.value===ce||te)&&V(ae)},[T.value]),ie=i==="popper"?SelectPopperPosition:SelectItemAlignedPosition,ue=ie===SelectPopperPosition?{side:d,sideOffset:f,align:p,alignOffset:m,arrowPadding:g,collisionBoundary:b,collisionPadding:_,sticky:C,hideWhenDetached:R,avoidCollisions:S}:{};return jsxRuntime.jsx(SelectContentProvider,{scope:n,content:I,viewport:A,onViewportChange:N,itemRefCallback:ne,selectedItem:j,onItemLeave:oe,itemTextRefCallback:le,focusSelectedItem:Q,selectedItemText:B,position:i,isPositioned:L,searchRef:W,children:jsxRuntime.jsx(ReactRemoveScroll,{as:Slot,allowPinchZoom:!0,children:jsxRuntime.jsx(FocusScope,{asChild:!0,trapped:T.open,onMountAutoFocus:ae=>{ae.preventDefault()},onUnmountAutoFocus:composeEventHandlers(o,ae=>{var ce;(ce=T.trigger)==null||ce.focus({preventScroll:!0}),ae.preventDefault()}),children:jsxRuntime.jsx(DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:ae=>ae.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:jsxRuntime.jsx(ie,{role:"listbox",id:T.contentId,"data-state":T.open?"open":"closed",dir:T.dir,onContextMenu:ae=>ae.preventDefault(),...E,...ue,onPlaced:()=>q(!0),ref:O,style:{display:"flex",flexDirection:"column",outline:"none",...E.style},onKeyDown:composeEventHandlers(E.onKeyDown,ae=>{const ce=ae.ctrlKey||ae.altKey||ae.metaKey;if(ae.key==="Tab"&&ae.preventDefault(),!ce&&ae.key.length===1&&J(ae.key),["ArrowUp","ArrowDown","Home","End"].includes(ae.key)){let te=F().filter(Z=>!Z.disabled).map(Z=>Z.ref.current);if(["ArrowUp","End"].includes(ae.key)&&(te=te.slice().reverse()),["ArrowUp","ArrowDown"].includes(ae.key)){const Z=ae.target,K=te.indexOf(Z);te=te.slice(K+1)}setTimeout(()=>U(te)),ae.preventDefault()}})})})})})})});SelectContentImpl.displayName=CONTENT_IMPL_NAME;var ITEM_ALIGNED_POSITION_NAME="SelectItemAlignedPosition",SelectItemAlignedPosition=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,onPlaced:i,...o}=t,l=useSelectContext(CONTENT_NAME,n),u=useSelectContentContext(CONTENT_NAME,n),[d,f]=React__namespace.useState(null),[p,m]=React__namespace.useState(null),g=useComposedRefs(e,O=>m(O)),b=useCollection(n),_=React__namespace.useRef(!1),C=React__namespace.useRef(!0),{viewport:R,selectedItem:S,selectedItemText:E,focusSelectedItem:T}=u,I=React__namespace.useCallback(()=>{if(l.trigger&&l.valueNode&&d&&p&&R&&S&&E){const O=l.trigger.getBoundingClientRect(),j=p.getBoundingClientRect(),D=l.valueNode.getBoundingClientRect(),B=E.getBoundingClientRect();if(l.dir!=="rtl"){const Z=B.left-j.left,K=D.left-Z,de=O.left-K,ee=O.width+de,fe=Math.max(ee,j.width),pe=window.innerWidth-CONTENT_MARGIN,me=clamp(K,[CONTENT_MARGIN,Math.max(CONTENT_MARGIN,pe-fe)]);d.style.minWidth=ee+"px",d.style.left=me+"px"}else{const Z=j.right-B.right,K=window.innerWidth-D.right-Z,de=window.innerWidth-O.right-K,ee=O.width+de,fe=Math.max(ee,j.width),pe=window.innerWidth-CONTENT_MARGIN,me=clamp(K,[CONTENT_MARGIN,Math.max(CONTENT_MARGIN,pe-fe)]);d.style.minWidth=ee+"px",d.style.right=me+"px"}const V=b(),F=window.innerHeight-CONTENT_MARGIN*2,L=R.scrollHeight,q=window.getComputedStyle(p),G=parseInt(q.borderTopWidth,10),U=parseInt(q.paddingTop,10),Q=parseInt(q.borderBottomWidth,10),H=parseInt(q.paddingBottom,10),z=G+U+L+H+Q,W=Math.min(S.offsetHeight*5,z),J=window.getComputedStyle(R),ne=parseInt(J.paddingTop,10),oe=parseInt(J.paddingBottom,10),le=O.top+O.height/2-CONTENT_MARGIN,ie=F-le,ue=S.offsetHeight/2,ae=S.offsetTop+ue,ce=G+U+ae,se=z-ce;if(ce<=le){const Z=V.length>0&&S===V[V.length-1].ref.current;d.style.bottom="0px";const K=p.clientHeight-R.offsetTop-R.offsetHeight,de=Math.max(ie,ue+(Z?oe:0)+K+Q),ee=ce+de;d.style.height=ee+"px"}else{const Z=V.length>0&&S===V[0].ref.current;d.style.top="0px";const de=Math.max(le,G+R.offsetTop+(Z?ne:0)+ue)+se;d.style.height=de+"px",R.scrollTop=ce-le+R.offsetTop}d.style.margin=`${CONTENT_MARGIN}px 0`,d.style.minHeight=W+"px",d.style.maxHeight=F+"px",i==null||i(),requestAnimationFrame(()=>_.current=!0)}},[b,l.trigger,l.valueNode,d,p,R,S,E,l.dir,i]);useLayoutEffect2(()=>I(),[I]);const[M,A]=React__namespace.useState();useLayoutEffect2(()=>{p&&A(window.getComputedStyle(p).zIndex)},[p]);const N=React__namespace.useCallback(O=>{O&&C.current===!0&&(I(),T==null||T(),C.current=!1)},[I,T]);return jsxRuntime.jsx(SelectViewportProvider,{scope:n,contentWrapper:d,shouldExpandOnScrollRef:_,onScrollButtonChange:N,children:jsxRuntime.jsx("div",{ref:f,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:M},children:jsxRuntime.jsx(Primitive.div,{...o,ref:g,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});SelectItemAlignedPosition.displayName=ITEM_ALIGNED_POSITION_NAME;var POPPER_POSITION_NAME="SelectPopperPosition",SelectPopperPosition=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,align:i="start",collisionPadding:o=CONTENT_MARGIN,...l}=t,u=usePopperScope(n);return jsxRuntime.jsx(Content$1,{...u,...l,ref:e,align:i,collisionPadding:o,style:{boxSizing:"border-box",...l.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});SelectPopperPosition.displayName=POPPER_POSITION_NAME;var[SelectViewportProvider,useSelectViewportContext]=createSelectContext(CONTENT_NAME,{}),VIEWPORT_NAME="SelectViewport",SelectViewport=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,nonce:i,...o}=t,l=useSelectContentContext(VIEWPORT_NAME,n),u=useSelectViewportContext(VIEWPORT_NAME,n),d=useComposedRefs(e,l.onViewportChange),f=React__namespace.useRef(0);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),jsxRuntime.jsx(Collection.Slot,{scope:n,children:jsxRuntime.jsx(Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:composeEventHandlers(o.onScroll,p=>{const m=p.currentTarget,{contentWrapper:g,shouldExpandOnScrollRef:b}=u;if(b!=null&&b.current&&g){const _=Math.abs(f.current-m.scrollTop);if(_>0){const C=window.innerHeight-CONTENT_MARGIN*2,R=parseFloat(g.style.minHeight),S=parseFloat(g.style.height),E=Math.max(R,S);if(E<C){const T=E+_,I=Math.min(C,T),M=T-I;g.style.height=I+"px",g.style.bottom==="0px"&&(m.scrollTop=M>0?M:0,g.style.justifyContent="flex-end")}}}f.current=m.scrollTop})})})]})});SelectViewport.displayName=VIEWPORT_NAME;var GROUP_NAME="SelectGroup",[SelectGroupContextProvider,useSelectGroupContext]=createSelectContext(GROUP_NAME),SelectGroup=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,...i}=t,o=useId();return jsxRuntime.jsx(SelectGroupContextProvider,{scope:n,id:o,children:jsxRuntime.jsx(Primitive.div,{role:"group","aria-labelledby":o,...i,ref:e})})});SelectGroup.displayName=GROUP_NAME;var LABEL_NAME="SelectLabel",SelectLabel$1=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,...i}=t,o=useSelectGroupContext(LABEL_NAME,n);return jsxRuntime.jsx(Primitive.div,{id:o.id,...i,ref:e})});SelectLabel$1.displayName=LABEL_NAME;var ITEM_NAME="SelectItem",[SelectItemContextProvider,useSelectItemContext]=createSelectContext(ITEM_NAME),SelectItem$1=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,value:i,disabled:o=!1,textValue:l,...u}=t,d=useSelectContext(ITEM_NAME,n),f=useSelectContentContext(ITEM_NAME,n),p=d.value===i,[m,g]=React__namespace.useState(l??""),[b,_]=React__namespace.useState(!1),C=useComposedRefs(e,T=>{var I;return(I=f.itemRefCallback)==null?void 0:I.call(f,T,i,o)}),R=useId(),S=React__namespace.useRef("touch"),E=()=>{o||(d.onValueChange(i),d.onOpenChange(!1))};if(i==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return jsxRuntime.jsx(SelectItemContextProvider,{scope:n,value:i,disabled:o,textId:R,isSelected:p,onItemTextChange:React__namespace.useCallback(T=>{g(I=>I||((T==null?void 0:T.textContent)??"").trim())},[]),children:jsxRuntime.jsx(Collection.ItemSlot,{scope:n,value:i,disabled:o,textValue:m,children:jsxRuntime.jsx(Primitive.div,{role:"option","aria-labelledby":R,"data-highlighted":b?"":void 0,"aria-selected":p&&b,"data-state":p?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...u,ref:C,onFocus:composeEventHandlers(u.onFocus,()=>_(!0)),onBlur:composeEventHandlers(u.onBlur,()=>_(!1)),onClick:composeEventHandlers(u.onClick,()=>{S.current!=="mouse"&&E()}),onPointerUp:composeEventHandlers(u.onPointerUp,()=>{S.current==="mouse"&&E()}),onPointerDown:composeEventHandlers(u.onPointerDown,T=>{S.current=T.pointerType}),onPointerMove:composeEventHandlers(u.onPointerMove,T=>{var I;S.current=T.pointerType,o?(I=f.onItemLeave)==null||I.call(f):S.current==="mouse"&&T.currentTarget.focus({preventScroll:!0})}),onPointerLeave:composeEventHandlers(u.onPointerLeave,T=>{var I;T.currentTarget===document.activeElement&&((I=f.onItemLeave)==null||I.call(f))}),onKeyDown:composeEventHandlers(u.onKeyDown,T=>{var M;((M=f.searchRef)==null?void 0:M.current)!==""&&T.key===" "||(SELECTION_KEYS.includes(T.key)&&E(),T.key===" "&&T.preventDefault())})})})})});SelectItem$1.displayName=ITEM_NAME;var ITEM_TEXT_NAME="SelectItemText",SelectItemText=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,className:i,style:o,...l}=t,u=useSelectContext(ITEM_TEXT_NAME,n),d=useSelectContentContext(ITEM_TEXT_NAME,n),f=useSelectItemContext(ITEM_TEXT_NAME,n),p=useSelectNativeOptionsContext(ITEM_TEXT_NAME,n),[m,g]=React__namespace.useState(null),b=useComposedRefs(e,E=>g(E),f.onItemTextChange,E=>{var T;return(T=d.itemTextRefCallback)==null?void 0:T.call(d,E,f.value,f.disabled)}),_=m==null?void 0:m.textContent,C=React__namespace.useMemo(()=>jsxRuntime.jsx("option",{value:f.value,disabled:f.disabled,children:_},f.value),[f.disabled,f.value,_]),{onNativeOptionAdd:R,onNativeOptionRemove:S}=p;return useLayoutEffect2(()=>(R(C),()=>S(C)),[R,S,C]),jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Primitive.span,{id:f.textId,...l,ref:b}),f.isSelected&&u.valueNode&&!u.valueNodeHasChildren?ReactDOM__namespace.createPortal(l.children,u.valueNode):null]})});SelectItemText.displayName=ITEM_TEXT_NAME;var ITEM_INDICATOR_NAME="SelectItemIndicator",SelectItemIndicator=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,...i}=t;return useSelectItemContext(ITEM_INDICATOR_NAME,n).isSelected?jsxRuntime.jsx(Primitive.span,{"aria-hidden":!0,...i,ref:e}):null});SelectItemIndicator.displayName=ITEM_INDICATOR_NAME;var SCROLL_UP_BUTTON_NAME="SelectScrollUpButton",SelectScrollUpButton$1=React__namespace.forwardRef((t,e)=>{const n=useSelectContentContext(SCROLL_UP_BUTTON_NAME,t.__scopeSelect),i=useSelectViewportContext(SCROLL_UP_BUTTON_NAME,t.__scopeSelect),[o,l]=React__namespace.useState(!1),u=useComposedRefs(e,i.onScrollButtonChange);return useLayoutEffect2(()=>{if(n.viewport&&n.isPositioned){let d=function(){const p=f.scrollTop>0;l(p)};const f=n.viewport;return d(),f.addEventListener("scroll",d),()=>f.removeEventListener("scroll",d)}},[n.viewport,n.isPositioned]),o?jsxRuntime.jsx(SelectScrollButtonImpl,{...t,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:f}=n;d&&f&&(d.scrollTop=d.scrollTop-f.offsetHeight)}}):null});SelectScrollUpButton$1.displayName=SCROLL_UP_BUTTON_NAME;var SCROLL_DOWN_BUTTON_NAME="SelectScrollDownButton",SelectScrollDownButton$1=React__namespace.forwardRef((t,e)=>{const n=useSelectContentContext(SCROLL_DOWN_BUTTON_NAME,t.__scopeSelect),i=useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME,t.__scopeSelect),[o,l]=React__namespace.useState(!1),u=useComposedRefs(e,i.onScrollButtonChange);return useLayoutEffect2(()=>{if(n.viewport&&n.isPositioned){let d=function(){const p=f.scrollHeight-f.clientHeight,m=Math.ceil(f.scrollTop)<p;l(m)};const f=n.viewport;return d(),f.addEventListener("scroll",d),()=>f.removeEventListener("scroll",d)}},[n.viewport,n.isPositioned]),o?jsxRuntime.jsx(SelectScrollButtonImpl,{...t,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:f}=n;d&&f&&(d.scrollTop=d.scrollTop+f.offsetHeight)}}):null});SelectScrollDownButton$1.displayName=SCROLL_DOWN_BUTTON_NAME;var SelectScrollButtonImpl=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,onAutoScroll:i,...o}=t,l=useSelectContentContext("SelectScrollButton",n),u=React__namespace.useRef(null),d=useCollection(n),f=React__namespace.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return React__namespace.useEffect(()=>()=>f(),[f]),useLayoutEffect2(()=>{var m;const p=d().find(g=>g.ref.current===document.activeElement);(m=p==null?void 0:p.ref.current)==null||m.scrollIntoView({block:"nearest"})},[d]),jsxRuntime.jsx(Primitive.div,{"aria-hidden":!0,...o,ref:e,style:{flexShrink:0,...o.style},onPointerDown:composeEventHandlers(o.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(i,50))}),onPointerMove:composeEventHandlers(o.onPointerMove,()=>{var p;(p=l.onItemLeave)==null||p.call(l),u.current===null&&(u.current=window.setInterval(i,50))}),onPointerLeave:composeEventHandlers(o.onPointerLeave,()=>{f()})})}),SEPARATOR_NAME="SelectSeparator",SelectSeparator$1=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,...i}=t;return jsxRuntime.jsx(Primitive.div,{"aria-hidden":!0,...i,ref:e})});SelectSeparator$1.displayName=SEPARATOR_NAME;var ARROW_NAME="SelectArrow",SelectArrow=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,...i}=t,o=usePopperScope(n),l=useSelectContext(ARROW_NAME,n),u=useSelectContentContext(ARROW_NAME,n);return l.open&&u.position==="popper"?jsxRuntime.jsx(Arrow,{...o,...i,ref:e}):null});SelectArrow.displayName=ARROW_NAME;var BUBBLE_INPUT_NAME$1="SelectBubbleInput",SelectBubbleInput=React__namespace.forwardRef(({__scopeSelect:t,value:e,...n},i)=>{const o=React__namespace.useRef(null),l=useComposedRefs(i,o),u=usePrevious(e);return React__namespace.useEffect(()=>{const d=o.current;if(!d)return;const f=window.HTMLSelectElement.prototype,m=Object.getOwnPropertyDescriptor(f,"value").set;if(u!==e&&m){const g=new Event("change",{bubbles:!0});m.call(d,e),d.dispatchEvent(g)}},[u,e]),jsxRuntime.jsx(Primitive.select,{...n,style:{...VISUALLY_HIDDEN_STYLES,...n.style},ref:l,defaultValue:e})});SelectBubbleInput.displayName=BUBBLE_INPUT_NAME$1;function shouldShowPlaceholder(t){return t===""||t===void 0}function useTypeaheadSearch(t){const e=useCallbackRef$1(t),n=React__namespace.useRef(""),i=React__namespace.useRef(0),o=React__namespace.useCallback(u=>{const d=n.current+u;e(d),function f(p){n.current=p,window.clearTimeout(i.current),p!==""&&(i.current=window.setTimeout(()=>f(""),1e3))}(d)},[e]),l=React__namespace.useCallback(()=>{n.current="",window.clearTimeout(i.current)},[]);return React__namespace.useEffect(()=>()=>window.clearTimeout(i.current),[]),[n,o,l]}function findNextItem(t,e,n){const o=e.length>1&&Array.from(e).every(p=>p===e[0])?e[0]:e,l=n?t.indexOf(n):-1;let u=wrapArray(t,Math.max(l,0));o.length===1&&(u=u.filter(p=>p!==n));const f=u.find(p=>p.textValue.toLowerCase().startsWith(o.toLowerCase()));return f!==n?f:void 0}function wrapArray(t,e){return t.map((n,i)=>t[(e+i)%t.length])}var Root2=Select$1,Trigger=SelectTrigger$1,Value=SelectValue$1,Icon=SelectIcon,Portal=SelectPortal,Content2=SelectContent$1,Viewport=SelectViewport,Label=SelectLabel$1,Item=SelectItem$1,ItemText=SelectItemText,ItemIndicator=SelectItemIndicator,ScrollUpButton=SelectScrollUpButton$1,ScrollDownButton=SelectScrollDownButton$1,Separator=SelectSeparator$1;const Select=Root2,SelectValue=Value,SelectTrigger=React__namespace.forwardRef(({className:t,children:e,...n},i)=>jsxRuntime.jsxs(Trigger,{ref:i,className:cn("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...n,children:[e,jsxRuntime.jsx(Icon,{asChild:!0,children:jsxRuntime.jsx(ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));SelectTrigger.displayName=Trigger.displayName;const SelectScrollUpButton=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx(ScrollUpButton,{ref:n,className:cn("flex cursor-default items-center justify-center py-1",t),...e,children:jsxRuntime.jsx(ChevronUp,{className:"h-4 w-4"})}));SelectScrollUpButton.displayName=ScrollUpButton.displayName;const SelectScrollDownButton=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx(ScrollDownButton,{ref:n,className:cn("flex cursor-default items-center justify-center py-1",t),...e,children:jsxRuntime.jsx(ChevronDown,{className:"h-4 w-4"})}));SelectScrollDownButton.displayName=ScrollDownButton.displayName;const SelectContent=React__namespace.forwardRef(({className:t,children:e,position:n="popper",...i},o)=>jsxRuntime.jsx(Portal,{children:jsxRuntime.jsxs(Content2,{ref:o,className:cn("relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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 origin-[--radix-select-content-transform-origin]",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,...i,children:[jsxRuntime.jsx(SelectScrollUpButton,{}),jsxRuntime.jsx(Viewport,{className:cn("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:e}),jsxRuntime.jsx(SelectScrollDownButton,{})]})}));SelectContent.displayName=Content2.displayName;const SelectLabel=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx(Label,{ref:n,className:cn("px-2 py-1.5 text-sm font-semibold",t),...e}));SelectLabel.displayName=Label.displayName;const SelectItem=React__namespace.forwardRef(({className:t,children:e,...n},i)=>jsxRuntime.jsxs(Item,{ref:i,className:cn("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[jsxRuntime.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:jsxRuntime.jsx(ItemIndicator,{children:jsxRuntime.jsx(Check,{className:"h-4 w-4"})})}),jsxRuntime.jsx(ItemText,{children:e})]}));SelectItem.displayName=Item.displayName;const SelectSeparator=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx(Separator,{ref:n,className:cn("-mx-1 my-1 h-px bg-muted",t),...e}));SelectSeparator.displayName=Separator.displayName;var SWITCH_NAME="Switch",[createSwitchContext,createSwitchScope]=createContextScope(SWITCH_NAME),[SwitchProvider,useSwitchContext]=createSwitchContext(SWITCH_NAME),Switch$1=React__namespace.forwardRef((t,e)=>{const{__scopeSwitch:n,name:i,checked:o,defaultChecked:l,required:u,disabled:d,value:f="on",onCheckedChange:p,form:m,...g}=t,[b,_]=React__namespace.useState(null),C=useComposedRefs(e,I=>_(I)),R=React__namespace.useRef(!1),S=b?m||!!b.closest("form"):!0,[E,T]=useControllableState({prop:o,defaultProp:l??!1,onChange:p,caller:SWITCH_NAME});return jsxRuntime.jsxs(SwitchProvider,{scope:n,checked:E,disabled:d,children:[jsxRuntime.jsx(Primitive.button,{type:"button",role:"switch","aria-checked":E,"aria-required":u,"data-state":getState(E),"data-disabled":d?"":void 0,disabled:d,value:f,...g,ref:C,onClick:composeEventHandlers(t.onClick,I=>{T(M=>!M),S&&(R.current=I.isPropagationStopped(),R.current||I.stopPropagation())})}),S&&jsxRuntime.jsx(SwitchBubbleInput,{control:b,bubbles:!R.current,name:i,value:f,checked:E,required:u,disabled:d,form:m,style:{transform:"translateX(-100%)"}})]})});Switch$1.displayName=SWITCH_NAME;var THUMB_NAME="SwitchThumb",SwitchThumb=React__namespace.forwardRef((t,e)=>{const{__scopeSwitch:n,...i}=t,o=useSwitchContext(THUMB_NAME,n);return jsxRuntime.jsx(Primitive.span,{"data-state":getState(o.checked),"data-disabled":o.disabled?"":void 0,...i,ref:e})});SwitchThumb.displayName=THUMB_NAME;var BUBBLE_INPUT_NAME="SwitchBubbleInput",SwitchBubbleInput=React__namespace.forwardRef(({__scopeSwitch:t,control:e,checked:n,bubbles:i=!0,...o},l)=>{const u=React__namespace.useRef(null),d=useComposedRefs(u,l),f=usePrevious(n),p=useSize(e);return React__namespace.useEffect(()=>{const m=u.current;if(!m)return;const g=window.HTMLInputElement.prototype,_=Object.getOwnPropertyDescriptor(g,"checked").set;if(f!==n&&_){const C=new Event("click",{bubbles:i});_.call(m,n),m.dispatchEvent(C)}},[f,n,i]),jsxRuntime.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:d,style:{...o.style,...p,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});SwitchBubbleInput.displayName=BUBBLE_INPUT_NAME;function getState(t){return t?"checked":"unchecked"}var Root=Switch$1,Thumb=SwitchThumb;const Switch=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx(Root,{className:cn("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",t),...e,ref:n,children:jsxRuntime.jsx(Thumb,{className:cn("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));Switch.displayName=Root.displayName;const DAYS_OF_WEEK=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function ManufacturerReorderingCard({manufacturer:t,onSave:e,loading:n=!1,saving:i=!1}){const[o,l]=React.useState({...t}),u=(b,_)=>{l(C=>({...C,[b]:_}))},d=(b,_)=>{l(C=>({...C,[b]:_}))},f=(b,_)=>{l(C=>({...C,[b]:_}))},p=()=>{i||e(o)},m=b=>b===-1?"ASAP":b===void 0||b<0||b>6?"Sunday":DAYS_OF_WEEK[b],g=b=>b==="ASAP"?-1:DAYS_OF_WEEK.indexOf(b);return jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsxs(CardHeader,{children:[n?jsxRuntime.jsx(Skeleton,{className:"h-8 w-32"}):jsxRuntime.jsx(CardTitle,{className:"text-lg font-bold",children:"Reordering"}),n?jsxRuntime.jsx(Skeleton,{className:"h-4 w-full mt-2"}):jsxRuntime.jsx(CardDescription,{className:"text-sm",children:"Adjust your reordering settings to control lead times, stocking weeks, minimum orders, and reorder dates, enhancing efficiency in restocking processes."})]}),jsxRuntime.jsx(CardContent,{className:"space-y-6",children:n?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{className:"flex items-center space-x-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-10"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"})]}),jsxRuntime.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"}),jsxRuntime.jsx(Skeleton,{className:"h-10 w-full"})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"}),jsxRuntime.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsx(Skeleton,{className:"h-10 w-full"}),jsxRuntime.jsx("div",{className:"ml-2 w-12"})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"}),jsxRuntime.jsx(Skeleton,{className:"h-10 w-full"})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"}),jsxRuntime.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsx(Skeleton,{className:"h-10 w-full"}),jsxRuntime.jsx("div",{className:"ml-2 w-12"})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"}),jsxRuntime.jsx(Skeleton,{className:"h-10 w-full"})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"}),jsxRuntime.jsx(Skeleton,{className:"h-10 w-full"})]})]})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{className:"flex items-center space-x-2",children:[jsxRuntime.jsx(Switch,{id:"automatic-reordering",checked:o.AutoUpdate,onCheckedChange:b=>u("AutoUpdate",b),disabled:i}),jsxRuntime.jsx(Label$2,{htmlFor:"automatic-reordering",children:"Automatic Reordering"})]}),jsxRuntime.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Label$2,{htmlFor:"reorder-date",children:"Automatic Reorder Date"}),jsxRuntime.jsxs(Select,{value:m(o.AutoReorderDate),onValueChange:b=>d("AutoReorderDate",g(b)),disabled:i,children:[jsxRuntime.jsx(SelectTrigger,{id:"reorder-date",children:jsxRuntime.jsx(SelectValue,{placeholder:"Select day"})}),jsxRuntime.jsxs(SelectContent,{children:[jsxRuntime.jsx(SelectItem,{value:"ASAP",children:"ASAP"}),DAYS_OF_WEEK.map(b=>jsxRuntime.jsx(SelectItem,{value:b,children:b},b))]})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Label$2,{htmlFor:"weeks-stocking",children:"Default Weeks of Stocking"}),jsxRuntime.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsx(Input,{id:"weeks-stocking",type:"number",value:o.DefaultWeeksOfStocking||"",onChange:b=>d("DefaultWeeksOfStocking",Number(b.target.value)),disabled:i}),jsxRuntime.jsx("span",{className:"ml-2 text-sm text-muted-foreground",children:"weeks"})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Label$2,{htmlFor:"minimum-order",children:"Default Minimum Order"}),jsxRuntime.jsxs("div",{className:"flex items-center relative",children:[jsxRuntime.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2",children:"$"}),jsxRuntime.jsx(Input,{id:"minimum-order",type:"number",className:"pl-6",value:o.DefaultMinimumOrder||"",onChange:b=>d("DefaultMinimumOrder",Number(b.target.value)),disabled:i})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Label$2,{htmlFor:"lead-time",children:"Default Lead Time"}),jsxRuntime.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsx(Input,{id:"lead-time",type:"number",value:o.DefaultLeadTime||"",onChange:b=>d("DefaultLeadTime",Number(b.target.value)),disabled:i}),jsxRuntime.jsx("span",{className:"ml-2 text-sm text-muted-foreground",children:"days"})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Label$2,{htmlFor:"maximum-inventory-value",children:"Default Maximum Inventory Value"}),jsxRuntime.jsxs("div",{className:"flex items-center relative",children:[jsxRuntime.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2",children:"$"}),jsxRuntime.jsx(Input,{id:"maximum-inventory-value",type:"number",className:"pl-6",value:o.DefaultMaxInventoryValue||"",onChange:b=>d("DefaultMaxInventoryValue",Number(b.target.value)),disabled:i})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Label$2,{htmlFor:"order-confirmations",children:"Send Order Confirmations To"}),jsxRuntime.jsx(Input,{id:"order-confirmations",type:"email",value:o.POEmail||"",onChange:b=>f("POEmail",b.target.value),placeholder:"email@example.com",disabled:i})]})]})]})}),jsxRuntime.jsx(CardFooter,{className:"flex justify-end",children:n?jsxRuntime.jsx(Skeleton,{className:"h-10 w-20"}):jsxRuntime.jsxs(Button,{onClick:p,disabled:i,children:[i&&jsxRuntime.jsx(LoaderCircle,{className:"mr-2 h-4 w-4 animate-spin"}),"Save"]})})]})}const imgSizeMap={sm:100,md:200,lg:300,xl:400};function ProductImage({randmarSKU:t,size:e="md",alt:n,secondaryContent:i}){const[o,l]=React__namespace.useState(!1),[u,d]=React__namespace.useState(!1),[f,p]=React__namespace.useState(!1),[m,g]=React__namespace.useState(!1),b=`https://api.randmar.io/Product/${t}/Video`;React__namespace.useEffect(()=>{(async()=>{try{const I=await(await fetch(b+"/Exists")).json();d(I)}catch(T){console.error("Error checking for video:",T),d(!1)}})()},[t,b]);async function _(){if(u){g(!0);try{const T=await(await fetch(b)).blob(),I=window.URL.createObjectURL(T),M=document.createElement("a");M.href=I,M.download=`${t||"product"}-video.mp4`,document.body.appendChild(M),M.click(),document.body.removeChild(M),window.URL.revokeObjectURL(I)}catch(E){console.error("Error downloading video:",E)}finally{g(!1)}}}function C(){navigator.clipboard.writeText(b),p(!0),setTimeout(()=>{p(!1)},2e3)}function R(){l(!0)}const S=imgSizeMap[e||"xl"];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Dialog,{open:o,onOpenChange:l,children:jsxRuntime.jsx(DialogContent,{className:"max-w-4xl p-0 overflow-hidden",children:i?jsxRuntime.jsxs("div",{className:"flex flex-row",children:[jsxRuntime.jsxs("video",{className:"w-full rounded-l-lg max-h-[720px] object-contain",controls:!0,autoPlay:!0,muted:!0,loop:!0,children:[jsxRuntime.jsx("source",{src:b,type:"video/mp4"}),"Your browser does not support the video tag."]}),jsxRuntime.jsx("div",{className:"flex-grow min-w-[400px] h-[70vh] p-6",children:i})]}):jsxRuntime.jsxs("div",{className:"w-full relative",children:[jsxRuntime.jsxs("video",{className:"w-full max-h-[720px] object-contain",controls:!0,autoPlay:!0,children:[jsxRuntime.jsx("source",{src:b,type:"video/mp4"}),"Your browser does not support the video tag."]}),jsxRuntime.jsxs("div",{className:"absolute top-2 right-12 flex gap-1",children:[jsxRuntime.jsx(TooltipProvider,{children:jsxRuntime.jsxs(Tooltip$1,{children:[jsxRuntime.jsx(TooltipTrigger,{asChild:!0,children:jsxRuntime.jsx(Button,{variant:"secondary",size:"icon",onClick:C,children:f?jsxRuntime.jsx(Check,{className:"h-4 w-4"}):jsxRuntime.jsx(Copy,{className:"h-4 w-4"})})}),jsxRuntime.jsx(TooltipContent,{children:jsxRuntime.jsx("p",{children:"Copy video link"})})]})}),jsxRuntime.jsx(TooltipProvider,{children:jsxRuntime.jsxs(Tooltip$1,{children:[jsxRuntime.jsx(TooltipTrigger,{asChild:!0,children:jsxRuntime.jsx(Button,{variant:"secondary",size:"icon",onClick:_,disabled:m,children:jsxRuntime.jsx(Download,{className:"h-4 w-4"})})}),jsxRuntime.jsx(TooltipContent,{children:jsxRuntime.jsx("p",{children:"Download video"})})]})})]})]})})}),jsxRuntime.jsxs("div",{className:"relative w-max h-max",children:[jsxRuntime.jsx("img",{alt:n||`Product ${t}`,className:`rounded-md ${u?"cursor-pointer":""}`,onClick:u?R:void 0,src:`https://api.randmar.io/Product/${t}/Image?width=${S*1.5}&height=${S*1.5}`,width:S,height:S}),u&&jsxRuntime.jsx(TooltipProvider,{children:jsxRuntime.jsxs(Tooltip$1,{children:[jsxRuntime.jsx(TooltipTrigger,{asChild:!0,children:jsxRuntime.jsx(Button,{variant:"secondary",size:"icon",className:"absolute top-2 right-2",onClick:R,children:jsxRuntime.jsx(Play,{className:"h-4 w-4"})})}),jsxRuntime.jsx(TooltipContent,{children:jsxRuntime.jsx("p",{children:"Play video"})})]})})]})]})}function ProductCard({item:t,addToCart:e=!1,syncToShopify:n=!1,customAction:i=jsxRuntime.jsx(jsxRuntime.Fragment,{}),defaultOpportunityNumber:o="",viewProductLink:l,addToCartAction:u,isAddToCartActionLoading:d=!1,syncToShopifyAction:f,isSyncToShopifyActionLoading:p=!1}){var z,W,J,ne,oe,le,ie,ue,ae,ce,se;const[m,g]=React.useState(1),[b,_]=React.useState(null),[C,R]=React.useState(0),[S,E]=React.useState(!1),T=((z=t==null?void 0:t.Distribution)==null?void 0:z.Cost)||0,I=((W=t==null?void 0:t.Distribution)==null?void 0:W.RegularPrice)||0,M=((J=t==null?void 0:t.Distribution)==null?void 0:J.Price)||0;React.useEffect(()=>{g(1),_(null),R(0),E(!1)},[t==null?void 0:t.RandmarSKU]);const[A,N]=React.useState(null),[O,j]=React.useState(!1);React.useEffect(()=>{const te=async()=>{if(t!=null&&t.ManufacturerId){j(!0);try{const Z=await fetch(`https://api.randmar.io/V4/Partner/${t.ManufacturerId}/Account/Logo?width=60&height=40`);if(Z.ok){const K=await Z.blob();N(URL.createObjectURL(K))}}catch(Z){console.error("Failed to load logo:",Z)}finally{j(!1)}}};t!=null&&t.ManufacturerId&&te()},[t==null?void 0:t.ManufacturerId]),React.useEffect(()=>{var te;if(t&&o){const Z=(te=t.Opportunities)==null?void 0:te.find(K=>K.BidNumber==o);Z&&_(Z)}},[t,o]),React.useEffect(()=>{if(!t)return;const te=b!=null&&b.Price?b.Price:M;R(I>0?Math.round((I-te)/I*100):0)},[t,b,M,I]),React.useEffect(()=>{d||g(1)},[d]);const D=te=>{if(te.Active!==!0)return!1;const Z=new Date().toISOString().split("T")[0];return!(te.EndDate&&te.EndDate.split("T")[0]<Z||te.StartDate&&te.StartDate.split("T")[0]>Z)};if(!t)return jsxRuntime.jsx(Card,{children:jsxRuntime.jsxs(CardContent,{className:"p-6",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-start mb-3",children:[jsxRuntime.jsx(Skeleton,{className:"h-7 w-3/4"}),jsxRuntime.jsx("div",{className:"h-10 w-24 flex items-center justify-end ml-4",children:jsxRuntime.jsx(Skeleton,{className:"h-10 w-24 rounded-md"})})]}),jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[jsxRuntime.jsx(Skeleton,{className:"h-6 w-20 rounded-full"}),jsxRuntime.jsx(Skeleton,{className:"h-6 w-24 rounded-full"}),jsxRuntime.jsx(Skeleton,{className:"h-6 w-28 rounded-full"})]}),jsxRuntime.jsxs("div",{className:"flex gap-6",children:[jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-6 flex-1",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-12 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-20"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-12 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-24"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-20 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-16"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-12 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-20"})]})]}),jsxRuntime.jsx("div",{className:"flex flex-col",children:jsxRuntime.jsx("div",{className:"w-60 h-40",children:jsxRuntime.jsx(Skeleton,{className:"w-full h-full rounded-lg"})})})]}),jsxRuntime.jsxs("div",{className:"flex gap-6 mt-4",children:[jsxRuntime.jsx("div",{className:"flex flex-1",children:jsxRuntime.jsxs("div",{className:"w-full",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-24 mb-3"}),jsxRuntime.jsx(Skeleton,{className:"h-16 w-full rounded-md"})]})}),jsxRuntime.jsxs("div",{className:"flex flex-col items-center",children:[jsxRuntime.jsx(Skeleton,{className:"h-10 w-32 rounded-md"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-24 mt-4"})]})]}),jsxRuntime.jsxs("div",{className:"flex gap-6 mt-4",children:[jsxRuntime.jsxs("div",{className:"flex flex-col items-start gap-1 mb-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-8 w-32"}),jsxRuntime.jsx(Skeleton,{className:"h-6 w-24"})]}),jsxRuntime.jsxs("div",{className:"flex flex-1 items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-10 w-24 rounded-md"}),jsxRuntime.jsx(Skeleton,{className:"h-10 flex-1 rounded-md"})]})]})]})});const B=(t==null?void 0:t.Opportunities)||[],V=B.length>0,F=()=>{if(m==null){g(1);return}m>1&&g(m-1)},L=()=>{if(m==null){g(1);return}g(m+1)},q=te=>{const Z=parseInt(te.target.value,10);if(!isNaN(Z)&&Z>0){g(Z);return}g(void 0)},G=()=>{(m==null||m<1)&&g(1)},U=((oe=(ne=t.Distribution)==null?void 0:ne.Inventory)==null?void 0:oe.reduce((te,Z)=>te+(Z.AvailableQuantity||0),0))||0,Q=te=>{try{return new Date(te).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}catch(Z){return console.error(Z),te.split("T")[0]||"N/A"}},H=()=>{u&&u({quantity:m??1,bidNumber:(b==null?void 0:b.BidNumber)??null})};return jsxRuntime.jsx(Card,{className:"hover:shadow-lg transition-shadow",children:jsxRuntime.jsxs(CardContent,{className:"p-6",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-start mb-3",children:[jsxRuntime.jsx("h3",{className:"font-semibold text-xl",children:t.Title||t.RandmarTitle}),jsxRuntime.jsx("div",{className:"h-10 w-24 flex items-center justify-end ml-4",children:O?jsxRuntime.jsx(Skeleton,{className:"h-10 w-24 rounded-md"}):A&&jsxRuntime.jsx("img",{src:A,alt:t.ManufacturerName??"",className:"max-h-10 max-w-24 object-contain"})})]}),jsxRuntime.jsxs("div",{className:"flex gap-6",children:[jsxRuntime.jsxs("div",{className:"flex-1",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[t.State&&jsxRuntime.jsxs(Badge,{variant:"outline",className:`rounded-full px-3 ${t.State==="Active"?"bg-green-50 text-green-700 hover:bg-green-50":"bg-red-50 text-red-700 hover:bg-red-50"}`,children:[jsxRuntime.jsx(Check,{size:"12",className:"mr-1.5"})," ",t.State]}),jsxRuntime.jsxs(Badge,{variant:"outline",className:`rounded-full px-3 ${t.SerialNumber?"bg-green-50 text-green-700 hover:bg-green-50":"bg-yellow-50 text-yellow-700 hover:bg-yellow-50"}`,children:[jsxRuntime.jsx(QrCode,{size:"12",className:"mr-1.5"})," ",t.SerialNumber?"Serialized":"Unserialized"]}),t.TransparencyCode&&jsxRuntime.jsxs(Badge,{variant:"outline",className:"rounded-full px-3 bg-green-50 text-green-700 hover:bg-green-50",children:[jsxRuntime.jsx(CircleDashed,{size:"12",className:"mr-1.5"})," Transparency Code"]}),t.AvailableToBuy!==void 0&&jsxRuntime.jsxs(Badge,{variant:"outline",className:`rounded-full px-3 ${t.AvailableToBuy?"bg-green-50 text-green-700 hover:bg-green-50":"bg-red-50 text-red-700 hover:bg-red-50"}`,children:[jsxRuntime.jsx(ShoppingCart,{size:"12",className:"mr-1.5"})," ",t.AvailableToBuy?"Available":"Unavailable"]}),t.ManufacturerCategory!==void 0&&jsxRuntime.jsxs(Badge,{variant:"outline",className:`rounded-full px-3 ${(le=t.ManufacturerCategory)!=null&&le.QualificationRequired?"bg-blue-50 text-blue-700 hover:bg-blue-50":"bg-neutral-50 text-neutral-700 hover:bg-neutral-50"}`,children:[jsxRuntime.jsx(ShieldCheck,{size:"12",className:"mr-1.5"})," ",(ie=t.ManufacturerCategory)!=null&&ie.QualificationRequired?"Qualified Only":"Available to all"]}),t.ManufacturerId&&jsxRuntime.jsxs(Badge,{variant:"outline",className:`rounded-full px-3 ${t.AutoUpdate?"bg-green-50 text-green-700 hover:bg-green-50":"bg-red-50 text-red-700 hover:bg-red-50"}`,children:[jsxRuntime.jsx(RefreshCw,{size:"12",className:"mr-1.5"})," ",t.AutoUpdate?`Automatic Reorder (${t.MasterCarton})`:"Manually Reorders"]}),jsxRuntime.jsxs(Badge,{variant:"outline",className:`rounded-full px-3 ${t.BodyHTML&&t.Title&&t.MAP?"bg-green-50 text-green-700 hover:bg-green-50":"bg-red-50 text-red-700 hover:bg-red-50"}`,children:[jsxRuntime.jsx(Store,{size:"12",className:"mr-1.5"})," ",t.BodyHTML&&t.Title&&t.MAP?"Shopify Ready":"Not Shopify Ready"]})]}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-4 flex-1",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"MPN"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.MPN||"N/A"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"UPC"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.UPC||"N/A"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"Unit Weight"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.UnitWeight?`${t.UnitWeight} lbs`:"N/A"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"MAP"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.MAP?"$"+t.MAP.toFixed(2):"N/A"})]}),t.CountryCodeOfOrigin&&jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"Origin"}),jsxRuntime.jsxs("div",{className:"font-medium flex items-center",children:[jsxRuntime.jsx(CountryFlag,{countryCode:t.CountryCodeOfOrigin,className:"mr-2"}),t.CountryCodeOfOrigin]})]})]})]}),jsxRuntime.jsx("div",{className:"flex flex-col",children:jsxRuntime.jsx(ProductImage,{randmarSKU:t.RandmarSKU||"",alt:t.RandmarTitle||""})})]}),jsxRuntime.jsxs("div",{className:"flex gap-6 mt-4",children:[jsxRuntime.jsx("div",{className:"flex flex-1",children:V&&t.Distribution&&jsxRuntime.jsxs("div",{className:"w-full",children:[jsxRuntime.jsx("div",{className:"flex items-center",children:"You have "+B.length+(B.length>1?" opportunities":" opportunity")+" for this product:"}),jsxRuntime.jsx("div",{className:"space-y-2 max-h-[200px] overflow-y-auto p-2 mt-1",children:B.map((te,Z)=>{var K;return jsxRuntime.jsxs("div",{className:`flex justify-between items-center rounded-lg transition-colors py-2 px-4 bg-purple-100 border border-muted
|
|
834
|
+
Please report this to https://github.com/markedjs/marked.`,e){const o="<p>An error occurred:</p><pre>"+escape$2(i.message+"",!0)+"</pre>";return n?Promise.resolve(o):o}if(n)return Promise.reject(i);throw i}}}const markedInstance=new Marked;function marked(t,e){return markedInstance.parse(t,e)}marked.options=marked.setOptions=function(t){return markedInstance.setOptions(t),marked.defaults=markedInstance.defaults,changeDefaults(marked.defaults),marked},marked.getDefaults=_getDefaults,marked.defaults=_defaults,marked.use=function(...t){return markedInstance.use(...t),marked.defaults=markedInstance.defaults,changeDefaults(marked.defaults),marked},marked.walkTokens=function(t,e){return markedInstance.walkTokens(t,e)},marked.parseInline=markedInstance.parseInline,marked.Parser=_Parser,marked.parser=_Parser.parse,marked.Renderer=_Renderer,marked.TextRenderer=_TextRenderer,marked.Lexer=_Lexer,marked.lexer=_Lexer.lex,marked.Tokenizer=_Tokenizer,marked.Hooks=_Hooks,marked.parse=marked,marked.options,marked.setOptions,marked.use,marked.walkTokens,marked.parseInline,_Parser.parse,_Lexer.lex;const Card=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("div",{ref:n,className:cn("rounded-md border bg-card text-card-foreground shadow-sm",t),...e}));Card.displayName="Card";const CardHeader=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("div",{ref:n,className:cn("flex flex-col space-y-1.5 p-6",t),...e}));CardHeader.displayName="CardHeader";const CardTitle=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("div",{ref:n,className:cn("font-semibold leading-none tracking-tight",t),...e}));CardTitle.displayName="CardTitle";const CardDescription=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("div",{ref:n,className:cn("text-sm text-muted-foreground",t),...e}));CardDescription.displayName="CardDescription";const CardContent=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("div",{ref:n,className:cn("p-6 pt-0",t),...e}));CardContent.displayName="CardContent";const CardFooter=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("div",{ref:n,className:cn("flex items-center p-6 pt-0",t),...e}));CardFooter.displayName="CardFooter";const badgeVariants=cva("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground border border-input hover:bg-accent hover:text-accent-foreground",success:"bg-green-600 text-white hover:bg-green-700",warning:"bg-yellow-500 text-white hover:bg-yellow-600",info:"bg-blue-500 text-white hover:bg-blue-600",ghost:"bg-background hover:bg-accent hover:text-accent-foreground",randmarRed:"bg-randmar-red text-white hover:bg-randmar-red/80",randmarBlue:"bg-randmar-blue text-white hover:bg-randmar-blue/80",randmarPurple:"bg-randmar-purple text-white hover:bg-randmar-purple/80",randmarGreen:"bg-randmar-green text-black hover:bg-randmar-green/80",randmarBlack:"bg-randmar-black text-white hover:bg-randmar-black/80",randmarYellow:"bg-randmar-yellow text-black hover:bg-randmar-yellow/80"},size:{default:"h-6",sm:"h-5 text-[10px]",lg:"h-7 px-3"}},defaultVariants:{variant:"default",size:"default"}}),Badge=React__namespace.forwardRef(({className:t,variant:e,size:n,icon:i,children:o,...l},u)=>jsxRuntime.jsxs("div",{ref:u,className:cn(badgeVariants({variant:e,size:n}),t),...l,children:[i&&jsxRuntime.jsx("span",{className:"mr-1",children:i}),o]}));Badge.displayName="Badge";function PartnerCard({account:t,action:e,loading:n=!1,withVoice:i=!0}){const[o,l]=React.useState(null),[u,d]=React.useState(!1),[f,p]=React.useState(!1),[m,g]=React.useState(!1),[b,_]=React.useState(!0),[C,R]=React.useState(null),[S,E]=React.useState(!1),T=React.useMemo(()=>t!=null&&t.ApplicationId?{videoUrl:`https://api.randmar.io/V4/Partner/${t.ApplicationId}/Account/Video`,videoExistsUrl:`https://api.randmar.io/V4/Partner/${t.ApplicationId}/Account/Video/Exists`,logoUrl:`https://api.randmar.io/V4/Partner/${t.ApplicationId}/Account/Logo?width=64&height=64`,logoExistsUrl:`https://api.randmar.io/V4/Partner/${t.ApplicationId}/Account/Logo/Exists`}:null,[t==null?void 0:t.ApplicationId]);React.useEffect(()=>{if(!T||n)return;let M=!0;R(null);const A=async()=>{try{const D=await fetch(T.logoExistsUrl);if(D.ok){const V=(await D.text()).toLowerCase()==="true";return M&&p(V),V}return!1}catch(D){return console.error("Failed to check if logo exists:",D),M&&p(!1),!1}},N=async()=>{M&&d(!0);try{const D=await fetch(T.logoUrl);if(D.ok){const B=await D.blob();M&&(o&&URL.revokeObjectURL(o),l(URL.createObjectURL(B)))}else throw new Error(`Failed to load logo: ${D.status}`)}catch(D){console.error("Failed to load logo:",D),M&&R("Failed to load partner logo")}finally{M&&d(!1)}},O=async()=>{try{const D=await fetch(T.videoExistsUrl);if(D.ok){const B=await D.text();M&&g(B.toLowerCase()==="true")}else throw new Error(`Failed to check video: ${D.status}`)}catch(D){console.error("Failed to check if video exists:",D),M&&g(!1)}};return(async()=>{await A()&&N(),O()})(),()=>{M=!1,o&&URL.revokeObjectURL(o)}},[T,n]);const I=()=>{_(!1)};return n||!t?jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"flex flex-row items-start justify-between space-y-0 pb-2 pt-4",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx(Skeleton,{className:"h-12 w-12 rounded-md"}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-16"}),jsxRuntime.jsx(Skeleton,{className:"h-3 w-16"})]}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-48 mt-1"})]})]})}),jsxRuntime.jsx(CardContent,{className:"pb-2",children:jsxRuntime.jsxs("div",{className:"flex flex-col gap-4",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-24 rounded-full"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-20 rounded-full"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-16 rounded-full"})]}),i&&jsxRuntime.jsx("div",{className:"p-3 bg-slate-50 rounded-md",children:jsxRuntime.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-2",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-20 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-24"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-20 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-24"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-20 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-24"})]})]})})]})}),jsxRuntime.jsxs(CardFooter,{className:"px-6 py-4 flex justify-between gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-9 w-32"}),jsxRuntime.jsx(Skeleton,{className:"h-9 w-48"})]})]}):jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"flex flex-row items-start justify-between space-y-0 pb-2 pt-4",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[f&&jsxRuntime.jsx("div",{className:"h-12 w-12 overflow-hidden rounded-md",children:u?jsxRuntime.jsx(Skeleton,{className:"h-10 w-10 rounded-md"}):o&&jsxRuntime.jsx("img",{src:o||"/placeholder.svg",alt:`${t.PublicName}'s logo`,className:"max-h-10 w-auto object-contain"})}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-xs text-primary",children:"Partner"}),jsxRuntime.jsx("span",{className:"text-xs text-muted-foreground",children:"|"}),jsxRuntime.jsx("span",{className:"text-xs text-muted-foreground",children:t.ApplicationId})]}),jsxRuntime.jsx("h3",{className:"font-semibold",children:t.PublicName||"N/A"})]})]})}),jsxRuntime.jsxs(CardContent,{className:"pb-2",children:[C&&jsxRuntime.jsx("div",{className:"text-red-500 mb-4 text-sm",role:"alert",children:C}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-4",children:[(t.IsManufacturer||t.IsReseller||t.IsSalesAgency)&&jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-2",children:[t.IsManufacturer&&jsxRuntime.jsx(Badge,{className:"manufacturer-theme",children:"Manufacturer"}),t.IsReseller&&jsxRuntime.jsx(Badge,{className:"reseller-theme",children:"Reseller"}),t.IsSalesAgency&&jsxRuntime.jsx(Badge,{children:"Agency"})]}),i&&jsxRuntime.jsx("div",{className:"p-3 bg-slate-50 rounded-md",children:jsxRuntime.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-2",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"Voice Name"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.VoiceName??"Regular"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"Voice Style"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.VoiceStyle??"Regular"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"Scene Name"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.SceneName??"N/A"})]})]})})]})]}),jsxRuntime.jsxs(CardFooter,{className:"px-6 py-4 flex justify-between gap-2",children:[m&&T?jsxRuntime.jsxs(Dialog,{open:S,onOpenChange:E,children:[jsxRuntime.jsx(DialogTrigger,{asChild:!0,children:jsxRuntime.jsxs(Button,{variant:"outline",className:"flex items-center gap-2",children:[jsxRuntime.jsx(Video,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:"Watch Video"})]})}),jsxRuntime.jsxs(DialogContent,{className:"sm:max-w-[360px]",children:[jsxRuntime.jsx(DialogHeader,{children:jsxRuntime.jsxs(DialogTitle,{children:[t.PublicName," Video"]})}),jsxRuntime.jsxs("div",{className:"w-full h-[640px] rounded-md overflow-hidden",children:[b&&jsxRuntime.jsx(Skeleton,{className:"w-full h-full"}),jsxRuntime.jsx("video",{src:T.videoUrl,controls:!0,preload:"auto",playsInline:!0,autoPlay:!0,"aria-label":`Video for ${t.PublicName}`,className:`w-full h-full object-cover ${b?"invisible":"visible"}`,style:{objectPosition:"center",imageRendering:"auto"},onLoadedData:I,onError:()=>_(!1)})]})]})]}):jsxRuntime.jsx("div",{}),e||jsxRuntime.jsxs(Button,{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ExternalLink,{className:"h-4 w-4"}),"Go to Partner Dashboard"]})]})]})}const Textarea=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx("textarea",{className:cn("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:n,...e}));Textarea.displayName="Textarea";const ASSISTANT_ID="RandmarAIChatAssistant",ChatLayout=React.forwardRef(({userId:t,userName:e,apiKey:n,inputRef:i},o)=>{var ce,se,te;const{data:l}=useGetV4PartnerByApplicationIdBusinessDevelopmentConversationsQuery({applicationId:t}),[u]=useLazyGetV4PartnerByApplicationIdAccountQuery(),[d]=usePostV4PartnerByApplicationIdAccountDebugFeedbackMutation(),[f]=useLazyGetV4PartnerByApplicationIdBusinessDevelopmentConversationAndConversationIdMessagesQuery(),{handleSubmitToBot:p,botMessages:m,clearBotMessages:g,botReady:b,debugMessages:_,botStatus:C,reset:R}=useAIAssistant({userId:t,apiKey:n});React.useEffect(()=>{if(!l)return;const Z={partner1:[t,ASSISTANT_ID].sort()[0],partner2:[t,ASSISTANT_ID].sort()[1],name:"Randmar Assistant",unread:0,pending:!1,historyFetched:!0,messages:[],conversationID:-1},K=l.map(de=>{var ee;return{partner1:[de.Participant1,de.Participant2].sort()[0],partner2:[de.Participant1,de.Participant2].sort()[1],name:((ee=de.Participant)==null?void 0:ee.PublicName)??"missing public name",unread:0,pending:de.Status!="Approved",historyFetched:!1,messages:[],conversationID:de.ConversationId}});setTimeout(()=>{var de;return(de=W.current)==null?void 0:de.focus()},50),D([Z,...K])},[l]);const[S,E]=React.useState("all"),[T,I]=React.useState([[t,ASSISTANT_ID].sort()[0],[t,ASSISTANT_ID].sort()[1]]),[M,A]=React.useState(""),[N,O]=React.useState(null),[j,D]=React.useState([]),[B,V]=React.useState(""),[F,L]=React.useState(null),[q,G]=React.useState([]),[U,Q]=React.useState(0),H=React.useRef(null),z=React.useRef(null),W=i||z,J=j.filter(Z=>{const K=Z.name.toLowerCase().includes(B.toLowerCase());return S==="all"?K:S==="approved"?K&&!Z.pending:S==="pending"?K&&Z.pending:K});React.useEffect(()=>{m.length!==0&&(m.forEach(Z=>{if(!Z||Z.role!="assistant")return;if(Z.isComponent){G(de=>[...de,Z.content]),Q(0);return}const K={id:Z.timestamp.toString(),fromPartnerID:ASSISTANT_ID,toPartnerID:t,senderName:"Assistant",timestamp:Z.timestamp.getTime(),content:Z.content};K.content=marked(K.content,{async:!1}),ne(K)}),g())},[m]);function ne(Z){const K=[Z.fromPartnerID,Z.toPartnerID];K.sort(),D(de=>{let ee=!1;const fe=de.map(pe=>pe.partner1!==K[0]||pe.partner2!==K[1]||pe.messages.findIndex(me=>me.id==Z.id)!==-1?pe:(ee=!0,{...pe,unread:pe.unread+1,messages:[...pe.messages,Z]}));return ee&&O([K[0],K[1]]),fe})}React.useEffect(()=>{const Z=new HubConnectionBuilder().withUrl("https://api.randmar.io/hub",{accessTokenFactory:()=>localStorage.getItem("access_token"),headers:{"X-Impersonated-Id":t}}).configureLogging(LogLevel.Information).withAutomaticReconnect().withHubProtocol(new JsonHubProtocol).build();return Z.on("ReceiveMessage",ne),Z.start().catch(K=>console.error("Error connecting to SignalR hub:",K)),L(Z),()=>{Z&&Z.stop()}},[t]),React.useEffect(()=>{(N==null?void 0:N[0])!==(T==null?void 0:T[0])||(N==null?void 0:N[1])!==(T==null?void 0:T[1])||(D(Z=>Z.map(K=>K.partner1===(T==null?void 0:T[0])&&K.partner2===(T==null?void 0:T[1])?{...K,unread:0}:K)),setTimeout(()=>{var Z;return(Z=H.current)==null?void 0:Z.scrollIntoView({behavior:"smooth"})},50))},[N,T]),React.useEffect(()=>{var K;if(!T)return;const Z=getActiveChatObject(j,T);Z&&((K=W.current)==null||K.focus(),Q(q.length),u({applicationId:Z.partner1===t?Z.partner2:Z.partner1}).then(de=>{de.data&&(G(ee=>[...ee,jsxRuntime.jsx("div",{className:"mt-2",children:jsxRuntime.jsx(PartnerCard,{account:de.data,action:jsxRuntime.jsx(jsxRuntime.Fragment,{}),withVoice:!1})})]),Q(0))}),Z.historyFetched?(D(de=>de.map(ee=>ee.partner1===T[0]&&ee.partner2===T[1]?{...ee,unread:0}:ee)),setTimeout(()=>{var de;return(de=H.current)==null?void 0:de.scrollIntoView({behavior:"smooth"})},50)):f({applicationId:t,conversationId:Z.conversationID}).unwrap().then(de=>{const ee=de.map(fe=>({id:"history"+fe.MessageId,fromPartnerID:fe.SenderId,toPartnerID:fe.SenderId==T[0]?T[1]:T[0],senderName:fe.SenderName??"missing name",timestamp:new Date(fe.SentDate+"Z").getTime(),content:fe.Content??"no content"}));D(fe=>fe.map(pe=>pe.partner1===T[0]&&pe.partner2===T[1]?{...pe,messages:ee,historyFetched:!0}:pe)),setTimeout(()=>{var fe;return(fe=H.current)==null?void 0:fe.scrollIntoView({behavior:"smooth"})},100)}).catch(de=>{console.error("Error fetching conversation messages:",de)}))},[T,f,t]);const oe=(Z,K,de)=>{const ee={id:crypto.randomUUID(),senderName:e,fromPartnerID:t,toPartnerID:K[0]===t?K[1]:K[0],content:Z,timestamp:Date.now()};D(fe=>fe.map(pe=>pe.partner1===K[0]&&pe.partner2===K[1]?{...pe,messages:[...pe.messages,ee]}:pe)),O([K[0],K[1]]),ee.toPartnerID==ASSISTANT_ID?p(ee.content):de.invoke("NewMessage",ee).catch(fe=>console.error("Error sending message:",fe)),A("")},le=(Z,K)=>{if(!j.length||!F||!b)return!1;const de=j.find(ee=>ee.conversationID===Z);return de?(I([de.partner1,de.partner2]),K&&setTimeout(()=>oe(K,[de.partner1,de.partner2],F),100),!0):!1};if(React.useImperativeHandle(o,()=>({setActiveChatAndSendMessage:le})),!b)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx("div",{className:"flex items-center justify-center p-8",children:jsxRuntime.jsxs("div",{className:"text-center",children:[jsxRuntime.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-primary mx-auto mb-4"}),jsxRuntime.jsx("p",{children:"Loading API functions..."})]})})});const ie=()=>{!M.trim()||!T||!F||(Q(q.length),oe(M,T,F))},ue=()=>{const K={messages:j.find(de=>de.partner1===ASSISTANT_ID||de.partner2===ASSISTANT_ID),debug:_};d({applicationId:t,emailAddress:e,body:K})},ae=()=>{D(Z=>Z.map(de=>de.partner1!==ASSISTANT_ID&&de.partner2!==ASSISTANT_ID?de:{...de,messages:[]})),R()};return jsxRuntime.jsxs("div",{className:"flex h-[85vh] overflow-hidden",children:[jsxRuntime.jsxs("div",{className:"w-[260px] p-4 pt-3 flex flex-col border-r",children:[jsxRuntime.jsx("div",{className:"p-4 font-semibold border-b",children:"Communications"}),j.length>1&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"p-2",children:jsxRuntime.jsxs("div",{className:"relative",children:[jsxRuntime.jsx(Search,{className:"absolute left-2 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground"}),jsxRuntime.jsx(Input,{placeholder:"Search chats...",className:"pl-8 h-9",value:B,onChange:Z=>V(Z.target.value)})]})}),jsxRuntime.jsx(Tabs,{value:S,onValueChange:E,className:"w-full mb-1",children:jsxRuntime.jsxs(TabsList,{className:"grid grid-cols-8 h-9 mx-2",children:[jsxRuntime.jsx(TabsTrigger,{value:"all",className:"text-xs col-span-2",children:"All"}),jsxRuntime.jsx(TabsTrigger,{value:"approved",className:"text-xs col-span-3",children:"Approved"}),jsxRuntime.jsx(TabsTrigger,{value:"pending",className:"text-xs col-span-3",children:"Pending"})]})})]}),jsxRuntime.jsx(ScrollArea,{className:"flex-1",children:j.length&&jsxRuntime.jsx(ChatList,{userId:t,chats:J.filter(Z=>Z.partner1!=ASSISTANT_ID&&Z.partner2!=ASSISTANT_ID),activeChat:getActiveChatObject(j,T)??null,onSelectChat:I,assistantChat:j.find(Z=>Z.partner1==ASSISTANT_ID||Z.partner2==ASSISTANT_ID)})})]}),jsxRuntime.jsx("div",{className:"flex-1 flex flex-col",children:T?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"flex items-center p-4 border-b",children:T[0]==ASSISTANT_ID||T[1]==ASSISTANT_ID?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Avatar,{className:"h-8 w-8 flex-shrink-0 rounded-none",children:jsxRuntime.jsx(Bot,{className:"text-primary fill-white min-h-full"})}),jsxRuntime.jsx("div",{className:"ml-3 font-medium",children:"Randmar Assistant"}),jsxRuntime.jsx(Button,{variant:"ghost",size:"icon",className:"ml-auto",onClick:()=>ae(),children:jsxRuntime.jsx(MessageCircleX,{className:"h-5 w-5"})}),jsxRuntime.jsx(Button,{variant:"ghost",size:"icon",className:"ml-1",confirmationDialog:{title:"Report Issue",content:"This action will send a copy of your chat to Randmar. Send it?",onConfirm:()=>ue()},children:jsxRuntime.jsx(MessageSquareShare,{className:"h-5 w-5"})})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(Avatar,{className:"h-8 w-8 flex-shrink-0 rounded-none",children:[jsxRuntime.jsx(AvatarImage,{src:`https://api.randmar.io/v4/Partner/${T[0]===t?T[1]:T[0]}/Account/Logo?height=72&width=72`,className:" object-contain "}),jsxRuntime.jsx(AvatarFallback,{children:jsxRuntime.jsx(Handshake,{className:"text-primary fill-white min-h-full"})})]}),jsxRuntime.jsx("div",{className:"ml-3 font-medium",children:(ce=getActiveChatObject(j,T))==null?void 0:ce.name})]})}),(se=getActiveChatObject(j,T))!=null&&se.pending?jsxRuntime.jsx("p",{className:"mt-8 p-2 mx-auto",children:"This conversation is still awaiting approval — please check back later."}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(ScrollArea,{className:"flex-1 pl-2 pr-2 bg-slate-50",children:[jsxRuntime.jsx(ChatMessages,{messages:((te=getActiveChatObject(j,T))==null?void 0:te.messages)??[],currentUserId:t,isAssistantChat:isAssistantChat(T),botStatus:isAssistantChat(T)?C:""}),jsxRuntime.jsx("div",{ref:H})]}),jsxRuntime.jsxs("div",{className:"p-4 border-t flex",children:[jsxRuntime.jsx(Textarea,{ref:W,placeholder:"Type a message...",value:M,onChange:Z=>A(Z.target.value),onKeyDown:Z=>{Z.key!=="Enter"||Z.shiftKey||(Z.preventDefault(),ie())},className:"flex-1 resize-none"}),jsxRuntime.jsx(Button,{size:"icon",variant:"default",className:"ml-2 h-15 w-15",disabled:C!=="",onClick:ie,children:jsxRuntime.jsx(Send,{className:"h-6 w-6"})})]})]})]}):jsxRuntime.jsx("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:"Select a chat to start messaging"})}),jsxRuntime.jsxs("div",{className:"w-[480px] flex flex-1 flex-col border-l",children:[jsxRuntime.jsx("div",{className:"flex items-center p-4 border-b",children:jsxRuntime.jsx("p",{className:"h-9 text-base/9",children:"Visuals and System Info"})}),jsxRuntime.jsx(ScrollArea,{className:"flex-4 pl-2 pr-2 bg-slate-50",children:U>=0&&q.length>U&&q[q.length-(1+U)]}),jsxRuntime.jsxs("div",{className:"flex bg-slate-50 border-t pt-1 pb-1 justify-center gap-4",children:[jsxRuntime.jsx(Button,{size:"icon",onClick:()=>Q(Z=>Z+1),children:jsxRuntime.jsx(ChevronLeft,{})}),jsxRuntime.jsx(Button,{size:"icon",onClick:()=>Q(Z=>Z-1),children:jsxRuntime.jsx(ChevronRight,{})})]}),jsxRuntime.jsx(ScrollArea,{className:"flex-1 border-t pl-2 pr-2 bg-slate-50",children:jsxRuntime.jsx("div",{className:"space-y-2",children:_.map(Z=>jsxRuntime.jsx("p",{className:"text-slate-600",children:Z}))})})]})]})});function getActiveChatObject(t,e){return t.find(n=>n.partner1==(e==null?void 0:e[0])&&n.partner2==(e==null?void 0:e[1]))}function isAssistantChat(t){return(t==null?void 0:t[0])==ASSISTANT_ID||(t==null?void 0:t[1])==ASSISTANT_ID}function ManufacturerCard({manufacturer:t,link:e,linkNewTab:n=!0,actions:i,loading:o=!1}){var g;if(o||!t)return jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"flex flex-row items-start justify-between space-y-0 pb-2 pt-4",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx(Skeleton,{className:"h-12 w-12 rounded-md"}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-24 mb-2"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-40 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-32 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-48"})]})]})}),jsxRuntime.jsx(CardContent,{className:"pb-2",children:jsxRuntime.jsxs("div",{className:"flex flex-col space-y-2",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-16 rounded-full"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-20 rounded-full"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-14 rounded-full"})]}),jsxRuntime.jsxs("div",{className:"space-y-1 pt-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-4"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-32"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-4"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-40"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-4"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-36"})]})]})]})}),jsxRuntime.jsxs(CardFooter,{className:"flex justify-between pt-2 gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-9 w-24"}),jsxRuntime.jsx(Skeleton,{className:"h-9 w-40"})]})]});const l=t.ManufacturerId||"N/A",u=t.PublicName||"N/A",d=[t.City,t.Province,t.Country].filter(Boolean),f=d.length>0?d.join(", "):"",p=((g=t.Tags)==null?void 0:g.split(",").map(b=>b.trim()).filter(Boolean))||[],m=b=>b===void 0?"n/a":new Intl.NumberFormat("en-CA",{style:"currency",currency:"CAD",minimumFractionDigits:0,maximumFractionDigits:0}).format(b);return jsxRuntime.jsxs(Card,{className:"manufacturer-theme",children:[jsxRuntime.jsxs(CardHeader,{className:"flex flex-row items-start justify-between space-y-0 pb-2 pt-4",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("div",{className:"h-12 w-12 overflow-hidden rounded-md",children:jsxRuntime.jsx("img",{src:`https://api.randmar.io/V4/Partner/${l}/Account/Logo?width=64&height=64`,alt:`${u}'s logo`,className:"max-h-10 w-auto object-contain"})}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-xs text-primary",children:"Manufacturer"}),jsxRuntime.jsx("span",{className:"text-xs text-muted-foreground",children:"|"}),jsxRuntime.jsx("span",{className:"text-xs text-muted-foreground",children:l})]}),jsxRuntime.jsx("h3",{className:"font-semibold",children:t.PublicName||"N/A"}),t.Name&&jsxRuntime.jsx("p",{className:"text-sm text-muted-foreground",children:t.Name}),f&&jsxRuntime.jsx("p",{className:"text-sm text-muted-foreground",children:f})]})]}),!!t.OnHold&&t.OnHold!==0&&jsxRuntime.jsx(Badge,{variant:"warning",children:"On Hold"})]}),jsxRuntime.jsx(CardContent,{className:"pb-2",children:jsxRuntime.jsxs("div",{className:"flex",children:[jsxRuntime.jsxs("div",{className:"flex flex-col flex-1 space-y-2",children:[(!!t.OpenToWork||p.length>0)&&jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-2",children:[!!t.OpenToWork&&jsxRuntime.jsx(Badge,{variant:"success",children:"Open To Work"}),p.map((b,_)=>jsxRuntime.jsx(Badge,{variant:"outline",children:b},_))]}),jsxRuntime.jsxs("div",{className:"space-y-1 pt-2",children:[t.Phone&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(Phone,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.Phone})]}),t.PublicEmail&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(Mail,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.PublicEmail})]}),t.Website&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(Globe,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.Website})]}),t.CurrencyCode&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(DollarSign,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.CurrencyCode})]})]})]}),t.SalesData&&jsxRuntime.jsxs("div",{className:"border-l pl-2 ml-2 flex flex-col text-sm",children:[jsxRuntime.jsx("strong",{className:"",children:"YTD"}),jsxRuntime.jsx("p",{children:m(t.SalesData.SalesYearToDay)}),jsxRuntime.jsx("strong",{className:"mt-2",children:"3 mo."}),jsxRuntime.jsx("p",{children:m(t.SalesData.SalesLast3Months)}),jsxRuntime.jsx("strong",{className:"mt-2",children:"30 days"}),jsxRuntime.jsx("p",{children:m(t.SalesData.SalesLast30Days)})]})]})}),(i||e)&&jsxRuntime.jsxs(CardFooter,{className:`flex pt-2 gap-2 ${i?"justify-between":"justify-end"}`,children:[i&&i,e&&jsxRuntime.jsx(Button,{className:"flex items-center gap-1",asChild:!0,children:n?jsxRuntime.jsxs(reactRouterDom.Link,{to:e,target:"_blank",children:[jsxRuntime.jsx(ExternalLink,{className:"h-4 w-4"}),"Go to Manufacturer"]}):jsxRuntime.jsx(reactRouterDom.Link,{to:e,children:"Go to Manufacturer"})})]})]})}function ResellerCard({reseller:t,link:e,actions:n,loading:i=!1}){if(i||!t)return jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"flex flex-row items-start justify-between space-y-0 pb-2 pt-4",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx(Skeleton,{className:"h-12 w-12 rounded-md"}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-24 mb-2"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-40 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-32 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-48"})]})]})}),jsxRuntime.jsx(CardContent,{className:"pb-2",children:jsxRuntime.jsx("div",{className:"flex flex-col space-y-2",children:jsxRuntime.jsxs("div",{className:"space-y-1 pt-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-4"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-32"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-4"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-40"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-4"}),jsxRuntime.jsx(Skeleton,{className:"h-4 w-36"})]})]})})}),jsxRuntime.jsxs(CardFooter,{className:"flex justify-between pt-2 gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-9 w-24"}),jsxRuntime.jsx(Skeleton,{className:"h-9 w-40"})]})]});const o=t.ResellerId||"N/A",l=t.PublicName||"N/A",u=[t.City,t.Province,t.Country].filter(Boolean),d=u.length>0?u.join(", "):"Location not provided";return jsxRuntime.jsxs(Card,{className:"reseller-theme",children:[jsxRuntime.jsxs(CardHeader,{className:"flex flex-row items-start justify-between space-y-0 pb-2 pt-4",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("div",{className:"h-12 w-12 overflow-hidden rounded-md",children:jsxRuntime.jsx("img",{src:`https://api.randmar.io/V4/Partner/${o}/Account/Logo?width=64&height=64`,alt:`${l}'s logo`,className:"max-h-10 w-auto object-contain"})}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-xs text-primary",children:"Reseller"}),jsxRuntime.jsx("span",{className:"text-xs text-muted-foreground",children:"|"}),jsxRuntime.jsx("span",{className:"text-xs text-muted-foreground",children:o})]}),jsxRuntime.jsx("h3",{className:"font-semibold",children:t.PublicName||"N/A"}),t.Name&&jsxRuntime.jsx("p",{className:"text-sm text-muted-foreground",children:t.Name}),jsxRuntime.jsx("p",{className:"text-sm text-muted-foreground",children:d})]})]}),!!t.OnHold&&t.OnHold!==0&&jsxRuntime.jsx(Badge,{variant:"warning",children:"On Hold"})]}),jsxRuntime.jsx(CardContent,{className:"pb-2",children:jsxRuntime.jsx("div",{className:"flex flex-col space-y-2",children:jsxRuntime.jsxs("div",{className:"space-y-1 pt-2",children:[t.Phone&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(Phone,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.Phone})]}),t.PublicEmail&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(Mail,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.PublicEmail})]}),t.Website&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(Globe,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.Website})]}),t.CurrencyCode&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[jsxRuntime.jsx(DollarSign,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:t.CurrencyCode})]})]})})}),(n||e)&&jsxRuntime.jsxs(CardFooter,{className:`flex pt-2 gap-2 ${n?"justify-between":"justify-end"}`,children:[n&&n,e&&jsxRuntime.jsx(Button,{className:"flex items-center gap-1",asChild:!0,children:jsxRuntime.jsxs(reactRouterDom.Link,{to:e,target:"_blank",children:[jsxRuntime.jsx(ExternalLink,{className:"h-4 w-4"}),"Go to Reseller"]})})]})]})}const Topbar=React.forwardRef(({onSignOut:t,handleValidSearch:e,rightMenu:n,searchPlaceholder:i},o)=>{const[l,u]=React.useState(""),d=reactRouterDom.useLocation(),{toast:f}=useToast();React.useEffect(()=>{const b=new URLSearchParams(d.search).get("q");b&&u(b)},[d.search]);const p=()=>{const g=l.trim();if(!g||g.length<2){f({title:"Enter more characters to search",description:"At least 2 characters are needed to search products.",variant:"destructive",duration:5e3});return}e(g)},m=g=>{g.key==="Enter"&&p()};return jsxRuntime.jsxs("header",{className:"flex h-16 items-center gap-4 border-b sidebar-foreground bg-sidebar px-6 fixed top-0 right-0 z-50 lg:left-64 left-0 border-sidebar-border",children:[jsxRuntime.jsx(SidebarTrigger,{className:"lg:hidden",children:jsxRuntime.jsx(Menu$1,{className:"h-6 w-6"})}),jsxRuntime.jsx("div",{className:"flex flex-1 items-center gap-4",children:jsxRuntime.jsx("div",{className:"relative w-full max-w-sm",children:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("button",{type:"button",className:"absolute left-2 top-1/2 -translate-y-1/2",onClick:p,"aria-label":"Search",children:jsxRuntime.jsx(Search,{className:"h-4 w-4 text-muted-foreground"})}),jsxRuntime.jsx(Input,{placeholder:i??"Search...",className:"w-full pl-8 bg-white text-black",value:l,onChange:g=>u(g.target.value),onKeyDown:m,ref:o},"topbar-search")]})})}),n||jsxRuntime.jsx(jsxRuntime.Fragment,{}),t&&jsxRuntime.jsx("div",{className:"flex items-center gap-4",children:jsxRuntime.jsxs(Button,{variant:"ghost",size:"icon",className:"h-9 w-9",onClick:t,children:[jsxRuntime.jsx(LogOut,{className:"h-4 w-4 text-sidebar-foreground"}),jsxRuntime.jsx("span",{className:"sr-only",children:"Sign out"})]})})]})});Topbar.displayName="Topbar";function ActiveOrdersCard({orders:t,loading:e=!1}){const n=l=>new Intl.NumberFormat("en-CA",{style:"currency",currency:"CAD",minimumFractionDigits:2,maximumFractionDigits:2}).format(l),i=React.useMemo(()=>{if(!t||t.length===0)return{all:{orders:0,amount:0},processing:{orders:0,amount:0},shipped:{orders:0,amount:0},delayed:{orders:0,amount:0}};const l=t.filter(E=>E.DocumentType==="Order"),u=t.filter(E=>E.DocumentType==="Shipment"),d=l.filter(E=>E.WarehouseCode!=="3PLE"),f=d.reduce((E,T)=>E+(T.Quantity||0),0),p=d.reduce((E,T)=>E+(T.ExtendedPrice||0),0),m=l.filter(E=>E.WarehouseCode==="3PLE"),g=m.reduce((E,T)=>E+(T.Quantity||0),0),b=m.reduce((E,T)=>E+(T.ExtendedPrice||0),0),_=u.length,C=u.reduce((E,T)=>E+(T.ExtendedPrice||0),0),R=f+g+_,S=p+b+C;return{all:{orders:R,amount:S},processing:{orders:f,amount:p},shipped:{orders:_,amount:C},delayed:{orders:g,amount:b}}},[t]),o=[{name:"All",icon:Package,color:"bg-blue-500",textColor:"text-blue-600",orders:i.all.orders,amount:i.all.amount},{name:"Processing",icon:RefreshCcw,color:"bg-yellow-500",textColor:"text-yellow-600",orders:i.processing.orders,amount:i.processing.amount},{name:"Shipped",icon:Truck,color:"bg-green-500",textColor:"text-green-600",orders:i.shipped.orders,amount:i.shipped.amount},{name:"Delayed",icon:CircleAlert,color:"bg-red-500",textColor:"text-red-600",orders:i.delayed.orders,amount:i.delayed.amount}];return e?jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"pb-0",children:jsxRuntime.jsx(CardTitle,{className:"text-lg font-bold",children:"Active Orders"})}),jsxRuntime.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 p-4",children:[1,2,3,4].map(l=>jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-md border",children:[jsxRuntime.jsx("div",{className:"bg-slate-200 dark:bg-slate-700 h-[3px]"}),jsxRuntime.jsxs("div",{className:"p-6 border border-t-0",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center mb-4",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-24"}),jsxRuntime.jsx(Skeleton,{className:"h-8 w-8 rounded-full"})]}),jsxRuntime.jsxs("div",{className:"flex justify-between items-start",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-16 mb-2"}),jsxRuntime.jsx(Skeleton,{className:"h-7 w-12"})]}),jsxRuntime.jsxs("div",{className:"text-end",children:[jsxRuntime.jsx(Skeleton,{className:"h-3 w-16 mb-2"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-20"})]})]})]})]},l))})]}):jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"pb-0",children:jsxRuntime.jsx(CardTitle,{className:"text-lg font-bold",children:"Active Orders"})}),jsxRuntime.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 p-4",children:o.map(l=>jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-md border",children:[jsxRuntime.jsx("div",{className:`${l.color} bg-opacity-60 h-[3px]`}),jsxRuntime.jsxs("div",{className:"p-6 border border-t-0",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center mb-4",children:[jsxRuntime.jsx("h3",{className:"font-semibold text-base",children:l.name}),jsxRuntime.jsx("div",{className:`${l.color} bg-opacity-90 p-2 rounded-full`,children:jsxRuntime.jsx(l.icon,{className:"size-4 shrink-0 text-white"})})]}),jsxRuntime.jsxs("div",{className:"flex justify-between items-start",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"text-xs text-muted-foreground",children:"Total Orders"}),jsxRuntime.jsx("p",{className:"text-xl font-bold",children:l.orders})]}),jsxRuntime.jsxs("div",{className:"text-end",children:[jsxRuntime.jsx("p",{className:"text-xs text-muted-foreground",children:"Total Amount"}),jsxRuntime.jsx("p",{className:"text-base font-semibold",children:n(l.amount)})]})]})]})]},l.name))})]})}const CountryFlag=({countryCode:t,className:e=""})=>{const[n,i]=React.useState(null),[o,l]=React.useState(!1);return React.useEffect(()=>{if(!t)return;const d=`https://purecatamphetamine.github.io/country-flag-icons/3x2/${t.toUpperCase()}.svg`;fetch(d,{method:"HEAD"}).then(f=>{f.ok?(i(d),l(!1)):l(!0)}).catch(()=>{l(!0)})},[t]),o||!n?jsxRuntime.jsx("span",{className:e,children:t}):jsxRuntime.jsx("img",{src:n,alt:`${t} flag`,className:`inline-block ${e}`,style:{width:"24px",height:"auto"}})};function GeneralDocumentCard({document:t,loading:e=!1}){return e?jsxRuntime.jsx("div",{children:"loading..."}):jsxRuntime.jsxs("div",{children:["GENERAL DOCUMENT CARD - ",t==null?void 0:t.OrderNumber," for P.O. ",t==null?void 0:t.PONumber]})}const Navbar=React.forwardRef(({routes:t,footer:e,dashboardTitle:n,withRandmarAssistant:i,chatUserName:o,chatApiKey:l},u)=>{const{appID:d}=reactRouterDom.useParams(),f=t.filter(b=>b.showInNav),p=React.useRef(null),m=React.useRef(null),g=React.useRef(null);return React.useImperativeHandle(u,()=>({setActiveChatAndSendMessage:(b,_)=>{var C;return(C=g.current)==null||C.click(),setTimeout(()=>{var R;(R=p.current)==null||R.focus(),m.current&&m.current.setActiveChatAndSendMessage(b,_)},100),!0}})),jsxRuntime.jsxs(Sidebar,{className:"border-r border-sidebar-border",children:[jsxRuntime.jsx(SidebarHeader,{className:"border-b border-sidebar-border px-6 h-16 justify-center bg-sidebar text-sidebar-foreground",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"flex items-center justify-center",children:jsxRuntime.jsx("img",{src:"https://api.randmar.io/images/RandmarIcon.svg",alt:"Randmar Icon",className:"h-4 w-4 filter brightness-0 saturate-100 invert"})}),jsxRuntime.jsx("span",{className:"font-semibold text-lg",children:n})]})}),jsxRuntime.jsx(SidebarContent,{className:"py-4 bg-sidebar text-sidebar-foreground",children:jsxRuntime.jsx(SidebarMenu,{children:f.map(b=>{const _=b.icon,C=`/${b.path.replace(":appID",d??"")}`;return jsxRuntime.jsx(SidebarMenuItem,{children:jsxRuntime.jsx(SidebarMenuButton,{asChild:!0,children:jsxRuntime.jsxs(reactRouterDom.Link,{to:C,className:"transition-colors hover:bg-muted px-6",children:[_&&jsxRuntime.jsx(_,{className:"h-4 w-4"}),jsxRuntime.jsx("span",{children:b.label})]})})},b.key)})})}),jsxRuntime.jsxs(SidebarFooter,{className:"border-t border-sidebar-border p-4 bg-sidebar-background text-sidebar-foreground",children:[i===!0&&jsxRuntime.jsxs(Dialog,{children:[jsxRuntime.jsx(DialogTrigger,{asChild:!0,children:jsxRuntime.jsxs(Button,{ref:g,size:"lg",className:"collapse md:visible",onClick:()=>setTimeout(()=>{var b;return(b=p.current)==null?void 0:b.focus()},50),children:[jsxRuntime.jsx(Bot,{}),"Assistant"]})}),jsxRuntime.jsx(DialogContent,{className:"max-w-[85vw] p-0 data-[state=open]:visible data-[state=closed]:invisible",forceMount:!0,animateExit:!1,children:jsxRuntime.jsx(ChatLayout,{ref:m,inputRef:p,userId:d??"2",userName:o??"Unknown user",apiKey:l??""})})]}),e]})]})}),Layout=React.forwardRef(({children:t,rightMenu:e,routes:n,footer:i,handleValidSearch:o,dashboardTitle:l,onSignOut:u,searchPlaceholder:d,withRandmarAssistant:f,chatUserName:p,chatApiKey:m,chatRef:g},b)=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx(SidebarProvider,{children:jsxRuntime.jsxs("div",{className:"flex grow",children:[jsxRuntime.jsx(Navbar,{routes:n,footer:i,dashboardTitle:l,withRandmarAssistant:f,chatUserName:p,chatApiKey:m,ref:g}),jsxRuntime.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[jsxRuntime.jsx(Topbar,{ref:b,onSignOut:u,rightMenu:e,handleValidSearch:o,searchPlaceholder:d}),jsxRuntime.jsx("main",{className:"flex-1 overflow-auto mt-16",children:t}),jsxRuntime.jsx(Toaster,{})]})]})})}));Layout.displayName="Layout";function usePrevious(t){const e=React__namespace.useRef({value:t,previous:t});return React__namespace.useMemo(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}var OPEN_KEYS=[" ","Enter","ArrowUp","ArrowDown"],SELECTION_KEYS=[" ","Enter"],SELECT_NAME="Select",[Collection,useCollection,createCollectionScope]=createCollection(SELECT_NAME),[createSelectContext,createSelectScope]=createContextScope(SELECT_NAME,[createCollectionScope,createPopperScope]),usePopperScope=createPopperScope(),[SelectProvider,useSelectContext]=createSelectContext(SELECT_NAME),[SelectNativeOptionsProvider,useSelectNativeOptionsContext]=createSelectContext(SELECT_NAME),Select$1=t=>{const{__scopeSelect:e,children:n,open:i,defaultOpen:o,onOpenChange:l,value:u,defaultValue:d,onValueChange:f,dir:p,name:m,autoComplete:g,disabled:b,required:_,form:C}=t,R=usePopperScope(e),[S,E]=React__namespace.useState(null),[T,I]=React__namespace.useState(null),[M,A]=React__namespace.useState(!1),N=useDirection(p),[O,j]=useControllableState({prop:i,defaultProp:o??!1,onChange:l,caller:SELECT_NAME}),[D,B]=useControllableState({prop:u,defaultProp:d,onChange:f,caller:SELECT_NAME}),V=React__namespace.useRef(null),F=S?C||!!S.closest("form"):!0,[L,q]=React__namespace.useState(new Set),G=Array.from(L).map(U=>U.props.value).join(";");return jsxRuntime.jsx(Root2$4,{...R,children:jsxRuntime.jsxs(SelectProvider,{required:_,scope:e,trigger:S,onTriggerChange:E,valueNode:T,onValueNodeChange:I,valueNodeHasChildren:M,onValueNodeHasChildrenChange:A,contentId:useId(),value:D,onValueChange:B,open:O,onOpenChange:j,dir:N,triggerPointerDownPosRef:V,disabled:b,children:[jsxRuntime.jsx(Collection.Provider,{scope:e,children:jsxRuntime.jsx(SelectNativeOptionsProvider,{scope:t.__scopeSelect,onNativeOptionAdd:React__namespace.useCallback(U=>{q(Q=>new Set(Q).add(U))},[]),onNativeOptionRemove:React__namespace.useCallback(U=>{q(Q=>{const H=new Set(Q);return H.delete(U),H})},[]),children:n})}),F?jsxRuntime.jsxs(SelectBubbleInput,{"aria-hidden":!0,required:_,tabIndex:-1,name:m,autoComplete:g,value:D,onChange:U=>B(U.target.value),disabled:b,form:C,children:[D===void 0?jsxRuntime.jsx("option",{value:""}):null,Array.from(L)]},G):null]})})};Select$1.displayName=SELECT_NAME;var TRIGGER_NAME="SelectTrigger",SelectTrigger$1=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,disabled:i=!1,...o}=t,l=usePopperScope(n),u=useSelectContext(TRIGGER_NAME,n),d=u.disabled||i,f=useComposedRefs(e,u.onTriggerChange),p=useCollection(n),m=React__namespace.useRef("touch"),[g,b,_]=useTypeaheadSearch(R=>{const S=p().filter(I=>!I.disabled),E=S.find(I=>I.value===u.value),T=findNextItem(S,R,E);T!==void 0&&u.onValueChange(T.value)}),C=R=>{d||(u.onOpenChange(!0),_()),R&&(u.triggerPointerDownPosRef.current={x:Math.round(R.pageX),y:Math.round(R.pageY)})};return jsxRuntime.jsx(Anchor,{asChild:!0,...l,children:jsxRuntime.jsx(Primitive.button,{type:"button",role:"combobox","aria-controls":u.contentId,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":shouldShowPlaceholder(u.value)?"":void 0,...o,ref:f,onClick:composeEventHandlers(o.onClick,R=>{R.currentTarget.focus(),m.current!=="mouse"&&C(R)}),onPointerDown:composeEventHandlers(o.onPointerDown,R=>{m.current=R.pointerType;const S=R.target;S.hasPointerCapture(R.pointerId)&&S.releasePointerCapture(R.pointerId),R.button===0&&R.ctrlKey===!1&&R.pointerType==="mouse"&&(C(R),R.preventDefault())}),onKeyDown:composeEventHandlers(o.onKeyDown,R=>{const S=g.current!=="";!(R.ctrlKey||R.altKey||R.metaKey)&&R.key.length===1&&b(R.key),!(S&&R.key===" ")&&OPEN_KEYS.includes(R.key)&&(C(),R.preventDefault())})})})});SelectTrigger$1.displayName=TRIGGER_NAME;var VALUE_NAME="SelectValue",SelectValue$1=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,className:i,style:o,children:l,placeholder:u="",...d}=t,f=useSelectContext(VALUE_NAME,n),{onValueNodeHasChildrenChange:p}=f,m=l!==void 0,g=useComposedRefs(e,f.onValueNodeChange);return useLayoutEffect2(()=>{p(m)},[p,m]),jsxRuntime.jsx(Primitive.span,{...d,ref:g,style:{pointerEvents:"none"},children:shouldShowPlaceholder(f.value)?jsxRuntime.jsx(jsxRuntime.Fragment,{children:u}):l})});SelectValue$1.displayName=VALUE_NAME;var ICON_NAME="SelectIcon",SelectIcon=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,children:i,...o}=t;return jsxRuntime.jsx(Primitive.span,{"aria-hidden":!0,...o,ref:e,children:i||"▼"})});SelectIcon.displayName=ICON_NAME;var PORTAL_NAME="SelectPortal",SelectPortal=t=>jsxRuntime.jsx(Portal$4,{asChild:!0,...t});SelectPortal.displayName=PORTAL_NAME;var CONTENT_NAME="SelectContent",SelectContent$1=React__namespace.forwardRef((t,e)=>{const n=useSelectContext(CONTENT_NAME,t.__scopeSelect),[i,o]=React__namespace.useState();if(useLayoutEffect2(()=>{o(new DocumentFragment)},[]),!n.open){const l=i;return l?ReactDOM__namespace.createPortal(jsxRuntime.jsx(SelectContentProvider,{scope:t.__scopeSelect,children:jsxRuntime.jsx(Collection.Slot,{scope:t.__scopeSelect,children:jsxRuntime.jsx("div",{children:t.children})})}),l):null}return jsxRuntime.jsx(SelectContentImpl,{...t,ref:e})});SelectContent$1.displayName=CONTENT_NAME;var CONTENT_MARGIN=10,[SelectContentProvider,useSelectContentContext]=createSelectContext(CONTENT_NAME),CONTENT_IMPL_NAME="SelectContentImpl",Slot=createSlot("SelectContent.RemoveScroll"),SelectContentImpl=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,position:i="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:l,onPointerDownOutside:u,side:d,sideOffset:f,align:p,alignOffset:m,arrowPadding:g,collisionBoundary:b,collisionPadding:_,sticky:C,hideWhenDetached:R,avoidCollisions:S,...E}=t,T=useSelectContext(CONTENT_NAME,n),[I,M]=React__namespace.useState(null),[A,N]=React__namespace.useState(null),O=useComposedRefs(e,ae=>M(ae)),[j,D]=React__namespace.useState(null),[B,V]=React__namespace.useState(null),F=useCollection(n),[L,q]=React__namespace.useState(!1),G=React__namespace.useRef(!1);React__namespace.useEffect(()=>{if(I)return hideOthers(I)},[I]),useFocusGuards();const U=React__namespace.useCallback(ae=>{const[ce,...se]=F().map(K=>K.ref.current),[te]=se.slice(-1),Z=document.activeElement;for(const K of ae)if(K===Z||(K==null||K.scrollIntoView({block:"nearest"}),K===ce&&A&&(A.scrollTop=0),K===te&&A&&(A.scrollTop=A.scrollHeight),K==null||K.focus(),document.activeElement!==Z))return},[F,A]),Q=React__namespace.useCallback(()=>U([j,I]),[U,j,I]);React__namespace.useEffect(()=>{L&&Q()},[L,Q]);const{onOpenChange:H,triggerPointerDownPosRef:z}=T;React__namespace.useEffect(()=>{if(I){let ae={x:0,y:0};const ce=te=>{var Z,K;ae={x:Math.abs(Math.round(te.pageX)-(((Z=z.current)==null?void 0:Z.x)??0)),y:Math.abs(Math.round(te.pageY)-(((K=z.current)==null?void 0:K.y)??0))}},se=te=>{ae.x<=10&&ae.y<=10?te.preventDefault():I.contains(te.target)||H(!1),document.removeEventListener("pointermove",ce),z.current=null};return z.current!==null&&(document.addEventListener("pointermove",ce),document.addEventListener("pointerup",se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ce),document.removeEventListener("pointerup",se,{capture:!0})}}},[I,H,z]),React__namespace.useEffect(()=>{const ae=()=>H(!1);return window.addEventListener("blur",ae),window.addEventListener("resize",ae),()=>{window.removeEventListener("blur",ae),window.removeEventListener("resize",ae)}},[H]);const[W,J]=useTypeaheadSearch(ae=>{const ce=F().filter(Z=>!Z.disabled),se=ce.find(Z=>Z.ref.current===document.activeElement),te=findNextItem(ce,ae,se);te&&setTimeout(()=>te.ref.current.focus())}),ne=React__namespace.useCallback((ae,ce,se)=>{const te=!G.current&&!se;(T.value!==void 0&&T.value===ce||te)&&(D(ae),te&&(G.current=!0))},[T.value]),oe=React__namespace.useCallback(()=>I==null?void 0:I.focus(),[I]),le=React__namespace.useCallback((ae,ce,se)=>{const te=!G.current&&!se;(T.value!==void 0&&T.value===ce||te)&&V(ae)},[T.value]),ie=i==="popper"?SelectPopperPosition:SelectItemAlignedPosition,ue=ie===SelectPopperPosition?{side:d,sideOffset:f,align:p,alignOffset:m,arrowPadding:g,collisionBoundary:b,collisionPadding:_,sticky:C,hideWhenDetached:R,avoidCollisions:S}:{};return jsxRuntime.jsx(SelectContentProvider,{scope:n,content:I,viewport:A,onViewportChange:N,itemRefCallback:ne,selectedItem:j,onItemLeave:oe,itemTextRefCallback:le,focusSelectedItem:Q,selectedItemText:B,position:i,isPositioned:L,searchRef:W,children:jsxRuntime.jsx(ReactRemoveScroll,{as:Slot,allowPinchZoom:!0,children:jsxRuntime.jsx(FocusScope,{asChild:!0,trapped:T.open,onMountAutoFocus:ae=>{ae.preventDefault()},onUnmountAutoFocus:composeEventHandlers(o,ae=>{var ce;(ce=T.trigger)==null||ce.focus({preventScroll:!0}),ae.preventDefault()}),children:jsxRuntime.jsx(DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:ae=>ae.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:jsxRuntime.jsx(ie,{role:"listbox",id:T.contentId,"data-state":T.open?"open":"closed",dir:T.dir,onContextMenu:ae=>ae.preventDefault(),...E,...ue,onPlaced:()=>q(!0),ref:O,style:{display:"flex",flexDirection:"column",outline:"none",...E.style},onKeyDown:composeEventHandlers(E.onKeyDown,ae=>{const ce=ae.ctrlKey||ae.altKey||ae.metaKey;if(ae.key==="Tab"&&ae.preventDefault(),!ce&&ae.key.length===1&&J(ae.key),["ArrowUp","ArrowDown","Home","End"].includes(ae.key)){let te=F().filter(Z=>!Z.disabled).map(Z=>Z.ref.current);if(["ArrowUp","End"].includes(ae.key)&&(te=te.slice().reverse()),["ArrowUp","ArrowDown"].includes(ae.key)){const Z=ae.target,K=te.indexOf(Z);te=te.slice(K+1)}setTimeout(()=>U(te)),ae.preventDefault()}})})})})})})});SelectContentImpl.displayName=CONTENT_IMPL_NAME;var ITEM_ALIGNED_POSITION_NAME="SelectItemAlignedPosition",SelectItemAlignedPosition=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,onPlaced:i,...o}=t,l=useSelectContext(CONTENT_NAME,n),u=useSelectContentContext(CONTENT_NAME,n),[d,f]=React__namespace.useState(null),[p,m]=React__namespace.useState(null),g=useComposedRefs(e,O=>m(O)),b=useCollection(n),_=React__namespace.useRef(!1),C=React__namespace.useRef(!0),{viewport:R,selectedItem:S,selectedItemText:E,focusSelectedItem:T}=u,I=React__namespace.useCallback(()=>{if(l.trigger&&l.valueNode&&d&&p&&R&&S&&E){const O=l.trigger.getBoundingClientRect(),j=p.getBoundingClientRect(),D=l.valueNode.getBoundingClientRect(),B=E.getBoundingClientRect();if(l.dir!=="rtl"){const Z=B.left-j.left,K=D.left-Z,de=O.left-K,ee=O.width+de,fe=Math.max(ee,j.width),pe=window.innerWidth-CONTENT_MARGIN,me=clamp(K,[CONTENT_MARGIN,Math.max(CONTENT_MARGIN,pe-fe)]);d.style.minWidth=ee+"px",d.style.left=me+"px"}else{const Z=j.right-B.right,K=window.innerWidth-D.right-Z,de=window.innerWidth-O.right-K,ee=O.width+de,fe=Math.max(ee,j.width),pe=window.innerWidth-CONTENT_MARGIN,me=clamp(K,[CONTENT_MARGIN,Math.max(CONTENT_MARGIN,pe-fe)]);d.style.minWidth=ee+"px",d.style.right=me+"px"}const V=b(),F=window.innerHeight-CONTENT_MARGIN*2,L=R.scrollHeight,q=window.getComputedStyle(p),G=parseInt(q.borderTopWidth,10),U=parseInt(q.paddingTop,10),Q=parseInt(q.borderBottomWidth,10),H=parseInt(q.paddingBottom,10),z=G+U+L+H+Q,W=Math.min(S.offsetHeight*5,z),J=window.getComputedStyle(R),ne=parseInt(J.paddingTop,10),oe=parseInt(J.paddingBottom,10),le=O.top+O.height/2-CONTENT_MARGIN,ie=F-le,ue=S.offsetHeight/2,ae=S.offsetTop+ue,ce=G+U+ae,se=z-ce;if(ce<=le){const Z=V.length>0&&S===V[V.length-1].ref.current;d.style.bottom="0px";const K=p.clientHeight-R.offsetTop-R.offsetHeight,de=Math.max(ie,ue+(Z?oe:0)+K+Q),ee=ce+de;d.style.height=ee+"px"}else{const Z=V.length>0&&S===V[0].ref.current;d.style.top="0px";const de=Math.max(le,G+R.offsetTop+(Z?ne:0)+ue)+se;d.style.height=de+"px",R.scrollTop=ce-le+R.offsetTop}d.style.margin=`${CONTENT_MARGIN}px 0`,d.style.minHeight=W+"px",d.style.maxHeight=F+"px",i==null||i(),requestAnimationFrame(()=>_.current=!0)}},[b,l.trigger,l.valueNode,d,p,R,S,E,l.dir,i]);useLayoutEffect2(()=>I(),[I]);const[M,A]=React__namespace.useState();useLayoutEffect2(()=>{p&&A(window.getComputedStyle(p).zIndex)},[p]);const N=React__namespace.useCallback(O=>{O&&C.current===!0&&(I(),T==null||T(),C.current=!1)},[I,T]);return jsxRuntime.jsx(SelectViewportProvider,{scope:n,contentWrapper:d,shouldExpandOnScrollRef:_,onScrollButtonChange:N,children:jsxRuntime.jsx("div",{ref:f,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:M},children:jsxRuntime.jsx(Primitive.div,{...o,ref:g,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});SelectItemAlignedPosition.displayName=ITEM_ALIGNED_POSITION_NAME;var POPPER_POSITION_NAME="SelectPopperPosition",SelectPopperPosition=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,align:i="start",collisionPadding:o=CONTENT_MARGIN,...l}=t,u=usePopperScope(n);return jsxRuntime.jsx(Content$1,{...u,...l,ref:e,align:i,collisionPadding:o,style:{boxSizing:"border-box",...l.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});SelectPopperPosition.displayName=POPPER_POSITION_NAME;var[SelectViewportProvider,useSelectViewportContext]=createSelectContext(CONTENT_NAME,{}),VIEWPORT_NAME="SelectViewport",SelectViewport=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,nonce:i,...o}=t,l=useSelectContentContext(VIEWPORT_NAME,n),u=useSelectViewportContext(VIEWPORT_NAME,n),d=useComposedRefs(e,l.onViewportChange),f=React__namespace.useRef(0);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),jsxRuntime.jsx(Collection.Slot,{scope:n,children:jsxRuntime.jsx(Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:composeEventHandlers(o.onScroll,p=>{const m=p.currentTarget,{contentWrapper:g,shouldExpandOnScrollRef:b}=u;if(b!=null&&b.current&&g){const _=Math.abs(f.current-m.scrollTop);if(_>0){const C=window.innerHeight-CONTENT_MARGIN*2,R=parseFloat(g.style.minHeight),S=parseFloat(g.style.height),E=Math.max(R,S);if(E<C){const T=E+_,I=Math.min(C,T),M=T-I;g.style.height=I+"px",g.style.bottom==="0px"&&(m.scrollTop=M>0?M:0,g.style.justifyContent="flex-end")}}}f.current=m.scrollTop})})})]})});SelectViewport.displayName=VIEWPORT_NAME;var GROUP_NAME="SelectGroup",[SelectGroupContextProvider,useSelectGroupContext]=createSelectContext(GROUP_NAME),SelectGroup=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,...i}=t,o=useId();return jsxRuntime.jsx(SelectGroupContextProvider,{scope:n,id:o,children:jsxRuntime.jsx(Primitive.div,{role:"group","aria-labelledby":o,...i,ref:e})})});SelectGroup.displayName=GROUP_NAME;var LABEL_NAME="SelectLabel",SelectLabel$1=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,...i}=t,o=useSelectGroupContext(LABEL_NAME,n);return jsxRuntime.jsx(Primitive.div,{id:o.id,...i,ref:e})});SelectLabel$1.displayName=LABEL_NAME;var ITEM_NAME="SelectItem",[SelectItemContextProvider,useSelectItemContext]=createSelectContext(ITEM_NAME),SelectItem$1=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,value:i,disabled:o=!1,textValue:l,...u}=t,d=useSelectContext(ITEM_NAME,n),f=useSelectContentContext(ITEM_NAME,n),p=d.value===i,[m,g]=React__namespace.useState(l??""),[b,_]=React__namespace.useState(!1),C=useComposedRefs(e,T=>{var I;return(I=f.itemRefCallback)==null?void 0:I.call(f,T,i,o)}),R=useId(),S=React__namespace.useRef("touch"),E=()=>{o||(d.onValueChange(i),d.onOpenChange(!1))};if(i==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return jsxRuntime.jsx(SelectItemContextProvider,{scope:n,value:i,disabled:o,textId:R,isSelected:p,onItemTextChange:React__namespace.useCallback(T=>{g(I=>I||((T==null?void 0:T.textContent)??"").trim())},[]),children:jsxRuntime.jsx(Collection.ItemSlot,{scope:n,value:i,disabled:o,textValue:m,children:jsxRuntime.jsx(Primitive.div,{role:"option","aria-labelledby":R,"data-highlighted":b?"":void 0,"aria-selected":p&&b,"data-state":p?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...u,ref:C,onFocus:composeEventHandlers(u.onFocus,()=>_(!0)),onBlur:composeEventHandlers(u.onBlur,()=>_(!1)),onClick:composeEventHandlers(u.onClick,()=>{S.current!=="mouse"&&E()}),onPointerUp:composeEventHandlers(u.onPointerUp,()=>{S.current==="mouse"&&E()}),onPointerDown:composeEventHandlers(u.onPointerDown,T=>{S.current=T.pointerType}),onPointerMove:composeEventHandlers(u.onPointerMove,T=>{var I;S.current=T.pointerType,o?(I=f.onItemLeave)==null||I.call(f):S.current==="mouse"&&T.currentTarget.focus({preventScroll:!0})}),onPointerLeave:composeEventHandlers(u.onPointerLeave,T=>{var I;T.currentTarget===document.activeElement&&((I=f.onItemLeave)==null||I.call(f))}),onKeyDown:composeEventHandlers(u.onKeyDown,T=>{var M;((M=f.searchRef)==null?void 0:M.current)!==""&&T.key===" "||(SELECTION_KEYS.includes(T.key)&&E(),T.key===" "&&T.preventDefault())})})})})});SelectItem$1.displayName=ITEM_NAME;var ITEM_TEXT_NAME="SelectItemText",SelectItemText=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,className:i,style:o,...l}=t,u=useSelectContext(ITEM_TEXT_NAME,n),d=useSelectContentContext(ITEM_TEXT_NAME,n),f=useSelectItemContext(ITEM_TEXT_NAME,n),p=useSelectNativeOptionsContext(ITEM_TEXT_NAME,n),[m,g]=React__namespace.useState(null),b=useComposedRefs(e,E=>g(E),f.onItemTextChange,E=>{var T;return(T=d.itemTextRefCallback)==null?void 0:T.call(d,E,f.value,f.disabled)}),_=m==null?void 0:m.textContent,C=React__namespace.useMemo(()=>jsxRuntime.jsx("option",{value:f.value,disabled:f.disabled,children:_},f.value),[f.disabled,f.value,_]),{onNativeOptionAdd:R,onNativeOptionRemove:S}=p;return useLayoutEffect2(()=>(R(C),()=>S(C)),[R,S,C]),jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Primitive.span,{id:f.textId,...l,ref:b}),f.isSelected&&u.valueNode&&!u.valueNodeHasChildren?ReactDOM__namespace.createPortal(l.children,u.valueNode):null]})});SelectItemText.displayName=ITEM_TEXT_NAME;var ITEM_INDICATOR_NAME="SelectItemIndicator",SelectItemIndicator=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,...i}=t;return useSelectItemContext(ITEM_INDICATOR_NAME,n).isSelected?jsxRuntime.jsx(Primitive.span,{"aria-hidden":!0,...i,ref:e}):null});SelectItemIndicator.displayName=ITEM_INDICATOR_NAME;var SCROLL_UP_BUTTON_NAME="SelectScrollUpButton",SelectScrollUpButton$1=React__namespace.forwardRef((t,e)=>{const n=useSelectContentContext(SCROLL_UP_BUTTON_NAME,t.__scopeSelect),i=useSelectViewportContext(SCROLL_UP_BUTTON_NAME,t.__scopeSelect),[o,l]=React__namespace.useState(!1),u=useComposedRefs(e,i.onScrollButtonChange);return useLayoutEffect2(()=>{if(n.viewport&&n.isPositioned){let d=function(){const p=f.scrollTop>0;l(p)};const f=n.viewport;return d(),f.addEventListener("scroll",d),()=>f.removeEventListener("scroll",d)}},[n.viewport,n.isPositioned]),o?jsxRuntime.jsx(SelectScrollButtonImpl,{...t,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:f}=n;d&&f&&(d.scrollTop=d.scrollTop-f.offsetHeight)}}):null});SelectScrollUpButton$1.displayName=SCROLL_UP_BUTTON_NAME;var SCROLL_DOWN_BUTTON_NAME="SelectScrollDownButton",SelectScrollDownButton$1=React__namespace.forwardRef((t,e)=>{const n=useSelectContentContext(SCROLL_DOWN_BUTTON_NAME,t.__scopeSelect),i=useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME,t.__scopeSelect),[o,l]=React__namespace.useState(!1),u=useComposedRefs(e,i.onScrollButtonChange);return useLayoutEffect2(()=>{if(n.viewport&&n.isPositioned){let d=function(){const p=f.scrollHeight-f.clientHeight,m=Math.ceil(f.scrollTop)<p;l(m)};const f=n.viewport;return d(),f.addEventListener("scroll",d),()=>f.removeEventListener("scroll",d)}},[n.viewport,n.isPositioned]),o?jsxRuntime.jsx(SelectScrollButtonImpl,{...t,ref:u,onAutoScroll:()=>{const{viewport:d,selectedItem:f}=n;d&&f&&(d.scrollTop=d.scrollTop+f.offsetHeight)}}):null});SelectScrollDownButton$1.displayName=SCROLL_DOWN_BUTTON_NAME;var SelectScrollButtonImpl=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,onAutoScroll:i,...o}=t,l=useSelectContentContext("SelectScrollButton",n),u=React__namespace.useRef(null),d=useCollection(n),f=React__namespace.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return React__namespace.useEffect(()=>()=>f(),[f]),useLayoutEffect2(()=>{var m;const p=d().find(g=>g.ref.current===document.activeElement);(m=p==null?void 0:p.ref.current)==null||m.scrollIntoView({block:"nearest"})},[d]),jsxRuntime.jsx(Primitive.div,{"aria-hidden":!0,...o,ref:e,style:{flexShrink:0,...o.style},onPointerDown:composeEventHandlers(o.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(i,50))}),onPointerMove:composeEventHandlers(o.onPointerMove,()=>{var p;(p=l.onItemLeave)==null||p.call(l),u.current===null&&(u.current=window.setInterval(i,50))}),onPointerLeave:composeEventHandlers(o.onPointerLeave,()=>{f()})})}),SEPARATOR_NAME="SelectSeparator",SelectSeparator$1=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,...i}=t;return jsxRuntime.jsx(Primitive.div,{"aria-hidden":!0,...i,ref:e})});SelectSeparator$1.displayName=SEPARATOR_NAME;var ARROW_NAME="SelectArrow",SelectArrow=React__namespace.forwardRef((t,e)=>{const{__scopeSelect:n,...i}=t,o=usePopperScope(n),l=useSelectContext(ARROW_NAME,n),u=useSelectContentContext(ARROW_NAME,n);return l.open&&u.position==="popper"?jsxRuntime.jsx(Arrow,{...o,...i,ref:e}):null});SelectArrow.displayName=ARROW_NAME;var BUBBLE_INPUT_NAME$1="SelectBubbleInput",SelectBubbleInput=React__namespace.forwardRef(({__scopeSelect:t,value:e,...n},i)=>{const o=React__namespace.useRef(null),l=useComposedRefs(i,o),u=usePrevious(e);return React__namespace.useEffect(()=>{const d=o.current;if(!d)return;const f=window.HTMLSelectElement.prototype,m=Object.getOwnPropertyDescriptor(f,"value").set;if(u!==e&&m){const g=new Event("change",{bubbles:!0});m.call(d,e),d.dispatchEvent(g)}},[u,e]),jsxRuntime.jsx(Primitive.select,{...n,style:{...VISUALLY_HIDDEN_STYLES,...n.style},ref:l,defaultValue:e})});SelectBubbleInput.displayName=BUBBLE_INPUT_NAME$1;function shouldShowPlaceholder(t){return t===""||t===void 0}function useTypeaheadSearch(t){const e=useCallbackRef$1(t),n=React__namespace.useRef(""),i=React__namespace.useRef(0),o=React__namespace.useCallback(u=>{const d=n.current+u;e(d),function f(p){n.current=p,window.clearTimeout(i.current),p!==""&&(i.current=window.setTimeout(()=>f(""),1e3))}(d)},[e]),l=React__namespace.useCallback(()=>{n.current="",window.clearTimeout(i.current)},[]);return React__namespace.useEffect(()=>()=>window.clearTimeout(i.current),[]),[n,o,l]}function findNextItem(t,e,n){const o=e.length>1&&Array.from(e).every(p=>p===e[0])?e[0]:e,l=n?t.indexOf(n):-1;let u=wrapArray(t,Math.max(l,0));o.length===1&&(u=u.filter(p=>p!==n));const f=u.find(p=>p.textValue.toLowerCase().startsWith(o.toLowerCase()));return f!==n?f:void 0}function wrapArray(t,e){return t.map((n,i)=>t[(e+i)%t.length])}var Root2=Select$1,Trigger=SelectTrigger$1,Value=SelectValue$1,Icon=SelectIcon,Portal=SelectPortal,Content2=SelectContent$1,Viewport=SelectViewport,Label=SelectLabel$1,Item=SelectItem$1,ItemText=SelectItemText,ItemIndicator=SelectItemIndicator,ScrollUpButton=SelectScrollUpButton$1,ScrollDownButton=SelectScrollDownButton$1,Separator=SelectSeparator$1;const Select=Root2,SelectValue=Value,SelectTrigger=React__namespace.forwardRef(({className:t,children:e,...n},i)=>jsxRuntime.jsxs(Trigger,{ref:i,className:cn("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...n,children:[e,jsxRuntime.jsx(Icon,{asChild:!0,children:jsxRuntime.jsx(ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));SelectTrigger.displayName=Trigger.displayName;const SelectScrollUpButton=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx(ScrollUpButton,{ref:n,className:cn("flex cursor-default items-center justify-center py-1",t),...e,children:jsxRuntime.jsx(ChevronUp,{className:"h-4 w-4"})}));SelectScrollUpButton.displayName=ScrollUpButton.displayName;const SelectScrollDownButton=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx(ScrollDownButton,{ref:n,className:cn("flex cursor-default items-center justify-center py-1",t),...e,children:jsxRuntime.jsx(ChevronDown,{className:"h-4 w-4"})}));SelectScrollDownButton.displayName=ScrollDownButton.displayName;const SelectContent=React__namespace.forwardRef(({className:t,children:e,position:n="popper",...i},o)=>jsxRuntime.jsx(Portal,{children:jsxRuntime.jsxs(Content2,{ref:o,className:cn("relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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 origin-[--radix-select-content-transform-origin]",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,...i,children:[jsxRuntime.jsx(SelectScrollUpButton,{}),jsxRuntime.jsx(Viewport,{className:cn("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:e}),jsxRuntime.jsx(SelectScrollDownButton,{})]})}));SelectContent.displayName=Content2.displayName;const SelectLabel=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx(Label,{ref:n,className:cn("px-2 py-1.5 text-sm font-semibold",t),...e}));SelectLabel.displayName=Label.displayName;const SelectItem=React__namespace.forwardRef(({className:t,children:e,...n},i)=>jsxRuntime.jsxs(Item,{ref:i,className:cn("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[jsxRuntime.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:jsxRuntime.jsx(ItemIndicator,{children:jsxRuntime.jsx(Check,{className:"h-4 w-4"})})}),jsxRuntime.jsx(ItemText,{children:e})]}));SelectItem.displayName=Item.displayName;const SelectSeparator=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx(Separator,{ref:n,className:cn("-mx-1 my-1 h-px bg-muted",t),...e}));SelectSeparator.displayName=Separator.displayName;var SWITCH_NAME="Switch",[createSwitchContext,createSwitchScope]=createContextScope(SWITCH_NAME),[SwitchProvider,useSwitchContext]=createSwitchContext(SWITCH_NAME),Switch$1=React__namespace.forwardRef((t,e)=>{const{__scopeSwitch:n,name:i,checked:o,defaultChecked:l,required:u,disabled:d,value:f="on",onCheckedChange:p,form:m,...g}=t,[b,_]=React__namespace.useState(null),C=useComposedRefs(e,I=>_(I)),R=React__namespace.useRef(!1),S=b?m||!!b.closest("form"):!0,[E,T]=useControllableState({prop:o,defaultProp:l??!1,onChange:p,caller:SWITCH_NAME});return jsxRuntime.jsxs(SwitchProvider,{scope:n,checked:E,disabled:d,children:[jsxRuntime.jsx(Primitive.button,{type:"button",role:"switch","aria-checked":E,"aria-required":u,"data-state":getState(E),"data-disabled":d?"":void 0,disabled:d,value:f,...g,ref:C,onClick:composeEventHandlers(t.onClick,I=>{T(M=>!M),S&&(R.current=I.isPropagationStopped(),R.current||I.stopPropagation())})}),S&&jsxRuntime.jsx(SwitchBubbleInput,{control:b,bubbles:!R.current,name:i,value:f,checked:E,required:u,disabled:d,form:m,style:{transform:"translateX(-100%)"}})]})});Switch$1.displayName=SWITCH_NAME;var THUMB_NAME="SwitchThumb",SwitchThumb=React__namespace.forwardRef((t,e)=>{const{__scopeSwitch:n,...i}=t,o=useSwitchContext(THUMB_NAME,n);return jsxRuntime.jsx(Primitive.span,{"data-state":getState(o.checked),"data-disabled":o.disabled?"":void 0,...i,ref:e})});SwitchThumb.displayName=THUMB_NAME;var BUBBLE_INPUT_NAME="SwitchBubbleInput",SwitchBubbleInput=React__namespace.forwardRef(({__scopeSwitch:t,control:e,checked:n,bubbles:i=!0,...o},l)=>{const u=React__namespace.useRef(null),d=useComposedRefs(u,l),f=usePrevious(n),p=useSize(e);return React__namespace.useEffect(()=>{const m=u.current;if(!m)return;const g=window.HTMLInputElement.prototype,_=Object.getOwnPropertyDescriptor(g,"checked").set;if(f!==n&&_){const C=new Event("click",{bubbles:i});_.call(m,n),m.dispatchEvent(C)}},[f,n,i]),jsxRuntime.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:d,style:{...o.style,...p,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});SwitchBubbleInput.displayName=BUBBLE_INPUT_NAME;function getState(t){return t?"checked":"unchecked"}var Root=Switch$1,Thumb=SwitchThumb;const Switch=React__namespace.forwardRef(({className:t,...e},n)=>jsxRuntime.jsx(Root,{className:cn("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",t),...e,ref:n,children:jsxRuntime.jsx(Thumb,{className:cn("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));Switch.displayName=Root.displayName;const DAYS_OF_WEEK=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function ManufacturerReorderingCard({manufacturer:t,onSave:e,loading:n=!1,saving:i=!1}){const[o,l]=React.useState({...t}),u=(b,_)=>{l(C=>({...C,[b]:_}))},d=(b,_)=>{l(C=>({...C,[b]:_}))},f=(b,_)=>{l(C=>({...C,[b]:_}))},p=()=>{i||e(o)},m=b=>b===-1?"ASAP":b===void 0||b<0||b>6?"Sunday":DAYS_OF_WEEK[b],g=b=>b==="ASAP"?-1:DAYS_OF_WEEK.indexOf(b);return jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsxs(CardHeader,{children:[n?jsxRuntime.jsx(Skeleton,{className:"h-8 w-32"}):jsxRuntime.jsx(CardTitle,{className:"text-lg font-bold",children:"Reordering"}),n?jsxRuntime.jsx(Skeleton,{className:"h-4 w-full mt-2"}):jsxRuntime.jsx(CardDescription,{className:"text-sm",children:"Adjust your reordering settings to control lead times, stocking weeks, minimum orders, and reorder dates, enhancing efficiency in restocking processes."})]}),jsxRuntime.jsx(CardContent,{className:"space-y-6",children:n?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{className:"flex items-center space-x-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-10"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"})]}),jsxRuntime.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"}),jsxRuntime.jsx(Skeleton,{className:"h-10 w-full"})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"}),jsxRuntime.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsx(Skeleton,{className:"h-10 w-full"}),jsxRuntime.jsx("div",{className:"ml-2 w-12"})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"}),jsxRuntime.jsx(Skeleton,{className:"h-10 w-full"})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"}),jsxRuntime.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsx(Skeleton,{className:"h-10 w-full"}),jsxRuntime.jsx("div",{className:"ml-2 w-12"})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"}),jsxRuntime.jsx(Skeleton,{className:"h-10 w-full"})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-40"}),jsxRuntime.jsx(Skeleton,{className:"h-10 w-full"})]})]})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{className:"flex items-center space-x-2",children:[jsxRuntime.jsx(Switch,{id:"automatic-reordering",checked:o.AutoUpdate,onCheckedChange:b=>u("AutoUpdate",b),disabled:i}),jsxRuntime.jsx(Label$2,{htmlFor:"automatic-reordering",children:"Automatic Reordering"})]}),jsxRuntime.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Label$2,{htmlFor:"reorder-date",children:"Automatic Reorder Date"}),jsxRuntime.jsxs(Select,{value:m(o.AutoReorderDate),onValueChange:b=>d("AutoReorderDate",g(b)),disabled:i,children:[jsxRuntime.jsx(SelectTrigger,{id:"reorder-date",children:jsxRuntime.jsx(SelectValue,{placeholder:"Select day"})}),jsxRuntime.jsxs(SelectContent,{children:[jsxRuntime.jsx(SelectItem,{value:"ASAP",children:"ASAP"}),DAYS_OF_WEEK.map(b=>jsxRuntime.jsx(SelectItem,{value:b,children:b},b))]})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Label$2,{htmlFor:"weeks-stocking",children:"Default Weeks of Stocking"}),jsxRuntime.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsx(Input,{id:"weeks-stocking",type:"number",value:o.DefaultWeeksOfStocking||"",onChange:b=>d("DefaultWeeksOfStocking",Number(b.target.value)),disabled:i}),jsxRuntime.jsx("span",{className:"ml-2 text-sm text-muted-foreground",children:"weeks"})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Label$2,{htmlFor:"minimum-order",children:"Default Minimum Order"}),jsxRuntime.jsxs("div",{className:"flex items-center relative",children:[jsxRuntime.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2",children:"$"}),jsxRuntime.jsx(Input,{id:"minimum-order",type:"number",className:"pl-6",value:o.DefaultMinimumOrder||"",onChange:b=>d("DefaultMinimumOrder",Number(b.target.value)),disabled:i})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Label$2,{htmlFor:"lead-time",children:"Default Lead Time"}),jsxRuntime.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsx(Input,{id:"lead-time",type:"number",value:o.DefaultLeadTime||"",onChange:b=>d("DefaultLeadTime",Number(b.target.value)),disabled:i}),jsxRuntime.jsx("span",{className:"ml-2 text-sm text-muted-foreground",children:"days"})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Label$2,{htmlFor:"maximum-inventory-value",children:"Default Maximum Inventory Value"}),jsxRuntime.jsxs("div",{className:"flex items-center relative",children:[jsxRuntime.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2",children:"$"}),jsxRuntime.jsx(Input,{id:"maximum-inventory-value",type:"number",className:"pl-6",value:o.DefaultMaxInventoryValue||"",onChange:b=>d("DefaultMaxInventoryValue",Number(b.target.value)),disabled:i})]})]}),jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx(Label$2,{htmlFor:"order-confirmations",children:"Send Order Confirmations To"}),jsxRuntime.jsx(Input,{id:"order-confirmations",type:"email",value:o.POEmail||"",onChange:b=>f("POEmail",b.target.value),placeholder:"email@example.com",disabled:i})]})]})]})}),jsxRuntime.jsx(CardFooter,{className:"flex justify-end",children:n?jsxRuntime.jsx(Skeleton,{className:"h-10 w-20"}):jsxRuntime.jsxs(Button,{onClick:p,disabled:i,children:[i&&jsxRuntime.jsx(LoaderCircle,{className:"mr-2 h-4 w-4 animate-spin"}),"Save"]})})]})}const imgSizeMap={sm:100,md:200,lg:300,xl:400};function ProductImage({randmarSKU:t,size:e="md",alt:n,secondaryContent:i}){const[o,l]=React__namespace.useState(!1),[u,d]=React__namespace.useState(!1),[f,p]=React__namespace.useState(!1),[m,g]=React__namespace.useState(!1),b=`https://api.randmar.io/Product/${t}/Video`;React__namespace.useEffect(()=>{(async()=>{try{const I=await(await fetch(b+"/Exists")).json();d(I)}catch(T){console.error("Error checking for video:",T),d(!1)}})()},[t,b]);async function _(){if(u){g(!0);try{const T=await(await fetch(b)).blob(),I=window.URL.createObjectURL(T),M=document.createElement("a");M.href=I,M.download=`${t||"product"}-video.mp4`,document.body.appendChild(M),M.click(),document.body.removeChild(M),window.URL.revokeObjectURL(I)}catch(E){console.error("Error downloading video:",E)}finally{g(!1)}}}function C(){navigator.clipboard.writeText(b),p(!0),setTimeout(()=>{p(!1)},2e3)}function R(){l(!0)}const S=imgSizeMap[e||"xl"];return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Dialog,{open:o,onOpenChange:l,children:jsxRuntime.jsx(DialogContent,{className:"max-w-4xl p-0 overflow-hidden",children:i?jsxRuntime.jsxs("div",{className:"flex flex-row",children:[jsxRuntime.jsxs("video",{className:"w-full rounded-l-lg max-h-[720px] object-contain",controls:!0,autoPlay:!0,muted:!0,loop:!0,children:[jsxRuntime.jsx("source",{src:b,type:"video/mp4"}),"Your browser does not support the video tag."]}),jsxRuntime.jsx("div",{className:"flex-grow min-w-[400px] h-[70vh] p-6",children:i})]}):jsxRuntime.jsxs("div",{className:"w-full relative",children:[jsxRuntime.jsxs("video",{className:"w-full max-h-[720px] object-contain",controls:!0,autoPlay:!0,children:[jsxRuntime.jsx("source",{src:b,type:"video/mp4"}),"Your browser does not support the video tag."]}),jsxRuntime.jsxs("div",{className:"absolute top-2 right-12 flex gap-1",children:[jsxRuntime.jsx(TooltipProvider,{children:jsxRuntime.jsxs(Tooltip$1,{children:[jsxRuntime.jsx(TooltipTrigger,{asChild:!0,children:jsxRuntime.jsx(Button,{variant:"secondary",size:"icon",onClick:C,children:f?jsxRuntime.jsx(Check,{className:"h-4 w-4"}):jsxRuntime.jsx(Copy,{className:"h-4 w-4"})})}),jsxRuntime.jsx(TooltipContent,{children:jsxRuntime.jsx("p",{children:"Copy video link"})})]})}),jsxRuntime.jsx(TooltipProvider,{children:jsxRuntime.jsxs(Tooltip$1,{children:[jsxRuntime.jsx(TooltipTrigger,{asChild:!0,children:jsxRuntime.jsx(Button,{variant:"secondary",size:"icon",onClick:_,disabled:m,children:jsxRuntime.jsx(Download,{className:"h-4 w-4"})})}),jsxRuntime.jsx(TooltipContent,{children:jsxRuntime.jsx("p",{children:"Download video"})})]})})]})]})})}),jsxRuntime.jsxs("div",{className:"relative w-max h-max",children:[jsxRuntime.jsx("img",{alt:n||`Product ${t}`,className:`rounded-md ${u?"cursor-pointer":""}`,onClick:u?R:void 0,src:`https://api.randmar.io/Product/${t}/Image?width=${S*1.5}&height=${S*1.5}`,width:S,height:S}),u&&jsxRuntime.jsx(TooltipProvider,{children:jsxRuntime.jsxs(Tooltip$1,{children:[jsxRuntime.jsx(TooltipTrigger,{asChild:!0,children:jsxRuntime.jsx(Button,{variant:"secondary",size:"icon",className:"absolute top-2 right-2",onClick:R,children:jsxRuntime.jsx(Play,{className:"h-4 w-4"})})}),jsxRuntime.jsx(TooltipContent,{children:jsxRuntime.jsx("p",{children:"Play video"})})]})})]})]})}function ProductCard({item:t,addToCart:e=!1,syncToShopify:n=!1,customAction:i=jsxRuntime.jsx(jsxRuntime.Fragment,{}),defaultOpportunityNumber:o="",viewProductLink:l,addToCartAction:u,isAddToCartActionLoading:d=!1,syncToShopifyAction:f,isSyncToShopifyActionLoading:p=!1}){var z,W,J,ne,oe,le,ie,ue,ae,ce,se;const[m,g]=React.useState(1),[b,_]=React.useState(null),[C,R]=React.useState(0),[S,E]=React.useState(!1),T=((z=t==null?void 0:t.Distribution)==null?void 0:z.Cost)||0,I=((W=t==null?void 0:t.Distribution)==null?void 0:W.RegularPrice)||0,M=((J=t==null?void 0:t.Distribution)==null?void 0:J.Price)||0;React.useEffect(()=>{g(1),_(null),R(0),E(!1)},[t==null?void 0:t.RandmarSKU]);const[A,N]=React.useState(null),[O,j]=React.useState(!1);React.useEffect(()=>{const te=async()=>{if(t!=null&&t.ManufacturerId){j(!0);try{const Z=await fetch(`https://api.randmar.io/V4/Partner/${t.ManufacturerId}/Account/Logo?width=60&height=40`);if(Z.ok){const K=await Z.blob();N(URL.createObjectURL(K))}}catch(Z){console.error("Failed to load logo:",Z)}finally{j(!1)}}};t!=null&&t.ManufacturerId&&te()},[t==null?void 0:t.ManufacturerId]),React.useEffect(()=>{var te;if(t&&o){const Z=(te=t.Opportunities)==null?void 0:te.find(K=>K.BidNumber==o);Z&&_(Z)}},[t,o]),React.useEffect(()=>{if(!t)return;const te=b!=null&&b.Price?b.Price:M;R(I>0?Math.round((I-te)/I*100):0)},[t,b,M,I]),React.useEffect(()=>{d||g(1)},[d]);const D=te=>{if(te.Active!==!0)return!1;const Z=new Date().toISOString().split("T")[0];return!(te.EndDate&&te.EndDate.split("T")[0]<Z||te.StartDate&&te.StartDate.split("T")[0]>Z)};if(!t)return jsxRuntime.jsx(Card,{children:jsxRuntime.jsxs(CardContent,{className:"p-6",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-start mb-3",children:[jsxRuntime.jsx(Skeleton,{className:"h-7 w-3/4"}),jsxRuntime.jsx("div",{className:"h-10 w-24 flex items-center justify-end ml-4",children:jsxRuntime.jsx(Skeleton,{className:"h-10 w-24 rounded-md"})})]}),jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[jsxRuntime.jsx(Skeleton,{className:"h-6 w-20 rounded-full"}),jsxRuntime.jsx(Skeleton,{className:"h-6 w-24 rounded-full"}),jsxRuntime.jsx(Skeleton,{className:"h-6 w-28 rounded-full"})]}),jsxRuntime.jsxs("div",{className:"flex gap-6",children:[jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-6 flex-1",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-12 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-20"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-12 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-24"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-20 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-16"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-12 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-20"})]})]}),jsxRuntime.jsx("div",{className:"flex flex-col",children:jsxRuntime.jsx("div",{className:"w-60 h-40",children:jsxRuntime.jsx(Skeleton,{className:"w-full h-full rounded-lg"})})})]}),jsxRuntime.jsxs("div",{className:"flex gap-6 mt-4",children:[jsxRuntime.jsx("div",{className:"flex flex-1",children:jsxRuntime.jsxs("div",{className:"w-full",children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-24 mb-3"}),jsxRuntime.jsx(Skeleton,{className:"h-16 w-full rounded-md"})]})}),jsxRuntime.jsxs("div",{className:"flex flex-col items-center",children:[jsxRuntime.jsx(Skeleton,{className:"h-10 w-32 rounded-md"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-24 mt-4"})]})]}),jsxRuntime.jsxs("div",{className:"flex gap-6 mt-4",children:[jsxRuntime.jsxs("div",{className:"flex flex-col items-start gap-1 mb-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-8 w-32"}),jsxRuntime.jsx(Skeleton,{className:"h-6 w-24"})]}),jsxRuntime.jsxs("div",{className:"flex flex-1 items-center gap-2",children:[jsxRuntime.jsx(Skeleton,{className:"h-10 w-24 rounded-md"}),jsxRuntime.jsx(Skeleton,{className:"h-10 flex-1 rounded-md"})]})]})]})});const B=(t==null?void 0:t.Opportunities)||[],V=B.length>0,F=()=>{if(m==null){g(1);return}m>1&&g(m-1)},L=()=>{if(m==null){g(1);return}g(m+1)},q=te=>{const Z=parseInt(te.target.value,10);if(!isNaN(Z)&&Z>0){g(Z);return}g(void 0)},G=()=>{(m==null||m<1)&&g(1)},U=((oe=(ne=t.Distribution)==null?void 0:ne.Inventory)==null?void 0:oe.reduce((te,Z)=>te+(Z.AvailableQuantity||0),0))||0,Q=te=>{try{return new Date(te).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}catch(Z){return console.error(Z),te.split("T")[0]||"N/A"}},H=()=>{u&&u({quantity:m??1,bidNumber:(b==null?void 0:b.BidNumber)??null})};return jsxRuntime.jsx(Card,{className:"hover:shadow-lg transition-shadow",children:jsxRuntime.jsxs(CardContent,{className:"p-6",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-start mb-3",children:[jsxRuntime.jsx("h3",{className:"font-semibold text-xl",children:t.Title||t.RandmarTitle}),jsxRuntime.jsx("div",{className:"h-10 w-24 flex items-center justify-end ml-4",children:O?jsxRuntime.jsx(Skeleton,{className:"h-10 w-24 rounded-md"}):A&&jsxRuntime.jsx("img",{src:A,alt:t.ManufacturerName??"",className:"max-h-10 max-w-24 object-contain"})})]}),jsxRuntime.jsxs("div",{className:"flex gap-6",children:[jsxRuntime.jsxs("div",{className:"flex-1",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[t.State&&jsxRuntime.jsxs(Badge,{variant:"outline",className:`rounded-full px-3 ${t.State==="Active"?"bg-green-50 text-green-700 hover:bg-green-50":"bg-red-50 text-red-700 hover:bg-red-50"}`,children:[jsxRuntime.jsx(Check,{size:"12",className:"mr-1.5"})," ",t.State]}),jsxRuntime.jsxs(Badge,{variant:"outline",className:`rounded-full px-3 ${t.SerialNumber?"bg-green-50 text-green-700 hover:bg-green-50":"bg-yellow-50 text-yellow-700 hover:bg-yellow-50"}`,children:[jsxRuntime.jsx(QrCode,{size:"12",className:"mr-1.5"})," ",t.SerialNumber?"Serialized":"Unserialized"]}),t.TransparencyCode&&jsxRuntime.jsxs(Badge,{variant:"outline",className:"rounded-full px-3 bg-green-50 text-green-700 hover:bg-green-50",children:[jsxRuntime.jsx(CircleDashed,{size:"12",className:"mr-1.5"})," Transparency Code"]}),t.AvailableToBuy!==void 0&&jsxRuntime.jsxs(Badge,{variant:"outline",className:`rounded-full px-3 ${t.AvailableToBuy?"bg-green-50 text-green-700 hover:bg-green-50":"bg-red-50 text-red-700 hover:bg-red-50"}`,children:[jsxRuntime.jsx(ShoppingCart,{size:"12",className:"mr-1.5"})," ",t.AvailableToBuy?"Available":"Unavailable"]}),t.ManufacturerCategory!==void 0&&jsxRuntime.jsxs(Badge,{variant:"outline",className:`rounded-full px-3 ${(le=t.ManufacturerCategory)!=null&&le.QualificationRequired?"bg-blue-50 text-blue-700 hover:bg-blue-50":"bg-neutral-50 text-neutral-700 hover:bg-neutral-50"}`,children:[jsxRuntime.jsx(ShieldCheck,{size:"12",className:"mr-1.5"})," ",(ie=t.ManufacturerCategory)!=null&&ie.QualificationRequired?"Qualified Only":"Available to all"]}),t.ManufacturerId&&jsxRuntime.jsxs(Badge,{variant:"outline",className:`rounded-full px-3 ${t.AutoUpdate?"bg-green-50 text-green-700 hover:bg-green-50":"bg-red-50 text-red-700 hover:bg-red-50"}`,children:[jsxRuntime.jsx(RefreshCw,{size:"12",className:"mr-1.5"})," ",t.AutoUpdate?`Automatic Reorder (${t.MasterCarton})`:"Manually Reorders"]}),jsxRuntime.jsxs(Badge,{variant:"outline",className:`rounded-full px-3 ${t.BodyHTML&&t.Title&&t.MAP?"bg-green-50 text-green-700 hover:bg-green-50":"bg-red-50 text-red-700 hover:bg-red-50"}`,children:[jsxRuntime.jsx(Store,{size:"12",className:"mr-1.5"})," ",t.BodyHTML&&t.Title&&t.MAP?"Shopify Ready":"Not Shopify Ready"]})]}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-4 flex-1",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"MPN"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.MPN||"N/A"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"UPC"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.UPC||"N/A"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"Unit Weight"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.UnitWeight?`${t.UnitWeight} lbs`:"N/A"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"MAP"}),jsxRuntime.jsx("div",{className:"font-medium",children:t.MAP?"$"+t.MAP.toFixed(2):"N/A"})]}),t.CountryCodeOfOrigin&&jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"text-sm text-muted-foreground",children:"Origin"}),jsxRuntime.jsxs("div",{className:"font-medium flex items-center",children:[jsxRuntime.jsx(CountryFlag,{countryCode:t.CountryCodeOfOrigin,className:"mr-2"}),t.CountryCodeOfOrigin]})]})]})]}),jsxRuntime.jsx("div",{className:"flex flex-col",children:jsxRuntime.jsx(ProductImage,{randmarSKU:t.RandmarSKU||"",alt:t.RandmarTitle||""})})]}),jsxRuntime.jsxs("div",{className:"flex gap-6 mt-4",children:[jsxRuntime.jsx("div",{className:"flex flex-1",children:V&&t.Distribution&&jsxRuntime.jsxs("div",{className:"w-full",children:[jsxRuntime.jsx("div",{className:"flex items-center",children:"You have "+B.length+(B.length>1?" opportunities":" opportunity")+" for this product:"}),jsxRuntime.jsx("div",{className:"space-y-2 max-h-[200px] overflow-y-auto p-2 mt-1",children:B.map((te,Z)=>{var K;return jsxRuntime.jsxs("div",{className:`flex justify-between items-center rounded-lg transition-colors py-2 px-4 bg-purple-100 border border-muted
|
|
835
835
|
${te.BidNumber==(b==null?void 0:b.BidNumber)?"cursor-pointer border-2 border-purple-900":D(te)?"hover:bg-purple-200 cursor-pointer":"!bg-neutral-50"}
|
|
836
836
|
`,onClick:()=>{D(te)&&_(te.BidNumber!=(b==null?void 0:b.BidNumber)?te:null)},children:[jsxRuntime.jsx("div",{className:"flex items-center",children:jsxRuntime.jsxs("div",{className:"flex flex-col",children:[jsxRuntime.jsx("span",{className:"font-medium text-sm",children:te.Opportunity}),jsxRuntime.jsxs("span",{className:"text-xs text-neutral-900",children:[te.BidNumber," ",!D(te)&&jsxRuntime.jsx(Badge,{variant:"outline",className:"text-xs mx-1 h-5 bg-gray-100",children:"Currently unavailable"})]})]})}),jsxRuntime.jsxs("div",{className:"flex flex-col items-end",children:[jsxRuntime.jsxs("span",{className:"font-semibold",children:["$",(K=te.Price)==null?void 0:K.toFixed(2)]}),te.Rebate&&te.Rebate>0&&jsxRuntime.jsxs("span",{className:"text-xs text-green-600",children:["Rebate: $",te.Rebate.toFixed(2)]}),te.EndDate&&jsxRuntime.jsxs("span",{className:"text-xs text-neutral-600",children:["Ends: ",Q(te.EndDate)]})]})]},Z)})})]})}),jsxRuntime.jsxs("div",{className:"flex flex-col items-center",children:[l&&jsxRuntime.jsx(reactRouterDom.Link,{to:l,children:jsxRuntime.jsxs(Button,{variant:"secondary",children:[jsxRuntime.jsx(Eye,{className:"mr-2"}),"View Product"]})}),((ue=t.Distribution)==null?void 0:ue.Inventory)&&jsxRuntime.jsx("div",{className:"mt-4",children:jsxRuntime.jsxs(Dialog,{open:S,onOpenChange:E,children:[jsxRuntime.jsx(DialogTrigger,{asChild:!0,children:jsxRuntime.jsxs(Button,{variant:"ghost",className:`flex items-center text-sm ${U>0?"text-green-700":"text-red-700"}`,children:[jsxRuntime.jsx(Warehouse,{size:"16",className:"mr-2"}),U>0?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[U," in stock"]}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:"Out of stock"})]})}),jsxRuntime.jsxs(DialogContent,{className:"max-w-4xl",children:[jsxRuntime.jsx(DialogHeader,{children:jsxRuntime.jsxs(DialogTitle,{className:"flex items-center",children:[jsxRuntime.jsx(Warehouse,{className:"mr-2",size:18}),"Inventory Information"]})}),jsxRuntime.jsx(ProductInventoryGrid,{inventory:t.Distribution.Inventory})]})]})})]})]}),t.Distribution&&jsxRuntime.jsxs("div",{className:"flex justify-between items-end mt-4",children:[jsxRuntime.jsx("div",{className:"flex-shrink-1 flex flex-col items-start gap-1",children:T>0?jsxRuntime.jsx("div",{className:"flex items-center",children:jsxRuntime.jsxs("span",{className:"text-2xl font-bold whitespace-nowrap",children:[jsxRuntime.jsx("span",{children:"Cost: $"}),T.toFixed(2),jsxRuntime.jsx("span",{children:" CAD"})]})}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{className:"flex items-center flex-wrap",children:[jsxRuntime.jsxs("span",{className:"text-2xl font-bold whitespace-nowrap",children:[jsxRuntime.jsx("span",{children:"$"}),b?(ce=(ae=t.Opportunities)==null?void 0:ae.find(te=>te.BidNumber==b.BidNumber))==null?void 0:ce.Price:M.toFixed(2),jsxRuntime.jsx("span",{children:" CAD"})]}),C>0&&jsxRuntime.jsxs("span",{className:"text-muted-foreground line-through ml-2 whitespace-nowrap",children:["$",I.toFixed(2)]})]}),C>0&&jsxRuntime.jsx("div",{className:"flex items-center",children:jsxRuntime.jsxs(Badge,{variant:"outline",className:"bg-red-50 text-red-700 rounded-full px-3 whitespace-nowrap",children:[jsxRuntime.jsxs("span",{children:[C,"% OFF"]}),((se=t.InstantRebate)==null?void 0:se.EndDate)&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"mx-1.5",children:"●"})," Ends ",t.InstantRebate.EndDate.split("T")[0]]}),(b==null?void 0:b.EndDate)&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"mx-1.5",children:"●"})," Ends ",b.EndDate.split("T")[0]]})]})})]})}),jsxRuntime.jsxs("div",{className:"flex flex-shrink-0 gap-2 ml-4",children:[typeof e<"u"&&e&&jsxRuntime.jsxs("div",{className:"flex items-center border rounded-md",children:[jsxRuntime.jsx(Button,{variant:"ghost",size:"icon",className:"rounded-r-none",onClick:F,disabled:typeof m<"u"&&(m<=1||!t.AvailableToBuy||d||!u),children:"-"}),jsxRuntime.jsx("input",{value:m,onChange:q,onBlur:G,onClick:te=>te.currentTarget.select(),className:`w-12 text-center border-0 focus:ring-0 focus:outline-none ${!t.AvailableToBuy||d||!u?"text-gray-400":""}`,disabled:!t.AvailableToBuy||d||!u}),jsxRuntime.jsx(Button,{variant:"ghost",size:"icon",className:"rounded-l-none",onClick:L,disabled:!t.AvailableToBuy||d||!u,children:"+"})]}),typeof e<"u"&&e&&jsxRuntime.jsx(Button,{className:"gap-2 whitespace-nowrap",onClick:H,disabled:!t.AvailableToBuy||d||!u,children:d?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin"}),"Adding..."]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ShoppingCart,{className:"mr-2"}),"Add to Cart"]})}),n&&jsxRuntime.jsx(Button,{className:"gap-2 whitespace-nowrap bg-green-600 hover:bg-green-700",onClick:f,disabled:p||!f,children:p?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(LoaderCircle,{className:"h-4 w-4 animate-spin"}),"Syncing..."]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ShoppingCart,{className:"mr-2"}),"Sync to Shopify"]})}),i]})]})]})})}function ResellerBillingOverviewCard({reseller:t,actions:e,loading:n=!1}){return n||!t?jsxRuntime.jsx(ResellerBillingOverviewSkeleton,{}):jsxRuntime.jsx(ResellerBillingOverviewData,{reseller:t,actions:e})}function ResellerBillingOverviewSkeleton(){return jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{children:jsxRuntime.jsx(CardTitle,{children:jsxRuntime.jsx(Skeleton,{className:"h-6 w-40"})})}),jsxRuntime.jsxs(CardContent,{children:[jsxRuntime.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[jsxRuntime.jsx("div",{className:"space-y-4",children:Array(3).fill(0).map((t,e)=>jsxRuntime.jsxs("div",{className:"border rounded-lg p-4",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center mb-4",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-24"}),jsxRuntime.jsx(Skeleton,{className:"h-9 w-9 rounded-full"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-20 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-7 w-28"})]})]},e))}),jsxRuntime.jsx("div",{className:"space-y-4",children:Array(2).fill(0).map((t,e)=>jsxRuntime.jsxs("div",{className:"border rounded-lg p-4",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center mb-4",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-24"}),jsxRuntime.jsx(Skeleton,{className:"h-9 w-9 rounded-full"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-20 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-7 w-28"})]})]},e))})]}),jsxRuntime.jsx("div",{className:"flex justify-end mt-4",children:jsxRuntime.jsx(Skeleton,{className:"h-10 w-28 rounded-md"})})]})]})}function ResellerBillingOverviewData({reseller:t,actions:e}){const n=u=>u===void 0?"$0.00":new Intl.NumberFormat("en-CA",{style:"currency",currency:"CAD",minimumFractionDigits:2,maximumFractionDigits:2}).format(u),i=t.Statement||{},o=[{title:"0 - 30 Days",amount:i.Over0||0,icon:jsxRuntime.jsx(Calendar,{className:"h-5 w-5 text-white"}),color:"bg-primary"},{title:"31 - 45 Days",amount:i.Over30||0,icon:jsxRuntime.jsx(Calendar,{className:"h-5 w-5 text-white"}),color:"bg-primary"},{title:"45+ Days",amount:i.Over45||0,icon:jsxRuntime.jsx(Calendar,{className:"h-5 w-5 text-white"}),color:"bg-primary"}],l=[{title:"Total",amount:i.Total||0,icon:jsxRuntime.jsx(DollarSign,{className:"h-5 w-5 text-white"}),color:"bg-green-500"},{title:"Credit Limit",amount:t.CreditLimit||0,icon:jsxRuntime.jsx(CreditCard,{className:"h-5 w-5 text-white"}),color:"bg-blue-500"}];return jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{children:jsxRuntime.jsx(CardTitle,{children:"Billing Overview"})}),jsxRuntime.jsxs(CardContent,{children:[jsxRuntime.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[jsxRuntime.jsx("div",{className:"space-y-4",children:o.map((u,d)=>jsxRuntime.jsxs("div",{className:"border rounded-lg p-4",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center",children:[jsxRuntime.jsx("h3",{className:"text-sm sm:text-base font-medium",children:u.title}),jsxRuntime.jsx("div",{className:`p-2 rounded-full ${u.color}`,children:u.icon})]}),jsxRuntime.jsx("div",{children:jsxRuntime.jsx("p",{className:"text-base sm:text-lg font-bold",children:n(u.amount)})})]},d))}),jsxRuntime.jsx("div",{className:"space-y-4",children:l.map((u,d)=>jsxRuntime.jsxs("div",{className:"border rounded-lg p-4",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center",children:[jsxRuntime.jsx("h3",{className:"text-sm sm:text-base font-medium",children:u.title}),jsxRuntime.jsx("div",{className:`p-2 rounded-full ${u.color}`,children:u.icon})]}),jsxRuntime.jsx("div",{children:jsxRuntime.jsx("p",{className:"text-base sm:text-lg font-bold",children:n(u.amount)})})]},d))})]}),e&&jsxRuntime.jsx("div",{className:"flex justify-end mt-4",children:e})]})]})}function ResellerQualificationsCard({qualifications:t=[],loading:e=!1}){return e?jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{children:jsxRuntime.jsx(CardTitle,{children:"Qualifications"})}),jsxRuntime.jsx(CardContent,{className:"p-6",children:jsxRuntime.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-4 gap-y-8",children:Array.from({length:10}).map((n,i)=>jsxRuntime.jsxs("div",{className:"flex flex-col items-center",children:[jsxRuntime.jsx(Skeleton,{className:"h-12 w-24 rounded-md mb-2"}),jsxRuntime.jsx(Skeleton,{className:"h-5 w-16 rounded-full"})]},i))})})]}):jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{children:jsxRuntime.jsx(CardTitle,{children:"Qualifications"})}),jsxRuntime.jsx(CardContent,{className:"p-6",children:jsxRuntime.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-4 gap-y-8",children:t.map((n,i)=>jsxRuntime.jsx(ManufacturerLogo,{manufacturerId:n.ManufacturerId,opportunityNumber:n.DefaultOpportunityNumber},`${n.ManufacturerId}-${i}`))})})]})}function ManufacturerLogo({manufacturerId:t,opportunityNumber:e}){const[n,i]=React.useState(null),[o,l]=React.useState(!0),[u,d]=React.useState(!1),[f,p]=React.useState(null),m=React.useMemo(()=>t?{logoUrl:`https://api.randmar.io/V4/Partner/${t}/Account/Logo?width=96&height=48`,logoExistsUrl:`https://api.randmar.io/V4/Partner/${t}/Account/Logo/Exists`}:null,[t]);return React.useEffect(()=>{if(!m)return;let g=!0;p(null);const b=async()=>{try{const R=await fetch(m.logoExistsUrl);if(R.ok){const E=(await R.text()).toLowerCase()==="true";return g&&d(E),E}return!1}catch(R){return console.error("Failed to check if logo exists:",R),g&&d(!1),!1}},_=async()=>{g&&l(!0);try{const R=await fetch(m.logoUrl);if(R.ok){const S=await R.blob();g&&(n&&URL.revokeObjectURL(n),i(URL.createObjectURL(S)))}else throw new Error(`Failed to load logo: ${R.status}`)}catch(R){console.error("Failed to load logo:",R),g&&p("Failed to load manufacturer logo")}finally{g&&l(!1)}};return(async()=>{await b()?_():l(!1)})(),()=>{g=!1,n&&URL.revokeObjectURL(n)}},[m]),jsxRuntime.jsxs("div",{className:"flex flex-col items-center",children:[jsxRuntime.jsx("div",{className:"h-12 flex items-center justify-center mb-2",children:o?jsxRuntime.jsx(Skeleton,{className:"h-12 w-24 rounded-md"}):u&&n?jsxRuntime.jsx("img",{src:n,alt:"Manufacturer logo",className:"max-h-12 max-w-24 object-contain",onError:()=>p("Failed to load logo")}):jsxRuntime.jsx("div",{className:"h-12 w-24 flex items-center justify-center bg-slate-100 rounded-md text-xs text-slate-500",children:t?t.substring(0,8):"No ID"})}),e&&jsxRuntime.jsx(Badge,{variant:"outline",className:"text-xs",children:e}),f&&jsxRuntime.jsx("div",{className:"text-red-500 text-xs mt-1",role:"alert",children:f})]})}function SalesOverviewCard({salesData:t,salesStatistics:e=[],loading:n=!1}){return n||!t?jsxRuntime.jsx(SalesOverviewSkeleton,{}):jsxRuntime.jsx(SalesOverviewData,{salesData:t,salesStatistics:e})}function SalesOverviewSkeleton(){return jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"pb-0",children:jsxRuntime.jsx(CardTitle,{className:"text-lg sm:text-xl",children:jsxRuntime.jsx(Skeleton,{className:"h-7 w-40"})})}),jsxRuntime.jsxs(CardContent,{className:"pt-4 px-3 sm:px-6",children:[jsxRuntime.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:Array(3).fill(0).map((t,e)=>jsxRuntime.jsxs("div",{className:"border rounded-lg p-4",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center mb-4",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-24"}),jsxRuntime.jsx(Skeleton,{className:"h-9 w-9 rounded-full"})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(Skeleton,{className:"h-4 w-20 mb-1"}),jsxRuntime.jsx(Skeleton,{className:"h-7 w-28"})]})]},e))}),jsxRuntime.jsx("div",{className:"mt-6",children:jsxRuntime.jsxs("div",{className:"space-y-3",children:[jsxRuntime.jsx(Skeleton,{className:"h-5 w-32"}),jsxRuntime.jsx(Skeleton,{className:"h-[250px] w-full rounded-lg"})]})})]})]})}function SalesOverviewData({salesData:t,salesStatistics:e=[]}){const n=l=>new Intl.NumberFormat("en-CA",{style:"currency",currency:"CAD",minimumFractionDigits:2,maximumFractionDigits:2}).format(l),i=[{title:"Last 30 days",amount:t.SalesLast30Days||0,icon:jsxRuntime.jsx(Calendar,{className:"h-5 w-5 text-white"}),color:"bg-blue-500"},{title:"Last 3 months",amount:t.SalesLast3Months||0,icon:jsxRuntime.jsx(Calendar,{className:"h-5 w-5 text-white"}),color:"bg-amber-500"},{title:"Year to date",amount:t.SalesYearToDay||0,icon:jsxRuntime.jsx(Calendar,{className:"h-5 w-5 text-white"}),color:"bg-emerald-500"}],o=[...e].sort((l,u)=>(l.Day||0)-(u.Day||0)).map(l=>{var m;const u=((m=l.Day)==null?void 0:m.toString())||"",d=u.substring(4,6),f=u.substring(6,8);return{date:`${d}/${f}`,amount:l.ExtendedPrice||0}});return jsxRuntime.jsxs(Card,{children:[jsxRuntime.jsx(CardHeader,{className:"pb-0",children:jsxRuntime.jsx(CardTitle,{className:"text-lg sm:text-xl",children:"Sales Overview"})}),jsxRuntime.jsxs(CardContent,{className:"pt-4 px-3 sm:px-6",children:[jsxRuntime.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:i.map((l,u)=>jsxRuntime.jsxs("div",{className:"border rounded-lg p-4",children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center mb-4",children:[jsxRuntime.jsx("h3",{className:"text-sm sm:text-base font-medium",children:l.title}),jsxRuntime.jsx("div",{className:`p-2 rounded-full ${l.color}`,children:l.icon})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"text-xs text-muted-foreground",children:"Total Amount"}),jsxRuntime.jsx("p",{className:"text-base sm:text-lg font-bold",children:n(l.amount)})]})]},u))}),jsxRuntime.jsx("div",{className:"mt-6",children:e&&e.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("h3",{className:"text-sm font-medium mb-4",children:"Sales Trend"}),jsxRuntime.jsx("div",{className:"space-y-6",children:jsxRuntime.jsx(AreaChart,{data:o,units:"$",unitsPosition:"left",height:200})})]})})]})]})}exports.ActiveOrdersCard=ActiveOrdersCard,exports.AreaChart=AreaChart,exports.Avatar=Avatar,exports.AvatarFallback=AvatarFallback,exports.AvatarFooter=AvatarFooter,exports.AvatarImage=AvatarImage,exports.Badge=Badge,exports.Button=Button,exports.Card=Card,exports.CardContent=CardContent,exports.CardDescription=CardDescription,exports.CardFooter=CardFooter,exports.CardHeader=CardHeader,exports.CardTitle=CardTitle,exports.ChatLayout=ChatLayout,exports.CountryFlag=CountryFlag,exports.Dialog=Dialog,exports.DialogClose=DialogClose,exports.DialogContent=DialogContent,exports.DialogDescription=DialogDescription,exports.DialogFooter=DialogFooter,exports.DialogHeader=DialogHeader,exports.DialogOverlay=DialogOverlay,exports.DialogPortal=DialogPortal,exports.DialogTitle=DialogTitle,exports.DialogTrigger=DialogTrigger,exports.DropdownMenu=DropdownMenu,exports.DropdownMenuCheckboxItem=DropdownMenuCheckboxItem,exports.DropdownMenuContent=DropdownMenuContent,exports.DropdownMenuGroup=DropdownMenuGroup,exports.DropdownMenuItem=DropdownMenuItem,exports.DropdownMenuLabel=DropdownMenuLabel,exports.DropdownMenuPortal=DropdownMenuPortal,exports.DropdownMenuRadioGroup=DropdownMenuRadioGroup,exports.DropdownMenuRadioItem=DropdownMenuRadioItem,exports.DropdownMenuSeparator=DropdownMenuSeparator,exports.DropdownMenuShortcut=DropdownMenuShortcut,exports.DropdownMenuSub=DropdownMenuSub,exports.DropdownMenuSubContent=DropdownMenuSubContent,exports.DropdownMenuSubTrigger=DropdownMenuSubTrigger,exports.DropdownMenuTrigger=DropdownMenuTrigger,exports.GeneralDocumentCard=GeneralDocumentCard,exports.Input=Input,exports.InputOTP=InputOTP,exports.InputOTPGroup=InputOTPGroup,exports.InputOTPSeparator=InputOTPSeparator,exports.InputOTPSlot=InputOTPSlot,exports.Label=Label$2,exports.Layout=Layout,exports.ManufacturerCard=ManufacturerCard,exports.ManufacturerReorderingCard=ManufacturerReorderingCard,exports.Navbar=Navbar,exports.PartnerCard=PartnerCard,exports.Preloader=Preloader,exports.ProductCard=ProductCard,exports.ProductImage=ProductImage,exports.ProductInventoryGrid=ProductInventoryGrid,exports.ResellerBillingOverviewCard=ResellerBillingOverviewCard,exports.ResellerCard=ResellerCard,exports.ResellerQualificationsCard=ResellerQualificationsCard,exports.SalesOverviewCard=SalesOverviewCard,exports.ScrollArea=ScrollArea,exports.ScrollBar=ScrollBar,exports.Select=Select,exports.SelectScrollDownButton=SelectScrollDownButton,exports.SelectScrollUpButton=SelectScrollUpButton,exports.Separator=Separator$1,exports.Sheet=Sheet,exports.SheetClose=SheetClose,exports.SheetContent=SheetContent,exports.SheetDescription=SheetDescription,exports.SheetFooter=SheetFooter,exports.SheetHeader=SheetHeader,exports.SheetOverlay=SheetOverlay,exports.SheetPortal=SheetPortal,exports.SheetTitle=SheetTitle,exports.SheetTrigger=SheetTrigger,exports.Sidebar=Sidebar,exports.SidebarContent=SidebarContent,exports.SidebarFooter=SidebarFooter,exports.SidebarGroup=SidebarGroup,exports.SidebarGroupAction=SidebarGroupAction,exports.SidebarGroupContent=SidebarGroupContent,exports.SidebarGroupLabel=SidebarGroupLabel,exports.SidebarHeader=SidebarHeader,exports.SidebarInput=SidebarInput,exports.SidebarInset=SidebarInset,exports.SidebarMenu=SidebarMenu,exports.SidebarMenuAction=SidebarMenuAction,exports.SidebarMenuBadge=SidebarMenuBadge,exports.SidebarMenuButton=SidebarMenuButton,exports.SidebarMenuItem=SidebarMenuItem,exports.SidebarMenuSkeleton=SidebarMenuSkeleton,exports.SidebarMenuSub=SidebarMenuSub,exports.SidebarMenuSubButton=SidebarMenuSubButton,exports.SidebarMenuSubItem=SidebarMenuSubItem,exports.SidebarProvider=SidebarProvider,exports.SidebarRail=SidebarRail,exports.SidebarSeparator=SidebarSeparator,exports.SidebarTrigger=SidebarTrigger,exports.Skeleton=Skeleton,exports.Switch=Switch,exports.Tabs=Tabs,exports.TabsContent=TabsContent,exports.TabsList=TabsList,exports.TabsTrigger=TabsTrigger,exports.Textarea=Textarea,exports.Toast=Toast,exports.ToastAction=ToastAction,exports.ToastClose=ToastClose,exports.ToastDescription=ToastDescription,exports.ToastProvider=ToastProvider,exports.ToastTitle=ToastTitle,exports.ToastViewport=ToastViewport,exports.Toaster=Toaster,exports.Tooltip=Tooltip$1,exports.TooltipContent=TooltipContent,exports.TooltipProvider=TooltipProvider,exports.TooltipTrigger=TooltipTrigger,exports.Topbar=Topbar,exports.badgeVariants=badgeVariants,exports.buttonVariants=buttonVariants,exports.toast=toast,exports.useIsMobile=useIsMobile,exports.useSidebar=useSidebar,exports.useToast=useToast,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})});
|