1import{r as m,j as i}from"./react-vendor-C_qa3oZx.js";import{d as u,f as v}from"./phoneTelHref-ZrN9jtL8.js";import{m as j,E as k,l as w}from"./EmbedSnippetBlock-D1kCdhvj.js";import{f as E}from"./ticketLimits-DIj9lRbx.js";import{f as S}from"./ticketTypes-ZWaDZ20m.js";import{u as N}from"./i18n-vendor-7vG5XMYU.js";import"./client-CK7I9F8i.js";import"./main-sz27_XGs.js";import"./ErrorState-5-s0tf0N.js";import"./consentMarkdownLinks-up6DKEOG.js";import"./legalDocumentHtmlSanitizer-BZXtYpYi.js";import"./CopyIcon-DMpsvzLp.js";import"./CheckIcon-DQKApybO.js";function g(e){return e.is_active===!1?!1:(e.assignments||[]).some(t=>t.role==="limited")}function T(e){return e.is_public!==!1&&e.status==="active"&&e.category==="guest"}function _(e,t){return t.some(l=>g(l)&&(l.assignments||[]).some(a=>a.role==="limited"&&a.ticket_type_id===e.id))}function L(e,t){return T(e)?e.total_quantity!=null?!0:_(e,t):!1}function f(e,t,l){let a=String(e||"").trim().toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9_\u0080-\uFFFF-]+/gi,"-").replace(/-+/g,"-").replace(/^-|-$/g,"");a||(a=l);let r=a,c=2;for(;t.has(r);)r=`${a}-${c}`,c+=1;return t.add(r),r}function F(e,t){const l={},a=new Set,r=e.filter(g),c=t.filter(s=>L(s,e));for(const[s,n]of r.entries()){const d=r.length===1||s===0?"all-tkt":void 0,p=f(n.name||"",a,d||`pool-${n.id.slice(-6)}`);l[p]=n.id}for(const s of c){const n=(s.internal_name||"").trim()||s.name||s.id,d=f(n,a,`tkt-${s.id.slice(-6)}`);l[d]=s.id}return l}const K=2e3;function A({eventId:e}){const{t}=N(),[l,a]=m.useState(null),{data:r}=u({queryKey:["admin","embed","manifest"],queryFn:w,staleTime:300*1e3}),{data:c=[]}=u({queryKey:["admin","ticket-limits",e],queryFn:()=>E(e),enabled:!!e}),{data:s=[]}=u({queryKey:["admin","ticket-types",e],queryFn:()=>S(e),enabled:!!e}),n=m.useMemo(()=>F(c,s),[c,s]),d=m.useMemo(()=>{const o=r?.public_base_url||void 0;return j(e,o,n)},[e,r?.public_base_url,n]),p=Object.keys(n).length===0,b=Object.keys(n),x=[t("widgets.availabilityStep1"),t("widgets.availabilityStep2"),t("widgets.availabilityStep3")],h=m.useCallback(async(o,y)=>{try{await navigator.clipboard.writeText(y),a(o),setTimeout(()=>a(null),K)}catch{}},[]);return i.jsxs("section",{className:"rounded-xl border border-gray-200 bg-white overflow-hidden",children:[i.jsxs("div",{className:"border-b border-gray-100 px-5 py-4",children:[i.jsx("h2",{className:"text-base font-semibold text-gray-900 m-0",children:t("widgets.availabilityTitle")}),i.jsx("p",{className:"text-sm text-gray-500 mt-1 mb-0",children:t("widgets.availabilityDescription")})]}),i.jsx("div",{className:"p-5 space-y-4",children:p?i.jsx("div",{className:"rounded-lg border border-dashed border-gray-200 bg-gray-50 px-4 py-5 text-sm text-gray-600",children:t("widgets.availabilityEmpty")}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"space-y-2",children:x.map((o,y)=>i.jsxs("div",{className:"flex gap-3 rounded-lg bg-gray-50 px-4 py-3",children:[i.jsx("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-[var(--primary)] text-xs font-semibold text-white","aria-hidden":!0,children:y+1}),i.jsx("p",{className:"text-sm text-gray-700 m-0 leading-snug",children:o})]},o))}),b.length>0?i.jsxs("div",{children:[i.jsx("p",{className:"text-xs font-medium uppercase tracking-wide text-gray-500 mb-2",children:t("widgets.availabilityMapKeysLabel")}),i.jsx("div",{className:"flex flex-wrap gap-2",children:b.map(o=>i.jsx("code",{className:"inline-flex items-center rounded-md border border-gray-200 bg-white px-2 py-1 font-mono text-xs text-gray-800",children:`{{${o}}}`},o))})]}):null,i.jsx(k,{blockId:"availability-snippet",label:t("widgets.availabilitySnippetLabel"),value:d,copiedBlockId:l,onCopy:h})]})})]})}function Y(){const{eventId:e}=v();return e?i.jsx(A,{eventId:e}):null}export{Y as EventWidgetsAvailabilityPage};
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.