bugstash 0.1.9 → 0.1.10

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 CHANGED
@@ -7,7 +7,7 @@ ${t.stack??""}`;if(typeof t=="object")try{return JSON.stringify(t,null,2)}catch{
7
7
  ${c}
8
8
  </foreignObject>
9
9
  </svg>
10
- `,l=new Blob([p],{type:"image/svg+xml;charset=utf-8"}),x=URL.createObjectURL(l);return new Promise(g=>{let h=new Image;h.onload=()=>{let y=document.createElement("canvas");y.width=e*.5,y.height=t*.5;let M=y.getContext("2d");if(!M){URL.revokeObjectURL(x),g(null);return}M.scale(.5,.5),M.drawImage(h,0,0),URL.revokeObjectURL(x),g(y.toDataURL("image/jpeg",.6))},h.onerror=()=>{URL.revokeObjectURL(x),g(null)},h.src=x})}async function Ln(){if(!navigator.mediaDevices?.getDisplayMedia)return null;let e=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:"browser"}}),t=e.getVideoTracks()[0],s=document.createElement("video");return new Promise(n=>{s.onloadedmetadata=()=>{s.play();let r=document.createElement("canvas");r.width=s.videoWidth*.5,r.height=s.videoHeight*.5;let i=r.getContext("2d");if(!i){t.stop(),n(null);return}i.scale(.5,.5),i.drawImage(s,0,0),t.stop(),n(r.toDataURL("image/jpeg",.6))},s.onerror=()=>{t.stop(),n(null)},s.srcObject=e})}var Sn="https://api.bugstash.com",ys="https://bugstash-backend.azurewebsites.net",U=Sn,It=!1;function ws(e){U=e.replace(/\/$/,""),It=!1}function ks(){return U}async function X(e,t){try{return await fetch(e,t)}catch(s){if(It)throw s;It=!0;let n=U;U=ys;let r=e.replace(n,ys);return fetch(r,t)}}var Ht="bugstash_auth";function Rt(){try{let e=localStorage.getItem(Ht);if(!e)return null;let t=JSON.parse(e);return t.tokens.expiresAt<Date.now(),t}catch{return null}}function Es(e){localStorage.setItem(Ht,JSON.stringify(e))}function Cn(){localStorage.removeItem(Ht)}function J(){return Rt()?.user||null}function Ls(){return Rt()?.tokens.accessToken||null}async function ie(){let e=Rt();if(!e)return{"Content-Type":"application/json"};if(e.tokens.expiresAt<Date.now()+6e4)try{let t=await X(`${U}/api/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:e.tokens.refreshToken})});if(t.ok){let s=await t.json();s.success&&(e.tokens=s.data,Es(e))}}catch{}return{"Content-Type":"application/json",Authorization:`Bearer ${e.tokens.accessToken}`}}async function at(e,t,s){try{let r=await(await X(`${U}/api/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,password:t,projectId:s})})).json();return r.success&&Es({user:r.data.user,tokens:r.data.tokens}),r}catch{return{success:!1,error:"Network error"}}}async function it(){Cn()}async function Bt(e){try{let t=await ie();return await(await X(`${U}/api/reports`,{method:"POST",headers:t,body:JSON.stringify(e)})).json()}catch{return{success:!1,error:"Network error - could not reach BugStash"}}}async function Ss(e,t){try{let s=await ie();return await(await X(`${U}/api/pins/by-page?projectId=${e}&pathname=${encodeURIComponent(t)}`,{headers:s})).json()}catch{return{success:!1,error:"Network error"}}}async function Nt(e){try{let t=await ie();return await(await X(`${U}/api/pins`,{method:"POST",headers:t,body:JSON.stringify(e)})).json()}catch{return{success:!1,error:"Network error"}}}async function lt(e,t){try{let s=await ie();return await(await X(`${U}/api/pins/${e}`,{method:"PUT",headers:s,body:JSON.stringify(t)})).json()}catch{return{success:!1,error:"Network error"}}}async function Cs(e){try{let t=await ie();return await(await X(`${U}/api/pins/${e}`,{method:"DELETE",headers:t})).json()}catch{return{success:!1,error:"Network error"}}}async function Ts(e){try{let t=await ie();return await(await X(`${U}/api/pins/${e}/comments`,{headers:t})).json()}catch{return{success:!1,error:"Network error"}}}async function Dt(e,t,s=[]){try{let n=await ie();return await(await X(`${U}/api/pins/${e}/comments`,{method:"POST",headers:n,body:JSON.stringify({body:t,mentions:s})})).json()}catch{return{success:!1,error:"Network error"}}}async function $s(e){try{let t=await ie();return await(await X(`${U}/api/members/for-project/${e}`,{headers:t})).json()}catch{return{success:!1,error:"Network error"}}}var jt="bugstash_offline_queue";function Ot(e){let t=Ms();t.push({...e,id:Math.random().toString(36).slice(2),timestamp:Date.now()}),localStorage.setItem(jt,JSON.stringify(t))}function Ms(){try{return JSON.parse(localStorage.getItem(jt)||"[]")}catch{return[]}}async function Tn(){let e=Ms();if(e.length===0)return 0;let t=0,s=[];for(let n of e)try{let r;switch(n.type){case"create_pin":r=await Nt(n.data);break;case"create_comment":r=await Dt(n.data.pinId,n.data.body,n.data.mentions);break;case"update_pin":r=await lt(n.data.pinId,n.data.updates);break;case"submit_report":r=await Bt(n.data);break;default:r={success:!1,error:"Unknown action"}}r.success?t++:s.push(n)}catch{s.push(n)}return localStorage.setItem(jt,JSON.stringify(s)),t}typeof window<"u"&&window.addEventListener("online",()=>{Tn().catch(()=>{})});var qt=[{id:"midnight",name:"Midnight",preview:["#1a1d2e","#6E9ED0"],vars:{"--bs-bg":"#1a1d2e","--bs-bg2":"#222639","--bs-bg3":"#2a2e42","--bs-text":"#e2e5ed","--bs-muted":"#7c82a0","--bs-border":"#333754","--bs-accent":"#6E9ED0","--bs-accent2":"#8FAFD6","--bs-fab1":"#6E9ED0","--bs-fab2":"#8FAFD6","--bs-radius":"16px","--bs-radius-sm":"10px","--bs-red":"#f87171","--bs-green":"#4ade80","--bs-orange":"#fb923c","--bs-yellow":"#fbbf24"}},{id:"purple",name:"Deep Purple",preview:["#1c1628","#a78bfa"],vars:{"--bs-bg":"#1c1628","--bs-bg2":"#241e34","--bs-bg3":"#2e2640","--bs-text":"#e8e0f5","--bs-muted":"#8b7faa","--bs-border":"#3b3255","--bs-accent":"#a78bfa","--bs-accent2":"#c4b5fd","--bs-fab1":"#a78bfa","--bs-fab2":"#c084fc","--bs-radius":"16px","--bs-radius-sm":"10px","--bs-red":"#fb7185","--bs-green":"#6ee7b7","--bs-orange":"#fdba74","--bs-yellow":"#fde68a"}},{id:"cyberpunk",name:"Cyberpunk",preview:["#0a0a12","#00fff0"],vars:{"--bs-bg":"#0a0a12","--bs-bg2":"#12121f","--bs-bg3":"#1a1a2c","--bs-text":"#e0f7fa","--bs-muted":"#5e7f88","--bs-border":"#1e3a3f","--bs-accent":"#00fff0","--bs-accent2":"#00c8ff","--bs-fab1":"#00fff0","--bs-fab2":"#ff00c8","--bs-radius":"4px","--bs-radius-sm":"2px","--bs-red":"#ff3860","--bs-green":"#00ff88","--bs-orange":"#ffaa00","--bs-yellow":"#ffe600"}},{id:"sunset",name:"Sunset",preview:["#1f1318","#f97316"],vars:{"--bs-bg":"#1f1318","--bs-bg2":"#291a20","--bs-bg3":"#33212a","--bs-text":"#f5e6ea","--bs-muted":"#a07880","--bs-border":"#4a2a34","--bs-accent":"#f97316","--bs-accent2":"#fb923c","--bs-fab1":"#f97316","--bs-fab2":"#ef4444","--bs-radius":"14px","--bs-radius-sm":"8px","--bs-red":"#ef4444","--bs-green":"#4ade80","--bs-orange":"#fb923c","--bs-yellow":"#fbbf24"}},{id:"ocean",name:"Ocean",preview:["#0d1b2a","#2dd4bf"],vars:{"--bs-bg":"#0d1b2a","--bs-bg2":"#132638","--bs-bg3":"#1a3146","--bs-text":"#d6f0ee","--bs-muted":"#5c8a8e","--bs-border":"#1f4050","--bs-accent":"#2dd4bf","--bs-accent2":"#5eead4","--bs-fab1":"#2dd4bf","--bs-fab2":"#22d3ee","--bs-radius":"16px","--bs-radius-sm":"10px","--bs-red":"#fca5a5","--bs-green":"#6ee7b7","--bs-orange":"#fdba74","--bs-yellow":"#fde68a"}},{id:"rose",name:"Rose Gold",preview:["#1f1520","#f472b6"],vars:{"--bs-bg":"#1f1520","--bs-bg2":"#2a1c2a","--bs-bg3":"#352434","--bs-text":"#f5e0ec","--bs-muted":"#a07090","--bs-border":"#4a2a44","--bs-accent":"#f472b6","--bs-accent2":"#f9a8d4","--bs-fab1":"#f472b6","--bs-fab2":"#e879f9","--bs-radius":"20px","--bs-radius-sm":"12px","--bs-red":"#fb7185","--bs-green":"#86efac","--bs-orange":"#fdba74","--bs-yellow":"#fde68a"}},{id:"arctic",name:"Arctic Light",preview:["#f0f4f8","#3b82f6"],vars:{"--bs-bg":"#f0f4f8","--bs-bg2":"#e2e8f0","--bs-bg3":"#ffffff","--bs-text":"#1e293b","--bs-muted":"#64748b","--bs-border":"#cbd5e1","--bs-accent":"#3b82f6","--bs-accent2":"#60a5fa","--bs-fab1":"#3b82f6","--bs-fab2":"#6366f1","--bs-radius":"16px","--bs-radius-sm":"10px","--bs-red":"#ef4444","--bs-green":"#22c55e","--bs-orange":"#f97316","--bs-yellow":"#eab308"}},{id:"glass",name:"Glassmorphism",preview:["rgba(30,30,50,0.6)","#a5b4fc"],vars:{"--bs-bg":"rgba(22,22,40,0.75)","--bs-bg2":"rgba(35,35,60,0.6)","--bs-bg3":"rgba(45,45,75,0.5)","--bs-text":"#e8eaff","--bs-muted":"#8888bb","--bs-border":"rgba(255,255,255,0.1)","--bs-accent":"#a5b4fc","--bs-accent2":"#c7d2fe","--bs-fab1":"#818cf8","--bs-fab2":"#a78bfa","--bs-radius":"20px","--bs-radius-sm":"12px","--bs-red":"#fca5a5","--bs-green":"#86efac","--bs-orange":"#fdba74","--bs-yellow":"#fde68a"}},{id:"neon",name:"Neon",preview:["#080c08","#39ff14"],vars:{"--bs-bg":"#080c08","--bs-bg2":"#0f150f","--bs-bg3":"#161e16","--bs-text":"#d0f0c0","--bs-muted":"#5a7a50","--bs-border":"#1e3018","--bs-accent":"#39ff14","--bs-accent2":"#7dff5e","--bs-fab1":"#39ff14","--bs-fab2":"#00ff88","--bs-radius":"8px","--bs-radius-sm":"4px","--bs-red":"#ff4444","--bs-green":"#39ff14","--bs-orange":"#ffaa00","--bs-yellow":"#e6ff00"}},{id:"forest",name:"Forest",preview:["#111c15","#34d399"],vars:{"--bs-bg":"#111c15","--bs-bg2":"#18261d","--bs-bg3":"#203026","--bs-text":"#d1f0dd","--bs-muted":"#6a9a7a","--bs-border":"#2a4a33","--bs-accent":"#34d399","--bs-accent2":"#6ee7b7","--bs-fab1":"#34d399","--bs-fab2":"#2dd4bf","--bs-radius":"14px","--bs-radius-sm":"8px","--bs-red":"#fca5a5","--bs-green":"#4ade80","--bs-orange":"#fdba74","--bs-yellow":"#fde68a"}},{id:"minimal-dark",name:"Minimal Dark",preview:["#18181b","#a1a1aa"],vars:{"--bs-bg":"#18181b","--bs-bg2":"#212124","--bs-bg3":"#2a2a2e","--bs-text":"#e4e4e7","--bs-muted":"#71717a","--bs-border":"#333338","--bs-accent":"#a1a1aa","--bs-accent2":"#d4d4d8","--bs-fab1":"#52525b","--bs-fab2":"#71717a","--bs-radius":"12px","--bs-radius-sm":"8px","--bs-red":"#f87171","--bs-green":"#4ade80","--bs-orange":"#fb923c","--bs-yellow":"#fbbf24"}},{id:"minimal-light",name:"Minimal Light",preview:["#fafafa","#52525b"],vars:{"--bs-bg":"#fafafa","--bs-bg2":"#f0f0f0","--bs-bg3":"#ffffff","--bs-text":"#18181b","--bs-muted":"#71717a","--bs-border":"#e4e4e7","--bs-accent":"#18181b","--bs-accent2":"#3f3f46","--bs-fab1":"#18181b","--bs-fab2":"#3f3f46","--bs-radius":"12px","--bs-radius-sm":"8px","--bs-red":"#dc2626","--bs-green":"#16a34a","--bs-orange":"#ea580c","--bs-yellow":"#ca8a04"}},{id:"dracula",name:"Dracula",preview:["#282a36","#bd93f9"],vars:{"--bs-bg":"#282a36","--bs-bg2":"#2e303e","--bs-bg3":"#363848","--bs-text":"#f8f8f2","--bs-muted":"#6272a4","--bs-border":"#44475a","--bs-accent":"#bd93f9","--bs-accent2":"#caa9fa","--bs-fab1":"#bd93f9","--bs-fab2":"#ff79c6","--bs-radius":"12px","--bs-radius-sm":"8px","--bs-red":"#ff5555","--bs-green":"#50fa7b","--bs-orange":"#ffb86c","--bs-yellow":"#f1fa8c"}},{id:"nord",name:"Nord",preview:["#2e3440","#88c0d0"],vars:{"--bs-bg":"#2e3440","--bs-bg2":"#3b4252","--bs-bg3":"#434c5e","--bs-text":"#eceff4","--bs-muted":"#7b88a1","--bs-border":"#4c566a","--bs-accent":"#88c0d0","--bs-accent2":"#8fbcbb","--bs-fab1":"#88c0d0","--bs-fab2":"#81a1c1","--bs-radius":"10px","--bs-radius-sm":"6px","--bs-red":"#bf616a","--bs-green":"#a3be8c","--bs-orange":"#d08770","--bs-yellow":"#ebcb8b"}},{id:"monokai",name:"Monokai",preview:["#272822","#a6e22e"],vars:{"--bs-bg":"#272822","--bs-bg2":"#2f302a","--bs-bg3":"#383930","--bs-text":"#f8f8f2","--bs-muted":"#75715e","--bs-border":"#49483e","--bs-accent":"#a6e22e","--bs-accent2":"#c4f060","--bs-fab1":"#a6e22e","--bs-fab2":"#66d9ef","--bs-radius":"8px","--bs-radius-sm":"4px","--bs-red":"#f92672","--bs-green":"#a6e22e","--bs-orange":"#fd971f","--bs-yellow":"#e6db74"}},{id:"solarized",name:"Solarized Dark",preview:["#002b36","#268bd2"],vars:{"--bs-bg":"#002b36","--bs-bg2":"#073642","--bs-bg3":"#0e4050","--bs-text":"#eee8d5","--bs-muted":"#839496","--bs-border":"#1a4f5c","--bs-accent":"#268bd2","--bs-accent2":"#2aa198","--bs-fab1":"#268bd2","--bs-fab2":"#2aa198","--bs-radius":"10px","--bs-radius-sm":"6px","--bs-red":"#dc322f","--bs-green":"#859900","--bs-orange":"#cb4b16","--bs-yellow":"#b58900"}},{id:"candy",name:"Candy",preview:["#fef1f8","#ec4899"],vars:{"--bs-bg":"#fef1f8","--bs-bg2":"#fce7f3","--bs-bg3":"#ffffff","--bs-text":"#4a1942","--bs-muted":"#9f5090","--bs-border":"#f0c6e0","--bs-accent":"#ec4899","--bs-accent2":"#f472b6","--bs-fab1":"#ec4899","--bs-fab2":"#a855f7","--bs-radius":"20px","--bs-radius-sm":"14px","--bs-red":"#e11d48","--bs-green":"#059669","--bs-orange":"#ea580c","--bs-yellow":"#ca8a04"}},{id:"slate",name:"Slate",preview:["#1e2432","#94a3b8"],vars:{"--bs-bg":"#1e2432","--bs-bg2":"#263040","--bs-bg3":"#2e384a","--bs-text":"#e2e8f0","--bs-muted":"#64748b","--bs-border":"#374462","--bs-accent":"#94a3b8","--bs-accent2":"#cbd5e1","--bs-fab1":"#475569","--bs-fab2":"#64748b","--bs-radius":"14px","--bs-radius-sm":"8px","--bs-red":"#f87171","--bs-green":"#4ade80","--bs-orange":"#fb923c","--bs-yellow":"#fbbf24"}},{id:"ember",name:"Ember",preview:["#1a0f0f","#ef4444"],vars:{"--bs-bg":"#1a0f0f","--bs-bg2":"#241515","--bs-bg3":"#2e1c1c","--bs-text":"#fde8e8","--bs-muted":"#a06060","--bs-border":"#4a2222","--bs-accent":"#ef4444","--bs-accent2":"#f87171","--bs-fab1":"#ef4444","--bs-fab2":"#f97316","--bs-radius":"12px","--bs-radius-sm":"8px","--bs-red":"#fca5a5","--bs-green":"#86efac","--bs-orange":"#fdba74","--bs-yellow":"#fde68a"}},{id:"lavender",name:"Lavender",preview:["#f5f0ff","#7c3aed"],vars:{"--bs-bg":"#f5f0ff","--bs-bg2":"#ede5ff","--bs-bg3":"#ffffff","--bs-text":"#2e1065","--bs-muted":"#7c6a9a","--bs-border":"#d8c8f0","--bs-accent":"#7c3aed","--bs-accent2":"#8b5cf6","--bs-fab1":"#7c3aed","--bs-fab2":"#a855f7","--bs-radius":"18px","--bs-radius-sm":"12px","--bs-red":"#dc2626","--bs-green":"#16a34a","--bs-orange":"#ea580c","--bs-yellow":"#ca8a04"}}];function ct(){return qt}function dt(e){return qt.find(t=>t.id===e)}function Ps(){return qt[0]}var Ut=[{id:"classic",name:"Classic Center",description:"Centered modal, top tabs",tabPosition:"top"},{id:"drawer-right",name:"Right Drawer",description:"Slides in from the right",tabPosition:"top"},{id:"drawer-left",name:"Left Drawer",description:"Slides in from the left",tabPosition:"top"},{id:"bottom-sheet",name:"Bottom Sheet",description:"Slides up from the bottom",tabPosition:"top"},{id:"top-bar",name:"Top Drop",description:"Drops down from the top",tabPosition:"top"},{id:"compact",name:"Compact",description:"Small centered popup",tabPosition:"top"},{id:"wide",name:"Wide",description:"Wide horizontal modal",tabPosition:"top"},{id:"fullscreen",name:"Fullscreen",description:"Full screen overlay",tabPosition:"top"},{id:"corner-br",name:"Corner Card",description:"Bottom-right corner card",tabPosition:"top"},{id:"corner-bl",name:"Corner Left",description:"Bottom-left corner card",tabPosition:"top"},{id:"pill-tabs",name:"Pill Tabs",description:"Centered with pill-style tabs",tabPosition:"top"},{id:"sidebar-tabs",name:"Sidebar Tabs",description:"Vertical tabs on the left",tabPosition:"left"},{id:"segmented",name:"Segmented",description:"Tabs as segmented control",tabPosition:"top"},{id:"minimal",name:"Minimal",description:"Ultra clean, spacious",tabPosition:"top"},{id:"dense",name:"Dense",description:"Compact, tight spacing",tabPosition:"top"},{id:"rounded",name:"Bubble",description:"Extra rounded, playful",tabPosition:"top"},{id:"sharp",name:"Sharp",description:"Square corners, industrial",tabPosition:"top"},{id:"split",name:"Split View",description:"Two-column layout",tabPosition:"left"},{id:"floating",name:"Floating",description:"Heavy shadow, borderless",tabPosition:"top"},{id:"bottom-tabs",name:"Bottom Tabs",description:"Tabs at the bottom",tabPosition:"bottom"}];function bt(){return Ut}function De(e){return Ut.find(t=>t.id===e)}function zs(){return Ut[0]}var As=`
10
+ `,l=new Blob([p],{type:"image/svg+xml;charset=utf-8"}),x=URL.createObjectURL(l);return new Promise(g=>{let h=new Image;h.onload=()=>{let y=document.createElement("canvas");y.width=e*.5,y.height=t*.5;let M=y.getContext("2d");if(!M){URL.revokeObjectURL(x),g(null);return}M.scale(.5,.5),M.drawImage(h,0,0),URL.revokeObjectURL(x),g(y.toDataURL("image/jpeg",.6))},h.onerror=()=>{URL.revokeObjectURL(x),g(null)},h.src=x})}async function Ln(){if(!navigator.mediaDevices?.getDisplayMedia)return null;let e=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:"browser"}}),t=e.getVideoTracks()[0],s=document.createElement("video");return new Promise(n=>{s.onloadedmetadata=()=>{s.play();let r=document.createElement("canvas");r.width=s.videoWidth*.5,r.height=s.videoHeight*.5;let i=r.getContext("2d");if(!i){t.stop(),n(null);return}i.scale(.5,.5),i.drawImage(s,0,0),t.stop(),n(r.toDataURL("image/jpeg",.6))},s.onerror=()=>{t.stop(),n(null)},s.srcObject=e})}var Sn="https://bugstash-backend.vercel.app",ys="https://bugstash-backend.vercel.app",U=Sn,It=!1;function ws(e){U=e.replace(/\/$/,""),It=!1}function ks(){return U}async function X(e,t){try{return await fetch(e,t)}catch(s){if(It)throw s;It=!0;let n=U;U=ys;let r=e.replace(n,ys);return fetch(r,t)}}var Ht="bugstash_auth";function Rt(){try{let e=localStorage.getItem(Ht);if(!e)return null;let t=JSON.parse(e);return t.tokens.expiresAt<Date.now(),t}catch{return null}}function Es(e){localStorage.setItem(Ht,JSON.stringify(e))}function Cn(){localStorage.removeItem(Ht)}function J(){return Rt()?.user||null}function Ls(){return Rt()?.tokens.accessToken||null}async function ie(){let e=Rt();if(!e)return{"Content-Type":"application/json"};if(e.tokens.expiresAt<Date.now()+6e4)try{let t=await X(`${U}/api/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:e.tokens.refreshToken})});if(t.ok){let s=await t.json();s.success&&(e.tokens=s.data,Es(e))}}catch{}return{"Content-Type":"application/json",Authorization:`Bearer ${e.tokens.accessToken}`}}async function at(e,t,s){try{let r=await(await X(`${U}/api/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,password:t,projectId:s})})).json();return r.success&&Es({user:r.data.user,tokens:r.data.tokens}),r}catch{return{success:!1,error:"Network error"}}}async function it(){Cn()}async function Bt(e){try{let t=await ie();return await(await X(`${U}/api/reports`,{method:"POST",headers:t,body:JSON.stringify(e)})).json()}catch{return{success:!1,error:"Network error - could not reach BugStash"}}}async function Ss(e,t){try{let s=await ie();return await(await X(`${U}/api/pins/by-page?projectId=${e}&pathname=${encodeURIComponent(t)}`,{headers:s})).json()}catch{return{success:!1,error:"Network error"}}}async function Nt(e){try{let t=await ie();return await(await X(`${U}/api/pins`,{method:"POST",headers:t,body:JSON.stringify(e)})).json()}catch{return{success:!1,error:"Network error"}}}async function lt(e,t){try{let s=await ie();return await(await X(`${U}/api/pins/${e}`,{method:"PUT",headers:s,body:JSON.stringify(t)})).json()}catch{return{success:!1,error:"Network error"}}}async function Cs(e){try{let t=await ie();return await(await X(`${U}/api/pins/${e}`,{method:"DELETE",headers:t})).json()}catch{return{success:!1,error:"Network error"}}}async function Ts(e){try{let t=await ie();return await(await X(`${U}/api/pins/${e}/comments`,{headers:t})).json()}catch{return{success:!1,error:"Network error"}}}async function Dt(e,t,s=[]){try{let n=await ie();return await(await X(`${U}/api/pins/${e}/comments`,{method:"POST",headers:n,body:JSON.stringify({body:t,mentions:s})})).json()}catch{return{success:!1,error:"Network error"}}}async function $s(e){try{let t=await ie();return await(await X(`${U}/api/members/for-project/${e}`,{headers:t})).json()}catch{return{success:!1,error:"Network error"}}}var jt="bugstash_offline_queue";function Ot(e){let t=Ms();t.push({...e,id:Math.random().toString(36).slice(2),timestamp:Date.now()}),localStorage.setItem(jt,JSON.stringify(t))}function Ms(){try{return JSON.parse(localStorage.getItem(jt)||"[]")}catch{return[]}}async function Tn(){let e=Ms();if(e.length===0)return 0;let t=0,s=[];for(let n of e)try{let r;switch(n.type){case"create_pin":r=await Nt(n.data);break;case"create_comment":r=await Dt(n.data.pinId,n.data.body,n.data.mentions);break;case"update_pin":r=await lt(n.data.pinId,n.data.updates);break;case"submit_report":r=await Bt(n.data);break;default:r={success:!1,error:"Unknown action"}}r.success?t++:s.push(n)}catch{s.push(n)}return localStorage.setItem(jt,JSON.stringify(s)),t}typeof window<"u"&&window.addEventListener("online",()=>{Tn().catch(()=>{})});var qt=[{id:"midnight",name:"Midnight",preview:["#1a1d2e","#6E9ED0"],vars:{"--bs-bg":"#1a1d2e","--bs-bg2":"#222639","--bs-bg3":"#2a2e42","--bs-text":"#e2e5ed","--bs-muted":"#7c82a0","--bs-border":"#333754","--bs-accent":"#6E9ED0","--bs-accent2":"#8FAFD6","--bs-fab1":"#6E9ED0","--bs-fab2":"#8FAFD6","--bs-radius":"16px","--bs-radius-sm":"10px","--bs-red":"#f87171","--bs-green":"#4ade80","--bs-orange":"#fb923c","--bs-yellow":"#fbbf24"}},{id:"purple",name:"Deep Purple",preview:["#1c1628","#a78bfa"],vars:{"--bs-bg":"#1c1628","--bs-bg2":"#241e34","--bs-bg3":"#2e2640","--bs-text":"#e8e0f5","--bs-muted":"#8b7faa","--bs-border":"#3b3255","--bs-accent":"#a78bfa","--bs-accent2":"#c4b5fd","--bs-fab1":"#a78bfa","--bs-fab2":"#c084fc","--bs-radius":"16px","--bs-radius-sm":"10px","--bs-red":"#fb7185","--bs-green":"#6ee7b7","--bs-orange":"#fdba74","--bs-yellow":"#fde68a"}},{id:"cyberpunk",name:"Cyberpunk",preview:["#0a0a12","#00fff0"],vars:{"--bs-bg":"#0a0a12","--bs-bg2":"#12121f","--bs-bg3":"#1a1a2c","--bs-text":"#e0f7fa","--bs-muted":"#5e7f88","--bs-border":"#1e3a3f","--bs-accent":"#00fff0","--bs-accent2":"#00c8ff","--bs-fab1":"#00fff0","--bs-fab2":"#ff00c8","--bs-radius":"4px","--bs-radius-sm":"2px","--bs-red":"#ff3860","--bs-green":"#00ff88","--bs-orange":"#ffaa00","--bs-yellow":"#ffe600"}},{id:"sunset",name:"Sunset",preview:["#1f1318","#f97316"],vars:{"--bs-bg":"#1f1318","--bs-bg2":"#291a20","--bs-bg3":"#33212a","--bs-text":"#f5e6ea","--bs-muted":"#a07880","--bs-border":"#4a2a34","--bs-accent":"#f97316","--bs-accent2":"#fb923c","--bs-fab1":"#f97316","--bs-fab2":"#ef4444","--bs-radius":"14px","--bs-radius-sm":"8px","--bs-red":"#ef4444","--bs-green":"#4ade80","--bs-orange":"#fb923c","--bs-yellow":"#fbbf24"}},{id:"ocean",name:"Ocean",preview:["#0d1b2a","#2dd4bf"],vars:{"--bs-bg":"#0d1b2a","--bs-bg2":"#132638","--bs-bg3":"#1a3146","--bs-text":"#d6f0ee","--bs-muted":"#5c8a8e","--bs-border":"#1f4050","--bs-accent":"#2dd4bf","--bs-accent2":"#5eead4","--bs-fab1":"#2dd4bf","--bs-fab2":"#22d3ee","--bs-radius":"16px","--bs-radius-sm":"10px","--bs-red":"#fca5a5","--bs-green":"#6ee7b7","--bs-orange":"#fdba74","--bs-yellow":"#fde68a"}},{id:"rose",name:"Rose Gold",preview:["#1f1520","#f472b6"],vars:{"--bs-bg":"#1f1520","--bs-bg2":"#2a1c2a","--bs-bg3":"#352434","--bs-text":"#f5e0ec","--bs-muted":"#a07090","--bs-border":"#4a2a44","--bs-accent":"#f472b6","--bs-accent2":"#f9a8d4","--bs-fab1":"#f472b6","--bs-fab2":"#e879f9","--bs-radius":"20px","--bs-radius-sm":"12px","--bs-red":"#fb7185","--bs-green":"#86efac","--bs-orange":"#fdba74","--bs-yellow":"#fde68a"}},{id:"arctic",name:"Arctic Light",preview:["#f0f4f8","#3b82f6"],vars:{"--bs-bg":"#f0f4f8","--bs-bg2":"#e2e8f0","--bs-bg3":"#ffffff","--bs-text":"#1e293b","--bs-muted":"#64748b","--bs-border":"#cbd5e1","--bs-accent":"#3b82f6","--bs-accent2":"#60a5fa","--bs-fab1":"#3b82f6","--bs-fab2":"#6366f1","--bs-radius":"16px","--bs-radius-sm":"10px","--bs-red":"#ef4444","--bs-green":"#22c55e","--bs-orange":"#f97316","--bs-yellow":"#eab308"}},{id:"glass",name:"Glassmorphism",preview:["rgba(30,30,50,0.6)","#a5b4fc"],vars:{"--bs-bg":"rgba(22,22,40,0.75)","--bs-bg2":"rgba(35,35,60,0.6)","--bs-bg3":"rgba(45,45,75,0.5)","--bs-text":"#e8eaff","--bs-muted":"#8888bb","--bs-border":"rgba(255,255,255,0.1)","--bs-accent":"#a5b4fc","--bs-accent2":"#c7d2fe","--bs-fab1":"#818cf8","--bs-fab2":"#a78bfa","--bs-radius":"20px","--bs-radius-sm":"12px","--bs-red":"#fca5a5","--bs-green":"#86efac","--bs-orange":"#fdba74","--bs-yellow":"#fde68a"}},{id:"neon",name:"Neon",preview:["#080c08","#39ff14"],vars:{"--bs-bg":"#080c08","--bs-bg2":"#0f150f","--bs-bg3":"#161e16","--bs-text":"#d0f0c0","--bs-muted":"#5a7a50","--bs-border":"#1e3018","--bs-accent":"#39ff14","--bs-accent2":"#7dff5e","--bs-fab1":"#39ff14","--bs-fab2":"#00ff88","--bs-radius":"8px","--bs-radius-sm":"4px","--bs-red":"#ff4444","--bs-green":"#39ff14","--bs-orange":"#ffaa00","--bs-yellow":"#e6ff00"}},{id:"forest",name:"Forest",preview:["#111c15","#34d399"],vars:{"--bs-bg":"#111c15","--bs-bg2":"#18261d","--bs-bg3":"#203026","--bs-text":"#d1f0dd","--bs-muted":"#6a9a7a","--bs-border":"#2a4a33","--bs-accent":"#34d399","--bs-accent2":"#6ee7b7","--bs-fab1":"#34d399","--bs-fab2":"#2dd4bf","--bs-radius":"14px","--bs-radius-sm":"8px","--bs-red":"#fca5a5","--bs-green":"#4ade80","--bs-orange":"#fdba74","--bs-yellow":"#fde68a"}},{id:"minimal-dark",name:"Minimal Dark",preview:["#18181b","#a1a1aa"],vars:{"--bs-bg":"#18181b","--bs-bg2":"#212124","--bs-bg3":"#2a2a2e","--bs-text":"#e4e4e7","--bs-muted":"#71717a","--bs-border":"#333338","--bs-accent":"#a1a1aa","--bs-accent2":"#d4d4d8","--bs-fab1":"#52525b","--bs-fab2":"#71717a","--bs-radius":"12px","--bs-radius-sm":"8px","--bs-red":"#f87171","--bs-green":"#4ade80","--bs-orange":"#fb923c","--bs-yellow":"#fbbf24"}},{id:"minimal-light",name:"Minimal Light",preview:["#fafafa","#52525b"],vars:{"--bs-bg":"#fafafa","--bs-bg2":"#f0f0f0","--bs-bg3":"#ffffff","--bs-text":"#18181b","--bs-muted":"#71717a","--bs-border":"#e4e4e7","--bs-accent":"#18181b","--bs-accent2":"#3f3f46","--bs-fab1":"#18181b","--bs-fab2":"#3f3f46","--bs-radius":"12px","--bs-radius-sm":"8px","--bs-red":"#dc2626","--bs-green":"#16a34a","--bs-orange":"#ea580c","--bs-yellow":"#ca8a04"}},{id:"dracula",name:"Dracula",preview:["#282a36","#bd93f9"],vars:{"--bs-bg":"#282a36","--bs-bg2":"#2e303e","--bs-bg3":"#363848","--bs-text":"#f8f8f2","--bs-muted":"#6272a4","--bs-border":"#44475a","--bs-accent":"#bd93f9","--bs-accent2":"#caa9fa","--bs-fab1":"#bd93f9","--bs-fab2":"#ff79c6","--bs-radius":"12px","--bs-radius-sm":"8px","--bs-red":"#ff5555","--bs-green":"#50fa7b","--bs-orange":"#ffb86c","--bs-yellow":"#f1fa8c"}},{id:"nord",name:"Nord",preview:["#2e3440","#88c0d0"],vars:{"--bs-bg":"#2e3440","--bs-bg2":"#3b4252","--bs-bg3":"#434c5e","--bs-text":"#eceff4","--bs-muted":"#7b88a1","--bs-border":"#4c566a","--bs-accent":"#88c0d0","--bs-accent2":"#8fbcbb","--bs-fab1":"#88c0d0","--bs-fab2":"#81a1c1","--bs-radius":"10px","--bs-radius-sm":"6px","--bs-red":"#bf616a","--bs-green":"#a3be8c","--bs-orange":"#d08770","--bs-yellow":"#ebcb8b"}},{id:"monokai",name:"Monokai",preview:["#272822","#a6e22e"],vars:{"--bs-bg":"#272822","--bs-bg2":"#2f302a","--bs-bg3":"#383930","--bs-text":"#f8f8f2","--bs-muted":"#75715e","--bs-border":"#49483e","--bs-accent":"#a6e22e","--bs-accent2":"#c4f060","--bs-fab1":"#a6e22e","--bs-fab2":"#66d9ef","--bs-radius":"8px","--bs-radius-sm":"4px","--bs-red":"#f92672","--bs-green":"#a6e22e","--bs-orange":"#fd971f","--bs-yellow":"#e6db74"}},{id:"solarized",name:"Solarized Dark",preview:["#002b36","#268bd2"],vars:{"--bs-bg":"#002b36","--bs-bg2":"#073642","--bs-bg3":"#0e4050","--bs-text":"#eee8d5","--bs-muted":"#839496","--bs-border":"#1a4f5c","--bs-accent":"#268bd2","--bs-accent2":"#2aa198","--bs-fab1":"#268bd2","--bs-fab2":"#2aa198","--bs-radius":"10px","--bs-radius-sm":"6px","--bs-red":"#dc322f","--bs-green":"#859900","--bs-orange":"#cb4b16","--bs-yellow":"#b58900"}},{id:"candy",name:"Candy",preview:["#fef1f8","#ec4899"],vars:{"--bs-bg":"#fef1f8","--bs-bg2":"#fce7f3","--bs-bg3":"#ffffff","--bs-text":"#4a1942","--bs-muted":"#9f5090","--bs-border":"#f0c6e0","--bs-accent":"#ec4899","--bs-accent2":"#f472b6","--bs-fab1":"#ec4899","--bs-fab2":"#a855f7","--bs-radius":"20px","--bs-radius-sm":"14px","--bs-red":"#e11d48","--bs-green":"#059669","--bs-orange":"#ea580c","--bs-yellow":"#ca8a04"}},{id:"slate",name:"Slate",preview:["#1e2432","#94a3b8"],vars:{"--bs-bg":"#1e2432","--bs-bg2":"#263040","--bs-bg3":"#2e384a","--bs-text":"#e2e8f0","--bs-muted":"#64748b","--bs-border":"#374462","--bs-accent":"#94a3b8","--bs-accent2":"#cbd5e1","--bs-fab1":"#475569","--bs-fab2":"#64748b","--bs-radius":"14px","--bs-radius-sm":"8px","--bs-red":"#f87171","--bs-green":"#4ade80","--bs-orange":"#fb923c","--bs-yellow":"#fbbf24"}},{id:"ember",name:"Ember",preview:["#1a0f0f","#ef4444"],vars:{"--bs-bg":"#1a0f0f","--bs-bg2":"#241515","--bs-bg3":"#2e1c1c","--bs-text":"#fde8e8","--bs-muted":"#a06060","--bs-border":"#4a2222","--bs-accent":"#ef4444","--bs-accent2":"#f87171","--bs-fab1":"#ef4444","--bs-fab2":"#f97316","--bs-radius":"12px","--bs-radius-sm":"8px","--bs-red":"#fca5a5","--bs-green":"#86efac","--bs-orange":"#fdba74","--bs-yellow":"#fde68a"}},{id:"lavender",name:"Lavender",preview:["#f5f0ff","#7c3aed"],vars:{"--bs-bg":"#f5f0ff","--bs-bg2":"#ede5ff","--bs-bg3":"#ffffff","--bs-text":"#2e1065","--bs-muted":"#7c6a9a","--bs-border":"#d8c8f0","--bs-accent":"#7c3aed","--bs-accent2":"#8b5cf6","--bs-fab1":"#7c3aed","--bs-fab2":"#a855f7","--bs-radius":"18px","--bs-radius-sm":"12px","--bs-red":"#dc2626","--bs-green":"#16a34a","--bs-orange":"#ea580c","--bs-yellow":"#ca8a04"}}];function ct(){return qt}function dt(e){return qt.find(t=>t.id===e)}function Ps(){return qt[0]}var Ut=[{id:"classic",name:"Classic Center",description:"Centered modal, top tabs",tabPosition:"top"},{id:"drawer-right",name:"Right Drawer",description:"Slides in from the right",tabPosition:"top"},{id:"drawer-left",name:"Left Drawer",description:"Slides in from the left",tabPosition:"top"},{id:"bottom-sheet",name:"Bottom Sheet",description:"Slides up from the bottom",tabPosition:"top"},{id:"top-bar",name:"Top Drop",description:"Drops down from the top",tabPosition:"top"},{id:"compact",name:"Compact",description:"Small centered popup",tabPosition:"top"},{id:"wide",name:"Wide",description:"Wide horizontal modal",tabPosition:"top"},{id:"fullscreen",name:"Fullscreen",description:"Full screen overlay",tabPosition:"top"},{id:"corner-br",name:"Corner Card",description:"Bottom-right corner card",tabPosition:"top"},{id:"corner-bl",name:"Corner Left",description:"Bottom-left corner card",tabPosition:"top"},{id:"pill-tabs",name:"Pill Tabs",description:"Centered with pill-style tabs",tabPosition:"top"},{id:"sidebar-tabs",name:"Sidebar Tabs",description:"Vertical tabs on the left",tabPosition:"left"},{id:"segmented",name:"Segmented",description:"Tabs as segmented control",tabPosition:"top"},{id:"minimal",name:"Minimal",description:"Ultra clean, spacious",tabPosition:"top"},{id:"dense",name:"Dense",description:"Compact, tight spacing",tabPosition:"top"},{id:"rounded",name:"Bubble",description:"Extra rounded, playful",tabPosition:"top"},{id:"sharp",name:"Sharp",description:"Square corners, industrial",tabPosition:"top"},{id:"split",name:"Split View",description:"Two-column layout",tabPosition:"left"},{id:"floating",name:"Floating",description:"Heavy shadow, borderless",tabPosition:"top"},{id:"bottom-tabs",name:"Bottom Tabs",description:"Tabs at the bottom",tabPosition:"bottom"}];function bt(){return Ut}function De(e){return Ut.find(t=>t.id===e)}function zs(){return Ut[0]}var As=`
11
11
  /* \u2500\u2500 1. Classic (default \u2014 no overrides) \u2500\u2500 */
12
12
 
13
13
  /* \u2500\u2500 2. Drawer Right \u2500\u2500 */