1import{r as i,bc as Z,aX as q,ca as oe,j as a,p as U,S as Te,a3 as Ke,u as He,P as Ge,b as ve,B as J,o as xe,C as be,K as ye,N as we,c as Ce,I as ce,a2 as Ue,s as O,J as Se}from"./index-PtGACUVf.js";import{u as ze}from"./useMutation-B6B2ZZTv.js";import{C as Ve,L as We}from"./lucide-react-shwZRuF5.js";import{L as ae}from"./label-BGYTmHnu.js";import{S as Qe}from"./switch-CWE3Of9x.js";import{R as Je,P as Xe,O as Ye,C as Ze}from"./index-DU2LHGu_.js";import"./dialog-1knjOMG6.js";import{P as et,a as tt,b as rt}from"./popover-C9gaYfZS.js";import{S as at}from"./scroll-area-DNolq6ne.js";import{A as it}from"./arrow-left-QiRMPYSA.js";import{P as ot}from"./plus-Dy1doKva.js";import{G as nt}from"./grip-vertical-D16A33jS.js";import{T as st}from"./trash-2-BGrma1vw.js";import{F as lt}from"./folder-DhGpXJf7.js";import"./wifi-CS7FJ7uR.js";import"./activity-CGd0KN7p.js";import"./anchor-BtkjwRz8.js";import"./archive-y0-gls5w.js";import"./arrow-up-right-CV8SEa1C.js";import"./arrow-up-oIP_qrt4.js";import"./arrow-up-down-CaB7lPG2.js";import"./briefcase-BgfCW5oW.js";import"./trophy-DXthCtcf.js";import"./leaf-C-5HGBva.js";import"./ban-DOoT93cN.js";import"./bath-BiuPki1m.js";import"./bed-CBE_cWO1.js";import"./bell-Bfh1iLA4.js";import"./undo-DzoxPG3F.js";import"./bot-B7UW_4Ys.js";import"./brain-Hwxtrb7Y.js";import"./building-2-DaWZqhwr.js";import"./building-BQc-q-zq.js";import"./truck-ZKB2-bNV.js";import"./calendar-days-DGr5G4Rh.js";import"./camera-CuADidlO.js";import"./car-CwtEGtS5.js";import"./chart-column-CaAGMVBy.js";import"./chart-no-axes-column-increasing-wEMRuHYJ.js";import"./chevron-left-CXyk187g.js";import"./chevron-up-BZ1Up2zp.js";import"./circle-alert-zZK6adB6.js";import"./circle-check-big-sSf7dLsd.js";import"./circle-check-CH_kw0yO.js";import"./circle-help-BUvj45CM.js";import"./circle-parking-CPl4bfTG.js";import"./circle-stop-C-Nv8dRR.js";import"./user-check-DHh4Rjfn.js";import"./circle-x-D8wBAwq0.js";import"./wind-DNwGV1uA.js";import"./cloud-C5mlez43.js";import"./code-DSCMRrkw.js";import"./tree-pine-BUNKHOX0.js";import"./hard-hat-CRzC0aeW.js";import"./copy-BRb9fKw2.js";import"./credit-card-DCJoW9Uy.js";import"./crown-B8Htz8P1.js";import"./database-DgpwkAuf.js";import"./dog-CLbMTT-i.js";import"./dollar-sign-CxkVLaIr.js";import"./download-40xh9tfd.js";import"./ellipsis-DPQdfJeA.js";import"./external-link-ByXnn-Nj.js";import"./eye-off-CXoqCu0T.js";import"./eye-B9hDvAFW.js";import"./file-pen-BfweXLHN.js";import"./file-spreadsheet-BSwbbLS_.js";import"./file-text-C2KosKJ2.js";import"./film-BDT4nT0_.js";import"./filter-C0y1OC41.js";import"./flag-bMSkjfyE.js";import"./flame-EMN3xJxP.js";import"./flower-2-3-nTAl08.js";import"./footprints-CVIPkMF0.js";import"./gift-BjT7Xgdl.js";import"./git-compare-Bsnya5PV.js";import"./grid-3x3-vI0_CJ82.js";import"./mouse-pointer-click-Cj-obfxu.js";import"./heart--s6OjKZV.js";import"./utensils-crossed-C2W_xpnr.js";import"./image-plus-C4-zL6i_.js";import"./image-D7k63tZZ.js";import"./inbox-BdaR07lI.js";import"./info-CY1Qa7dV.js";import"./key-DNXCS8pS.js";import"./landmark-DJBQ3_6n.js";import"./layers-DYa2Fyt7.js";import"./sliders-horizontal-D3YLe8xt.js";import"./lightbulb-CtWFGZZ1.js";import"./link-2-BVFjxgEn.js";import"./link-BKMUFJ4O.js";import"./list-plus-a7EmMycX.js";import"./list-todo-CpdGLdY2.js";import"./list-CGCEtPhK.js";import"./lock-BKQbbgdB.js";import"./rotate-ccw-Dgc4UFF7.js";import"./map-BTycuQQb.js";import"./megaphone-VNmM6JFr.js";import"./message-square-CH_YDibo.js";import"./pen-tool-wDEEzf2c.js";import"./minus-FuZgV_sS.js";import"./mountain-BeuVVvNw.js";import"./mouse-pointer-DOeWWEP-.js";import"./navigation-BSkpIPyx.js";import"./panel-left-DhCKWvrh.js";import"./panels-top-left-DpAUeJxN.js";import"./party-popper-CvnAJt1v.js";import"./paw-print-YHUc5ZPV.js";import"./pen-line-DabnMue3.js";import"./pen-BscuEnks.js";import"./pencil-42xSffWH.js";import"./percent-CW_-HGdZ.js";import"./phone-BQCs-BzB.js";import"./play-8Hb0ENwN.js";import"./plug-CL5vp3_i.js";import"./power-CPU7tH8F.js";import"./quote-D1g6sqVy.js";import"./refresh-cw-Dc0N6ZOE.js";import"./rss-Dw7Wzqqx.js";import"./ruler-CCM3lcOa.js";import"./save-BZd-y5bh.js";import"./send-pTCFlKr_.js";import"./server-DTX6qg5a.js";import"./settings-2-fzFRVmPw.js";import"./settings-BQSgtFyA.js";import"./share-2-aebk781X.js";import"./shield-alert-Wkv-xiuB.js";import"./shield-check-BAvNURxp.js";import"./shopping-bag-gZyOBMkQ.js";import"./shopping-cart-qvoUfzv5.js";import"./skip-forward-bIUGe8oW.js";import"./snowflake-DrQ6l567.js";import"./square-check-big-DIVz-rQn.js";import"./square-pen-BoD06PhD.js";import"./square-BqgxbYTi.js";import"./store-CrhfxW5k.js";import"./sun-CASFwoPM.js";import"./ticket-DZDyT-Aw.js";import"./toggle-right-DxwLesmv.js";import"./trending-down-BUHP5aIn.js";
vendor: 12,941 bytes, line 1
1import"./trending-up-DRFMNTkn.js";import"./triangle-alert-CWbsuvxh.js";import"./twitter-DkYBYRfU.js";import"./unlink-DaZ-bG8V.js";import"./unplug-cuZxPLYY.js";import"./upload-CQnoTNQE.js";import"./user-plus-B_MrQHLh.js";import"./user-x-sgvM8k0x.js";import"./utensils-BuEONXy9.js";import"./video-CmLN8lJ5.js";import"./wand-sparkles-mk-Bx8sN.js";import"./wine-CZ03YA-P.js";import"./wrench-gawjUYu4.js";import"./index-BdQq_4o_.js";var je=1,ct=.9,dt=.8,ut=.17,ue=.1,me=.999,mt=.9999,pt=.99,ft=/[\\\/_+.#"@\[\(\{&]/,gt=/[\\\/_+.#"@\[\(\{&]/g,ht=/[\s-]/,Ee=/[\s-]/g;function fe(e,o,r,p,l,m,f){if(m===o.length)return l===e.length?je:pt;var h=`${l},${m}`;if(f[h]!==void 0)return f[h];for(var y=p.charAt(m),c=r.indexOf(y,l),b=0,w,k,S,P;c>=0;)w=fe(e,o,r,p,c+1,m+1,f),w>b&&(c===l?w*=je:ft.test(e.charAt(c-1))?(w*=dt,S=e.slice(l,c-1).match(gt),S&&l>0&&(w*=Math.pow(me,S.length))):ht.test(e.charAt(c-1))?(w*=ct,P=e.slice(l,c-1).match(Ee),P&&l>0&&(w*=Math.pow(me,P.length))):(w*=ut,l>0&&(w*=Math.pow(me,c-l))),e.charAt(c)!==o.charAt(m)&&(w*=mt)),(w<ue&&r.charAt(c-1)===p.charAt(m+1)||p.charAt(m+1)===p.charAt(m)&&r.charAt(c-1)!==p.charAt(m))&&(k=fe(e,o,r,p,c+1,m+2,f),k*ue>w&&(w=k*ue)),w>b&&(b=w),c=r.indexOf(y,c+1);return f[h]=b,b}function ke(e){return e.toLowerCase().replace(Ee," ")}function vt(e,o,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,fe(e,o,ke(e),ke(o),0,0,{})}var ie='[cmdk-group=""]',pe='[cmdk-group-items=""]',xt='[cmdk-group-heading=""]',Ie='[cmdk-item=""]',Ne=`${Ie}:not([aria-disabled="true"])`,ge="cmdk-item-select",X="data-value",bt=(e,o,r)=>vt(e,o,r),Re=i.createContext(void 0),ne=()=>i.useContext(Re),De=i.createContext(void 0),he=()=>i.useContext(De),Pe=i.createContext(void 0),Ae=i.forwardRef((e,o)=>{let r=Y(()=>{var t,d;return{search:"",value:(d=(t=e.value)!=null?t:e.defaultValue)!=null?d:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),p=Y(()=>new Set),l=Y(()=>new Map),m=Y(()=>new Map),f=Y(()=>new Set),h=Fe(e),{label:y,children:c,value:b,onValueChange:w,filter:k,shouldFilter:S,loop:P,disablePointerSelection:z=!1,vimBindings:j=!0,..._}=e,M=Z(),ee=Z(),B=Z(),A=i.useRef(null),v=Dt();G(()=>{if(b!==void 0){let t=b.trim();r.current.value=t,N.emit()}},[b]),G(()=>{v(6,se)},[]);let N=i.useMemo(()=>({subscribe:t=>(f.current.add(t),()=>f.current.delete(t)),snapshot:()=>r.current,setState:(t,d,g)=>{var s,x,C,D;if(!Object.is(r.current[t],d)){if(r.current[t]=d,t==="search")W(),te(),v(1,K);else if(t==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let I=document.getElementById(B);I?I.focus():(s=document.getElementById(M))==null||s.focus()}if(v(7,()=>{var I;r.current.selectedItemId=(I=L())==null?void 0:I.id,N.emit()}),g||v(5,se),((x=h.current)==null?void 0:x.value)!==void 0){let I=d??"";(D=(C=h.current).onValueChange)==null||D.call(C,I);return}}N.emit()}},emit:()=>{f.current.forEach(t=>t())}}),[]),T=i.useMemo(()=>({value:(t,d,g)=>{var s;d!==((s=m.current.get(t))==null?void 0:s.value)&&(m.current.set(t,{value:d,keywords:g}),r.current.filtered.items.set(t,V(d,g)),v(2,()=>{te(),N.emit()}))},item:(t,d)=>(p.current.add(t),d&&(l.current.has(d)?l.current.get(d).add(t):l.current.set(d,new Set([t]))),v(3,()=>{W(),te(),r.current.value||K(),N.emit()}),()=>{m.current.delete(t),p.current.delete(t),r.current.filtered.items.delete(t);let g=L();v(4,()=>{W(),(g==null?void 0:g.getAttribute("id"))===t&&K(),N.emit()})}),group:t=>(l.current.has(t)||l.current.set(t,new Set),()=>{m.current.delete(t),l.current.delete(t)}),filter:()=>h.current.shouldFilter,label:y||e["aria-label"],getDisablePointerSelection:()=>h.current.disablePointerSelection,listId:M,inputId:B,labelId:ee,listInnerRef:A}),[]);function V(t,d){var g,s;let x=(s=(g=h.current)==null?void 0:g.filter)!=null?s:bt;return t?x(t,r.current.search,d):0}function te(){if(!r.current.search||h.current.shouldFilter===!1)return;let t=r.current.filtered.items,d=[];r.current.filtered.groups.forEach(s=>{let x=l.current.get(s),C=0;x.forEach(D=>{let I=t.get(D);C=Math.max(I,C)}),d.push([s,C])});let g=A.current;H().sort((s,x)=>{var C,D;let I=s.getAttribute("id"),le=x.getAttribute("id");return((C=t.get(le))!=null?C:0)-((D=t.get(I))!=null?D:0)}).forEach(s=>{let x=s.closest(pe);x?x.appendChild(s.parentElement===x?s:s.closest(`${pe} > *`)):g.appendChild(s.parentElement===g?s:s.closest(`${pe} > *`))}),d.sort((s,x)=>x[1]-s[1]).forEach(s=>{var x;let C=(x=A.current)==null?void 0:x.querySelector(`${ie}[${X}="${encodeURIComponent(s[0])}"]`);C==null||C.parentElement.appendChild(C)})}function K(){let t=H().find(g=>g.getAttribute("aria-disabled")!=="true"),d=t==null?void 0:t.getAttribute(X);N.setState("value",d||void 0)}function W(){var t,d,g,s;if(!r.current.search||h.current.shouldFilter===!1){r.current.filtered.count=p.current.size;return}r.current.filtered.groups=new Set;let x=0;for(let C of p.current){let D=(d=(t=m.current.get(C))==null?void 0:t.value)!=null?d:"",I=(s=(g=m.current.get(C))==null?void 0:g.keywords)!=null?s:[],le=V(D,I);r.current.filtered.items.set(C,le),le>0&&x++}for(let[C,D]of l.current)for(let I of D)if(r.current.filtered.items.get(I)>0){r.current.filtered.groups.add(C);break}r.current.filtered.count=x}function se(){var t,d,g;let s=L();s&&(((t=s.parentElement)==null?void 0:t.firstChild)===s&&((g=(d=s.closest(ie))==null?void 0:d.querySelector(xt))==null||g.scrollIntoView({block:"nearest"})),s.scrollIntoView({block:"nearest"}))}function L(){var t;return(t=A.current)==null?void 0:t.querySelector(`${Ie}[aria-selected="true"]`)}function H(){var t;return Array.from(((t=A.current)==null?void 0:t.querySelectorAll(Ne))||[])}function re(t){let d=H()[t];d&&N.setState("value",d.getAttribute(X))}function Q(t){var d;let g=L(),s=H(),x=s.findIndex(D=>D===g),C=s[x+t];(d=h.current)!=null&&d.loop&&(C=x+t<0?s[s.length-1]:x+t===s.length?s[0]:s[x+t]),C&&N.setState("value",C.getAttribute(X))}function n(t){let d=L(),g=d==null?void 0:d.closest(ie),s;for(;g&&!s;)g=t>0?It(g,ie):Rt(g,ie),s=g==null?void 0:g.querySelector(Ne);s?N.setState("value",s.getAttribute(X)):Q(t)}let u=()=>re(H().length-1),F=t=>{t.preventDefault(),t.metaKey?u():t.altKey?n(1):Q(1)},E=t=>{t.preventDefault(),t.metaKey?re(0):t.altKey?n(-1):Q(-1)};return i.createElement(q.div,{ref:o,tabIndex:-1,..._,"cmdk-root":"",onKeyDown:t=>{var d;(d=_.onKeyDown)==null||d.call(_,t);let g=t.nativeEvent.isComposing||t.keyCode===229;if(!(t.defaultPrevented||g))switch(t.key){case"n":case"j":{j&&t.ctrlKey&&F(t);break}case"ArrowDown":{F(t);break}case"p":case"k":{j&&t.ctrlKey&&E(t);break}case"ArrowUp":{E(t);break}case"Home":{t.preventDefault(),re(0);break}case"End":{t.preventDefault(),u();break}case"Enter":{t.preventDefault();let s=L();if(s){let x=new Event(ge);s.dispatchEvent(x)}}}}},i.createElement("label",{"cmdk-label":"",htmlFor:T.inputId,id:T.labelId,style:At},y),de(e,t=>i.createElement(De.Provider,{value:N},i.createElement(Re.Provider,{value:T},t))))}),yt=i.forwardRef((e,o)=>{var r,p;let l=Z(),m=i.useRef(null),f=i.useContext(Pe),h=ne(),y=Fe(e),c=(p=(r=y.current)==null?void 0:r.forceMount)!=null?p:f==null?void 0:f.forceMount;G(()=>{if(!c)return h.item(l,f==null?void 0:f.id)},[c]);let b=_e(l,m,[e.value,e.children,m],e.keywords),w=he(),k=$(v=>v.value&&v.value===b.current),S=$(v=>c||h.filter()===!1?!0:v.search?v.filtered.items.get(l)>0:!0);i.useEffect(()=>{let v=m.current;if(!(!v||e.disabled))return v.addEventListener(ge,P),()=>v.removeEventListener(ge,P)},[S,e.onSelect,e.disabled]);function P(){var v,N;z(),(N=(v=y.current).onSelect)==null||N.call(v,b.current)}function z(){w.setState("value",b.current,!0)}if(!S)return null;let{disabled:j,value:_,onSelect:M,forceMount:ee,keywords:B,...A}=e;return i.createElement(q.div,{ref:oe(m,o),...A,id:l,"cmdk-item":"",role:"option","aria-disabled":!!j,"aria-selected":!!k,"data-disabled":!!j,"data-selected":!!k,onPointerMove:j||h.getDisablePointerSelection()?void 0:z,onClick:j?void 0:P},e.children)}),wt=i.forwardRef((e,o)=>{let{heading:r,children:p,forceMount:l,...m}=e,f=Z(),h=i.useRef(null),y=i.useRef(null),c=Z(),b=ne(),w=$(S=>l||b.filter()===!1?!0:S.search?S.filtered.groups.has(f):!0);G(()=>b.group(f),[]),_e(f,h,[e.value,e.heading,y]);let k=i.useMemo(()=>({id:f,forceMount:l}),[l]);return i.createElement(q.div,{ref:oe(h,o),...m,"cmdk-group":"",role:"presentation",hidden:w?void 0:!0},r&&i.createElement("div",{ref:y,"cmdk-group-heading":"","aria-hidden":!0,id:c},r),de(e,S=>i.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?c:void 0},i.createElement(Pe.Provider,{value:k},S))))}),Ct=i.forwardRef((e,o)=>{let{alwaysRender:r,...p}=e,l=i.useRef(null),m=$(f=>!f.search);return!r&&!m?null:i.createElement(q.div,{ref:oe(l,o),...p,"cmdk-separator":"",role:"separator"})}),St=i.forwardRef((e,o)=>{let{onValueChange:r,...p}=e,l=e.value!=null,m=he(),f=$(c=>c.search),h=$(c=>c.selectedItemId),y=ne();return i.useEffect(()=>{e.value!=null&&m.setState("search",e.value)},[e.value]),i.createElement(q.input,{ref:o,...p,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":y.listId,"aria-labelledby":y.labelId,"aria-activedescendant":h,id:y.inputId,type:"text",value:l?e.value:f,onChange:c=>{l||m.setState("search",c.target.value),r==null||r(c.target.value)}})}),jt=i.forwardRef((e,o)=>{let{children:r,label:p="Suggestions",...l}=e,m=i.useRef(null),f=i.useRef(null),h=$(c=>c.selectedItemId),y=ne();return i.useEffect(()=>{if(f.current&&m.current){let c=f.current,b=m.current,w,k=new ResizeObserver(()=>{w=requestAnimationFrame(()=>{let S=c.offsetHeight;b.style.setProperty("--cmdk-list-height",S.toFixed(1)+"px")})});return k.observe(c),()=>{cancelAnimationFrame(w),k.unobserve(c)}}},[]),i.createElement(q.div,{ref:oe(m,o),...l,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":h,"aria-label":p,id:y.listId},de(e,c=>i.createElement("div",{ref:oe(f,y.listInnerRef),"cmdk-list-sizer":""},c)))}),kt=i.forwardRef((e,o)=>{let{open:r,onOpenChange:p,overlayClassName:l,contentClassName:m,container:f,...h}=e;return i.createElement(Je,{open:r,onOpenChange:p},i.createElement(Xe,{container:f},i.createElement(Ye,{"cmdk-overlay":"",className:l}),i.createElement(Ze,{"aria-label":e.label,"cmdk-dialog":"",className:m},i.createElement(Ae,{ref:o,...h}))))}),Nt=i.forwardRef((e,o)=>$(r=>r.filtered.count===0)?i.createElement(q.div,{ref:o,...e,"cmdk-empty":"",role:"presentation"}):null),Et=i.forwardRef((e,o)=>{let{progress:r,children:p,label:l="Loading...",...m}=e;return i.createElement(q.div,{ref:o,...m,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":l},de(e,f=>i.createElement("div",{"aria-hidden":!0},f)))}),R=Object.assign(Ae,{List:jt,Item:yt,Input:St,Group:wt,Separator:Ct,Dialog:kt,Empty:Nt,Loading:Et});function It(e,o){let r=e.nextElementSibling;for(;r;){if(r.matches(o))return r;r=r.nextElementSibling}}function Rt(e,o){let r=e.previousElementSibling;for(;r;){if(r.matches(o))return r;r=r.previousElementSibling}}function Fe(e){let o=i.useRef(e);return G(()=>{o.current=e}),o}var G=typeof window>"u"?i.useEffect:i.useLayoutEffect;function Y(e){let o=i.useRef();return o.current===void 0&&(o.current=e()),o}function $(e){let o=he(),r=()=>e(o.snapshot());return i.useSyncExternalStore(o.subscribe,r,r)}function _e(e,o,r,p=[]){let l=i.useRef(),m=ne();return G(()=>{var f;let h=(()=>{var c;for(let b of r){if(typeof b=="string")return b.trim();if(typeof b=="object"&&"current"in b)return b.current?(c=b.current.textContent)==null?void 0:c.trim():l.current}})(),y=p.map(c=>c.trim());m.value(e,h,y),(f=o.current)==null||f.setAttribute(X,h),l.current=h}),l}var Dt=()=>{let[e,o]=i.useState(),r=Y(()=>new Map);return G(()=>{r.current.forEach(p=>p()),r.current=new Map},[e]),(p,l)=>{r.current.set(p,l),o({})}};function Pt(e){let o=e.type;return typeof o=="function"?o(e.props):"render"in o?o.render(e.props):e}function de({asChild:e,children:o},r){return e&&i.isValidElement(o)?i.cloneElement(Pt(o),{ref:o.ref},r(o.props.children)):r(o)}var At={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const Me=i.forwardRef(({className:e,...o},r)=>a.jsx(R,{ref:r,className:U("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...o}));Me.displayName=R.displayName;const Be=i.forwardRef(({className:e,...o},r)=>a.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[a.jsx(Te,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),a.jsx(R.Input,{ref:r,className:U("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...o})]}));Be.displayName=R.Input.displayName;const Le=i.forwardRef(({className:e,...o},r)=>a.jsx(R.List,{ref:r,className:U("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...o}));
1Le.displayName=R.List.displayName;const Oe=i.forwardRef((e,o)=>a.jsx(R.Empty,{ref:o,className:"py-6 text-center text-sm",...e}));Oe.displayName=R.Empty.displayName;const $e=i.forwardRef(({className:e,...o},r)=>a.jsx(R.Group,{ref:r,className:U("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...o}));$e.displayName=R.Group.displayName;const Ft=i.forwardRef(({className:e,...o},r)=>a.jsx(R.Separator,{ref:r,className:U("-mx-1 h-px bg-border",e),...o}));Ft.displayName=R.Separator.displayName;const qe=i.forwardRef(({className:e,...o},r)=>a.jsx(R.Item,{ref:r,className:U("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50",e),...o}));qe.displayName=R.Item.displayName;const _t=["Utensils","UtensilsCrossed","Coffee","Pizza","Sandwich","IceCream2","Beer","Wine","Martini","ChefHat","Soup","Salad","Cake","Cookie","ShoppingBag","ShoppingCart","Store","Gift","Tag","Shirt","Watch","Gem","Package","Compass","Map","Bike","Waves","Mountain","Tent","Palmtree","Umbrella","Gamepad2","Music","Mic","Ticket","PartyPopper","Wrench","Hammer","Car","Scissors","Briefcase","Stethoscope","Scale","GraduationCap","PawPrint","Baby","Dumbbell","Sparkles","Hotel","Home","Bed","Building","Castle","Warehouse","Camera","Film","Tv","Radio","Headphones","Theater","Clapperboard","Calendar","CalendarDays","Clock","Alarm","Star","Heart","Flag","Trophy","Rings","Cake","Sun","Moon","Cloud","Flower2","Leaf","TreeDeciduous","Fish","Bird","Wallet","Banknote","CreditCard","DollarSign","PiggyBank","Landmark","Receipt","Calculator","Hospital","HeartPulse","Ambulance","Cross","Pill","Syringe","Activity","Church","Shield","BadgeCheck","Gavel","Building2","CircleDot","Bus","Train","Plane","Ship","Truck","CarFront","Fuel","House","Key","DoorOpen","Fence","Building2","Brush","SprayCan","Droplets","Flower","Smile","Laugh","PersonStanding","HeartHandshake","MapPin","Phone","Mail","Globe","Users","Search","Info","HelpCircle","Bookmark","Award","ThumbsUp","Zap","Lightbulb","Folder"];function Ei(){const{id:e}=Ke(),o=He(),r=Ge(),p=!e||e==="new",[l,m]=i.useState(""),[f,h]=i.useState(""),[y,c]=i.useState("Folder"),[b,w]=i.useState(!1),[k,S]=i.useState(0),[P,z]=i.useState(!0),[j,_]=i.useState([]),[M,ee]=i.useState(""),[B,A]=i.useState(null),{data:v,isLoading:N}=ve({queryKey:["admin-category",e],queryFn:async()=>{const{data:n,error:u}=await O.from("categories").select("*").eq("id",e).maybeSingle();if(u)throw u;return n},enabled:!p}),{data:T}=ve({queryKey:["admin-category-subcategories",e],queryFn:async()=>{const{data:n,error:u}=await O.from("subcategories").select("*").eq("category_id",e).order("sort_order");if(u)throw u;return n},enabled:!p});i.useEffect(()=>{v&&(m(v.name||""),h(v.slug||""),c(v.icon||"Folder"),S(v.sort_order||0),z(v.is_active??!0))},[v]),i.useEffect(()=>{T&&_(T.map(n=>({id:n.id,name:n.name,slug:n.slug,sort_order:n.sort_order||0,is_active:n.is_active??!0})))},[T]);const V=n=>n.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,""),te=n=>{m(n),(p||f===V(l))&&h(V(n))},K=ze({mutationFn:async()=>{if(p){const{data:n,error:u}=await O.from("categories").insert({name:l,slug:f,icon:y,sort_order:k,is_active:P}).select().single();if(u)throw u;const F=j.filter(E=>!E.isDeleted);if(F.length>0){const{error:E}=await O.from("subcategories").insert(F.map((t,d)=>({category_id:n.id,name:t.name,slug:t.slug,sort_order:d,is_active:t.is_active})));if(E)throw E}return n}else{const{error:n}=await O.from("categories").update({name:l,slug:f,icon:y,sort_order:k,is_active:P}).eq("id",e);if(n)throw n;for(const u of j)u.isDeleted&&u.id?await O.from("subcategories").delete().eq("id",u.id):u.isNew&&!u.isDeleted?await O.from("subcategories").insert({category_id:e,name:u.name,slug:u.slug,sort_order:u.sort_order,is_active:u.is_active}):u.id&&!u.isDeleted&&await O.from("subcategories").update({name:u.name,slug:u.slug,sort_order:u.sort_order,is_active:u.is_active}).eq("id",u.id)}},onSuccess:()=>{Se.success(p?"Category created":"Category updated"),r.invalidateQueries({queryKey:["admin-categories"]}),r.invalidateQueries({queryKey:["categories"]}),o("/admin/categories")},onError:n=>{Se.error("Failed to save category: "+n.message)}}),W=()=>{M.trim()&&(_([...j,{name:M.trim(),slug:V(M),sort_order:j.length,is_active:!0,isNew:!0}]),ee(""))},se=n=>{const F=j.filter(E=>!E.isDeleted)[n];_(E=>E.map(t=>t===F?{...t,isDeleted:!0}
1:t))},L=n=>{A(n)},H=(n,u)=>{if(n.preventDefault(),B===null||B===u)return;const E=[...j.filter(s=>!s.isDeleted)],[t]=E.splice(B,1);E.splice(u,0,t);const d=E.map((s,x)=>({...s,sort_order:x})),g=j.filter(s=>s.isDeleted);_([...d,...g]),A(u)},re=()=>{A(null)},Q=n=>{const u=We[n];return u?a.jsx(u,{className:"h-4 w-4"}):a.jsx(lt,{className:"h-4 w-4"})};return!p&&N?a.jsx("div",{className:"flex items-center justify-center py-12",children:a.jsx("p",{className:"text-muted-foreground",children:"Loading category..."})}):a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx(J,{variant:"ghost",size:"icon",asChild:!0,children:a.jsx(xe,{to:"/admin/categories",children:a.jsx(it,{className:"h-4 w-4"})})}),a.jsxs("div",{children:[a.jsx("h1",{className:"text-3xl font-bold",children:p?"New Category":"Edit Category"}),!p&&a.jsx("p",{className:"text-muted-foreground",children:v==null?void 0:v.name})]})]}),a.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[a.jsxs(be,{children:[a.jsx(ye,{children:a.jsx(we,{children:"Category Details"})}),a.jsxs(Ce,{className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(ae,{htmlFor:"name",children:"Name"}),a.jsx(ce,{id:"name",value:l,onChange:n=>te(n.target.value),placeholder:"e.g., Restaurants"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(ae,{htmlFor:"slug",children:"Slug"}),a.jsx(ce,{id:"slug",value:f,onChange:n=>h(n.target.value),placeholder:"e.g., restaurants"})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(ae,{children:"Icon"}),a.jsxs(et,{open:b,onOpenChange:w,children:[a.jsx(tt,{asChild:!0,children:a.jsxs(J,{variant:"outline",role:"combobox","aria-expanded":b,className:"w-full justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[Q(y),a.jsx("span",{children:y})]}),a.jsx(Ve,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),a.jsx(rt,{className:"w-[300px] p-0",align:"start",children:a.jsxs(Me,{children:[a.jsx(Be,{placeholder:"Search icons..."}),a.jsxs(Le,{children:[a.jsx(Oe,{children:"No icon found."}),a.jsx($e,{children:a.jsx(at,{className:"h-[300px]",children:_t.map(n=>a.jsxs(qe,{value:n,onSelect:()=>{c(n),w(!1)},children:[a.jsx(Ue,{className:U("mr-2 h-4 w-4",y===n?"opacity-100":"opacity-0")}),a.jsxs("div",{className:"flex items-center gap-2",children:[Q(n),a.jsx("span",{children:n})]})]},n))})})]})]})})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(ae,{htmlFor:"sortOrder",children:"Sort Order"}),a.jsx(ce,{id:"sortOrder",type:"number",value:k,onChange:n=>S(parseInt(n.target.value)||0)})]}),a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx(Qe,{checked:P,onCheckedChange:z}),a.jsx(ae,{children:"Active"})]})]})]}),a.jsxs(be,{children:[a.jsx(ye,{children:a.jsx(we,{children:"Subcategories"})}),a.jsxs(Ce,{className:"space-y-4",children:[a.jsxs("div",{className:"flex gap-2",children:[a.jsx(ce,{value:M,onChange:n=>ee(n.target.value),placeholder:"New subcategory name",onKeyDown:n=>n.key==="Enter"&&W()}),a.jsx(J,{type:"button",onClick:W,children:a.jsx(ot,{className:"h-4 w-4"})})]}),a.jsxs("div",{className:"space-y-2",children:[j.filter(n=>!n.isDeleted).sort((n,u)=>n.sort_order-u.sort_order).map((n,u)=>a.jsxs("div",{draggable:!0,onDragStart:()=>L(u),onDragOver:F=>H(F,u),onDragEnd:re,className:`flex items-center gap-2 p-2 border rounded-lg cursor-move transition-opacity ${B===u?"opacity-50 bg-muted":""}`,children:[a.jsx(nt,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),a.jsx("span",{className:"flex-1",children:n.name}),a.jsxs("span",{className:"text-sm text-muted-foreground",children:["/",n.slug]}),a.jsx(J,{type:"button",variant:"ghost",size:"icon",onClick:()=>se(u),children:a.jsx(st,{className:"h-4 w-4 text-destructive"})})]},n.id||`new-${u}`)),j.filter(n=>!n.isDeleted).length===0&&a.jsx("p",{className:"text-sm text-muted-foreground text-center py-4",children:"No subcategories added yet"})]})]})]})]}),a.jsxs("div",{className:"flex gap-4",children:[a.jsx(J,{onClick:()=>K.mutate(),disabled:K.isPending,children:K.isPending?"Saving...":p?"Create Category":"Save Changes"}),a.jsx(J,{variant:"outline",asChild:!0,children:a.jsx(xe,{to:"/admin/categories",children:"Cancel"})})]})]})}export{Ei as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.