@tech_carthagos/page-builder 1.0.53 → 1.0.54

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/index.cjs.js CHANGED
@@ -277,4 +277,4 @@ Or, to disable this warning, add the \`allowVulnerableTags\` option
277
277
  and ensure you are accounting for this risk.
278
278
 
279
279
  `)});const s=e.nonTextTags||["script","style","textarea","option"];let u,l;e.allowedAttributes&&(u={},l={},pr(e.allowedAttributes,function(N,O){u[O]=[];const A=[];N.forEach(function(R){typeof R=="string"&&R.indexOf("*")>=0?A.push(nc(R).replace(/\\\*/g,".*")):u[O].push(R)}),A.length&&(l[O]=new RegExp("^("+A.join("|")+")$"))}));const c={},h={},f={};pr(e.allowedClasses,function(N,O){if(u&&(ht(u,O)||(u[O]=[]),u[O].push("class")),c[O]=N,Array.isArray(N)){const A=[];c[O]=[],f[O]=[],N.forEach(function(R){typeof R=="string"&&R.indexOf("*")>=0?A.push(nc(R).replace(/\\\*/g,".*")):R instanceof RegExp?f[O].push(R):c[O].push(R)}),A.length&&(h[O]=new RegExp("^("+A.join("|")+")$"))}});const d={};let b;pr(e.transformTags,function(N,O){let A;typeof N=="function"?A=N:typeof N=="string"&&(A=Cn.simpleTransform(N)),O==="*"?b=A:d[O]=A});let g,m,v,x,S,E,j=!1;_();const k=new l5.Parser({onopentag:function(N,O){if(e.onOpenTag&&e.onOpenTag(N,O),e.enforceHtmlBoundary&&N==="html"&&_(),S){E++;return}const A=new a(N,O);m.push(A);let R=!1;const M=!!A.text;let q;if(ht(d,N)&&(q=d[N](N,O),A.attribs=O=q.attribs,q.text!==void 0&&(A.innerText=q.text),N!==q.tagName&&(A.name=N=q.tagName,x[g]=q.tagName)),b&&(q=b(N,O),A.attribs=O=q.attribs,N!==q.tagName&&(A.name=N=q.tagName,x[g]=q.tagName)),(!i(N)||e.disallowedTagsMode==="recursiveEscape"&&!m5(v)||e.nestingLimit!=null&&g>=e.nestingLimit)&&(R=!0,v[g]=!0,(e.disallowedTagsMode==="discard"||e.disallowedTagsMode==="completelyDiscard")&&s.indexOf(N)!==-1&&(S=!0,E=1)),g++,R){if(e.disallowedTagsMode==="discard"||e.disallowedTagsMode==="completelyDiscard"){if(A.innerText&&!M){const B=D(A.innerText);e.textFilter?n+=e.textFilter(B,N):n+=B,j=!0}return}o=n,n=""}n+="<"+N,N==="script"&&(e.allowedScriptHostnames||e.allowedScriptDomains)&&(A.innerText=""),R&&(e.disallowedTagsMode==="escape"||e.disallowedTagsMode==="recursiveEscape")&&e.preserveEscapedAttributes?pr(O,function(B,z){n+=" "+z+'="'+D(B||"",!0)+'"'}):(!u||ht(u,N)||u["*"])&&pr(O,function(B,z){if(!v5.test(z)){delete A.attribs[z];return}if(B===""&&!e.allowedEmptyAttributes.includes(z)&&(e.nonBooleanAttributes.includes(z)||e.nonBooleanAttributes.includes("*"))){delete A.attribs[z];return}let me=!1;if(!u||ht(u,N)&&u[N].indexOf(z)!==-1||u["*"]&&u["*"].indexOf(z)!==-1||ht(l,N)&&l[N].test(z)||l["*"]&&l["*"].test(z))me=!0;else if(u&&u[N]){for(const X of u[N])if(c5(X)&&X.name&&X.name===z){me=!0;let H="";if(X.multiple===!0){const Te=B.split(" ");for(const xe of Te)X.values.indexOf(xe)!==-1&&(H===""?H=xe:H+=" "+xe)}else X.values.indexOf(B)>=0&&(H=B);B=H}}if(me){if(e.allowedSchemesAppliedToAttributes.indexOf(z)!==-1&&L(N,B)){delete A.attribs[z];return}if(N==="script"&&z==="src"){let X=!0;try{const H=$(B);if(e.allowedScriptHostnames||e.allowedScriptDomains){const Te=(e.allowedScriptHostnames||[]).find(function(ge){return ge===H.url.hostname}),xe=(e.allowedScriptDomains||[]).find(function(ge){return H.url.hostname===ge||H.url.hostname.endsWith(`.${ge}`)});X=Te||xe}}catch{X=!1}if(!X){delete A.attribs[z];return}}if(N==="iframe"&&z==="src"){let X=!0;try{const H=$(B);if(H.isRelativeUrl)X=ht(e,"allowIframeRelativeUrls")?e.allowIframeRelativeUrls:!e.allowedIframeHostnames&&!e.allowedIframeDomains;else if(e.allowedIframeHostnames||e.allowedIframeDomains){const Te=(e.allowedIframeHostnames||[]).find(function(ge){return ge===H.url.hostname}),xe=(e.allowedIframeDomains||[]).find(function(ge){return H.url.hostname===ge||H.url.hostname.endsWith(`.${ge}`)});X=Te||xe}}catch{X=!1}if(!X){delete A.attribs[z];return}}if(z==="srcset")try{let X=d5(B);if(X.forEach(function(H){L("srcset",H.url)&&(H.evil=!0)}),X=ac(X,function(H){return!H.evil}),X.length)B=b5(ac(X,function(H){return!H.evil})),A.attribs[z]=B;else{delete A.attribs[z];return}}catch{delete A.attribs[z];return}if(z==="class"){const X=c[N],H=c["*"],Te=h[N],xe=f[N],ge=f["*"],Ge=h["*"],ct=[Te,Ge].concat(xe,ge).filter(function(Ye){return Ye});if(X&&H?B=I(B,oc(X,H),ct):B=I(B,X||H,ct),!B.length){delete A.attribs[z];return}}if(z==="style"){if(e.parseStyleAttributes)try{const X=f5(N+" {"+B+"}",{map:!1}),H=C(X,e.allowedStyles);if(B=T(H),B.length===0){delete A.attribs[z];return}}catch{typeof window<"u"&&console.warn('Failed to parse "'+N+" {"+B+`}", If you're running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547`),delete A.attribs[z];return}else if(e.allowedStyles)throw new Error("allowedStyles option cannot be used together with parseStyleAttributes: false.")}n+=" "+z,B&&B.length?n+='="'+D(B,!0)+'"':e.allowedEmptyAttributes.includes(z)&&(n+='=""')}else delete A.attribs[z]}),e.selfClosing.indexOf(N)!==-1?n+=" />":(n+=">",A.innerText&&!M&&!e.textFilter&&(n+=D(A.innerText),j=!0)),R&&(n=o+D(n),o=""),A.openingTagLength=n.length-A.tagPosition},ontext:function(N){if(S)return;const O=m[m.length-1];let A;if(O&&(A=O.tag,N=O.innerText!==void 0?O.innerText:N),e.disallowedTagsMode==="completelyDiscard"&&!i(A))N="";else if((e.disallowedTagsMode==="discard"||e.disallowedTagsMode==="completelyDiscard")&&(A==="script"||A==="style"))n+=N;else if(!j){const R=D(N,!1);e.textFilter?n+=e.textFilter(R,A):n+=R}if(m.length){const R=m[m.length-1];R.text+=N}},onclosetag:function(N,O){if(e.onCloseTag&&e.onCloseTag(N,O),S)if(E--,!E)S=!1;else return;const A=m.pop();if(!A)return;if(A.tag!==N){m.push(A);return}S=e.enforceHtmlBoundary?N==="html":!1,g--;const R=v[g];if(R){if(delete v[g],e.disallowedTagsMode==="discard"||e.disallowedTagsMode==="completelyDiscard"){A.updateParentNodeText();return}o=n,n=""}if(x[g]&&(N=x[g],delete x[g]),e.exclusiveFilter){const M=e.exclusiveFilter(A);if(M==="excludeTag"){R&&(n=o,o=""),n=n.substring(0,A.tagPosition)+n.substring(A.tagPosition+A.openingTagLength);return}else if(M){n=n.substring(0,A.tagPosition);return}}if(A.updateParentNodeMediaChildren(),A.updateParentNodeText(),e.selfClosing.indexOf(N)!==-1||O&&!i(N)&&["escape","recursiveEscape"].indexOf(e.disallowedTagsMode)>=0){R&&(n=o,o="");return}n+="</"+N+">",R&&(n=o+D(n),o=""),j=!1}},e.parser);return k.write(t),k.end(),n;function _(){n="",g=0,m=[],v={},x={},S=!1,E=0}function D(N,O){return typeof N!="string"&&(N=N+""),e.parser.decodeEntities&&(N=N.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),O&&(N=N.replace(/"/g,"&quot;"))),N=N.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),O&&(N=N.replace(/"/g,"&quot;")),N}function L(N,O){for(O=O.replace(/[\x00-\x20]+/g,"");;){const M=O.indexOf("<!--");if(M===-1)break;const q=O.indexOf("-->",M+4);if(q===-1)break;O=O.substring(0,M)+O.substring(q+3)}const A=O.match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);if(!A)return O.match(/^[/\\]{2}/)?!e.allowProtocolRelative:!1;const R=A[1].toLowerCase();return ht(e.allowedSchemesByTag,N)?e.allowedSchemesByTag[N].indexOf(R)===-1:!e.allowedSchemes||e.allowedSchemes.indexOf(R)===-1}function $(N){if(N=N.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/,"$1//"),N.startsWith("relative:"))throw new Error("relative: exploit attempt");let O="relative://relative-site";for(let M=0;M<100;M++)O+=`/${M}`;const A=new URL(N,O);return{isRelativeUrl:A&&A.hostname==="relative-site"&&A.protocol==="relative:",url:A}}function C(N,O){if(!O)return N;const A=N.nodes[0];let R;return O[A.selector]&&O["*"]?R=oc(O[A.selector],O["*"]):R=O[A.selector]||O["*"],R&&(N.nodes[0].nodes=A.nodes.reduce(P(R),[])),N}function T(N){return N.nodes[0].nodes.reduce(function(O,A){return O.push(`${A.prop}:${A.value}${A.important?" !important":""}`),O},[]).join(";")}function P(N){return function(O,A){return ht(N,A.prop)&&N[A.prop].some(function(M){return M.test(A.value)})&&O.push(A),O}}function I(N,O,A){return O?(N=N.split(/\s+/),N.filter(function(R){return O.indexOf(R)!==-1||A.some(function(M){return M.test(R)})}).join(" ")):N}}const y5={decodeEntities:!0};Cn.defaults={allowedTags:["address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","hgroup","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","menu","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rb","rp","rt","rtc","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr"],nonBooleanAttributes:["abbr","accept","accept-charset","accesskey","action","allow","alt","as","autocapitalize","autocomplete","blocking","charset","cite","class","color","cols","colspan","content","contenteditable","coords","crossorigin","data","datetime","decoding","dir","dirname","download","draggable","enctype","enterkeyhint","fetchpriority","for","form","formaction","formenctype","formmethod","formtarget","headers","height","hidden","high","href","hreflang","http-equiv","id","imagesizes","imagesrcset","inputmode","integrity","is","itemid","itemprop","itemref","itemtype","kind","label","lang","list","loading","low","max","maxlength","media","method","min","minlength","name","nonce","optimum","pattern","ping","placeholder","popover","popovertarget","popovertargetaction","poster","preload","referrerpolicy","rel","rows","rowspan","sandbox","scope","shape","size","sizes","slot","span","spellcheck","src","srcdoc","srclang","srcset","start","step","style","tabindex","target","title","translate","type","usemap","value","width","wrap","onauxclick","onafterprint","onbeforematch","onbeforeprint","onbeforeunload","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextlost","oncontextmenu","oncontextrestored","oncopy","oncuechange","oncut","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onformdata","onhashchange","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onload","onloadeddata","onloadedmetadata","onloadstart","onmessage","onmessageerror","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onoffline","ononline","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpopstate","onprogress","onratechange","onreset","onresize","onrejectionhandled","onscroll","onscrollend","onsecuritypolicyviolation","onseeked","onseeking","onselect","onslotchange","onstalled","onstorage","onsubmit","onsuspend","ontimeupdate","ontoggle","onunhandledrejection","onunload","onvolumechange","onwaiting","onwheel"],disallowedTagsMode:"discard",allowedAttributes:{a:["href","name","target"],img:["src","srcset","alt","title","width","height","loading"]},allowedEmptyAttributes:["alt"],selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:["http","https","ftp","mailto","tel"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:["href","src","cite"],allowProtocolRelative:!0,enforceHtmlBoundary:!1,parseStyleAttributes:!0,preserveEscapedAttributes:!1};Cn.simpleTransform=function(t,e,r){return r=r===void 0?!0:r,e=e||{},function(n,o){let a;if(r)for(a in e)o[a]=e[a];else o=e;return{tagName:t,attribs:o}}};const p0=Fo(g5),x5=[{command:"bold",icon:oh,label:"Bold"},{command:"italic",icon:dh,label:"Italic"},{command:"underline",icon:wh,label:"Underline"},{command:"strikeThrough",icon:yh,label:"Strikethrough"},{command:"insertUnorderedList",icon:ph,label:"Bullet List"},{command:"insertOrderedList",icon:fh,label:"Numbered List"}],w5={allowedTags:["b","i","u","s","strong","em","ul","ol","li","br","p","a","span"],allowedAttributes:{a:["href","target"],span:["style"]},allowedStyles:{span:{"text-decoration":[/^line-through$/]}}},S5=({label:t,value:e,onChange:r})=>{const n=w.useRef(null),[o,a]=w.useState(!1),[i,s]=w.useState(""),u=w.useRef(null);w.useEffect(()=>{n.current&&n.current.innerHTML!==e&&(n.current.innerHTML=e||"")},[]);const l=m=>{var v;document.execCommand(m,!1,null),(v=n.current)==null||v.focus(),c()},c=()=>{if(n.current){const m=n.current.innerHTML,v=p0(m,w5);r(v)}},h=()=>{const m=window.getSelection();m&&m.rangeCount>0&&(u.current=m.getRangeAt(0))},f=()=>{if(u.current){const m=window.getSelection();m==null||m.removeAllRanges(),m==null||m.addRange(u.current)}},d=()=>{h(),a(!0)},b=()=>{var m;if(i){f();let v=i.trim();v&&!v.match(/^https?:\/\//i)&&(v="https://"+v);try{new URL(v),document.execCommand("createLink",!1,v),c()}catch{}}a(!1),s(""),(m=n.current)==null||m.focus()},g=m=>{try{return document.queryCommandState(m)}catch{return!1}};return p.jsxs("div",{className:"space-y-1.5",children:[p.jsx("label",{className:"text-xs text-muted-foreground",children:t}),p.jsx("div",{className:"flex items-center gap-0.5 p-1 bg-muted rounded-t border border-input border-b-0",children:p.jsxs(hn,{children:[x5.map(({command:m,icon:v,label:x})=>p.jsxs(Cr,{children:[p.jsx(Er,{asChild:!0,children:p.jsx("button",{type:"button",onMouseDown:S=>{S.preventDefault(),l(m)},className:`p-1.5 rounded hover:bg-background transition-colors ${g(m)?"bg-background text-primary":"text-muted-foreground"}`,children:p.jsx(v,{className:"h-3.5 w-3.5"})})}),p.jsx(Jt,{side:"top",children:p.jsx("p",{children:x})})]},m)),p.jsx("div",{className:"w-px h-4 bg-border mx-1"}),p.jsxs(Cr,{children:[p.jsx(Er,{asChild:!0,children:p.jsx("button",{type:"button",onMouseDown:m=>{m.preventDefault(),d()},className:"p-1.5 rounded hover:bg-background transition-colors text-muted-foreground",children:p.jsx(Gi,{className:"h-3.5 w-3.5"})})}),p.jsx(Jt,{side:"top",children:p.jsx("p",{children:"Insert Link"})})]})]})}),p.jsx("div",{ref:n,contentEditable:!0,onInput:c,onBlur:c,className:"min-h-[80px] max-h-[200px] overflow-y-auto p-2 text-xs rounded-b border border-input bg-background focus:outline-none focus:ring-1 focus:ring-ring prose prose-sm max-w-none [&_ul]:list-disc [&_ul]:pl-4 [&_ol]:list-decimal [&_ol]:pl-4 [&_a]:text-primary [&_a]:underline",style:{wordBreak:"break-word"}}),o&&p.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",children:p.jsxs("div",{className:"bg-background p-4 rounded-lg shadow-lg w-80 space-y-3",children:[p.jsx("h4",{className:"text-sm font-medium",children:"Insert Link"}),p.jsx("input",{type:"url",value:i,onChange:m=>s(m.target.value),placeholder:"https://example.com",className:"w-full px-3 py-2 text-sm rounded border border-input bg-background",autoFocus:!0,onKeyDown:m=>{m.key==="Enter"&&(m.preventDefault(),b()),m.key==="Escape"&&(a(!1),s(""))}}),p.jsxs("div",{className:"flex justify-end gap-2",children:[p.jsx("button",{onClick:()=>{a(!1),s("")},className:"px-3 py-1.5 text-xs rounded border border-input hover:bg-muted",children:"Cancel"}),p.jsx("button",{onClick:b,className:"px-3 py-1.5 text-xs rounded bg-primary text-primary-foreground hover:bg-primary/90",children:"Insert"})]})]})})]})},C5={allowedTags:["b","i","u","s","strong","em","ul","ol","li","br","p","a","span"],allowedAttributes:{a:["href","target"],span:["style"]},allowedStyles:{span:{"text-decoration":[/^line-through$/]}}},Ws=({text:t="",html:e,fontSize:r={desktop:16},fontWeight:n="400",fontFamily:o="inherit",lineHeight:a={desktop:150},letterSpacing:i={desktop:0},textAlign:s="left",color:u="#000000",margin:l={top:0,right:0,bottom:0,left:0},textDecoration:c="none",textTransform:h="none",opacity:f=100})=>{const d=Ee(),b=En();let g,m,v;try{const{connectors:D,events:L}=oe($=>({events:$.events}));g=D.connect,m=D.drag,v=L.selected}catch{}const x=To(t,b),S=typeof J(l,d)=="object"?`${J(l,d).top}px ${J(l,d).right}px ${J(l,d).bottom}px ${J(l,d).left}px`:`${J(l,d)}px`,E=gt(r,d,16),j=gt(a,d,150)/100,k=gt(i,d,0),_=/<[^>]+>/.test(x);return p.jsx("div",{ref:D=>D&&g&&m&&g(m(D)),className:`cursor-move ${v?"outline outline-blue-500":""}`,style:{fontSize:`${E}px`,fontWeight:n,fontFamily:o,lineHeight:j,letterSpacing:`${k}px`,textAlign:s,color:u,margin:S,textDecoration:c,textTransform:h,opacity:f/100},children:e||_?p.jsx("div",{dangerouslySetInnerHTML:{__html:p0(To(e||x,b),C5)},className:"[&_ul]:list-disc [&_ul]:pl-4 [&_ol]:list-decimal [&_ol]:pl-4 [&_a]:text-primary [&_a]:underline"}):x})},E5=()=>{const{actions:{setProp:t},props:e}=oe(n=>({props:n.data.props})),r=typeof e.margin=="object"&&!("desktop"in e.margin)?e.margin:{top:0,right:0,bottom:0,left:0};return p.jsxs("div",{className:"space-y-3",children:[p.jsx(V,{title:"Content",defaultOpen:!0,children:p.jsx(S5,{label:"Text",value:e.html??e.text,onChange:n=>t(o=>{o.html=null,o.text=n})})}),p.jsxs(V,{title:"Typography",defaultOpen:!0,children:[p.jsx(Z,{label:"Font",value:e.fontFamily||"inherit",options:[{value:"inherit",label:"Default"},{value:"Inter, sans-serif",label:"Inter"},{value:"Georgia, serif",label:"Georgia"},{value:"Menlo, monospace",label:"Mono"},{value:"system-ui",label:"System"}],onChange:n=>t(o=>o.fontFamily=n)}),p.jsx(Eo,{label:"Size",values:e.fontSize,onChange:n=>t(o=>o.fontSize=n),min:8,max:120,defaultValue:16}),p.jsx(Z,{label:"Weight",value:e.fontWeight||"400",options:[{value:"300",label:"Light"},{value:"400",label:"Regular"},{value:"500",label:"Medium"},{value:"600",label:"Semibold"},{value:"700",label:"Bold"},{value:"800",label:"Extra Bold"}],onChange:n=>t(o=>o.fontWeight=n)}),p.jsx(No,{label:"Line Height",values:e.lineHeight,onChange:n=>t(o=>o.lineHeight=n),min:80,max:250,unit:"%",defaultValue:150}),p.jsx(Eo,{label:"Letter Spacing",values:e.letterSpacing,onChange:n=>t(o=>o.letterSpacing=n),min:-5,max:20,defaultValue:0}),p.jsx(yt,{label:"Alignment",value:e.textAlign||"left",options:[{value:"left",label:p.jsx(Fi,{className:"h-3 w-3"})},{value:"center",label:p.jsx(Hi,{className:"h-3 w-3"})},{value:"right",label:p.jsx(qi,{className:"h-3 w-3"})}],onChange:n=>t(o=>o.textAlign=n)}),p.jsx(Z,{label:"Transform",value:e.textTransform||"none",options:[{value:"none",label:"None"},{value:"uppercase",label:"UPPERCASE"},{value:"lowercase",label:"lowercase"},{value:"capitalize",label:"Capitalize"}],onChange:n=>t(o=>o.textTransform=n)}),p.jsx(Z,{label:"Decoration",value:e.textDecoration||"none",options:[{value:"none",label:"None"},{value:"underline",label:"Underline"},{value:"line-through",label:"Strikethrough"}],onChange:n=>t(o=>o.textDecoration=n)})]}),p.jsxs(V,{title:"Color",defaultOpen:!1,children:[p.jsx(et,{label:"Text Color",value:e.color||"#000000",onChange:n=>t(o=>o.color=n)}),p.jsx(No,{label:"Opacity",values:e.opacity,onChange:n=>t(o=>o.opacity=n),min:0,max:100,unit:"%",defaultValue:100})]}),p.jsx(V,{title:"Spacing",defaultOpen:!1,children:p.jsx(Le,{label:"Margin",values:r,onChange:n=>t(o=>o.margin={...o.margin,...n})})}),p.jsx(V,{title:"Dynamic Data",defaultOpen:!1,children:p.jsx(ef,{})})]})};Ws.craft={displayName:"Text",props:{text:"Edit me",fontSize:{desktop:16},fontWeight:"400",fontFamily:"inherit",lineHeight:{desktop:150},letterSpacing:{desktop:0},textAlign:"left",color:"#000000",margin:{desktop:{top:0,right:0,bottom:0,left:0}},textDecoration:"none",textTransform:"none",opacity:{desktop:100}},related:{settings:E5}};const on={1:{desktop:48,small:42,tablet:36,mobile:28},2:{desktop:36,small:32,tablet:28,mobile:24},3:{desktop:28,small:26,tablet:24,mobile:20},4:{desktop:22,small:20,tablet:18,mobile:16}},Gs=({text:t="Heading",level:e=2,textAlign:r="left",color:n="#000000",fontWeight:o="700",fontFamily:a="inherit",fontSize:i="auto",lineHeight:s={desktop:120},letterSpacing:u={desktop:-.5},margin:l={top:0,right:0,bottom:16,left:0},textTransform:c="none",opacity:h={desktop:100}})=>{var D,L,$;const f=Ee(),d=En();let b,g,m;try{const{connectors:C,events:T}=oe(P=>({events:P.events}));b=C.connect,g=C.drag,m=T.selected}catch{}const v=To(t,d),x=`h${e}`;let S;i==="auto"?S=((D=on[e])==null?void 0:D[f])||((L=on[e])==null?void 0:L.desktop)||36:S=gt(i,f,(($=on[e])==null?void 0:$.desktop)||36);const E=gt(s,f,120)/100,j=gt(u,f,-.5),k=gt(h,f,100),_=typeof J(l,f)=="object"?`${J(l,f).top}px ${J(l,f).right}px ${J(l,f).bottom}px ${J(l,f).left}px`:`${J(l,f)}px`;return p.jsx(x,{ref:C=>C&&b&&g&&b(g(C)),className:`cursor-move ${m?"outline outline-blue-500":""}`,style:{textAlign:r,color:n,fontWeight:o,fontFamily:a,fontSize:`${S}px`,lineHeight:E,letterSpacing:`${j}px`,margin:_,textTransform:c,opacity:k/100},children:v})},N5=()=>{var a;const t=Ee(),{actions:{setProp:e},props:r}=oe(i=>({props:i.data.props})),n=typeof r.margin=="object"&&!("desktop"in r.margin)?r.margin:{top:0,right:0,bottom:16,left:0},o=()=>{var i;return r.fontSize==="auto"?((i=on[r.level||2])==null?void 0:i[t])||36:gt(r.fontSize,t,36)};return p.jsxs("div",{className:"space-y-3",children:[p.jsxs(V,{title:"Content",defaultOpen:!0,children:[p.jsx(Bt,{label:"Text",value:r.text,onChange:i=>e(s=>s.text=i)}),p.jsx(yt,{label:"Level",value:r.level||2,options:[{value:1,label:"H1"},{value:2,label:"H2"},{value:3,label:"H3"},{value:4,label:"H4"}],onChange:i=>e(s=>{s.level=i,s.fontSize})})]}),p.jsxs(V,{title:"Typography",defaultOpen:!0,children:[p.jsx(Z,{label:"Font",value:r.fontFamily||"inherit",options:[{value:"inherit",label:"Default"},{value:"Inter, sans-serif",label:"Inter"},{value:"Georgia, serif",label:"Georgia"},{value:"system-ui",label:"System"}],onChange:i=>e(s=>s.fontFamily=i)}),p.jsxs("div",{className:"space-y-1.5",children:[p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsx("label",{className:"text-xs text-muted-foreground",children:"Size Mode"}),p.jsx("button",{onClick:()=>e(i=>i.fontSize=i.fontSize==="auto"?{desktop:o()}:"auto"),className:`text-xs px-2 py-0.5 rounded ${r.fontSize==="auto"?"bg-primary/10 text-primary":"text-muted-foreground"}`,children:r.fontSize==="auto"?"Auto (Responsive)":"Custom"})]}),r.fontSize!=="auto"&&p.jsx(Eo,{label:"Size",values:r.fontSize,onChange:i=>e(s=>s.fontSize=i),min:12,max:120,defaultValue:((a=on[r.level||2])==null?void 0:a.desktop)||36})]}),p.jsx(Z,{label:"Weight",value:r.fontWeight||"700",options:[{value:"400",label:"Regular"},{value:"500",label:"Medium"},{value:"600",label:"Semibold"},{value:"700",label:"Bold"},{value:"800",label:"Extra Bold"},{value:"900",label:"Black"}],onChange:i=>e(s=>s.fontWeight=i)}),p.jsx(No,{label:"Line Height",values:r.lineHeight,onChange:i=>e(s=>s.lineHeight=i),min:80,max:200,unit:"%",defaultValue:120}),p.jsx(Eo,{label:"Letter Spacing",values:r.letterSpacing,onChange:i=>e(s=>s.letterSpacing=i),min:-5,max:20,defaultValue:-.5}),p.jsx(yt,{label:"Alignment",value:r.textAlign||"left",options:[{value:"left",label:p.jsx(Fi,{className:"h-3 w-3"})},{value:"center",label:p.jsx(Hi,{className:"h-3 w-3"})},{value:"right",label:p.jsx(qi,{className:"h-3 w-3"})}],onChange:i=>e(s=>s.textAlign=i)}),p.jsx(Z,{label:"Transform",value:r.textTransform||"none",options:[{value:"none",label:"None"},{value:"uppercase",label:"UPPERCASE"},{value:"lowercase",label:"lowercase"},{value:"capitalize",label:"Capitalize"}],onChange:i=>e(s=>s.textTransform=i)})]}),p.jsxs(V,{title:"Color",defaultOpen:!1,children:[p.jsx(et,{label:"Text Color",value:r.color||"#000000",onChange:i=>e(s=>s.color=i)}),p.jsx(No,{label:"Opacity",values:r.opacity,onChange:i=>e(s=>s.opacity=i),min:0,max:100,unit:"%",defaultValue:100})]}),p.jsx(V,{title:"Spacing",defaultOpen:!1,children:p.jsx(Le,{label:"Margin",values:n,onChange:i=>e(s=>s.margin={...s.margin,...i})})}),p.jsx(V,{title:"Dynamic Data",defaultOpen:!1,children:p.jsx(ef,{})})]})};Gs.craft={displayName:"Heading",props:{text:"Heading",level:2,textAlign:"left",color:"#000000",fontWeight:"700",fontFamily:"inherit",fontSize:"auto",lineHeight:{desktop:120},letterSpacing:{desktop:-.5},margin:{top:0,right:0,bottom:16,left:0},textTransform:"none",opacity:{desktop:100}},related:{settings:N5}};const Ys=({src:t="https://images.unsplash.com/photo-1540575467063-178a50c2df87?w=800&h=400&fit=crop",alt:e="Image",width:r="full",height:n="auto",maxWidth:o="none",objectFit:a="cover",borderRadius:i=8,margin:s={top:0,right:0,bottom:0,left:0},opacity:u=100,boxShadow:l="none"})=>{const c=Ee();let h,f,d;try{const{connectors:g,events:m}=oe(v=>({events:v.events}));h=g.connect,f=g.drag,d=m.selected}catch{}const b=typeof s[c]=="object"?`${s[c].top}px ${s[c].right}px ${s[c].bottom}px ${s[c].left}px`:`${s[c]}px`;return p.jsx("img",{ref:g=>g&&h&&f&&h(f(g)),src:t,alt:e,className:`cursor-move ${d?"outline outline-blue-500":""}`,style:{width:r==="full"?"100%":r==="auto"?"auto":`${r}px`,height:n==="auto"?"auto":`${n}px`,maxWidth:o==="none"?"none":`${o}px`,objectFit:a,borderRadius:`${i}px`,margin:b,opacity:u/100,boxShadow:l==="none"?"none":l,display:"block"}})},T5=()=>{const{actions:{setProp:t},props:e}=oe(n=>({props:n.data.props})),r=typeof e.margin=="object"?e.margin:{top:0,right:0,bottom:0,left:0};return p.jsxs("div",{className:"space-y-3",children:[p.jsxs(V,{title:"Source",defaultOpen:!0,children:[p.jsx(Bt,{label:"Image URL",value:e.src,onChange:n=>t(o=>o.src=n)}),p.jsx(Bt,{label:"Alt Text",value:e.alt,onChange:n=>t(o=>o.alt=n)})]}),p.jsxs(V,{title:"Size",defaultOpen:!0,children:[p.jsx(Z,{label:"Width",value:typeof e.width=="number"?"custom":e.width,options:[{value:"full",label:"Full Width"},{value:"auto",label:"Auto"},{value:"custom",label:"Custom"}],onChange:n=>t(o=>o.width=n==="custom"?300:n)}),typeof e.width=="number"&&p.jsx(he,{unit:"px",label:"Width (px)",value:e.width,onChange:n=>t(o=>o.width=n),max:1200}),p.jsx(Z,{label:"Height",value:typeof e.height=="number"?"custom":e.height,options:[{value:"auto",label:"Auto"},{value:"custom",label:"Custom"}],onChange:n=>t(o=>o.height=n==="custom"?200:n)}),typeof e.height=="number"&&p.jsx(he,{unit:"px",label:"Height (px)",value:e.height,onChange:n=>t(o=>o.height=n),max:800}),p.jsx(Z,{label:"Object Fit",value:e.objectFit||"cover",options:[{value:"cover",label:"Cover"},{value:"contain",label:"Contain"},{value:"fill",label:"Fill"},{value:"none",label:"None"}],onChange:n=>t(o=>o.objectFit=n)})]}),p.jsxs(V,{title:"Style",defaultOpen:!1,children:[p.jsx(he,{unit:"px",label:"Border Radius",value:e.borderRadius||8,onChange:n=>t(o=>o.borderRadius=n),max:100}),p.jsx(ia,{label:"Opacity",value:e.opacity||100,onChange:n=>t(o=>o.opacity=n),min:0,max:100,unit:"%"}),p.jsx(Z,{label:"Shadow",value:e.boxShadow||"none",options:[{value:"none",label:"None"},{value:"0 4px 12px rgba(0,0,0,0.1)",label:"Small"},{value:"0 8px 24px rgba(0,0,0,0.15)",label:"Medium"},{value:"0 16px 48px rgba(0,0,0,0.2)",label:"Large"}],onChange:n=>t(o=>o.boxShadow=n)})]}),p.jsx(V,{title:"Spacing",defaultOpen:!1,children:p.jsx(Le,{label:"Margin",values:r,onChange:n=>t(o=>o.margin={...o.margin,...n})})})]})};Ys.craft={displayName:"Image",props:{src:"https://images.unsplash.com/photo-1540575467063-178a50c2df87?w=800&h=400&fit=crop",alt:"Image",width:"full",height:"auto",maxWidth:"none",objectFit:"cover",borderRadius:8,margin:{desktop:{top:0,right:0,bottom:0,left:0}},opacity:100,boxShadow:"none"},related:{settings:T5}};const Xs=({color:t="#e5e5e5",height:e=1,width:r="full",style:n="solid",margin:o={top:16,right:0,bottom:16,left:0},opacity:a=100})=>{const i=Ee();let s,u,l;try{const{connectors:h,events:f}=oe(d=>({events:d.events}));s=h.connect,u=h.drag,l=f.selected}catch{}const c=typeof o[i]=="object"?`${o[i].top}px ${o[i].right}px ${o[i].bottom}px ${o[i].left}px`:`${o[i]}px`;return p.jsx("hr",{ref:h=>h&&s&&u&&(s==null?void 0:s(u==null?void 0:u(h))),className:`cursor-move border-0 ${l?"ring-2 ring-primary ring-offset-2":""}`,style:{width:r==="full"?"100%":`${r}%`,height:`${e}px`,backgroundColor:t,margin:c,opacity:a/100,borderStyle:n,borderWidth:n==="solid"?0:`${e}px`,borderColor:t}})},j5=()=>{const{actions:{setProp:t},props:e}=oe(n=>({props:n.data.props})),r=typeof e.margin=="object"?e.margin:{top:16,right:0,bottom:16,left:0};return p.jsxs("div",{className:"space-y-3",children:[p.jsxs(V,{title:"Style",defaultOpen:!0,children:[p.jsx(Z,{label:"Style",value:e.style||"solid",options:[{value:"solid",label:"Solid"},{value:"dashed",label:"Dashed"},{value:"dotted",label:"Dotted"}],onChange:n=>t(o=>o.style=n)}),p.jsx(et,{label:"Color",value:e.color||"#e5e5e5",onChange:n=>t(o=>o.color=n)}),p.jsx(he,{unit:"px",label:"Thickness",value:e.height||1,onChange:n=>t(o=>o.height=n),min:1,max:20}),p.jsx(Z,{label:"Width",value:e.width==="full"?"full":"custom",options:[{value:"full",label:"Full Width"},{value:"custom",label:"Custom %"}],onChange:n=>t(o=>o.width=n==="full"?"full":50)}),e.width!=="full"&&p.jsx(he,{label:"Width %",value:e.width,onChange:n=>t(o=>o.width=n),min:10,max:100,unit:"%"})]}),p.jsx(V,{title:"Spacing",defaultOpen:!0,children:p.jsx(Le,{label:"Margin",values:r,onChange:n=>t(o=>o.margin={...o.margin,...n})})})]})};Xs.craft={displayName:"Divider",props:{color:"#e5e5e5",height:1,width:"full",style:"solid",margin:{top:16,right:0,bottom:16,left:0},opacity:100},related:{settings:j5}};const Ks=({height:t=40,responsive:e=!1,mobileHeight:r=20})=>{let n,o,a;try{const{connectors:i,events:s}=oe(u=>({events:u.events}));n=i.connect,o=i.drag,a=s.selected}catch{}return p.jsxs("div",{ref:i=>i&&n&&o&&n(o(i)),className:`cursor-move w-full relative group ${a?"ring-2 ring-primary ring-offset-2":""}`,style:{height:`${t}px`},children:[p.jsx("div",{className:"absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity",children:p.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground bg-secondary/80 px-2 py-1 rounded",children:[p.jsx("span",{children:"↕"}),p.jsxs("span",{children:[t,"px"]})]})}),p.jsx("div",{className:"absolute inset-x-0 top-0 border-t border-dashed border-border/50 opacity-0 group-hover:opacity-100 transition-opacity"}),p.jsx("div",{className:"absolute inset-x-0 bottom-0 border-t border-dashed border-border/50 opacity-0 group-hover:opacity-100 transition-opacity"})]})},A5=()=>{const{actions:{setProp:t},props:e}=oe(r=>({props:r.data.props}));return p.jsx("div",{className:"space-y-3",children:p.jsxs(V,{title:"Size",defaultOpen:!0,children:[p.jsx(Z,{label:"Preset",value:"custom",options:[{value:"xs",label:"XS (8px)"},{value:"sm",label:"Small (16px)"},{value:"md",label:"Medium (32px)"},{value:"lg",label:"Large (64px)"},{value:"xl",label:"XL (96px)"},{value:"custom",label:"Custom"}],onChange:r=>{const n={xs:8,sm:16,md:32,lg:64,xl:96};n[r]&&t(o=>o.height=n[r])}}),p.jsx(he,{unit:"px",label:"Height",value:e.height||40,onChange:r=>t(n=>n.height=r),min:4,max:300})]})})};Ks.craft={displayName:"Spacer",props:{height:40,responsive:!1,mobileHeight:20},related:{settings:A5}};const O5=window.location.href.includes("localhost")?"http://localhost:5000/api":"https://api.myracereel.com/api";function k5(){const t=localStorage.getItem("tokens");if(t){const{accessToken:e}=JSON.parse(t);return{"Content-Type":"application/json",Authorization:`Bearer ${e}`}}return{"Content-Type":"application/json"}}async function P5(t,e={}){const r=await fetch(`${O5}${t}`,{...e,headers:{...k5(),...e.headers}}),n=await r.json();if(!r.ok)throw new Error(n.message||"Request failed");return n}async function _5(t,e){return(await P5(`/videos/${t}/${e||""}`)).data}function R5(t){const e=y.useRef({value:t,previous:t});return y.useMemo(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}var ba="Checkbox",[I5]=rr(ba),[D5,Js]=I5(ba);function M5(t){const{__scopeCheckbox:e,checked:r,children:n,defaultChecked:o,disabled:a,form:i,name:s,onCheckedChange:u,required:l,value:c="on",internal_do_not_use_render:h}=t,[f,d]=Hr({prop:r,defaultProp:o??!1,onChange:u,caller:ba}),[b,g]=y.useState(null),[m,v]=y.useState(null),x=y.useRef(!1),S=b?!!i||!!b.closest("form"):!0,E={checked:f,disabled:a,setChecked:d,control:b,setControl:g,name:s,form:i,value:c,hasConsumerStoppedPropagationRef:x,required:l,defaultChecked:Rt(o)?!1:o,isFormControl:S,bubbleInput:m,setBubbleInput:v};return p.jsx(D5,{scope:e,...E,children:L5(h)?h(E):n})}var h0="CheckboxTrigger",m0=y.forwardRef(({__scopeCheckbox:t,onKeyDown:e,onClick:r,...n},o)=>{const{control:a,value:i,disabled:s,checked:u,required:l,setControl:c,setChecked:h,hasConsumerStoppedPropagationRef:f,isFormControl:d,bubbleInput:b}=Js(h0,t),g=Se(o,c),m=y.useRef(u);return y.useEffect(()=>{const v=a==null?void 0:a.form;if(v){const x=()=>h(m.current);return v.addEventListener("reset",x),()=>v.removeEventListener("reset",x)}},[a,h]),p.jsx(be.button,{type:"button",role:"checkbox","aria-checked":Rt(u)?"mixed":u,"aria-required":l,"data-state":x0(u),"data-disabled":s?"":void 0,disabled:s,value:i,...n,ref:g,onKeyDown:le(e,v=>{v.key==="Enter"&&v.preventDefault()}),onClick:le(r,v=>{h(x=>Rt(x)?!0:!x),b&&d&&(f.current=v.isPropagationStopped(),f.current||v.stopPropagation())})})});m0.displayName=h0;var Zs=y.forwardRef((t,e)=>{const{__scopeCheckbox:r,name:n,checked:o,defaultChecked:a,required:i,disabled:s,value:u,onCheckedChange:l,form:c,...h}=t;return p.jsx(M5,{__scopeCheckbox:r,checked:o,defaultChecked:a,disabled:s,required:i,onCheckedChange:l,name:n,form:c,value:u,internal_do_not_use_render:({isFormControl:f})=>p.jsxs(p.Fragment,{children:[p.jsx(m0,{...h,ref:e,__scopeCheckbox:r}),f&&p.jsx(y0,{__scopeCheckbox:r})]})})});Zs.displayName=ba;var b0="CheckboxIndicator",g0=y.forwardRef((t,e)=>{const{__scopeCheckbox:r,forceMount:n,...o}=t,a=Js(b0,r);return p.jsx(nr,{present:n||Rt(a.checked)||a.checked===!0,children:p.jsx(be.span,{"data-state":x0(a.checked),"data-disabled":a.disabled?"":void 0,...o,ref:e,style:{pointerEvents:"none",...t.style}})})});g0.displayName=b0;var v0="CheckboxBubbleInput",y0=y.forwardRef(({__scopeCheckbox:t,...e},r)=>{const{control:n,hasConsumerStoppedPropagationRef:o,checked:a,defaultChecked:i,required:s,disabled:u,name:l,value:c,form:h,bubbleInput:f,setBubbleInput:d}=Js(v0,t),b=Se(r,d),g=R5(a),m=Id(n);y.useEffect(()=>{const x=f;if(!x)return;const S=window.HTMLInputElement.prototype,j=Object.getOwnPropertyDescriptor(S,"checked").set,k=!o.current;if(g!==a&&j){const _=new Event("click",{bubbles:k});x.indeterminate=Rt(a),j.call(x,Rt(a)?!1:a),x.dispatchEvent(_)}},[f,g,a,o]);const v=y.useRef(Rt(a)?!1:a);return p.jsx(be.input,{type:"checkbox","aria-hidden":!0,defaultChecked:i??v.current,required:s,disabled:u,name:l,value:c,form:h,...e,tabIndex:-1,ref:b,style:{...e.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});y0.displayName=v0;function L5(t){return typeof t=="function"}function Rt(t){return t==="indeterminate"}function x0(t){return Rt(t)?"indeterminate":t?"checked":"unchecked"}const w0=y.forwardRef(({className:t,...e},r)=>p.jsx(Zs,{ref:r,className:Ce("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t),...e,children:p.jsx(g0,{className:Ce("flex items-center justify-center text-current"),children:p.jsx(Ui,{className:"h-4 w-4"})})}));w0.displayName=Zs.displayName;const $5=({onDownload:t,disabled:e=!1})=>{const[r,n]=w.useState(!0),[o,a]=w.useState(!1),[i,s]=w.useState(!1);w.useEffect(()=>{try{s(window.self!==window.top)}catch{s(!0)}},[]);const u=()=>{r&&t&&!o&&(t(),a(!0),i&&window.parent.postMessage({type:"OPEN_POPUP",payload:"1"},"*"))};return p.jsxs("div",{className:"py-4 max-w-[600px] w-full flex flex-col justify-center items-center",children:[p.jsx("div",{className:"flex w-full md:w-1/2 justify-center items-center",children:p.jsx(Ke,{disabled:!r||o||e,onClick:u,className:"w-full",children:o?p.jsxs(p.Fragment,{children:[p.jsx(Ui,{className:"h-4 w-4 mr-2"}),"Thank you!"]}):p.jsxs(p.Fragment,{children:[p.jsx(uh,{className:"h-4 w-4 mr-2"}),"Download"]})})}),p.jsxs("label",{className:"flex items-start space-x-2 cursor-pointer mt-4",children:[p.jsx(w0,{checked:r,onCheckedChange:l=>n(l===!0),className:"mt-0.5"}),p.jsxs("span",{className:"text-sm text-muted-foreground",children:["I accept the"," ",p.jsx("a",{href:"https://myracereel.com/terms-of-service",className:"underline hover:text-foreground transition-colors",target:"_blank",rel:"noopener noreferrer",children:"Terms of Service"}),"."]})]})]})},qr=t=>{let e,r,n=!1,o;try{const{connectors:a,events:i}=oe(u=>({events:u.events}));e=a.connect,r=a.drag,n=i.selected;const{editorEnabled:s}=it(u=>({editorEnabled:u.options.enabled}));o=s}catch{}return p.jsx("div",{...t.id?{id:t.id}:{},ref:a=>a&&e&&r&&e(r(a)),style:Ns(t),className:rt(`min-h-2.5 ${n?"outline outline-blue-500":""}`,"w-full flex justify-center",t.className),...!o&&t.onClick?{onClick:a=>t.onClick(a)}:{},children:t.children})},B5={...mn,display:"flex",justifyContent:"center",alignItems:"center"};qr.craft={props:B5,displayName:"Wrapper",isCanvas:!0,rules:{canMoveIn:t=>t.every(e=>e.data.displayName==="Container")},related:{settings:sa}};const z5=(t,e)=>{if(typeof t!="object"||t===null)return t;const r=["mobile","tablet","small","desktop"],n=r.indexOf(e);for(let o=n;o>=0;o--)if(t[r[o]]!==void 0)return t[r[o]];return t.desktop??t.mobile??0},H5=({locationId:t,bibId:e,editorEnabled:r,videoTitle:n})=>{const o=w.useRef(null),{data:a,isLoading:i,error:s}=yp.useQuery({queryKey:["video",t,e],queryFn:()=>_5(t,e),enabled:!!t});if(i)return p.jsx("div",{className:"flex items-center justify-center h-48 bg-muted rounded-lg",children:p.jsx("div",{className:"h-8 w-8 animate-spin rounded-full border-4 border-muted-foreground border-t-transparent"})});if(s||!a)return r?p.jsxs("div",{className:"flex flex-col items-center gap-1 justify-center py-6 px-4 bg-muted/50 rounded-lg border border-dashed border-muted-foreground/30",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx(ah,{className:"h-5 w-5 text-muted-foreground"}),p.jsx("p",{className:"text-muted-foreground text-sm font-medium",children:"Video not found (404)"})]}),p.jsx("p",{className:"text-muted-foreground/70 text-xs",children:"This will be hidden on the live page"})]}):null;const{videoFromIrewind:u}=a,l=async()=>{if(!r)try{const c=document.createElement("a");c.href=u.mp4_hr_url,c.download=`${u.name||e}-video`,c.style.display="none",document.body.appendChild(c),c.click(),document.body.removeChild(c)}catch(c){console.error("Download failed:",c)}};return p.jsx(qr,{children:p.jsx(Tn,{children:p.jsx("div",{className:"w-full",children:p.jsxs("div",{className:"flex flex-col items-center",children:[p.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:n}),p.jsxs("h3",{className:"text-lg font-semibold text-foreground mb-3",children:[u.name," (",u.start_no,")"]}),p.jsxs("video",{ref:o,controls:!0,controlsList:"nodownload",className:"w-full max-w-2xl rounded-lg shadow-md",children:[p.jsx("source",{src:u.mp4_hr_url,type:"video/mp4"}),"Your browser does not support HTML5 video."]}),p.jsx($5,{onDownload:l,disabled:r})]})})})})},Qs=({padding:t={mobile:16,desktop:24},margin:e={top:0,right:0,bottom:0,left:0},background:r="transparent",borderRadius:n=8,boxShadow:o="none"})=>{const a=Ee(),i=En();let s,u,l;try{const{connectors:m,events:v}=oe(x=>({events:x.events}));s=m.connect,u=m.drag,l=v.selected}catch{}let c=!1;try{let{options:m}=it(v=>({options:v.options}));c=m.enabled}catch{}const h=z5(t,a),f={none:"none",sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1)"},d={padding:`${h}px`,marginTop:`${e.top}px`,marginRight:`${e.right}px`,marginBottom:`${e.bottom}px`,marginLeft:`${e.left}px`,background:r,borderRadius:`${n}px`,boxShadow:f[o]||"none"},b=(i==null?void 0:i.videos)||[],g=b.length>0;return p.jsx("div",{ref:m=>m&&s&&u&&s(u(m)),style:d,className:`transition-all ${l?"ring-2 ring-primary ring-offset-2":""}`,children:g?p.jsx("div",{className:"space-y-6",children:b.map(m=>p.jsx(H5,{locationId:m.locationId,bibId:i==null?void 0:i.bibId,editorEnabled:c,videoTitle:m.name||m.locationId},m.locationId))}):p.jsxs("div",{className:"flex flex-col items-center justify-center h-48 bg-muted rounded-lg border-2 border-dashed border-muted-foreground/30",children:[p.jsx(Ec,{className:"h-10 w-10 text-muted-foreground mb-2"}),p.jsxs("p",{className:"text-muted-foreground text-sm text-center",children:["No video locations available.",p.jsx("br",{}),p.jsx("span",{className:"text-xs",children:"Add videos to your event first."})]})]})})},F5=()=>{const{actions:{setProp:t},padding:e,margin:r,background:n,borderRadius:o,boxShadow:a}=oe(s=>({padding:s.data.props.padding,margin:s.data.props.margin,background:s.data.props.background,borderRadius:s.data.props.borderRadius,boxShadow:s.data.props.boxShadow})),i=[{value:"none",label:"None"},{value:"sm",label:"Small"},{value:"md",label:"Medium"},{value:"lg",label:"Large"},{value:"xl",label:"Extra Large"}];return p.jsxs("div",{className:"space-y-1",children:[p.jsx(V,{title:"Info",children:p.jsx("p",{className:"text-xs text-muted-foreground",children:"All available videos will be displayed automatically."})}),p.jsxs(V,{title:"Style",children:[p.jsx(he,{unit:"px",label:"Padding",value:(e==null?void 0:e.desktop)??24,onChange:s=>t(u=>u.padding={...u.padding,desktop:s,mobile:s}),min:0,max:100}),p.jsx(he,{unit:"px",label:"Border Radius",value:o,onChange:s=>t(u=>u.borderRadius=s),min:0,max:50}),p.jsx(et,{label:"Background",value:n,onChange:s=>t(u=>u.background=s)}),p.jsx(Z,{label:"Shadow",value:a,options:i,onChange:s=>t(u=>u.boxShadow=s)})]}),p.jsx(V,{title:"Spacing",children:p.jsx(Le,{label:"Margin",values:r,onChange:s=>t(u=>u.margin=s)})})]})};Qs.craft={displayName:"Video",props:{padding:{mobile:16,desktop:24},margin:{desktop:{top:0,right:0,bottom:0,left:0}},background:"transparent",borderRadius:8,boxShadow:"none"},related:{settings:F5}};const S0=({columns:t=2,gap:e=16,padding:r={top:0,right:0,bottom:0,left:0},margin:n={top:0,right:0,bottom:0,left:0},alignItems:o="stretch",children:a})=>{const i=Ee();let s,u,l;try{const{connectors:f,events:d}=oe(b=>({events:b.events}));s=f.connect,u=f.drag,l=d.selected}catch{}const c=typeof J(r,i)=="object"?`${J(r,i).top}px ${J(r,i).right}px ${J(r,i).bottom}px ${J(r,i).left}px`:`${J(r,i)}px`,h=typeof J(n,i)=="object"?`${J(n,i).top}px ${J(n,i).right}px ${J(n,i).bottom}px ${J(n,i).left}px`:`${J(n,i)}px`;return p.jsx("div",{ref:f=>f&&s&&u&&(s==null?void 0:s(u==null?void 0:u(f))),className:`cursor-move w-full ${l?"ring-2 ring-primary ring-offset-2":""}`,style:{display:"grid",gridTemplateColumns:`repeat(${t}, 1fr)`,gap:`${e}px`,padding:c,margin:h,alignItems:o},children:a})},q5=()=>{const{actions:{setProp:t},props:e}=oe(o=>({props:o.data.props})),r=typeof e.padding=="object"?e.padding:{top:0,right:0,bottom:0,left:0},n=typeof e.margin=="object"?e.margin:{top:0,right:0,bottom:0,left:0};return p.jsxs("div",{className:"space-y-3",children:[p.jsxs(V,{title:"Layout",defaultOpen:!0,children:[p.jsx(yt,{label:"Columns",value:e.columns||2,options:[{value:2,label:"2"},{value:3,label:"3"},{value:4,label:"4"}],onChange:o=>t(a=>a.columns=o)}),p.jsx(he,{unit:"px",label:"Gap",value:e.gap||16,onChange:o=>t(a=>a.gap=o),max:64}),p.jsx(Z,{label:"Align Items",value:e.alignItems||"stretch",options:[{value:"stretch",label:"Stretch"},{value:"start",label:"Top"},{value:"center",label:"Center"},{value:"end",label:"Bottom"}],onChange:o=>t(a=>a.alignItems=o)})]}),p.jsxs(V,{title:"Spacing",defaultOpen:!1,children:[p.jsx(Le,{label:"Padding",values:r,onChange:o=>t(a=>a.padding={...a.padding,...o})}),p.jsx(Le,{label:"Margin",values:n,onChange:o=>t(a=>a.margin={...a.margin,...o})})]})]})};S0.craft={displayName:"Columns",props:{columns:2,gap:16,padding:{desktop:{top:0,right:0,bottom:0,left:0}},margin:{desktop:{top:0,right:0,bottom:0,left:0}},alignItems:"stretch"},related:{settings:q5}};const eu=({text:t="Click here",url:e="#",target:r="_self",fontSize:n=16,fontWeight:o="400",color:a="#0066cc",hoverColor:i="#0052a3",textDecoration:s="underline",textAlign:u="left",margin:l={top:0,right:0,bottom:0,left:0},opacity:c=100})=>{const h=Ee();let f,d,b;try{const{connectors:m,events:v}=oe(x=>({events:x.events}));f=m.connect,d=m.drag,b=v.selected}catch{}const g=typeof l[h]=="object"?`${l[h].top}px ${l[h].right}px ${l[h].bottom}px ${l[h].left}px`:`${l[h]}px`;return p.jsx("a",{ref:m=>m&&f&&d&&f(d(m)),href:e,target:r,rel:r==="_blank"?"noopener noreferrer":void 0,onClick:m=>m.preventDefault(),className:`cursor-move inline-block transition-colors hover:opacity-80 ${b?"ring-2 ring-primary ring-offset-2":""}`,style:{fontSize:`${n}px`,fontWeight:o,color:a,textDecoration:s,textAlign:u,margin:g,opacity:c/100,display:"block"},children:t})},U5=()=>{const{actions:{setProp:t},props:e}=oe(n=>({props:n.data.props})),r=typeof e.margin=="object"?e.margin:{top:0,right:0,bottom:0,left:0};return p.jsxs("div",{className:"space-y-3",children:[p.jsxs(V,{title:"Content",defaultOpen:!0,children:[p.jsx(Bt,{label:"Text",value:e.text,onChange:n=>t(o=>o.text=n)}),p.jsx(Bt,{label:"URL",value:e.url,onChange:n=>t(o=>o.url=n)}),p.jsx(Z,{label:"Open in",value:e.target||"_self",options:[{value:"_self",label:"Same Tab"},{value:"_blank",label:"New Tab"}],onChange:n=>t(o=>o.target=n)})]}),p.jsxs(V,{title:"Typography",defaultOpen:!0,children:[p.jsx(he,{unit:"px",label:"Font Size",value:e.fontSize||16,onChange:n=>t(o=>o.fontSize=n),min:10,max:48}),p.jsx(Z,{label:"Weight",value:e.fontWeight||"400",options:[{value:"400",label:"Regular"},{value:"500",label:"Medium"},{value:"600",label:"Semibold"},{value:"700",label:"Bold"}],onChange:n=>t(o=>o.fontWeight=n)}),p.jsx(Z,{label:"Decoration",value:e.textDecoration||"underline",options:[{value:"none",label:"None"},{value:"underline",label:"Underline"}],onChange:n=>t(o=>o.textDecoration=n)}),p.jsx(yt,{label:"Alignment",value:e.textAlign||"left",options:[{value:"left",label:p.jsx(Fi,{className:"h-3 w-3"})},{value:"center",label:p.jsx(Hi,{className:"h-3 w-3"})},{value:"right",label:p.jsx(qi,{className:"h-3 w-3"})}],onChange:n=>t(o=>o.textAlign=n)})]}),p.jsxs(V,{title:"Color",defaultOpen:!1,children:[p.jsx(et,{label:"Link Color",value:e.color||"#0066cc",onChange:n=>t(o=>o.color=n)}),p.jsx(ia,{label:"Opacity",value:e.opacity||100,onChange:n=>t(o=>o.opacity=n),min:0,max:100,unit:"%"})]}),p.jsx(V,{title:"Spacing",defaultOpen:!1,children:p.jsx(Le,{label:"Margin",values:r,onChange:n=>t(o=>o.margin={...o.margin,...n})})})]})};eu.craft={displayName:"Link",props:{text:"Click here",url:"#",target:"_self",fontSize:16,fontWeight:"400",color:"#0066cc",hoverColor:"#0052a3",textDecoration:"underline",textAlign:"left",margin:{desktop:{top:0,right:0,bottom:0,left:0}},opacity:100},related:{settings:U5}};const C0=({src:t="https://images.unsplash.com/photo-1540575467063-178a50c2df87?w=800&h=400&fit=crop",alt:e="Image",width:r="full",height:n="auto",maxWidth:o="none",objectFit:a="cover",borderRadius:i=8,margin:s={top:0,right:0,bottom:0,left:0},opacity:u=100,boxShadow:l="none"})=>{const c=Ee();let h,f,d;try{const{connectors:g,events:m}=oe(v=>({events:v.events}));h=g.connect,f=g.drag,d=m.selected}catch{}const b=typeof s[c]=="object"?`${s[c].top}px ${s[c].right}px ${s[c].bottom}px ${s[c].left}px`:`${s[c]}px`;return p.jsx("img",{ref:g=>g&&h&&f&&h(f(g)),src:t,alt:e,className:`cursor-move ${d?"outline outline-blue-500":""}`,style:{width:r==="full"?"100%":r==="auto"?"auto":`${r}px`,height:n==="auto"?"auto":`${n}px`,maxWidth:o==="none"?"none":`${o}px`,objectFit:a,borderRadius:`${i}px`,margin:b,opacity:u/100,boxShadow:l==="none"?"none":l,display:"block"}})},V5=()=>{const{actions:{setProp:t},props:e}=oe(n=>({props:n.data.props})),r=typeof e.margin=="object"?e.margin:{top:0,right:0,bottom:0,left:0};return p.jsxs("div",{className:"space-y-3",children:[p.jsxs(V,{title:"Source",defaultOpen:!0,children:[p.jsx(Bt,{label:"Image URL",value:e.src,onChange:n=>t(o=>o.src=n)}),p.jsx(Bt,{label:"Alt Text",value:e.alt,onChange:n=>t(o=>o.alt=n)})]}),p.jsxs(V,{title:"Size",defaultOpen:!0,children:[p.jsx(Z,{label:"Width",value:typeof e.width=="number"?"custom":e.width,options:[{value:"full",label:"Full Width"},{value:"auto",label:"Auto"},{value:"custom",label:"Custom"}],onChange:n=>t(o=>o.width=n==="custom"?300:n)}),typeof e.width=="number"&&p.jsx(he,{unit:"px",label:"Width (px)",value:e.width,onChange:n=>t(o=>o.width=n),max:1200}),p.jsx(Z,{label:"Height",value:typeof e.height=="number"?"custom":e.height,options:[{value:"auto",label:"Auto"},{value:"custom",label:"Custom"}],onChange:n=>t(o=>o.height=n==="custom"?200:n)}),typeof e.height=="number"&&p.jsx(he,{unit:"px",label:"Height (px)",value:e.height,onChange:n=>t(o=>o.height=n),max:800}),p.jsx(Z,{label:"Object Fit",value:e.objectFit||"cover",options:[{value:"cover",label:"Cover"},{value:"contain",label:"Contain"},{value:"fill",label:"Fill"},{value:"none",label:"None"}],onChange:n=>t(o=>o.objectFit=n)})]}),p.jsxs(V,{title:"Style",defaultOpen:!1,children:[p.jsx(he,{unit:"px",label:"Border Radius",value:e.borderRadius||8,onChange:n=>t(o=>o.borderRadius=n),max:100}),p.jsx(ia,{label:"Opacity",value:e.opacity||100,onChange:n=>t(o=>o.opacity=n),min:0,max:100,unit:"%"}),p.jsx(Z,{label:"Shadow",value:e.boxShadow||"none",options:[{value:"none",label:"None"},{value:"0 4px 12px rgba(0,0,0,0.1)",label:"Small"},{value:"0 8px 24px rgba(0,0,0,0.15)",label:"Medium"},{value:"0 16px 48px rgba(0,0,0,0.2)",label:"Large"}],onChange:n=>t(o=>o.boxShadow=n)})]}),p.jsx(V,{title:"Spacing",defaultOpen:!1,children:p.jsx(Le,{label:"Margin",values:r,onChange:n=>t(o=>o.margin={...o.margin,...n})})})]})};C0.craft={displayName:"Image",props:{src:"https://images.unsplash.com/photo-1540575467063-178a50c2df87?w=800&h=400&fit=crop",alt:"Image",width:"full",height:"auto",maxWidth:"none",objectFit:"cover",borderRadius:8,margin:{desktop:{top:0,right:0,bottom:0,left:0}},opacity:100,boxShadow:"none"},related:{settings:V5}};function ic(t=12){const e="abcdefghijklmnopqrstuvwxyz",r=e+"0123456789";let n=e[Math.floor(Math.random()*e.length)];for(let o=1;o<t;o++)n+=r[Math.floor(Math.random()*r.length)];return n}const E0=({children:t,className:e})=>{let r,n,o=!1;try{const{connectors:s,events:u}=oe(l=>({events:l.events}));r=s.connect,n=s.drag,o=u.selected}catch{}const a=ic(),i=ic();return p.jsx("div",{ref:s=>{s&&r&&n&&r(n(s))},className:rt(`min-h-2.5 ${o?"border border-blue-500":""}`,"w-full flex justify-center",e),children:p.jsx(_t,{is:qr,id:`section-wrapper-${a}`,children:p.jsx(_t,{is:Tn,canvas:!0,id:`section-container-${i}`,children:t})})})};E0.craft={displayName:"Section",props:{},rules:{canDrag:()=>!0}};const tu=t=>{let e,r,n=!1;try{const{connectors:o,events:a}=oe(i=>({events:i.events}));e=o.connect,r=o.drag,n=a.selected}catch{}return p.jsx("div",{style:Ns(t),className:rt(t.className,`${n?"outline outline-blue-500":""}`),ref:o=>{o&&e&&r&&e(r(o))},children:t.children})};tu.craft={isCanvas:!0,props:mn,related:{settings:sa}};const N0=({background:t="transparent",padding:e={top:16,right:16,bottom:16,left:16},margin:r={top:0,right:0,bottom:0,left:0},width:n="auto",minHeight:o=100,maxWidth:a="none",display:i="block",flexDirection:s="column",justifyContent:u="flex-start",alignItems:l="stretch",gap:c=0,borderRadius:h=8,borderWidth:f=1,borderColor:d="transparent",borderStyle:b="dashed",boxShadow:g="none",children:m})=>{Ee();let v,x,S;try{const{connectors:_,events:D}=oe(L=>({events:L.events}));v=_.connect,x=_.drag,S=D.selected}catch{}const E=typeof J(e)=="object"?`${J(e).top}px ${J(e).right}px ${J(e).bottom}px ${J(e).left}px`:`${J(e)}px`,j=typeof J(r)=="object"?`${J(r).top}px ${J(r).right}px ${J(r).bottom}px ${J(r).left}px`:`${J(r)}px`,k=[{url:"https://myracereel.com/privacy-data-privacy",name:"Privacy & Data Policy"},{url:"https://myracereel.com/terms-of-service",name:"Terms of Service"},{url:"https://myracereel.com/faq",name:"FAQ"},{url:"https://myracereel.com/contact",name:"Contact Us"}];return p.jsx(qr,{style:{backgroundColor:t,padding:E,margin:j,width:n==="auto"?"100%":n,minHeight:`${o}px`,maxWidth:a==="none"?"none":`${a}px`,display:i,flexDirection:i==="flex"?s:void 0,justifyContent:i==="flex"?u:void 0,alignItems:i==="flex"?l:void 0,gap:i==="flex"?`${c}px`:void 0,borderRadius:`${h}px`,borderWidth:`${f}px`,borderColor:d,borderStyle:b,boxShadow:g==="none"?"none":g},className:"bg-black",ref:_=>_&&v&&x&&v(x(_)),children:p.jsx("div",{className:"flex justify-center w-full",children:p.jsxs("div",{className:"w-full flex flex-col py-10 gap-y-3.5 ",children:[p.jsx("div",{className:"flex w-full gap-x-1 justify-center items-center",children:p.jsx("div",{className:"text-white text-sm",children:"Powered by MyRaceReel"})}),p.jsx("div",{className:"flex @md:flex-row @max-md:flex-col md:flex-row justify-center items-center gap-x-6 gap-y-2 w-full flex-col",children:k.map(_=>p.jsx("a",{className:"text-white",href:_.url,target:"_blank",children:_.name},_.name))})]})})})};N0.craft={displayName:"Footer",props:{background:"transparent",padding:{desktop:{top:16,right:16,bottom:16,left:16}},margin:{desktop:{top:0,right:0,bottom:0,left:0}},width:"auto",minHeight:100,maxWidth:"none",display:"block",flexDirection:"column",justifyContent:"flex-start",alignItems:"stretch",gap:0,borderRadius:8,borderWidth:1,borderColor:"transparent",borderStyle:"dashed",boxShadow:"none"},related:{settings:sa}};const W5=()=>{const{connectors:t}=it(),e=[{name:"Wrapper",icon:bh,element:p.jsx(_t,{is:qr,canvas:!0})},{name:"Container",icon:vh,element:p.jsx(_t,{is:Tn,canvas:!0})},{name:"Div",icon:Ua,element:p.jsx(_t,{is:tu,canvas:!0})}],r=[{name:"Heading",icon:Nc,element:p.jsx(Gs,{})},{name:"Text",icon:kc,element:p.jsx(Ws,{})},{name:"Button",icon:Ac,element:p.jsx(Es,{})},{name:"Link",icon:Gi,element:p.jsx(eu,{})}],n=[{name:"Image",icon:Tc,element:p.jsx(Ys,{})},{name:"Video",icon:Ec,element:p.jsx(Qs,{})}],o=[{name:"Divider",icon:jc,element:p.jsx(Xs,{})},{name:"Spacer",icon:Oc,element:p.jsx(Ks,{})}],a=(i,s)=>p.jsxs("div",{className:"space-y-2",children:[p.jsx("span",{className:"text-xs text-muted-foreground/70",children:i}),p.jsx("div",{className:"grid grid-cols-2 gap-1.5",children:s.map(u=>p.jsxs(Ke,{variant:"outline",size:"sm",className:"flex flex-col items-center justify-center h-14 cursor-grab active:cursor-grabbing text-muted-foreground hover:text-foreground",ref:l=>l&&t.create(l,u.element),children:[p.jsx(u.icon,{className:"h-4 w-4 mb-1"}),p.jsx("span",{className:"text-[10px]",children:u.name})]},u.name))})]});return p.jsxs("div",{className:"space-y-4",children:[p.jsx("h3",{className:"text-sm font-medium text-muted-foreground",children:"Components"}),a("Layout",e),a("Basic",r),a("Media",n),a("Utility",o)]})};var G5=y.createContext(void 0);function ru(t){const e=y.useContext(G5);return t||e||"ltr"}function Y5(t,[e,r]){return Math.min(r,Math.max(e,t))}function X5(t,e){return y.useReducer((r,n)=>e[r][n]??r,t)}var nu="ScrollArea",[T0]=rr(nu),[K5,$e]=T0(nu),j0=y.forwardRef((t,e)=>{const{__scopeScrollArea:r,type:n="hover",dir:o,scrollHideDelay:a=600,...i}=t,[s,u]=y.useState(null),[l,c]=y.useState(null),[h,f]=y.useState(null),[d,b]=y.useState(null),[g,m]=y.useState(null),[v,x]=y.useState(0),[S,E]=y.useState(0),[j,k]=y.useState(!1),[_,D]=y.useState(!1),L=Se(e,C=>u(C)),$=ru(o);return p.jsx(K5,{scope:r,type:n,dir:$,scrollHideDelay:a,scrollArea:s,viewport:l,onViewportChange:c,content:h,onContentChange:f,scrollbarX:d,onScrollbarXChange:b,scrollbarXEnabled:j,onScrollbarXEnabledChange:k,scrollbarY:g,onScrollbarYChange:m,scrollbarYEnabled:_,onScrollbarYEnabledChange:D,onCornerWidthChange:x,onCornerHeightChange:E,children:p.jsx(be.div,{dir:$,...i,ref:L,style:{position:"relative","--radix-scroll-area-corner-width":v+"px","--radix-scroll-area-corner-height":S+"px",...t.style}})})});j0.displayName=nu;var A0="ScrollAreaViewport",O0=y.forwardRef((t,e)=>{const{__scopeScrollArea:r,children:n,nonce:o,...a}=t,i=$e(A0,r),s=y.useRef(null),u=Se(e,s,i.onViewportChange);return p.jsxs(p.Fragment,{children:[p.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),p.jsx(be.div,{"data-radix-scroll-area-viewport":"",...a,ref:u,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...t.style},children:p.jsx("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});O0.displayName=A0;var lt="ScrollAreaScrollbar",ou=y.forwardRef((t,e)=>{const{forceMount:r,...n}=t,o=$e(lt,t.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:i}=o,s=t.orientation==="horizontal";return y.useEffect(()=>(s?a(!0):i(!0),()=>{s?a(!1):i(!1)}),[s,a,i]),o.type==="hover"?p.jsx(J5,{...n,ref:e,forceMount:r}):o.type==="scroll"?p.jsx(Z5,{...n,ref:e,forceMount:r}):o.type==="auto"?p.jsx(k0,{...n,ref:e,forceMount:r}):o.type==="always"?p.jsx(au,{...n,ref:e}):null});ou.displayName=lt;var J5=y.forwardRef((t,e)=>{const{forceMount:r,...n}=t,o=$e(lt,t.__scopeScrollArea),[a,i]=y.useState(!1);return y.useEffect(()=>{const s=o.scrollArea;let u=0;if(s){const l=()=>{window.clearTimeout(u),i(!0)},c=()=>{u=window.setTimeout(()=>i(!1),o.scrollHideDelay)};return s.addEventListener("pointerenter",l),s.addEventListener("pointerleave",c),()=>{window.clearTimeout(u),s.removeEventListener("pointerenter",l),s.removeEventListener("pointerleave",c)}}},[o.scrollArea,o.scrollHideDelay]),p.jsx(nr,{present:r||a,children:p.jsx(k0,{"data-state":a?"visible":"hidden",...n,ref:e})})}),Z5=y.forwardRef((t,e)=>{const{forceMount:r,...n}=t,o=$e(lt,t.__scopeScrollArea),a=t.orientation==="horizontal",i=va(()=>u("SCROLL_END"),100),[s,u]=X5("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return y.useEffect(()=>{if(s==="idle"){const l=window.setTimeout(()=>u("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(l)}},[s,o.scrollHideDelay,u]),y.useEffect(()=>{const l=o.viewport,c=a?"scrollLeft":"scrollTop";if(l){let h=l[c];const f=()=>{const d=l[c];h!==d&&(u("SCROLL"),i()),h=d};return l.addEventListener("scroll",f),()=>l.removeEventListener("scroll",f)}},[o.viewport,a,u,i]),p.jsx(nr,{present:r||s!=="hidden",children:p.jsx(au,{"data-state":s==="hidden"?"hidden":"visible",...n,ref:e,onPointerEnter:le(t.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:le(t.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),k0=y.forwardRef((t,e)=>{const r=$e(lt,t.__scopeScrollArea),{forceMount:n,...o}=t,[a,i]=y.useState(!1),s=t.orientation==="horizontal",u=va(()=>{if(r.viewport){const l=r.viewport.offsetWidth<r.viewport.scrollWidth,c=r.viewport.offsetHeight<r.viewport.scrollHeight;i(s?l:c)}},10);return kr(r.viewport,u),kr(r.content,u),p.jsx(nr,{present:n||a,children:p.jsx(au,{"data-state":a?"visible":"hidden",...o,ref:e})})}),au=y.forwardRef((t,e)=>{const{orientation:r="vertical",...n}=t,o=$e(lt,t.__scopeScrollArea),a=y.useRef(null),i=y.useRef(0),[s,u]=y.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=D0(s.viewport,s.content),c={...n,sizes:s,onSizesChange:u,hasThumb:l>0&&l<1,onThumbChange:f=>a.current=f,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:f=>i.current=f};function h(f,d){return oS(f,i.current,s,d)}return r==="horizontal"?p.jsx(Q5,{...c,ref:e,onThumbPositionChange:()=>{if(o.viewport&&a.current){const f=o.viewport.scrollLeft,d=sc(f,s,o.dir);a.current.style.transform=`translate3d(${d}px, 0, 0)`}},onWheelScroll:f=>{o.viewport&&(o.viewport.scrollLeft=f)},onDragScroll:f=>{o.viewport&&(o.viewport.scrollLeft=h(f,o.dir))}}):r==="vertical"?p.jsx(eS,{...c,ref:e,onThumbPositionChange:()=>{if(o.viewport&&a.current){const f=o.viewport.scrollTop,d=sc(f,s);a.current.style.transform=`translate3d(0, ${d}px, 0)`}},onWheelScroll:f=>{o.viewport&&(o.viewport.scrollTop=f)},onDragScroll:f=>{o.viewport&&(o.viewport.scrollTop=h(f))}}):null}),Q5=y.forwardRef((t,e)=>{const{sizes:r,onSizesChange:n,...o}=t,a=$e(lt,t.__scopeScrollArea),[i,s]=y.useState(),u=y.useRef(null),l=Se(e,u,a.onScrollbarXChange);return y.useEffect(()=>{u.current&&s(getComputedStyle(u.current))},[u]),p.jsx(_0,{"data-orientation":"horizontal",...o,ref:l,sizes:r,style:{bottom:0,left:a.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:a.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ga(r)+"px",...t.style},onThumbPointerDown:c=>t.onThumbPointerDown(c.x),onDragScroll:c=>t.onDragScroll(c.x),onWheelScroll:(c,h)=>{if(a.viewport){const f=a.viewport.scrollLeft+c.deltaX;t.onWheelScroll(f),L0(f,h)&&c.preventDefault()}},onResize:()=>{u.current&&a.viewport&&i&&n({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:Mo(i.paddingLeft),paddingEnd:Mo(i.paddingRight)}})}})}),eS=y.forwardRef((t,e)=>{const{sizes:r,onSizesChange:n,...o}=t,a=$e(lt,t.__scopeScrollArea),[i,s]=y.useState(),u=y.useRef(null),l=Se(e,u,a.onScrollbarYChange);return y.useEffect(()=>{u.current&&s(getComputedStyle(u.current))},[u]),p.jsx(_0,{"data-orientation":"vertical",...o,ref:l,sizes:r,style:{top:0,right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ga(r)+"px",...t.style},onThumbPointerDown:c=>t.onThumbPointerDown(c.y),onDragScroll:c=>t.onDragScroll(c.y),onWheelScroll:(c,h)=>{if(a.viewport){const f=a.viewport.scrollTop+c.deltaY;t.onWheelScroll(f),L0(f,h)&&c.preventDefault()}},onResize:()=>{u.current&&a.viewport&&i&&n({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:Mo(i.paddingTop),paddingEnd:Mo(i.paddingBottom)}})}})}),[tS,P0]=T0(lt),_0=y.forwardRef((t,e)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:o,onThumbChange:a,onThumbPointerUp:i,onThumbPointerDown:s,onThumbPositionChange:u,onDragScroll:l,onWheelScroll:c,onResize:h,...f}=t,d=$e(lt,r),[b,g]=y.useState(null),m=Se(e,L=>g(L)),v=y.useRef(null),x=y.useRef(""),S=d.viewport,E=n.content-n.viewport,j=Me(c),k=Me(u),_=va(h,10);function D(L){if(v.current){const $=L.clientX-v.current.left,C=L.clientY-v.current.top;l({x:$,y:C})}}return y.useEffect(()=>{const L=$=>{const C=$.target;(b==null?void 0:b.contains(C))&&j($,E)};return document.addEventListener("wheel",L,{passive:!1}),()=>document.removeEventListener("wheel",L,{passive:!1})},[S,b,E,j]),y.useEffect(k,[n,k]),kr(b,_),kr(d.content,_),p.jsx(tS,{scope:r,scrollbar:b,hasThumb:o,onThumbChange:Me(a),onThumbPointerUp:Me(i),onThumbPositionChange:k,onThumbPointerDown:Me(s),children:p.jsx(be.div,{...f,ref:m,style:{position:"absolute",...f.style},onPointerDown:le(t.onPointerDown,L=>{L.button===0&&(L.target.setPointerCapture(L.pointerId),v.current=b.getBoundingClientRect(),x.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",d.viewport&&(d.viewport.style.scrollBehavior="auto"),D(L))}),onPointerMove:le(t.onPointerMove,D),onPointerUp:le(t.onPointerUp,L=>{const $=L.target;$.hasPointerCapture(L.pointerId)&&$.releasePointerCapture(L.pointerId),document.body.style.webkitUserSelect=x.current,d.viewport&&(d.viewport.style.scrollBehavior=""),v.current=null})})})}),Do="ScrollAreaThumb",R0=y.forwardRef((t,e)=>{const{forceMount:r,...n}=t,o=P0(Do,t.__scopeScrollArea);return p.jsx(nr,{present:r||o.hasThumb,children:p.jsx(rS,{ref:e,...n})})}),rS=y.forwardRef((t,e)=>{const{__scopeScrollArea:r,style:n,...o}=t,a=$e(Do,r),i=P0(Do,r),{onThumbPositionChange:s}=i,u=Se(e,h=>i.onThumbChange(h)),l=y.useRef(void 0),c=va(()=>{l.current&&(l.current(),l.current=void 0)},100);return y.useEffect(()=>{const h=a.viewport;if(h){const f=()=>{if(c(),!l.current){const d=aS(h,s);l.current=d,s()}};return s(),h.addEventListener("scroll",f),()=>h.removeEventListener("scroll",f)}},[a.viewport,c,s]),p.jsx(be.div,{"data-state":i.hasThumb?"visible":"hidden",...o,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:le(t.onPointerDownCapture,h=>{const d=h.target.getBoundingClientRect(),b=h.clientX-d.left,g=h.clientY-d.top;i.onThumbPointerDown({x:b,y:g})}),onPointerUp:le(t.onPointerUp,i.onThumbPointerUp)})});R0.displayName=Do;var iu="ScrollAreaCorner",I0=y.forwardRef((t,e)=>{const r=$e(iu,t.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?p.jsx(nS,{...t,ref:e}):null});I0.displayName=iu;var nS=y.forwardRef((t,e)=>{const{__scopeScrollArea:r,...n}=t,o=$e(iu,r),[a,i]=y.useState(0),[s,u]=y.useState(0),l=!!(a&&s);return kr(o.scrollbarX,()=>{var h;const c=((h=o.scrollbarX)==null?void 0:h.offsetHeight)||0;o.onCornerHeightChange(c),u(c)}),kr(o.scrollbarY,()=>{var h;const c=((h=o.scrollbarY)==null?void 0:h.offsetWidth)||0;o.onCornerWidthChange(c),i(c)}),l?p.jsx(be.div,{...n,ref:e,style:{width:a,height:s,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...t.style}}):null});function Mo(t){return t?parseInt(t,10):0}function D0(t,e){const r=t/e;return isNaN(r)?0:r}function ga(t){const e=D0(t.viewport,t.content),r=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,n=(t.scrollbar.size-r)*e;return Math.max(n,18)}function oS(t,e,r,n="ltr"){const o=ga(r),a=o/2,i=e||a,s=o-i,u=r.scrollbar.paddingStart+i,l=r.scrollbar.size-r.scrollbar.paddingEnd-s,c=r.content-r.viewport,h=n==="ltr"?[0,c]:[c*-1,0];return M0([u,l],h)(t)}function sc(t,e,r="ltr"){const n=ga(e),o=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,a=e.scrollbar.size-o,i=e.content-e.viewport,s=a-n,u=r==="ltr"?[0,i]:[i*-1,0],l=Y5(t,u);return M0([0,i],[0,s])(l)}function M0(t,e){return r=>{if(t[0]===t[1]||e[0]===e[1])return e[0];const n=(e[1]-e[0])/(t[1]-t[0]);return e[0]+n*(r-t[0])}}function L0(t,e){return t>0&&t<e}var aS=(t,e=()=>{})=>{let r={left:t.scrollLeft,top:t.scrollTop},n=0;return function o(){const a={left:t.scrollLeft,top:t.scrollTop},i=r.left!==a.left,s=r.top!==a.top;(i||s)&&e(),r=a,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function va(t,e){const r=Me(t),n=y.useRef(0);return y.useEffect(()=>()=>window.clearTimeout(n.current),[]),y.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,e)},[r,e])}function kr(t,e){const r=Me(e);Mt(()=>{let n=0;if(t){const o=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return o.observe(t),()=>{window.cancelAnimationFrame(n),o.unobserve(t)}}},[t,r])}var $0=j0,iS=O0,sS=I0;const su=y.forwardRef(({className:t,children:e,...r},n)=>p.jsxs($0,{ref:n,className:Ce("relative overflow-hidden",t),...r,children:[p.jsx(iS,{className:"h-full w-full rounded-[inherit]",children:e}),p.jsx(B0,{}),p.jsx(sS,{})]}));su.displayName=$0.displayName;const B0=y.forwardRef(({className:t,orientation:e="vertical",...r},n)=>p.jsx(ou,{ref:n,orientation:e,className:Ce("flex touch-none select-none transition-colors",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",t),...r,children:p.jsx(R0,{className:"relative flex-1 rounded-full bg-border"})}));B0.displayName=ou.displayName;const uS=()=>{const{selected:t,actions:e}=it(r=>{var a,i,s,u,l,c,h;const n=r.events.selected?Array.from(r.events.selected)[0]:null;let o;return n&&(o={id:n,name:((i=(a=r.nodes[n])==null?void 0:a.data)==null?void 0:i.displayName)||((u=(s=r.nodes[n])==null?void 0:s.data)==null?void 0:u.name),settings:(c=(l=r.nodes[n])==null?void 0:l.related)==null?void 0:c.settings,isDeletable:((h=r.nodes[n])==null?void 0:h.id)!=="ROOT"}),{selected:o}});return p.jsx("div",{className:"h-full flex flex-col",children:t?p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"flex items-center justify-between pb-3 border-b border-border mb-3",children:[p.jsxs("div",{children:[p.jsx("span",{className:"text-xs text-muted-foreground",children:"Selected"}),p.jsx("h3",{className:"text-sm font-semibold",children:t.name})]}),t.isDeletable&&p.jsx("button",{onClick:()=>e.delete(t.id),className:"p-1.5 rounded hover:bg-destructive/10 text-destructive transition-colors",title:"Delete element",children:p.jsx(xh,{className:"h-4 w-4"})})]}),p.jsx(su,{className:"flex-1 -mr-4 pr-4",children:t.settings&&w.createElement(t.settings)})]}):p.jsx("div",{className:"text-center py-8",children:p.jsx("p",{className:"text-sm text-muted-foreground",children:"Select an element to edit its properties"})})})},lS=t=>{switch(t){case"Container":return Ua;case"Text":return kc;case"Heading":return Nc;case"Button":return Ac;case"Image":return Tc;case"Divider":return jc;case"Spacer":return Oc;case"Video":return Ch;case"Columns":return ih;case"Link":return Gi;default:return Ua}},z0=({nodeId:t,depth:e=0,onDragStart:r,onDragOver:n,onDrop:o,draggedId:a})=>{const{node:i,actions:s,selectedNodeId:u,childNodes:l,parentId:c}=it((T,P)=>{var R,M;const I=T.nodes[t],N=((R=I==null?void 0:I.data)==null?void 0:R.nodes)||[],O=T.events.selected?Array.from(T.events.selected)[0]:null,A=(M=I==null?void 0:I.data)==null?void 0:M.parent;return{node:I,childNodes:N,selectedNodeId:O,parentId:A}}),[h,f]=w.useState(!0),[d,b]=w.useState(!1);if(!i)return null;const g=i.data.displayName||i.data.name||"Unknown",m=l.length>0,v=u===t,x=t==="ROOT",S=lS(g),E=a===t,j=i.data.isCanvas,k=T=>{T.stopPropagation(),x||s.selectNode(t)},_=T=>{T.stopPropagation(),f(!h)},D=T=>{if(x){T.preventDefault();return}T.stopPropagation(),r(t,c)},L=T=>{T.preventDefault(),T.stopPropagation(),a&&a!==t&&j&&b(!0)},$=T=>{T.stopPropagation(),b(!1)},C=T=>{T.preventDefault(),T.stopPropagation(),b(!1),a&&a!==t&&o(t)};return p.jsxs("div",{className:"select-none",children:[p.jsxs("div",{className:`flex items-center gap-1 py-1 px-1 rounded cursor-pointer text-sm transition-colors ${v?"bg-primary/10 text-primary":"hover:bg-secondary/50"} ${E?"opacity-50":""} ${d?"bg-primary/20 ring-1 ring-primary":""}`,style:{paddingLeft:`${e*12+4}px`},onClick:k,draggable:!x,onDragStart:D,onDragOver:L,onDragLeave:$,onDrop:C,children:[!x&&p.jsx(ch,{className:"h-3 w-3 text-muted-foreground/50 cursor-grab active:cursor-grabbing"}),m?p.jsx("button",{onClick:_,className:"p-0.5 hover:bg-secondary rounded",children:h?p.jsx(Vi,{className:"h-3 w-3"}):p.jsx(Wi,{className:"h-3 w-3"})}):p.jsx("span",{className:"w-4"}),p.jsx(S,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),p.jsx("span",{className:`truncate ${x?"font-medium":""}`,children:x?"Root":g})]}),m&&h&&p.jsx("div",{children:l.map(T=>p.jsx(z0,{nodeId:T,depth:e+1,onDragStart:r,onDragOver:n,onDrop:o,draggedId:a},T))})]})},cS=()=>{const[t,e]=w.useState(null),[r,n]=w.useState(null),{nodeIds:o,actions:a}=it(l=>({nodeIds:Object.keys(l.nodes)})),i=(l,c)=>{e(l),n(c)},s=l=>{if(t&&l&&t!==l)try{a.move(t,l,0)}catch(c){console.log("Cannot move node:",c)}e(null),n(null)},u=()=>{e(null),n(null)};return p.jsxs("div",{className:"space-y-2",onDragEnd:u,children:[p.jsx("h3",{className:"text-sm font-medium text-muted-foreground",children:"Layers"}),p.jsx("div",{className:"border border-border rounded-lg p-2 max-h-[250px] overflow-y-auto bg-background",children:o.includes("ROOT")&&p.jsx(z0,{nodeId:"ROOT",onDragStart:i,onDrop:s,draggedId:t})}),p.jsx("p",{className:"text-xs text-muted-foreground",children:"Drag to containers to reorder"})]})};function uc(t){const e=dS(t),r=y.forwardRef((n,o)=>{const{children:a,...i}=n,s=y.Children.toArray(a),u=s.find(pS);if(u){const l=u.props.children,c=s.map(h=>h===u?y.Children.count(l)>1?y.Children.only(null):y.isValidElement(l)?l.props.children:null:h);return p.jsx(e,{...i,ref:o,children:y.isValidElement(l)?y.cloneElement(l,void 0,c):null})}return p.jsx(e,{...i,ref:o,children:a})});return r.displayName=`${t}.Slot`,r}function dS(t){const e=y.forwardRef((r,n)=>{const{children:o,...a}=r;if(y.isValidElement(o)){const i=mS(o),s=hS(a,o.props);return o.type!==y.Fragment&&(s.ref=n?Bo(n,i):i),y.cloneElement(o,s)}return y.Children.count(o)>1?y.Children.only(null):null});return e.displayName=`${t}.SlotClone`,e}var fS=Symbol("radix.slottable");function pS(t){return y.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===fS}function hS(t,e){const r={...e};for(const n in e){const o=t[n],a=e[n];/^on[A-Z]/.test(n)?o&&a?r[n]=(...s)=>{const u=a(...s);return o(...s),u}:o&&(r[n]=o):n==="style"?r[n]={...o,...a}:n==="className"&&(r[n]=[o,a].filter(Boolean).join(" "))}return{...t,...r}}function mS(t){var n,o;let e=(n=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:n.get,r=e&&"isReactWarning"in e&&e.isReactWarning;return r?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,r=e&&"isReactWarning"in e&&e.isReactWarning,r?t.props.ref:t.props.ref||t.ref)}function bS(t){const e=t+"CollectionProvider",[r,n]=rr(e),[o,a]=r(e,{collectionRef:{current:null},itemMap:new Map}),i=g=>{const{scope:m,children:v}=g,x=w.useRef(null),S=w.useRef(new Map).current;return p.jsx(o,{scope:m,itemMap:S,collectionRef:x,children:v})};i.displayName=e;const s=t+"CollectionSlot",u=uc(s),l=w.forwardRef((g,m)=>{const{scope:v,children:x}=g,S=a(s,v),E=Se(m,S.collectionRef);return p.jsx(u,{ref:E,children:x})});l.displayName=s;const c=t+"CollectionItemSlot",h="data-radix-collection-item",f=uc(c),d=w.forwardRef((g,m)=>{const{scope:v,children:x,...S}=g,E=w.useRef(null),j=Se(m,E),k=a(c,v);return w.useEffect(()=>(k.itemMap.set(E,{ref:E,...S}),()=>void k.itemMap.delete(E))),p.jsx(f,{[h]:"",ref:j,children:x})});d.displayName=c;function b(g){const m=a(t+"CollectionConsumer",g);return w.useCallback(()=>{const x=m.collectionRef.current;if(!x)return[];const S=Array.from(x.querySelectorAll(`[${h}]`));return Array.from(m.itemMap.values()).sort((k,_)=>S.indexOf(k.ref.current)-S.indexOf(_.ref.current))},[m.collectionRef,m.itemMap])}return[{Provider:i,Slot:l,ItemSlot:d},b,n]}var Ha="rovingFocusGroup.onEntryFocus",gS={bubbles:!1,cancelable:!0},Rn="RovingFocusGroup",[Mi,H0,vS]=bS(Rn),[yS,F0]=rr(Rn,[vS]),[xS,wS]=yS(Rn),q0=y.forwardRef((t,e)=>p.jsx(Mi.Provider,{scope:t.__scopeRovingFocusGroup,children:p.jsx(Mi.Slot,{scope:t.__scopeRovingFocusGroup,children:p.jsx(SS,{...t,ref:e})})}));q0.displayName=Rn;var SS=y.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:r,orientation:n,loop:o=!1,dir:a,currentTabStopId:i,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:u,onEntryFocus:l,preventScrollOnEntryFocus:c=!1,...h}=t,f=y.useRef(null),d=Se(e,f),b=ru(a),[g,m]=Hr({prop:i,defaultProp:s??null,onChange:u,caller:Rn}),[v,x]=y.useState(!1),S=Me(l),E=H0(r),j=y.useRef(!1),[k,_]=y.useState(0);return y.useEffect(()=>{const D=f.current;if(D)return D.addEventListener(Ha,S),()=>D.removeEventListener(Ha,S)},[S]),p.jsx(xS,{scope:r,orientation:n,dir:b,loop:o,currentTabStopId:g,onItemFocus:y.useCallback(D=>m(D),[m]),onItemShiftTab:y.useCallback(()=>x(!0),[]),onFocusableItemAdd:y.useCallback(()=>_(D=>D+1),[]),onFocusableItemRemove:y.useCallback(()=>_(D=>D-1),[]),children:p.jsx(be.div,{tabIndex:v||k===0?-1:0,"data-orientation":n,...h,ref:d,style:{outline:"none",...t.style},onMouseDown:le(t.onMouseDown,()=>{j.current=!0}),onFocus:le(t.onFocus,D=>{const L=!j.current;if(D.target===D.currentTarget&&L&&!v){const $=new CustomEvent(Ha,gS);if(D.currentTarget.dispatchEvent($),!$.defaultPrevented){const C=E().filter(O=>O.focusable),T=C.find(O=>O.active),P=C.find(O=>O.id===g),N=[T,P,...C].filter(Boolean).map(O=>O.ref.current);W0(N,c)}}j.current=!1}),onBlur:le(t.onBlur,()=>x(!1))})})}),U0="RovingFocusGroupItem",V0=y.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:r,focusable:n=!0,active:o=!1,tabStopId:a,children:i,...s}=t,u=wd(),l=a||u,c=wS(U0,r),h=c.currentTabStopId===l,f=H0(r),{onFocusableItemAdd:d,onFocusableItemRemove:b,currentTabStopId:g}=c;return y.useEffect(()=>{if(n)return d(),()=>b()},[n,d,b]),p.jsx(Mi.ItemSlot,{scope:r,id:l,focusable:n,active:o,children:p.jsx(be.span,{tabIndex:h?0:-1,"data-orientation":c.orientation,...s,ref:e,onMouseDown:le(t.onMouseDown,m=>{n?c.onItemFocus(l):m.preventDefault()}),onFocus:le(t.onFocus,()=>c.onItemFocus(l)),onKeyDown:le(t.onKeyDown,m=>{if(m.key==="Tab"&&m.shiftKey){c.onItemShiftTab();return}if(m.target!==m.currentTarget)return;const v=NS(m,c.orientation,c.dir);if(v!==void 0){if(m.metaKey||m.ctrlKey||m.altKey||m.shiftKey)return;m.preventDefault();let S=f().filter(E=>E.focusable).map(E=>E.ref.current);if(v==="last")S.reverse();else if(v==="prev"||v==="next"){v==="prev"&&S.reverse();const E=S.indexOf(m.currentTarget);S=c.loop?TS(S,E+1):S.slice(E+1)}setTimeout(()=>W0(S))}}),children:typeof i=="function"?i({isCurrentTabStop:h,hasTabStop:g!=null}):i})})});V0.displayName=U0;var CS={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function ES(t,e){return e!=="rtl"?t:t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function NS(t,e,r){const n=ES(t.key,r);if(!(e==="vertical"&&["ArrowLeft","ArrowRight"].includes(n))&&!(e==="horizontal"&&["ArrowUp","ArrowDown"].includes(n)))return CS[n]}function W0(t,e=!1){const r=document.activeElement;for(const n of t)if(n===r||(n.focus({preventScroll:e}),document.activeElement!==r))return}function TS(t,e){return t.map((r,n)=>t[(e+n)%t.length])}var jS=q0,AS=V0,G0="Toggle",uu=y.forwardRef((t,e)=>{const{pressed:r,defaultPressed:n,onPressedChange:o,...a}=t,[i,s]=Hr({prop:r,onChange:o,defaultProp:n??!1,caller:G0});return p.jsx(be.button,{type:"button","aria-pressed":i,"data-state":i?"on":"off","data-disabled":t.disabled?"":void 0,...a,ref:e,onClick:le(t.onClick,()=>{t.disabled||s(!i)})})});uu.displayName=G0;var Y0=uu,qt="ToggleGroup",[X0]=rr(qt,[F0]),K0=F0(),lu=w.forwardRef((t,e)=>{const{type:r,...n}=t;if(r==="single"){const o=n;return p.jsx(OS,{...o,ref:e})}if(r==="multiple"){const o=n;return p.jsx(kS,{...o,ref:e})}throw new Error(`Missing prop \`type\` expected on \`${qt}\``)});lu.displayName=qt;var[J0,Z0]=X0(qt),OS=w.forwardRef((t,e)=>{const{value:r,defaultValue:n,onValueChange:o=()=>{},...a}=t,[i,s]=Hr({prop:r,defaultProp:n??"",onChange:o,caller:qt});return p.jsx(J0,{scope:t.__scopeToggleGroup,type:"single",value:w.useMemo(()=>i?[i]:[],[i]),onItemActivate:s,onItemDeactivate:w.useCallback(()=>s(""),[s]),children:p.jsx(Q0,{...a,ref:e})})}),kS=w.forwardRef((t,e)=>{const{value:r,defaultValue:n,onValueChange:o=()=>{},...a}=t,[i,s]=Hr({prop:r,defaultProp:n??[],onChange:o,caller:qt}),u=w.useCallback(c=>s((h=[])=>[...h,c]),[s]),l=w.useCallback(c=>s((h=[])=>h.filter(f=>f!==c)),[s]);return p.jsx(J0,{scope:t.__scopeToggleGroup,type:"multiple",value:i,onItemActivate:u,onItemDeactivate:l,children:p.jsx(Q0,{...a,ref:e})})});lu.displayName=qt;var[PS,_S]=X0(qt),Q0=w.forwardRef((t,e)=>{const{__scopeToggleGroup:r,disabled:n=!1,rovingFocus:o=!0,orientation:a,dir:i,loop:s=!0,...u}=t,l=K0(r),c=ru(i),h={role:"group",dir:c,...u};return p.jsx(PS,{scope:r,rovingFocus:o,disabled:n,children:o?p.jsx(jS,{asChild:!0,...l,orientation:a,dir:c,loop:s,children:p.jsx(be.div,{...h,ref:e})}):p.jsx(be.div,{...h,ref:e})})}),Lo="ToggleGroupItem",ep=w.forwardRef((t,e)=>{const r=Z0(Lo,t.__scopeToggleGroup),n=_S(Lo,t.__scopeToggleGroup),o=K0(t.__scopeToggleGroup),a=r.value.includes(t.value),i=n.disabled||t.disabled,s={...t,pressed:a,disabled:i},u=w.useRef(null);return n.rovingFocus?p.jsx(AS,{asChild:!0,...o,focusable:!i,active:a,ref:u,children:p.jsx(lc,{...s,ref:e})}):p.jsx(lc,{...s,ref:e})});ep.displayName=Lo;var lc=w.forwardRef((t,e)=>{const{__scopeToggleGroup:r,value:n,...o}=t,a=Z0(Lo,r),i={role:"radio","aria-checked":t.pressed,"aria-pressed":void 0},s=a.type==="single"?i:void 0;return p.jsx(uu,{...s,...o,ref:e,onPressedChange:u=>{u?a.onItemActivate(n):a.onItemDeactivate(n)}})}),tp=lu,rp=ep;const np=_c("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"},size:{default:"h-10 px-3",sm:"h-9 px-2.5",lg:"h-11 px-5"}},defaultVariants:{variant:"default",size:"default"}}),RS=y.forwardRef(({className:t,variant:e,size:r,...n},o)=>p.jsx(Y0,{ref:o,className:Ce(np({variant:e,size:r,className:t})),...n}));RS.displayName=Y0.displayName;const op=y.createContext({size:"default",variant:"default"}),ap=y.forwardRef(({className:t,variant:e,size:r,children:n,...o},a)=>p.jsx(tp,{ref:a,className:Ce("flex items-center justify-center gap-1",t),...o,children:p.jsx(op.Provider,{value:{variant:e,size:r},children:n})}));ap.displayName=tp.displayName;const ip=y.forwardRef(({className:t,children:e,variant:r,size:n,...o},a)=>{const i=y.useContext(op);return p.jsx(rp,{ref:a,className:Ce(np({variant:i.variant||r,size:i.size||n}),t),...o,children:e})});ip.displayName=rp.displayName;var IS=t=>{switch(t){case"success":return LS;case"info":return BS;case"warning":return $S;case"error":return zS;default:return null}},DS=Array(12).fill(0),MS=({visible:t,className:e})=>w.createElement("div",{className:["sonner-loading-wrapper",e].filter(Boolean).join(" "),"data-visible":t},w.createElement("div",{className:"sonner-spinner"},DS.map((r,n)=>w.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${n}`})))),LS=w.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},w.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),$S=w.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},w.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),BS=w.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},w.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),zS=w.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},w.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),HS=w.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},w.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),w.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),FS=()=>{let[t,e]=w.useState(document.hidden);return w.useEffect(()=>{let r=()=>{e(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),t},Li=1,qS=class{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{let e=this.subscribers.indexOf(t);this.subscribers.splice(e,1)}),this.publish=t=>{this.subscribers.forEach(e=>e(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var e;let{message:r,...n}=t,o=typeof(t==null?void 0:t.id)=="number"||((e=t.id)==null?void 0:e.length)>0?t.id:Li++,a=this.toasts.find(s=>s.id===o),i=t.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(o)&&this.dismissedToasts.delete(o),a?this.toasts=this.toasts.map(s=>s.id===o?(this.publish({...s,...t,id:o,title:r}),{...s,...t,id:o,dismissible:i,title:r}):s):this.addToast({title:r,...n,dismissible:i,id:o}),o},this.dismiss=t=>(this.dismissedToasts.add(t),t||this.toasts.forEach(e=>{this.subscribers.forEach(r=>r({id:e.id,dismiss:!0}))}),this.subscribers.forEach(e=>e({id:t,dismiss:!0})),t),this.message=(t,e)=>this.create({...e,message:t}),this.error=(t,e)=>this.create({...e,message:t,type:"error"}),this.success=(t,e)=>this.create({...e,type:"success",message:t}),this.info=(t,e)=>this.create({...e,type:"info",message:t}),this.warning=(t,e)=>this.create({...e,type:"warning",message:t}),this.loading=(t,e)=>this.create({...e,type:"loading",message:t}),this.promise=(t,e)=>{if(!e)return;let r;e.loading!==void 0&&(r=this.create({...e,promise:t,type:"loading",message:e.loading,description:typeof e.description!="function"?e.description:void 0}));let n=t instanceof Promise?t:t(),o=r!==void 0,a,i=n.then(async u=>{if(a=["resolve",u],w.isValidElement(u))o=!1,this.create({id:r,type:"default",message:u});else if(VS(u)&&!u.ok){o=!1;let l=typeof e.error=="function"?await e.error(`HTTP error! status: ${u.status}`):e.error,c=typeof e.description=="function"?await e.description(`HTTP error! status: ${u.status}`):e.description;this.create({id:r,type:"error",message:l,description:c})}else if(e.success!==void 0){o=!1;let l=typeof e.success=="function"?await e.success(u):e.success,c=typeof e.description=="function"?await e.description(u):e.description;this.create({id:r,type:"success",message:l,description:c})}}).catch(async u=>{if(a=["reject",u],e.error!==void 0){o=!1;let l=typeof e.error=="function"?await e.error(u):e.error,c=typeof e.description=="function"?await e.description(u):e.description;this.create({id:r,type:"error",message:l,description:c})}}).finally(()=>{var u;o&&(this.dismiss(r),r=void 0),(u=e.finally)==null||u.call(e)}),s=()=>new Promise((u,l)=>i.then(()=>a[0]==="reject"?l(a[1]):u(a[1])).catch(l));return typeof r!="string"&&typeof r!="number"?{unwrap:s}:Object.assign(r,{unwrap:s})},this.custom=(t,e)=>{let r=(e==null?void 0:e.id)||Li++;return this.create({jsx:t(r),id:r,...e}),r},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},je=new qS,US=(t,e)=>{let r=(e==null?void 0:e.id)||Li++;return je.addToast({title:t,...e,id:r}),r},VS=t=>t&&typeof t=="object"&&"ok"in t&&typeof t.ok=="boolean"&&"status"in t&&typeof t.status=="number",WS=US,GS=()=>je.toasts,YS=()=>je.getActiveToasts(),XS=Object.assign(WS,{success:je.success,info:je.info,warning:je.warning,error:je.error,custom:je.custom,message:je.message,promise:je.promise,dismiss:je.dismiss,loading:je.loading},{getHistory:GS,getToasts:YS});function KS(t,{insertAt:e}={}){if(typeof document>"u")return;let r=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",e==="top"&&r.firstChild?r.insertBefore(n,r.firstChild):r.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}KS(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
280
- `);function Qn(t){return t.label!==void 0}var JS=3,ZS="32px",QS="16px",cc=4e3,eC=356,tC=14,rC=20,nC=200;function Fe(...t){return t.filter(Boolean).join(" ")}function oC(t){let[e,r]=t.split("-"),n=[];return e&&n.push(e),r&&n.push(r),n}var aC=t=>{var e,r,n,o,a,i,s,u,l,c,h;let{invert:f,toast:d,unstyled:b,interacting:g,setHeights:m,visibleToasts:v,heights:x,index:S,toasts:E,expanded:j,removeToast:k,defaultRichColors:_,closeButton:D,style:L,cancelButtonStyle:$,actionButtonStyle:C,className:T="",descriptionClassName:P="",duration:I,position:N,gap:O,loadingIcon:A,expandByDefault:R,classNames:M,icons:q,closeButtonAriaLabel:fe="Close toast",pauseWhenPageIsHidden:Q}=t,[B,z]=w.useState(null),[me,X]=w.useState(null),[H,Te]=w.useState(!1),[xe,ge]=w.useState(!1),[Ge,ct]=w.useState(!1),[Ye,In]=w.useState(!1),[ya,Dn]=w.useState(!1),[xa,Ur]=w.useState(0),[ir,cu]=w.useState(0),Vr=w.useRef(d.duration||I||cc),du=w.useRef(null),Ut=w.useRef(null),cp=S===0,dp=S+1<=v,Re=d.type,sr=d.dismissible!==!1,fp=d.className||"",pp=d.descriptionClassName||"",Mn=w.useMemo(()=>x.findIndex(U=>U.toastId===d.id)||0,[x,d.id]),hp=w.useMemo(()=>{var U;return(U=d.closeButton)!=null?U:D},[d.closeButton,D]),fu=w.useMemo(()=>d.duration||I||cc,[d.duration,I]),wa=w.useRef(0),ur=w.useRef(0),pu=w.useRef(0),lr=w.useRef(null),[mp,bp]=N.split("-"),hu=w.useMemo(()=>x.reduce((U,re,ce)=>ce>=Mn?U:U+re.height,0),[x,Mn]),mu=FS(),gp=d.invert||f,Sa=Re==="loading";ur.current=w.useMemo(()=>Mn*O+hu,[Mn,hu]),w.useEffect(()=>{Vr.current=fu},[fu]),w.useEffect(()=>{Te(!0)},[]),w.useEffect(()=>{let U=Ut.current;if(U){let re=U.getBoundingClientRect().height;return cu(re),m(ce=>[{toastId:d.id,height:re,position:d.position},...ce]),()=>m(ce=>ce.filter(Be=>Be.toastId!==d.id))}},[m,d.id]),w.useLayoutEffect(()=>{if(!H)return;let U=Ut.current,re=U.style.height;U.style.height="auto";let ce=U.getBoundingClientRect().height;U.style.height=re,cu(ce),m(Be=>Be.find(ze=>ze.toastId===d.id)?Be.map(ze=>ze.toastId===d.id?{...ze,height:ce}:ze):[{toastId:d.id,height:ce,position:d.position},...Be])},[H,d.title,d.description,m,d.id]);let Tt=w.useCallback(()=>{ge(!0),Ur(ur.current),m(U=>U.filter(re=>re.toastId!==d.id)),setTimeout(()=>{k(d)},nC)},[d,k,m,ur]);w.useEffect(()=>{if(d.promise&&Re==="loading"||d.duration===1/0||d.type==="loading")return;let U;return j||g||Q&&mu?(()=>{if(pu.current<wa.current){let re=new Date().getTime()-wa.current;Vr.current=Vr.current-re}pu.current=new Date().getTime()})():Vr.current!==1/0&&(wa.current=new Date().getTime(),U=setTimeout(()=>{var re;(re=d.onAutoClose)==null||re.call(d,d),Tt()},Vr.current)),()=>clearTimeout(U)},[j,g,d,Re,Q,mu,Tt]),w.useEffect(()=>{d.delete&&Tt()},[Tt,d.delete]);function vp(){var U,re,ce;return q!=null&&q.loading?w.createElement("div",{className:Fe(M==null?void 0:M.loader,(U=d==null?void 0:d.classNames)==null?void 0:U.loader,"sonner-loader"),"data-visible":Re==="loading"},q.loading):A?w.createElement("div",{className:Fe(M==null?void 0:M.loader,(re=d==null?void 0:d.classNames)==null?void 0:re.loader,"sonner-loader"),"data-visible":Re==="loading"},A):w.createElement(MS,{className:Fe(M==null?void 0:M.loader,(ce=d==null?void 0:d.classNames)==null?void 0:ce.loader),visible:Re==="loading"})}return w.createElement("li",{tabIndex:0,ref:Ut,className:Fe(T,fp,M==null?void 0:M.toast,(e=d==null?void 0:d.classNames)==null?void 0:e.toast,M==null?void 0:M.default,M==null?void 0:M[Re],(r=d==null?void 0:d.classNames)==null?void 0:r[Re]),"data-sonner-toast":"","data-rich-colors":(n=d.richColors)!=null?n:_,"data-styled":!(d.jsx||d.unstyled||b),"data-mounted":H,"data-promise":!!d.promise,"data-swiped":ya,"data-removed":xe,"data-visible":dp,"data-y-position":mp,"data-x-position":bp,"data-index":S,"data-front":cp,"data-swiping":Ge,"data-dismissible":sr,"data-type":Re,"data-invert":gp,"data-swipe-out":Ye,"data-swipe-direction":me,"data-expanded":!!(j||R&&H),style:{"--index":S,"--toasts-before":S,"--z-index":E.length-S,"--offset":`${xe?xa:ur.current}px`,"--initial-height":R?"auto":`${ir}px`,...L,...d.style},onDragEnd:()=>{ct(!1),z(null),lr.current=null},onPointerDown:U=>{Sa||!sr||(du.current=new Date,Ur(ur.current),U.target.setPointerCapture(U.pointerId),U.target.tagName!=="BUTTON"&&(ct(!0),lr.current={x:U.clientX,y:U.clientY}))},onPointerUp:()=>{var U,re,ce,Be;if(Ye||!sr)return;lr.current=null;let ze=Number(((U=Ut.current)==null?void 0:U.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),jt=Number(((re=Ut.current)==null?void 0:re.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Vt=new Date().getTime()-((ce=du.current)==null?void 0:ce.getTime()),He=B==="x"?ze:jt,At=Math.abs(He)/Vt;if(Math.abs(He)>=rC||At>.11){Ur(ur.current),(Be=d.onDismiss)==null||Be.call(d,d),X(B==="x"?ze>0?"right":"left":jt>0?"down":"up"),Tt(),In(!0),Dn(!1);return}ct(!1),z(null)},onPointerMove:U=>{var re,ce,Be,ze;if(!lr.current||!sr||((re=window.getSelection())==null?void 0:re.toString().length)>0)return;let jt=U.clientY-lr.current.y,Vt=U.clientX-lr.current.x,He=(ce=t.swipeDirections)!=null?ce:oC(N);!B&&(Math.abs(Vt)>1||Math.abs(jt)>1)&&z(Math.abs(Vt)>Math.abs(jt)?"x":"y");let At={x:0,y:0};B==="y"?(He.includes("top")||He.includes("bottom"))&&(He.includes("top")&&jt<0||He.includes("bottom")&&jt>0)&&(At.y=jt):B==="x"&&(He.includes("left")||He.includes("right"))&&(He.includes("left")&&Vt<0||He.includes("right")&&Vt>0)&&(At.x=Vt),(Math.abs(At.x)>0||Math.abs(At.y)>0)&&Dn(!0),(Be=Ut.current)==null||Be.style.setProperty("--swipe-amount-x",`${At.x}px`),(ze=Ut.current)==null||ze.style.setProperty("--swipe-amount-y",`${At.y}px`)}},hp&&!d.jsx?w.createElement("button",{"aria-label":fe,"data-disabled":Sa,"data-close-button":!0,onClick:Sa||!sr?()=>{}:()=>{var U;Tt(),(U=d.onDismiss)==null||U.call(d,d)},className:Fe(M==null?void 0:M.closeButton,(o=d==null?void 0:d.classNames)==null?void 0:o.closeButton)},(a=q==null?void 0:q.close)!=null?a:HS):null,d.jsx||w.isValidElement(d.title)?d.jsx?d.jsx:typeof d.title=="function"?d.title():d.title:w.createElement(w.Fragment,null,Re||d.icon||d.promise?w.createElement("div",{"data-icon":"",className:Fe(M==null?void 0:M.icon,(i=d==null?void 0:d.classNames)==null?void 0:i.icon)},d.promise||d.type==="loading"&&!d.icon?d.icon||vp():null,d.type!=="loading"?d.icon||(q==null?void 0:q[Re])||IS(Re):null):null,w.createElement("div",{"data-content":"",className:Fe(M==null?void 0:M.content,(s=d==null?void 0:d.classNames)==null?void 0:s.content)},w.createElement("div",{"data-title":"",className:Fe(M==null?void 0:M.title,(u=d==null?void 0:d.classNames)==null?void 0:u.title)},typeof d.title=="function"?d.title():d.title),d.description?w.createElement("div",{"data-description":"",className:Fe(P,pp,M==null?void 0:M.description,(l=d==null?void 0:d.classNames)==null?void 0:l.description)},typeof d.description=="function"?d.description():d.description):null),w.isValidElement(d.cancel)?d.cancel:d.cancel&&Qn(d.cancel)?w.createElement("button",{"data-button":!0,"data-cancel":!0,style:d.cancelButtonStyle||$,onClick:U=>{var re,ce;Qn(d.cancel)&&sr&&((ce=(re=d.cancel).onClick)==null||ce.call(re,U),Tt())},className:Fe(M==null?void 0:M.cancelButton,(c=d==null?void 0:d.classNames)==null?void 0:c.cancelButton)},d.cancel.label):null,w.isValidElement(d.action)?d.action:d.action&&Qn(d.action)?w.createElement("button",{"data-button":!0,"data-action":!0,style:d.actionButtonStyle||C,onClick:U=>{var re,ce;Qn(d.action)&&((ce=(re=d.action).onClick)==null||ce.call(re,U),!U.defaultPrevented&&Tt())},className:Fe(M==null?void 0:M.actionButton,(h=d==null?void 0:d.classNames)==null?void 0:h.actionButton)},d.action.label):null))};function dc(){if(typeof window>"u"||typeof document>"u")return"ltr";let t=document.documentElement.getAttribute("dir");return t==="auto"||!t?window.getComputedStyle(document.documentElement).direction:t}function iC(t,e){let r={};return[t,e].forEach((n,o)=>{let a=o===1,i=a?"--mobile-offset":"--offset",s=a?QS:ZS;function u(l){["top","right","bottom","left"].forEach(c=>{r[`${i}-${c}`]=typeof l=="number"?`${l}px`:l})}typeof n=="number"||typeof n=="string"?u(n):typeof n=="object"?["top","right","bottom","left"].forEach(l=>{n[l]===void 0?r[`${i}-${l}`]=s:r[`${i}-${l}`]=typeof n[l]=="number"?`${n[l]}px`:n[l]}):u(s)}),r}w.forwardRef(function(t,e){let{invert:r,position:n="bottom-right",hotkey:o=["altKey","KeyT"],expand:a,closeButton:i,className:s,offset:u,mobileOffset:l,theme:c="light",richColors:h,duration:f,style:d,visibleToasts:b=JS,toastOptions:g,dir:m=dc(),gap:v=tC,loadingIcon:x,icons:S,containerAriaLabel:E="Notifications",pauseWhenPageIsHidden:j}=t,[k,_]=w.useState([]),D=w.useMemo(()=>Array.from(new Set([n].concat(k.filter(Q=>Q.position).map(Q=>Q.position)))),[k,n]),[L,$]=w.useState([]),[C,T]=w.useState(!1),[P,I]=w.useState(!1),[N,O]=w.useState(c!=="system"?c:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),A=w.useRef(null),R=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),M=w.useRef(null),q=w.useRef(!1),fe=w.useCallback(Q=>{_(B=>{var z;return(z=B.find(me=>me.id===Q.id))!=null&&z.delete||je.dismiss(Q.id),B.filter(({id:me})=>me!==Q.id)})},[]);return w.useEffect(()=>je.subscribe(Q=>{if(Q.dismiss){_(B=>B.map(z=>z.id===Q.id?{...z,delete:!0}:z));return}setTimeout(()=>{Bi.flushSync(()=>{_(B=>{let z=B.findIndex(me=>me.id===Q.id);return z!==-1?[...B.slice(0,z),{...B[z],...Q},...B.slice(z+1)]:[Q,...B]})})})}),[]),w.useEffect(()=>{if(c!=="system"){O(c);return}if(c==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?O("dark"):O("light")),typeof window>"u")return;let Q=window.matchMedia("(prefers-color-scheme: dark)");try{Q.addEventListener("change",({matches:B})=>{O(B?"dark":"light")})}catch{Q.addListener(({matches:z})=>{try{O(z?"dark":"light")}catch(me){console.error(me)}})}},[c]),w.useEffect(()=>{k.length<=1&&T(!1)},[k]),w.useEffect(()=>{let Q=B=>{var z,me;o.every(X=>B[X]||B.code===X)&&(T(!0),(z=A.current)==null||z.focus()),B.code==="Escape"&&(document.activeElement===A.current||(me=A.current)!=null&&me.contains(document.activeElement))&&T(!1)};return document.addEventListener("keydown",Q),()=>document.removeEventListener("keydown",Q)},[o]),w.useEffect(()=>{if(A.current)return()=>{M.current&&(M.current.focus({preventScroll:!0}),M.current=null,q.current=!1)}},[A.current]),w.createElement("section",{ref:e,"aria-label":`${E} ${R}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},D.map((Q,B)=>{var z;let[me,X]=Q.split("-");return k.length?w.createElement("ol",{key:Q,dir:m==="auto"?dc():m,tabIndex:-1,ref:A,className:s,"data-sonner-toaster":!0,"data-theme":N,"data-y-position":me,"data-lifted":C&&k.length>1&&!a,"data-x-position":X,style:{"--front-toast-height":`${((z=L[0])==null?void 0:z.height)||0}px`,"--width":`${eC}px`,"--gap":`${v}px`,...d,...iC(u,l)},onBlur:H=>{q.current&&!H.currentTarget.contains(H.relatedTarget)&&(q.current=!1,M.current&&(M.current.focus({preventScroll:!0}),M.current=null))},onFocus:H=>{H.target instanceof HTMLElement&&H.target.dataset.dismissible==="false"||q.current||(q.current=!0,M.current=H.relatedTarget)},onMouseEnter:()=>T(!0),onMouseMove:()=>T(!0),onMouseLeave:()=>{P||T(!1)},onDragEnd:()=>T(!1),onPointerDown:H=>{H.target instanceof HTMLElement&&H.target.dataset.dismissible==="false"||I(!0)},onPointerUp:()=>I(!1)},k.filter(H=>!H.position&&B===0||H.position===Q).map((H,Te)=>{var xe,ge;return w.createElement(aC,{key:H.id,icons:S,index:Te,toast:H,defaultRichColors:h,duration:(xe=g==null?void 0:g.duration)!=null?xe:f,className:g==null?void 0:g.className,descriptionClassName:g==null?void 0:g.descriptionClassName,invert:r,visibleToasts:b,closeButton:(ge=g==null?void 0:g.closeButton)!=null?ge:i,interacting:P,position:Q,style:g==null?void 0:g.style,unstyled:g==null?void 0:g.unstyled,classNames:g==null?void 0:g.classNames,cancelButtonStyle:g==null?void 0:g.cancelButtonStyle,actionButtonStyle:g==null?void 0:g.actionButtonStyle,removeToast:fe,toasts:k.filter(Ge=>Ge.position==H.position),heights:L.filter(Ge=>Ge.position==H.position),setHeights:$,expandByDefault:a,gap:v,loadingIcon:x,expanded:C,pauseWhenPageIsHidden:j,swipeDirections:t.swipeDirections})})):null}))});const $i={mobile:{width:375,icon:Xi,label:"Mobile (375px)"},tablet:{width:768,icon:Ki,label:"Tablet (768px)"},small:{width:1024,icon:Yi,label:"Small Desktop (1024px)"},desktop:{width:"100%",icon:Ji,label:"Desktop (Full)"}},sC=({handleSavePopup:t,setIsOpen:e,onSave:r,deviceSize:n,onDeviceSizeChange:o,setEditPopup:a,editPopup:i})=>{const{actions:s,query:u,canUndo:l,canRedo:c}=it((f,d)=>({canUndo:d.history.canUndo(),canRedo:d.history.canRedo()})),h=()=>{const f=u.serialize();i?t==null||t(f):r==null||r(f),XS.success("Page saved successfully")};return p.jsxs("div",{className:"flex items-center gap-4",children:[p.jsx(hn,{children:p.jsx(ap,{type:"single",value:n,onValueChange:f=>f&&o(f),className:"bg-muted rounded-md p-1",children:Object.entries($i).map(([f,{icon:d,label:b}])=>p.jsxs(Cr,{children:[p.jsx(Er,{asChild:!0,children:p.jsx(ip,{value:f,size:"sm",className:"data-[state=on]:bg-background data-[state=on]:shadow-sm",children:p.jsx(d,{className:"h-4 w-4"})})}),p.jsx(Jt,{side:"bottom",children:p.jsx("p",{children:b})})]},f))})}),p.jsx("div",{className:"h-6 w-px bg-border"}),p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsxs(Ke,{variant:"outline",size:"sm",onClick:()=>a(f=>!f),children:[i?"Edit page":"Edit popup"," ",p.jsx(gh,{className:"h-4 w-4"})]}),p.jsx(Ke,{variant:"outline",size:"sm",onClick:()=>s.history.undo(),disabled:!l,children:p.jsx(Sh,{className:"h-4 w-4"})}),p.jsx(Ke,{variant:"outline",size:"sm",onClick:()=>s.history.redo(),disabled:!c,children:p.jsx(hh,{className:"h-4 w-4"})}),p.jsxs(Ke,{size:"sm",onClick:()=>e(!0),children:["Preview Page ",p.jsx(lh,{className:"ml-2 h-4 w-4"})]}),p.jsxs(Ke,{size:"sm",onClick:h,children:[p.jsx(mh,{className:"h-4 w-4 mr-2"}),"Save"]})]})]})},sp=({children:t,className:e})=>{let r,n,o=!1;try{const{connectors:a,events:i}=oe(s=>({events:s.events}));r=a.connect,n=a.drag,o=i.selected}catch{}return p.jsx("div",{ref:a=>{a&&r&&n&&(r==null||r(n(a)))},className:rt("relative min-h-[100vh]",e||""),children:t})};sp.craft={props:{},displayName:"Body",isCanvas:!0,rules:{canMoveIn:t=>t.every(e=>e.data.displayName!=="Body")}};const fc=({htmlJson:t,editorState:e})=>{const{actions:r}=it();return w.useEffect(()=>{t?r.deserialize(t):e?r.deserialize(e):r.deserialize({ROOT:{type:{resolvedName:"Body"},isCanvas:!0,props:{id:"mainBody",className:"bg-transparent"},displayName:"Body"}})},[]),p.jsx(hs,{})},uC=({htmlJson:t,enabled:e,popupEditorState:r})=>{const{actions:n}=it();return w.useEffect(()=>{if(t)n.deserialize(t);else if(r)n.deserialize(r);else{const o={ROOT:{type:{resolvedName:"Body"},isCanvas:!0,props:{id:"mainBody",className:"bg-transparent"},displayName:"Body",nodes:["popupWrapperNode"],linkedNodes:{}},popupWrapperNode:{type:{resolvedName:"Wrapper"},isCanvas:!0,props:{...mn,width:{desktop:{type:"custom",value:"100",unit:"%"}},height:{desktop:{type:"custom",value:"100",unit:"vh"}},backgroundColor:"rgba(0,0,0,0.25)",position:"absolute",top:0,left:0,display:"flex",justifyContent:"center",alignItems:"center",id:"popupWrapper",onClick:a=>{console.log("test"),a.target.id}},displayName:"Wrapper",nodes:["popupContainerNode"],parent:"ROOT",linkedNodes:{}},popupContainerNode:{type:{resolvedName:"Container"},isCanvas:!0,props:{...mn,width:{desktop:{type:"custom",value:"90",unit:"%"}},height:{desktop:{type:"custom",value:"60",unit:"%"}},backgroundColor:"white",id:"popupContainer"},displayName:"Container",nodes:[],parent:"popupWrapperNode",linkedNodes:{}}};n.deserialize(o)}},[]),p.jsx(hs,{})},$o={Body:sp,Div:tu,Wrapper:qr,Section:E0,Container:Tn,Text:Ws,ButtonComponent:Es,Heading:Gs,Image:Ys,Img:C0,Divider:Xs,Spacer:Ks,Video:Qs,Columns:S0,Link:eu,Footer:N0},lC=({handleSavePopup:t,popupEditorState:e,popupHtmlJson:r,handleStateChangePopup:n,editorState:o,setIsOpen:a,initialData:i,onSave:s,onStateChange:u,enabled:l=!0})=>{var E;const c=En(),[h,f]=w.useState("desktop"),[d,b]=w.useState(!1),g=w.useRef(d);g.current=d;const[m,v]=w.useState(((E=$i[h])==null?void 0:E.width)||"100%");w.useEffect(()=>{var k;const j=((k=$i[h])==null?void 0:k.width)||"100%";v(j)},[h]),w.useEffect(()=>{if(!l){const j=()=>{const k=window.innerWidth;k<640?f("mobile"):k<1024?f("tablet"):k<1280?f("small"):f("desktop")};return window.addEventListener("resize",j),()=>window.removeEventListener("resize",j)}},[l]);const x=j=>{if(u)try{const k=j.serialize();u(k)}catch(k){console.log(k)}},S=j=>{if(n)try{const k=j.serialize();n(k)}catch(k){console.log(k)}};return l?p.jsx(di,{resolver:$o,enabled:l,onNodesChange:j=>{g.current?S(j):x(j)},children:p.jsx(yo,{value:h,children:p.jsx(an,{value:c,children:p.jsxs("div",{className:"flex flex-col h-full",children:[p.jsxs("div",{className:"flex items-center justify-between pb-4 border-b border-border",children:[p.jsx("h2",{className:"text-lg font-semibold",children:d?"Popup Builder":"Page Builder"}),p.jsx(sC,{setIsOpen:a,onSave:s,handleSavePopup:t,deviceSize:h,onDeviceSizeChange:f,editPopup:d,setEditPopup:b})]}),p.jsxs("div",{className:"flex gap-4 mt-4 flex-1 min-h-0",children:[p.jsx(en,{className:"w-52",children:p.jsxs(tn,{className:"p-4 space-y-6",children:[p.jsx(W5,{}),p.jsx(cS,{})]})}),p.jsx(en,{className:"flex-1 overflow-hidden bg-muted/30 flex flex-col",children:p.jsx(tn,{className:"p-4 flex-1 flex justify-center overflow-hidden",children:p.jsx(su,{className:"h-full w-full",children:p.jsx("div",{className:"flex justify-center min-h-full",children:p.jsx("div",{className:"bg-white rounded-lg min-h-full border border-dashed transition-all duration-300 ",style:{width:typeof m=="number"?`${m}px`:m,maxWidth:"100%"},children:d?p.jsx(uC,{popupEditorState:e,enabled:l,htmlJson:r}):p.jsx(fc,{editorState:o,htmlJson:i})})})})})}),p.jsx(en,{className:"w-64 flex flex-col",children:p.jsx(tn,{className:"p-4 flex-1 overflow-hidden",children:p.jsx(uS,{})})})]})]})})})}):p.jsx(yo,{value:h,children:p.jsx(an,{value:c,children:p.jsx(di,{resolver:$o,enabled:l,children:p.jsx(fc,{htmlJson:i})})})})},Fa={mobile:{width:375,label:"Mobile",icon:Xi},tablet:{width:768,label:"Tablet",icon:Ki},small:{width:1024,label:"Small",icon:Yi},desktop:{width:1440,label:"Desktop",icon:Ji}},cC=({editorState:t,deviceSize:e})=>p.jsx(di,{resolver:$o,enabled:!1,children:p.jsx(yo,{value:e,children:p.jsx(dC,{editorState:t})})}),dC=({editorState:t})=>{const{actions:e}=it();return w.useEffect(()=>{if(t&&(e!=null&&e.deserialize))try{e.deserialize(t)}catch(r){console.error("Failed to deserialize editor state:",r)}},[t,e]),p.jsx(hs,{})},up=({isOpen:t,onClose:e,eventData:r,editorState:n,popupEditorState:o})=>{var u,l;const[a,i]=w.useState("desktop");if(w.useEffect(()=>{const c=h=>{h.key==="Escape"&&e()};if(t)return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[t,e]),!t)return null;const s=((u=Fa[a])==null?void 0:u.width)||1440;return p.jsxs("div",{className:"fixed inset-0 z-50 bg-background flex flex-col bg-white",children:[p.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border bg-card",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("h2",{className:"text-lg font-semibold",children:"Preview"}),p.jsxs("span",{className:"text-sm text-muted-foreground",children:["(",(l=Fa[a])==null?void 0:l.width,"px)"]})]}),p.jsx("div",{className:"flex items-center gap-1 bg-muted rounded-lg p-1",children:Object.entries(Fa).map(([c,{label:h,icon:f}])=>p.jsxs(Ke,{variant:"ghost",size:"sm",onClick:()=>i(c),className:Dh("h-8 px-3 gap-2",a===c&&"bg-background shadow-sm"),children:[p.jsx(f,{className:"h-4 w-4"}),p.jsx("span",{className:"hidden sm:inline",children:h})]},c))}),p.jsx(Ke,{variant:"ghost",size:"icon",onClick:e,children:p.jsx(Eh,{className:"h-5 w-5"})})]}),p.jsx("div",{className:"flex-1 overflow-auto bg-muted/50 p-6",children:p.jsx("div",{className:"flex justify-center min-h-full",children:p.jsx("div",{className:"bg-white rounded-lg shadow-xl transition-all duration-300 overflow-hidden p-4",style:{width:`${s}px`,maxWidth:"100%"},children:p.jsx(an,{value:r,children:n?p.jsx(cC,{editorState:n,deviceSize:a}):p.jsx("div",{className:"flex items-center justify-center h-48 text-muted-foreground",children:"No content to preview. Start building your page first."})})})})})]})},fC=({handleSavePopup:t,popupEditorState:e,popupHtmlJson:r,handleStateChangePopup:n,editorState:o,initialData:a,onSave:i,onStateChange:s,eventData:u,enabled:l=!0})=>{const[c,h]=w.useState(!1);return p.jsx(an,{value:u,children:p.jsxs(w.Suspense,{fallback:p.jsx(en,{children:p.jsx(tn,{className:"p-4",children:p.jsxs("div",{className:"space-y-4",children:[p.jsx(Ln,{className:"h-8 w-48"}),p.jsxs("div",{className:"flex gap-4",children:[p.jsx(Ln,{className:"h-[500px] w-48"}),p.jsx(Ln,{className:"h-[500px] flex-1"}),p.jsx(Ln,{className:"h-[500px] w-64"})]})]})})}),children:[p.jsx(lC,{popupHtmlJson:r,popupEditorState:e,handleStateChangePopup:n,editorState:o,enabled:l,setIsOpen:h,initialData:a,onSave:i,handleSavePopup:t,onStateChange:s}),l?p.jsx(up,{popupEditorState:e,eventData:u,editorState:o,isOpen:c,onClose:()=>h(!1)}):null]})})},lp=w.createContext({fetchVideoByLocation:null}),pC=({children:t,fetchVideoByLocation:e})=>p.jsx(lp.Provider,{value:{fetchVideoByLocation:e},children:t}),hC=()=>w.useContext(lp);exports.ApiConfigProvider=pC;exports.DEVICE_ORDER=De;exports.DeviceSizeProvider=yo;exports.EventDataProvider=an;exports.PageBuilder=fC;exports.PreviewModal=up;exports.TEMPLATE_VARIABLES=G3;exports.getPlaceholderPaths=W3;exports.getResponsiveValue=gt;exports.hasTemplatePlaceholders=V3;exports.processTemplate=To;exports.resolver=$o;exports.useApiConfig=hC;exports.useDeviceSize=Ee;exports.useEventData=En;
280
+ `);function Qn(t){return t.label!==void 0}var JS=3,ZS="32px",QS="16px",cc=4e3,eC=356,tC=14,rC=20,nC=200;function Fe(...t){return t.filter(Boolean).join(" ")}function oC(t){let[e,r]=t.split("-"),n=[];return e&&n.push(e),r&&n.push(r),n}var aC=t=>{var e,r,n,o,a,i,s,u,l,c,h;let{invert:f,toast:d,unstyled:b,interacting:g,setHeights:m,visibleToasts:v,heights:x,index:S,toasts:E,expanded:j,removeToast:k,defaultRichColors:_,closeButton:D,style:L,cancelButtonStyle:$,actionButtonStyle:C,className:T="",descriptionClassName:P="",duration:I,position:N,gap:O,loadingIcon:A,expandByDefault:R,classNames:M,icons:q,closeButtonAriaLabel:fe="Close toast",pauseWhenPageIsHidden:Q}=t,[B,z]=w.useState(null),[me,X]=w.useState(null),[H,Te]=w.useState(!1),[xe,ge]=w.useState(!1),[Ge,ct]=w.useState(!1),[Ye,In]=w.useState(!1),[ya,Dn]=w.useState(!1),[xa,Ur]=w.useState(0),[ir,cu]=w.useState(0),Vr=w.useRef(d.duration||I||cc),du=w.useRef(null),Ut=w.useRef(null),cp=S===0,dp=S+1<=v,Re=d.type,sr=d.dismissible!==!1,fp=d.className||"",pp=d.descriptionClassName||"",Mn=w.useMemo(()=>x.findIndex(U=>U.toastId===d.id)||0,[x,d.id]),hp=w.useMemo(()=>{var U;return(U=d.closeButton)!=null?U:D},[d.closeButton,D]),fu=w.useMemo(()=>d.duration||I||cc,[d.duration,I]),wa=w.useRef(0),ur=w.useRef(0),pu=w.useRef(0),lr=w.useRef(null),[mp,bp]=N.split("-"),hu=w.useMemo(()=>x.reduce((U,re,ce)=>ce>=Mn?U:U+re.height,0),[x,Mn]),mu=FS(),gp=d.invert||f,Sa=Re==="loading";ur.current=w.useMemo(()=>Mn*O+hu,[Mn,hu]),w.useEffect(()=>{Vr.current=fu},[fu]),w.useEffect(()=>{Te(!0)},[]),w.useEffect(()=>{let U=Ut.current;if(U){let re=U.getBoundingClientRect().height;return cu(re),m(ce=>[{toastId:d.id,height:re,position:d.position},...ce]),()=>m(ce=>ce.filter(Be=>Be.toastId!==d.id))}},[m,d.id]),w.useLayoutEffect(()=>{if(!H)return;let U=Ut.current,re=U.style.height;U.style.height="auto";let ce=U.getBoundingClientRect().height;U.style.height=re,cu(ce),m(Be=>Be.find(ze=>ze.toastId===d.id)?Be.map(ze=>ze.toastId===d.id?{...ze,height:ce}:ze):[{toastId:d.id,height:ce,position:d.position},...Be])},[H,d.title,d.description,m,d.id]);let Tt=w.useCallback(()=>{ge(!0),Ur(ur.current),m(U=>U.filter(re=>re.toastId!==d.id)),setTimeout(()=>{k(d)},nC)},[d,k,m,ur]);w.useEffect(()=>{if(d.promise&&Re==="loading"||d.duration===1/0||d.type==="loading")return;let U;return j||g||Q&&mu?(()=>{if(pu.current<wa.current){let re=new Date().getTime()-wa.current;Vr.current=Vr.current-re}pu.current=new Date().getTime()})():Vr.current!==1/0&&(wa.current=new Date().getTime(),U=setTimeout(()=>{var re;(re=d.onAutoClose)==null||re.call(d,d),Tt()},Vr.current)),()=>clearTimeout(U)},[j,g,d,Re,Q,mu,Tt]),w.useEffect(()=>{d.delete&&Tt()},[Tt,d.delete]);function vp(){var U,re,ce;return q!=null&&q.loading?w.createElement("div",{className:Fe(M==null?void 0:M.loader,(U=d==null?void 0:d.classNames)==null?void 0:U.loader,"sonner-loader"),"data-visible":Re==="loading"},q.loading):A?w.createElement("div",{className:Fe(M==null?void 0:M.loader,(re=d==null?void 0:d.classNames)==null?void 0:re.loader,"sonner-loader"),"data-visible":Re==="loading"},A):w.createElement(MS,{className:Fe(M==null?void 0:M.loader,(ce=d==null?void 0:d.classNames)==null?void 0:ce.loader),visible:Re==="loading"})}return w.createElement("li",{tabIndex:0,ref:Ut,className:Fe(T,fp,M==null?void 0:M.toast,(e=d==null?void 0:d.classNames)==null?void 0:e.toast,M==null?void 0:M.default,M==null?void 0:M[Re],(r=d==null?void 0:d.classNames)==null?void 0:r[Re]),"data-sonner-toast":"","data-rich-colors":(n=d.richColors)!=null?n:_,"data-styled":!(d.jsx||d.unstyled||b),"data-mounted":H,"data-promise":!!d.promise,"data-swiped":ya,"data-removed":xe,"data-visible":dp,"data-y-position":mp,"data-x-position":bp,"data-index":S,"data-front":cp,"data-swiping":Ge,"data-dismissible":sr,"data-type":Re,"data-invert":gp,"data-swipe-out":Ye,"data-swipe-direction":me,"data-expanded":!!(j||R&&H),style:{"--index":S,"--toasts-before":S,"--z-index":E.length-S,"--offset":`${xe?xa:ur.current}px`,"--initial-height":R?"auto":`${ir}px`,...L,...d.style},onDragEnd:()=>{ct(!1),z(null),lr.current=null},onPointerDown:U=>{Sa||!sr||(du.current=new Date,Ur(ur.current),U.target.setPointerCapture(U.pointerId),U.target.tagName!=="BUTTON"&&(ct(!0),lr.current={x:U.clientX,y:U.clientY}))},onPointerUp:()=>{var U,re,ce,Be;if(Ye||!sr)return;lr.current=null;let ze=Number(((U=Ut.current)==null?void 0:U.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),jt=Number(((re=Ut.current)==null?void 0:re.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Vt=new Date().getTime()-((ce=du.current)==null?void 0:ce.getTime()),He=B==="x"?ze:jt,At=Math.abs(He)/Vt;if(Math.abs(He)>=rC||At>.11){Ur(ur.current),(Be=d.onDismiss)==null||Be.call(d,d),X(B==="x"?ze>0?"right":"left":jt>0?"down":"up"),Tt(),In(!0),Dn(!1);return}ct(!1),z(null)},onPointerMove:U=>{var re,ce,Be,ze;if(!lr.current||!sr||((re=window.getSelection())==null?void 0:re.toString().length)>0)return;let jt=U.clientY-lr.current.y,Vt=U.clientX-lr.current.x,He=(ce=t.swipeDirections)!=null?ce:oC(N);!B&&(Math.abs(Vt)>1||Math.abs(jt)>1)&&z(Math.abs(Vt)>Math.abs(jt)?"x":"y");let At={x:0,y:0};B==="y"?(He.includes("top")||He.includes("bottom"))&&(He.includes("top")&&jt<0||He.includes("bottom")&&jt>0)&&(At.y=jt):B==="x"&&(He.includes("left")||He.includes("right"))&&(He.includes("left")&&Vt<0||He.includes("right")&&Vt>0)&&(At.x=Vt),(Math.abs(At.x)>0||Math.abs(At.y)>0)&&Dn(!0),(Be=Ut.current)==null||Be.style.setProperty("--swipe-amount-x",`${At.x}px`),(ze=Ut.current)==null||ze.style.setProperty("--swipe-amount-y",`${At.y}px`)}},hp&&!d.jsx?w.createElement("button",{"aria-label":fe,"data-disabled":Sa,"data-close-button":!0,onClick:Sa||!sr?()=>{}:()=>{var U;Tt(),(U=d.onDismiss)==null||U.call(d,d)},className:Fe(M==null?void 0:M.closeButton,(o=d==null?void 0:d.classNames)==null?void 0:o.closeButton)},(a=q==null?void 0:q.close)!=null?a:HS):null,d.jsx||w.isValidElement(d.title)?d.jsx?d.jsx:typeof d.title=="function"?d.title():d.title:w.createElement(w.Fragment,null,Re||d.icon||d.promise?w.createElement("div",{"data-icon":"",className:Fe(M==null?void 0:M.icon,(i=d==null?void 0:d.classNames)==null?void 0:i.icon)},d.promise||d.type==="loading"&&!d.icon?d.icon||vp():null,d.type!=="loading"?d.icon||(q==null?void 0:q[Re])||IS(Re):null):null,w.createElement("div",{"data-content":"",className:Fe(M==null?void 0:M.content,(s=d==null?void 0:d.classNames)==null?void 0:s.content)},w.createElement("div",{"data-title":"",className:Fe(M==null?void 0:M.title,(u=d==null?void 0:d.classNames)==null?void 0:u.title)},typeof d.title=="function"?d.title():d.title),d.description?w.createElement("div",{"data-description":"",className:Fe(P,pp,M==null?void 0:M.description,(l=d==null?void 0:d.classNames)==null?void 0:l.description)},typeof d.description=="function"?d.description():d.description):null),w.isValidElement(d.cancel)?d.cancel:d.cancel&&Qn(d.cancel)?w.createElement("button",{"data-button":!0,"data-cancel":!0,style:d.cancelButtonStyle||$,onClick:U=>{var re,ce;Qn(d.cancel)&&sr&&((ce=(re=d.cancel).onClick)==null||ce.call(re,U),Tt())},className:Fe(M==null?void 0:M.cancelButton,(c=d==null?void 0:d.classNames)==null?void 0:c.cancelButton)},d.cancel.label):null,w.isValidElement(d.action)?d.action:d.action&&Qn(d.action)?w.createElement("button",{"data-button":!0,"data-action":!0,style:d.actionButtonStyle||C,onClick:U=>{var re,ce;Qn(d.action)&&((ce=(re=d.action).onClick)==null||ce.call(re,U),!U.defaultPrevented&&Tt())},className:Fe(M==null?void 0:M.actionButton,(h=d==null?void 0:d.classNames)==null?void 0:h.actionButton)},d.action.label):null))};function dc(){if(typeof window>"u"||typeof document>"u")return"ltr";let t=document.documentElement.getAttribute("dir");return t==="auto"||!t?window.getComputedStyle(document.documentElement).direction:t}function iC(t,e){let r={};return[t,e].forEach((n,o)=>{let a=o===1,i=a?"--mobile-offset":"--offset",s=a?QS:ZS;function u(l){["top","right","bottom","left"].forEach(c=>{r[`${i}-${c}`]=typeof l=="number"?`${l}px`:l})}typeof n=="number"||typeof n=="string"?u(n):typeof n=="object"?["top","right","bottom","left"].forEach(l=>{n[l]===void 0?r[`${i}-${l}`]=s:r[`${i}-${l}`]=typeof n[l]=="number"?`${n[l]}px`:n[l]}):u(s)}),r}w.forwardRef(function(t,e){let{invert:r,position:n="bottom-right",hotkey:o=["altKey","KeyT"],expand:a,closeButton:i,className:s,offset:u,mobileOffset:l,theme:c="light",richColors:h,duration:f,style:d,visibleToasts:b=JS,toastOptions:g,dir:m=dc(),gap:v=tC,loadingIcon:x,icons:S,containerAriaLabel:E="Notifications",pauseWhenPageIsHidden:j}=t,[k,_]=w.useState([]),D=w.useMemo(()=>Array.from(new Set([n].concat(k.filter(Q=>Q.position).map(Q=>Q.position)))),[k,n]),[L,$]=w.useState([]),[C,T]=w.useState(!1),[P,I]=w.useState(!1),[N,O]=w.useState(c!=="system"?c:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),A=w.useRef(null),R=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),M=w.useRef(null),q=w.useRef(!1),fe=w.useCallback(Q=>{_(B=>{var z;return(z=B.find(me=>me.id===Q.id))!=null&&z.delete||je.dismiss(Q.id),B.filter(({id:me})=>me!==Q.id)})},[]);return w.useEffect(()=>je.subscribe(Q=>{if(Q.dismiss){_(B=>B.map(z=>z.id===Q.id?{...z,delete:!0}:z));return}setTimeout(()=>{Bi.flushSync(()=>{_(B=>{let z=B.findIndex(me=>me.id===Q.id);return z!==-1?[...B.slice(0,z),{...B[z],...Q},...B.slice(z+1)]:[Q,...B]})})})}),[]),w.useEffect(()=>{if(c!=="system"){O(c);return}if(c==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?O("dark"):O("light")),typeof window>"u")return;let Q=window.matchMedia("(prefers-color-scheme: dark)");try{Q.addEventListener("change",({matches:B})=>{O(B?"dark":"light")})}catch{Q.addListener(({matches:z})=>{try{O(z?"dark":"light")}catch(me){console.error(me)}})}},[c]),w.useEffect(()=>{k.length<=1&&T(!1)},[k]),w.useEffect(()=>{let Q=B=>{var z,me;o.every(X=>B[X]||B.code===X)&&(T(!0),(z=A.current)==null||z.focus()),B.code==="Escape"&&(document.activeElement===A.current||(me=A.current)!=null&&me.contains(document.activeElement))&&T(!1)};return document.addEventListener("keydown",Q),()=>document.removeEventListener("keydown",Q)},[o]),w.useEffect(()=>{if(A.current)return()=>{M.current&&(M.current.focus({preventScroll:!0}),M.current=null,q.current=!1)}},[A.current]),w.createElement("section",{ref:e,"aria-label":`${E} ${R}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},D.map((Q,B)=>{var z;let[me,X]=Q.split("-");return k.length?w.createElement("ol",{key:Q,dir:m==="auto"?dc():m,tabIndex:-1,ref:A,className:s,"data-sonner-toaster":!0,"data-theme":N,"data-y-position":me,"data-lifted":C&&k.length>1&&!a,"data-x-position":X,style:{"--front-toast-height":`${((z=L[0])==null?void 0:z.height)||0}px`,"--width":`${eC}px`,"--gap":`${v}px`,...d,...iC(u,l)},onBlur:H=>{q.current&&!H.currentTarget.contains(H.relatedTarget)&&(q.current=!1,M.current&&(M.current.focus({preventScroll:!0}),M.current=null))},onFocus:H=>{H.target instanceof HTMLElement&&H.target.dataset.dismissible==="false"||q.current||(q.current=!0,M.current=H.relatedTarget)},onMouseEnter:()=>T(!0),onMouseMove:()=>T(!0),onMouseLeave:()=>{P||T(!1)},onDragEnd:()=>T(!1),onPointerDown:H=>{H.target instanceof HTMLElement&&H.target.dataset.dismissible==="false"||I(!0)},onPointerUp:()=>I(!1)},k.filter(H=>!H.position&&B===0||H.position===Q).map((H,Te)=>{var xe,ge;return w.createElement(aC,{key:H.id,icons:S,index:Te,toast:H,defaultRichColors:h,duration:(xe=g==null?void 0:g.duration)!=null?xe:f,className:g==null?void 0:g.className,descriptionClassName:g==null?void 0:g.descriptionClassName,invert:r,visibleToasts:b,closeButton:(ge=g==null?void 0:g.closeButton)!=null?ge:i,interacting:P,position:Q,style:g==null?void 0:g.style,unstyled:g==null?void 0:g.unstyled,classNames:g==null?void 0:g.classNames,cancelButtonStyle:g==null?void 0:g.cancelButtonStyle,actionButtonStyle:g==null?void 0:g.actionButtonStyle,removeToast:fe,toasts:k.filter(Ge=>Ge.position==H.position),heights:L.filter(Ge=>Ge.position==H.position),setHeights:$,expandByDefault:a,gap:v,loadingIcon:x,expanded:C,pauseWhenPageIsHidden:j,swipeDirections:t.swipeDirections})})):null}))});const $i={mobile:{width:375,icon:Xi,label:"Mobile (375px)"},tablet:{width:768,icon:Ki,label:"Tablet (768px)"},small:{width:1024,icon:Yi,label:"Small Desktop (1024px)"},desktop:{width:"100%",icon:Ji,label:"Desktop (Full)"}},sC=({handleSavePopup:t,setIsOpen:e,onSave:r,deviceSize:n,onDeviceSizeChange:o,setEditPopup:a,editPopup:i})=>{const{actions:s,query:u,canUndo:l,canRedo:c}=it((f,d)=>({canUndo:d.history.canUndo(),canRedo:d.history.canRedo()})),h=()=>{const f=u.serialize();i?t==null||t(f):r==null||r(f),XS.success("Page saved successfully")};return p.jsxs("div",{className:"flex items-center gap-4",children:[p.jsx(hn,{children:p.jsx(ap,{type:"single",value:n,onValueChange:f=>f&&o(f),className:"bg-muted rounded-md p-1",children:Object.entries($i).map(([f,{icon:d,label:b}])=>p.jsxs(Cr,{children:[p.jsx(Er,{asChild:!0,children:p.jsx(ip,{value:f,size:"sm",className:"data-[state=on]:bg-background data-[state=on]:shadow-sm",children:p.jsx(d,{className:"h-4 w-4"})})}),p.jsx(Jt,{side:"bottom",children:p.jsx("p",{children:b})})]},f))})}),p.jsx("div",{className:"h-6 w-px bg-border"}),p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsxs(Ke,{variant:"outline",size:"sm",onClick:()=>a(f=>!f),children:[i?"Edit page":"Edit popup"," ",p.jsx(gh,{className:"h-4 w-4"})]}),p.jsx(Ke,{variant:"outline",size:"sm",onClick:()=>s.history.undo(),disabled:!l,children:p.jsx(Sh,{className:"h-4 w-4"})}),p.jsx(Ke,{variant:"outline",size:"sm",onClick:()=>s.history.redo(),disabled:!c,children:p.jsx(hh,{className:"h-4 w-4"})}),p.jsxs(Ke,{size:"sm",onClick:()=>e(!0),children:["Preview Page ",p.jsx(lh,{className:"ml-2 h-4 w-4"})]}),p.jsxs(Ke,{size:"sm",onClick:h,children:[p.jsx(mh,{className:"h-4 w-4 mr-2"}),"Save"]})]})]})},sp=({children:t,className:e})=>{let r,n,o=!1;try{const{connectors:a,events:i}=oe(s=>({events:s.events}));r=a.connect,n=a.drag,o=i.selected}catch{}return p.jsx("div",{ref:a=>{a&&r&&n&&(r==null||r(n(a)))},className:rt("relative min-h-[100vh]",e||""),children:t})};sp.craft={props:{},displayName:"Body",isCanvas:!0,rules:{canMoveIn:t=>t.every(e=>e.data.displayName!=="Body")}};const fc=({htmlJson:t,editorState:e})=>{const{actions:r}=it();return w.useEffect(()=>{t?r.deserialize(t):e?r.deserialize(e):r.deserialize({ROOT:{type:{resolvedName:"Body"},isCanvas:!0,props:{id:"mainBody",className:"bg-transparent"},displayName:"Body"}})},[]),p.jsx(hs,{})},uC=({htmlJson:t,enabled:e,popupEditorState:r})=>{const{actions:n}=it();return w.useEffect(()=>{if(t)n.deserialize(t);else if(r)n.deserialize(r);else{const o={ROOT:{type:{resolvedName:"Body"},isCanvas:!0,props:{id:"mainBody",className:"bg-transparent"},displayName:"Body",nodes:["popupWrapperNode"],linkedNodes:{}},popupWrapperNode:{type:{resolvedName:"Wrapper"},isCanvas:!0,props:{...mn,width:{desktop:{type:"custom",value:"100",unit:"%"}},height:{desktop:{type:"custom",value:"100",unit:"vh"}},backgroundColor:"rgba(0,0,0,0.25)",position:"absolute",top:0,left:0,display:"flex",justifyContent:"center",alignItems:"center",id:"popupWrapper",onClick:a=>{console.log("test"),a.target.id}},displayName:"Wrapper",nodes:["popupContainerNode"],parent:"ROOT",linkedNodes:{}},popupContainerNode:{type:{resolvedName:"Container"},isCanvas:!0,props:{...mn,width:{desktop:{type:"custom",value:"90",unit:"%"}},height:{desktop:{type:"custom",value:"60",unit:"%"}},backgroundColor:"white",id:"popupContainer"},displayName:"Container",nodes:[],parent:"popupWrapperNode",linkedNodes:{}}};n.deserialize(o)}},[]),p.jsx(hs,{})},$o={Body:sp,Div:tu,Wrapper:qr,Section:E0,Container:Tn,Text:Ws,ButtonComponent:Es,Heading:Gs,Image:Ys,Img:C0,Divider:Xs,Spacer:Ks,Video:Qs,Columns:S0,Link:eu,Footer:N0},lC=({handleSavePopup:t,popupEditorState:e,popupHtmlJson:r,handleStateChangePopup:n,editorState:o,setIsOpen:a,initialData:i,onSave:s,onStateChange:u,enabled:l=!0})=>{var E;const c=En(),[h,f]=w.useState("desktop"),[d,b]=w.useState(!1),g=w.useRef(d);g.current=d;const[m,v]=w.useState(((E=$i[h])==null?void 0:E.width)||"100%");w.useEffect(()=>{var k;const j=((k=$i[h])==null?void 0:k.width)||"100%";v(j)},[h]),w.useEffect(()=>{if(!l){const j=()=>{const k=window.parent?window.parent.innerWidth:window.innerWidth;k<640?f("mobile"):k<1024?f("tablet"):k<1280?f("small"):f("desktop")};return window.addEventListener("resize",j),()=>window.removeEventListener("resize",j)}},[l]);const x=j=>{if(u)try{const k=j.serialize();u(k)}catch(k){console.log(k)}},S=j=>{if(n)try{const k=j.serialize();n(k)}catch(k){console.log(k)}};return l?p.jsx(di,{resolver:$o,enabled:l,onNodesChange:j=>{g.current?S(j):x(j)},children:p.jsx(yo,{value:h,children:p.jsx(an,{value:c,children:p.jsxs("div",{className:"flex flex-col h-full",children:[p.jsxs("div",{className:"flex items-center justify-between pb-4 border-b border-border",children:[p.jsx("h2",{className:"text-lg font-semibold",children:d?"Popup Builder":"Page Builder"}),p.jsx(sC,{setIsOpen:a,onSave:s,handleSavePopup:t,deviceSize:h,onDeviceSizeChange:f,editPopup:d,setEditPopup:b})]}),p.jsxs("div",{className:"flex gap-4 mt-4 flex-1 min-h-0",children:[p.jsx(en,{className:"w-52",children:p.jsxs(tn,{className:"p-4 space-y-6",children:[p.jsx(W5,{}),p.jsx(cS,{})]})}),p.jsx(en,{className:"flex-1 overflow-hidden bg-muted/30 flex flex-col",children:p.jsx(tn,{className:"p-4 flex-1 flex justify-center overflow-hidden",children:p.jsx(su,{className:"h-full w-full",children:p.jsx("div",{className:"flex justify-center min-h-full",children:p.jsx("div",{className:"bg-white rounded-lg min-h-full border border-dashed transition-all duration-300 ",style:{width:typeof m=="number"?`${m}px`:m,maxWidth:"100%"},children:d?p.jsx(uC,{popupEditorState:e,enabled:l,htmlJson:r}):p.jsx(fc,{editorState:o,htmlJson:i})})})})})}),p.jsx(en,{className:"w-64 flex flex-col",children:p.jsx(tn,{className:"p-4 flex-1 overflow-hidden",children:p.jsx(uS,{})})})]})]})})})}):p.jsx(yo,{value:h,children:p.jsx(an,{value:c,children:p.jsx(di,{resolver:$o,enabled:l,children:p.jsx(fc,{htmlJson:i})})})})},Fa={mobile:{width:375,label:"Mobile",icon:Xi},tablet:{width:768,label:"Tablet",icon:Ki},small:{width:1024,label:"Small",icon:Yi},desktop:{width:1440,label:"Desktop",icon:Ji}},cC=({editorState:t,deviceSize:e})=>p.jsx(di,{resolver:$o,enabled:!1,children:p.jsx(yo,{value:e,children:p.jsx(dC,{editorState:t})})}),dC=({editorState:t})=>{const{actions:e}=it();return w.useEffect(()=>{if(t&&(e!=null&&e.deserialize))try{e.deserialize(t)}catch(r){console.error("Failed to deserialize editor state:",r)}},[t,e]),p.jsx(hs,{})},up=({isOpen:t,onClose:e,eventData:r,editorState:n,popupEditorState:o})=>{var u,l;const[a,i]=w.useState("desktop");if(w.useEffect(()=>{const c=h=>{h.key==="Escape"&&e()};if(t)return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[t,e]),!t)return null;const s=((u=Fa[a])==null?void 0:u.width)||1440;return p.jsxs("div",{className:"fixed inset-0 z-50 bg-background flex flex-col bg-white",children:[p.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border bg-card",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("h2",{className:"text-lg font-semibold",children:"Preview"}),p.jsxs("span",{className:"text-sm text-muted-foreground",children:["(",(l=Fa[a])==null?void 0:l.width,"px)"]})]}),p.jsx("div",{className:"flex items-center gap-1 bg-muted rounded-lg p-1",children:Object.entries(Fa).map(([c,{label:h,icon:f}])=>p.jsxs(Ke,{variant:"ghost",size:"sm",onClick:()=>i(c),className:Dh("h-8 px-3 gap-2",a===c&&"bg-background shadow-sm"),children:[p.jsx(f,{className:"h-4 w-4"}),p.jsx("span",{className:"hidden sm:inline",children:h})]},c))}),p.jsx(Ke,{variant:"ghost",size:"icon",onClick:e,children:p.jsx(Eh,{className:"h-5 w-5"})})]}),p.jsx("div",{className:"flex-1 overflow-auto bg-muted/50 p-6",children:p.jsx("div",{className:"flex justify-center min-h-full",children:p.jsx("div",{className:"bg-white rounded-lg shadow-xl transition-all duration-300 overflow-hidden p-4",style:{width:`${s}px`,maxWidth:"100%"},children:p.jsx(an,{value:r,children:n?p.jsx(cC,{editorState:n,deviceSize:a}):p.jsx("div",{className:"flex items-center justify-center h-48 text-muted-foreground",children:"No content to preview. Start building your page first."})})})})})]})},fC=({handleSavePopup:t,popupEditorState:e,popupHtmlJson:r,handleStateChangePopup:n,editorState:o,initialData:a,onSave:i,onStateChange:s,eventData:u,enabled:l=!0})=>{const[c,h]=w.useState(!1);return p.jsx(an,{value:u,children:p.jsxs(w.Suspense,{fallback:p.jsx(en,{children:p.jsx(tn,{className:"p-4",children:p.jsxs("div",{className:"space-y-4",children:[p.jsx(Ln,{className:"h-8 w-48"}),p.jsxs("div",{className:"flex gap-4",children:[p.jsx(Ln,{className:"h-[500px] w-48"}),p.jsx(Ln,{className:"h-[500px] flex-1"}),p.jsx(Ln,{className:"h-[500px] w-64"})]})]})})}),children:[p.jsx(lC,{popupHtmlJson:r,popupEditorState:e,handleStateChangePopup:n,editorState:o,enabled:l,setIsOpen:h,initialData:a,onSave:i,handleSavePopup:t,onStateChange:s}),l?p.jsx(up,{popupEditorState:e,eventData:u,editorState:o,isOpen:c,onClose:()=>h(!1)}):null]})})},lp=w.createContext({fetchVideoByLocation:null}),pC=({children:t,fetchVideoByLocation:e})=>p.jsx(lp.Provider,{value:{fetchVideoByLocation:e},children:t}),hC=()=>w.useContext(lp);exports.ApiConfigProvider=pC;exports.DEVICE_ORDER=De;exports.DeviceSizeProvider=yo;exports.EventDataProvider=an;exports.PageBuilder=fC;exports.PreviewModal=up;exports.TEMPLATE_VARIABLES=G3;exports.getPlaceholderPaths=W3;exports.getResponsiveValue=gt;exports.hasTemplatePlaceholders=V3;exports.processTemplate=To;exports.resolver=$o;exports.useApiConfig=hC;exports.useDeviceSize=Ee;exports.useEventData=En;
package/dist/index.es.js CHANGED
@@ -18463,7 +18463,7 @@ const Cc = ({ htmlJson: t, editorState: e }) => {
18463
18463
  }, [p]), Me(() => {
18464
18464
  if (!l) {
18465
18465
  const T = () => {
18466
- const P = window.innerWidth;
18466
+ const P = window.parent ? window.parent.innerWidth : window.innerWidth;
18467
18467
  P < 640 ? f("mobile") : P < 1024 ? f("tablet") : P < 1280 ? f("small") : f("desktop");
18468
18468
  };
18469
18469
  return window.addEventListener("resize", T), () => window.removeEventListener("resize", T);
@@ -1 +1 @@
1
- {"version":3,"file":"CraftEditor.d.ts","sourceRoot":"","sources":["../src/CraftEditor.jsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;iBAYiB,WAAW;oBAgBrB,QAAQ;wBAAR,QAAQ;wBAAR,QAAQ;0BAAR,QAAQ;qBAAR,QAAQ;gCA1BiB,eAAe;wBA0BxC,QAAQ;sBAAR,QAAQ;oBAAR,QAAQ;wBAAR,QAAQ;uBAAR,QAAQ;sBAAR,QAAQ;wBAAR,QAAQ;qBAAR,QAAQ;uBAAR,QAAQ;AAsBf;;;;;;;;;;;4CAqKC"}
1
+ {"version":3,"file":"CraftEditor.d.ts","sourceRoot":"","sources":["../src/CraftEditor.jsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;iBAYiB,WAAW;oBAgBrB,QAAQ;wBAAR,QAAQ;wBAAR,QAAQ;0BAAR,QAAQ;qBAAR,QAAQ;gCA1BiB,eAAe;wBA0BxC,QAAQ;sBAAR,QAAQ;oBAAR,QAAQ;wBAAR,QAAQ;uBAAR,QAAQ;sBAAR,QAAQ;wBAAR,QAAQ;qBAAR,QAAQ;uBAAR,QAAQ;AAsBf;;;;;;;;;;;4CAuKC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tech_carthagos/page-builder",
3
- "version": "1.0.53",
3
+ "version": "1.0.54",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.es.js",