PageSourceSearch

https://propec.cfd/assets/reading-list-CzfxqSP8.js

js propec.cfd collected 2026-10-01 00:39:45 UTC 27,330 bytes, 3 lines download raw bytes

1import{j as t,A as J,m as w}from"./kinematics-Di5PXsRQ.js";import{a as m,A as re,ar as Y,y as F,bj as q,b6 as Q,a3 as ne,f as se,bk as ie,bh as X,j as ae,X as _,aw as le,G as ce}from"./glyphs-myXpDwvS.js";import{r as de}from"./chemistry-lab-TYyt26Gh.js";import{t as ue}from"./acoustics-DPHqfUB8.js";import{F as pe,h as E,U as fe,q as xe}from"./algebra-CcXhFBFE.js";function S(o){return/^\s*javascript:/i.test(String(o||""))}function Z(o){const n=String(o||"").trim();return n?/^\s*javascript:/i.test(n)?n:/^\s*\(/.test(n)||/^\s*void\s*\(/i.test(n)||/^\s*function\b/i.test(n)?`javascript:${n}`:n:""}function ge(o){let n=String(o||"").trim();if(!n)return"";n=n.replace(/^\s*javascript:\s*/i,"");try{/%[0-9A-Fa-f]{2}/.test(n)&&(n=decodeURIComponent(n))}catch{}return n.trim()}function Be(o,n){const d=ge(n);if(!d)return{ok:!1,reason:"Empty bookmarklet"};if(!o)return{ok:!1,reason:"Open a website tab first"};try{const a=o.contentWindow,i=o.contentDocument;if(!a||!(i!=null&&i.documentElement))return{ok:!1,reason:"Page is not ready yet"};const s=i.createElement("script");s.setAttribute("data-pz-bookmarklet","1"),s.textContent=`(function(){try{
2${d}
3}catch(err){console.error("[rosin bookmarklet]",err);}})();`,(i.head||i.documentElement).appendChild(s);try{s.remove()}catch{}return{ok:!0}}catch{return{ok:!1,reason:"Could not run on this page"}}}function h(){try{const o=localStorage.getItem("rosin-bookmarks");if(o){const n=JSON.parse(o),d=Array.isArray(n.items)?n.items:[],a=d.filter(i=>{const s=String((i==null?void 0:i.url)||"").toLowerCase(),l=String((i==null?void 0:i.title)||"").toLowerCase();return!(s.includes("rosin://vm")||s.includes("rosin://firefox")||s.includes("/firefox-wasm")||(l==="firefox"||l==="firefox vm"||l==="vm")&&(s.includes("firefox")||s.includes("vm")))});if(a.length!==d.length){const i={...n,items:a};try{localStorage.setItem("rosin-bookmarks",JSON.stringify(i))}catch{}return i}return n}}catch{}return{items:[],groups:[]}}function me(){try{const o="__pz_bm_probe__";localStorage.setItem(o,"1");const n=localStorage.getItem(o)==="1";return localStorage.removeItem(o),n}catch{return!1}}function C(o){try{localStorage.setItem("rosin-bookmarks",JSON.stringify(o)),pe()}catch{}}const he=[{id:"bm-instagram",title:"Instagram",url:"https://instagram.com",favicon:"/icons/bookmarks/instagram.svg",groupId:null,createdAt:1},{id:"bm-spotify",title:"Spotify",url:"https://spotify.com",favicon:"/icons/bookmarks/spotify.svg",groupId:null,createdAt:2},{id:"bm-tiktok",title:"TikTok",url:"https://tiktok.com",favicon:"/icons/bookmarks/tiktok.svg",groupId:null,createdAt:3}];function be(){if(!me())return h();const o=h(),n={"bm-instagram":"/icons/bookmarks/instagram.svg","bm-spotify":"/icons/bookmarks/spotify.svg","bm-tiktok":"/icons/bookmarks/tiktok.svg"};let d=!1;if(o.items.length===0&&o.groups.length===0){const a={items:he,groups:[]};return C(a),a}return o.items=o.items.map(a=>{const i=n[a.id];return i&&a.favicon!==i?(d=!0,{...a,favicon:i}):a}),d&&C(o),o}function ye(o,n){const d=h(),a=S(o)?Z(o):o;d.items.some(i=>i.url===a)||(d.items.push({id:String(Date.now()),title:n||(S(a)?"Bookmarklet":o),url:a,favicon:S(a)?"":`https://www.google.com/s2/favicons?domain=${encodeURIComponent(a)}&sz=32`,groupId:null,createdAt:Date.now()}),C(d))}const z=[{id:"pin-youtube",title:"YouTube",url:"https://youtube.com/@rosin.unblocked",favicon:""},{id:"pin-geforce",title:"GeForce",url:"https://play.geforcenow.com/",favicon:""},{id:"pin-tiktok",title:"TikTok",url:"https://tiktok.com",favicon:"/icons/bookmarks/tiktok.svg"},{id:"pin-roblox",title:"Roblox",url:"https://nowgg.fun/",favicon:"/storage/images/main2/roblox-bookmark.png"},{id:"pin-games",title:"Play",url:E.g(),favicon:""},{id:"pin-movies",title:"Movies",url:E.mo(),favicon:""},{id:"pin-anime",title:"Anime",url:E.an(),favicon:""},{id:"pin-music",title:"Music",url:E.mu(),favicon:""}],G=new Set(["pin-twitter","pin-duckduckgo","pin-github","pin-chat","pin-cloud","pin-manga","pin-firefox","pin-vm","pin-firefox-vm","bm-firefox","bm-vm"]),ke=["rosin://vm","rosin://firefox","/firefox-wasm"],H=["/icons/bookmarks/youtube.svg","/icons/bookmarks/geforce.svg"],V="pz-hub-pins-main-v3-nofirefox";function $(o){if(o.id&&G.has(o.id))return!0;const n=String(o.url||"").toLowerCase();if(ke.some(a=>n.includes(a.toLowerCase())))return!0;const d=String(o.title||"").toLowerCase();return!!((d==="firefox"||d==="firefox vm"||d==="vm")&&(n.includes("firefox")||n.includes("rosin://vm")||n.includes("rosin://firefox")))}const ee=new Set(z.map(o=>o.id));function W(o){if(fe(o))return"";try{const n=new URL(o).hostname;return"https://www.google.com/s2/favicons?domain="+encodeURIComponent(n)+"&sz=64"}catch{return""}}function B(o){return o.favicon||W(o.url)}function U(){try{const o="__pz_hub_probe__";localStorage.setItem(o,"1");const n=localStorage.getItem(o)==="1";return localStorage.removeItem(o),n}catch{return!1}}function te(){if(!U())return;try{if(localStorage.getItem(V)==="1")return}catch{return}const o=h();let n=Date.now();o.items=o.items.filter(i=>!$(i));const d=new Map(o.items.map(i=>[i.id,i])),a=[];for(const i of z){const s=d.get(i.id);a.push({id:i.id,title:i.title,url:i.url,favicon:B(i),groupId:(s==null?void 0:s.groupId)??null,createdAt:(s==null?void 0:s.createdAt)??n++,...s!=null&&s.cover?{cover:s.cover}:{}}),d.delete(i.id)}for(const i of d.values()){if($(i)||ee.has(i.id))continue;let s=i.favicon||"";H.some(l=>s.includes(l))&&(s=W(i.url)),a.push({...i,favicon:s})}o.items=a,C(o);try{localStorage.setItem(V,"1")}catch{}}function P(){if(te(),!U())return h();const o=h();o.items=o.items.filter(s=>!$(s));const n=new Set(o.items.map(s=>s.id));let d=!1,a=Date.now();for(const s of z)n.has(s.id)||(o.items.push({...s,favicon:B(s),groupId:null,createdAt:a++}),d=!0);const i=o.items.length;return o.items=o.items.filter(s=>!$(s)),o.items.length!==i&&(d=!0),o.items=o.items.map(s=>{const l=z.find(g=>g.id===s.id);if(!l)return H.some(g=>(s.favicon||"").includes(g))?(d=!0,{...s,favicon:W(s.url)}):s;const x=B(l);return s.title!==l.title||s.url!==l.url||s.favicon!==x?(d=!0,{...s,title:l.title,url:l.url,favicon:x}):s}),d&&C(o),h()}function Ae(){const o=P(),n=z.map(a=>{const i=o.items.find(l=>l.id===a.id),s=B(a);return{...i??{...a,favicon:s,groupId:null,createdAt:0},title:a.title,url:a.url,favicon:s}}),d=o.items.filter(a=>!ee.has(a.id)&&!G.has(a.id)).sort((a,i)=>i.createdAt-a.createdAt);return[...n,...d]}function Fe(){if(te(),!U())return;const o=h();let n=!1;const d=new Map(z.map(l=>[l.id,l])),a=o.items.filter(l=>G.has(l.id)?(n=!0,!1):!0);
3o.items=a.map(l=>{const x=d.get(l.id);if(!x)return H.some(M=>(l.favicon||"").includes(M))?(n=!0,{...l,favicon:W(l.url)}):l;const g=B(x);return l.title!==x.title||l.url!==x.url||l.favicon!==g?(n=!0,{...l,title:x.title,url:x.url,favicon:g}):l});const i=new Set(o.items.map(l=>l.id));let s=Date.now();for(const l of z)i.has(l.id)||(o.items.push({...l,favicon:B(l),groupId:null,createdAt:s++}),n=!0);n&&C(o)}const e={surface:"hsla(0, 0%, 8%, 0.72)",elevated:"hsla(0, 0%, 12%, 0.85)",border:"hsla(0, 0%, 100%, 0.1)",borderFocus:"hsla(0, 0%, 100%, 0.22)",accent:"hsla(0, 0%, 92%, 0.92)",accentDim:"hsla(0, 0%, 100%, 0.08)",text:"hsla(0, 0%, 96%, 0.95)",textSub:"hsla(0, 0%, 65%, 0.75)",textMuted:"hsla(0, 0%, 50%, 0.55)",danger:"hsl(0 60% 56%)"};function ve({item:o,groups:n,onSave:d,onClose:a}){const[i,s]=m.useState((o==null?void 0:o.title)||""),[l,x]=m.useState((o==null?void 0:o.url)||""),[g,M]=m.useState((o==null?void 0:o.cover)||""),[k,v]=m.useState((o==null?void 0:o.groupId)??null),j=m.useRef(null),b=S(l)||/^\s*\(/.test(l)||/^\s*void\s*\(/i.test(l),I=c=>{var D;const y=(D=c.target.files)==null?void 0:D[0];if(!y)return;const R=new FileReader;R.onload=L=>{var A;return M((A=L.target)==null?void 0:A.result)},R.readAsDataURL(y)},T=()=>{if(!i.trim()||!l.trim())return;const c=l.trim();let y=c;S(c)||/^\s*\(/.test(c)||/^\s*void\s*\(/i.test(c)?y=Z(c):!/^https?:\/\//i.test(c)&&!c.startsWith("rosin://")&&(y="https://"+c),d({id:(o==null?void 0:o.id)||String(Date.now()),title:i.trim(),url:y,favicon:S(y)?"":`https://www.google.com/s2/favicons?domain=${encodeURIComponent(y)}&sz=32`,cover:g||void 0,groupId:k,createdAt:(o==null?void 0:o.createdAt)||Date.now()})};return t.jsxs(w.div,{initial:{opacity:0}
3,animate:{opacity:1},exit:{opacity:0},style:{position:"fixed",inset:0,zIndex:10050,display:"flex",alignItems:"center",justifyContent:"center",padding:16,background:"hsl(216 32% 4% / 0.7)",backdropFilter:"blur(8px)"},children:[t.jsx("div",{style:{position:"absolute",inset:0},onClick:a}),t.jsxs(w.div,{initial:{opacity:0,scale:.96,y:8},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97},style:{position:"relative",zIndex:10,width:"100%",maxWidth:420,background:e.surface,border:`1px solid ${e.border}`,borderRadius:14,padding:22,boxShadow:"0 24px 48px hsl(216 50% 3% / 0.6)"},children:[t.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:18},children:[t.jsx("h3",{style:{fontSize:14,fontWeight:700,color:e.text,margin:0},children:o!=null&&o.id?"Edit Bookmark":b?"Add Bookmarklet":"Add Bookmark"}),t.jsx("button",{onClick:a,style:{background:"none",border:"none",cursor:"pointer",color:e.textMuted,display:"flex"},children:t.jsx(_,{size:14})})]}),t.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:11},children:[t.jsxs("div",{children:[t.jsx("label",{style:{display:"block",fontSize:10,fontWeight:600,letterSpacing:"0.08em",textTransform:"uppercase",color:e.textMuted,marginBottom:5},children:"Title"}),t.jsx("input",{value:i,onChange:c=>s(c.target.value),placeholder:"Page title",style:{width:"100%",background:e.elevated,border:`1px solid ${e.border}`,borderRadius:8,color:e.text,fontSize:12,padding:"8px 11px",outline:"none",fontFamily:"inherit",boxSizing:"border-box"},onFocus:c=>c.currentTarget.style.borderColor=e.borderFocus,onBlur:c=>c.currentTarget.style.borderColor=e.border})]}),t.jsxs("div",{children:[t.jsx("label",{style:{display:"block",fontSize:10,fontWeight:600,letterSpacing:"0.08em",textTransform:"uppercase",color:e.textMuted,marginBottom:5},children:b?"Bookmarklet code":"URL"}),b?t.jsx("textarea",{value:l,onChange:c=>x(c.target.value),placeholder:"javascript:(function(){ alert('hi') })();",rows:5,style:{width:"100%",background:e.elevated,border:`1px solid ${e.border}`,borderRadius:8,color:e.text,fontSize:11,padding:"8px 11px",outline:"none",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",boxSizing:"border-box",resize:"vertical",lineHeight:1.45},onFocus:c=>c.currentTarget.style.borderColor=e.borderFocus,onBlur:c=>c.currentTarget.style.borderColor=e.border}):t.jsx("input",{value:l,onChange:c=>x(c.target.value),placeholder:"https://… or javascript:…",style:{width:"100%",background:e.elevated,border:`1px solid ${e.border}`,borderRadius:8,color:e.text,fontSize:12,padding:"8px 11px",outline:"none",fontFamily:"inherit",boxSizing:"border-box"},onFocus:c=>c.currentTarget.style.borderColor=e.borderFocus,onBlur:c=>c.currentTarget.style.borderColor=e.border}),t.jsx("p",{style:{fontSize:10,color:e.textMuted,margin:"6px 0 0"},children:"Paste a javascript: link to save a bookmarklet. Runs on the active site tab."})]}),t.jsxs("div",{children:[t.jsx("label",{style:{display:"block",fontSize:10,fontWeight:600,letterSpacing:"0.08em",textTransform:"uppercase",color:e.textMuted,marginBottom:5},children:"Group"}),t.jsxs("select",{value:k||"",onChange:c=>v(c.target.value||null),style:{width:"100%",background:e.elevated,border:`1px solid ${e.border}`,borderRadius:8,color:e.text,fontSize:12,padding:"8px 11px",outline:"none",fontFamily:"inherit",cursor:"pointer"},children:[t.jsx("option",{value:"",children:"No group"}),n.map(c=>t.jsx("option",{value:c.id,children:c.name},c.id))]})]}),!b&&t.jsxs("div",{children:[t.jsx("label",{style:{display:"block",fontSize:10,fontWeight:600,letterSpacing:"0.08em",textTransform:"uppercase",color:e.textMuted,marginBottom:5},children:"Cover Image"}),t.jsx("input",{ref:j,type:"file",accept:"image/*",onChange:I,style:{display:"none"}}),t.jsxs("button",{onClick:()=>{var c;return(c=j.current)==null?void 0:c.click()},style:{width:"100%",padding:"8px 11px",background:e.elevated,border:`1px solid ${e.border}`,borderRadius:8,color:g?e.accent:e.textSub,fontSize:12,cursor:"pointer",display:"flex",alignItems:"center",gap:7},onMouseEnter:c=>c.currentTarget.style.borderColor=e.borderFocus,onBlur:c=>
3c.currentTarget.style.borderColor=e.border,children:[t.jsx(le,{size:11}),g?"Cover selected":"Upload cover image",g&&t.jsx("button",{onClick:c=>{c.stopPropagation(),M("")},style:{marginLeft:"auto",background:"none",border:"none",cursor:"pointer",color:e.textMuted,display:"flex",padding:0},children:t.jsx(_,{size:10})})]}),g&&t.jsx("img",{src:g,style:{width:"100%",height:80,objectFit:"cover",borderRadius:7,marginTop:6,border:`1px solid ${e.border}`},alt:""})]}),t.jsx("button",{onClick:T,style:{padding:"9px 16px",borderRadius:8,background:e.accentDim,border:`1px solid ${e.borderFocus}`,color:e.accent,fontSize:12,fontWeight:600,cursor:"pointer",marginTop:2},children:b?"Save Bookmarklet":"Save Bookmark"})]})]})]})}function je({group:o,onSave:n,onClose:d}){const[a,i]=m.useState((o==null?void 0:o.name)||"");return t.jsxs(w.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},style:{position:"fixed",inset:0,zIndex:10050,display:"flex",alignItems:"center",justifyContent:"center",padding:16,background:"hsl(216 32% 4% / 0.7)",backdropFilter:"blur(8px)"},children:[t.jsx("div",{style:{position:"absolute",inset:0},onClick:d}),t.jsxs(w.div,{initial:{opacity:0,scale:.96,y:8},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97},style:{position:"relative",zIndex:10,width:"100%",maxWidth:320,background:e.surface,border:`1px solid ${e.border}`,borderRadius:14,padding:22,boxShadow:"0 24px 48px hsl(216 50% 3% / 0.6)"},children:[t.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:16},children:[t.jsx("h3",{style:{fontSize:14,fontWeight:700,color:e.text,margin:0},children:o!=null&&o.id?"Rename Group":"New Group"}),t.jsx("button",{onClick:d,style:{background:"none",border:"none",cursor:"pointer",color:e.textMuted,display:"flex"},children:t.jsx(_,{size:14})})]}),t.jsx("input",{value:a,onChange:s=>i(s.target.value),placeholder:"Group name",autoFocus:!0,onKeyDown:s=>{s.key==="Enter"&&a.trim()&&n({id:(o==null?void 0:o.id)||String(Date.now()),name:a.trim(),collapsed:!1,createdAt:(o==null?void 0:o.createdAt)||Date.now()})},style:{width:"100%",background:e.elevated,border:`1px solid ${e.borderFocus}`,borderRadius:8,color:e.text,fontSize:13,padding:"9px 11px",outline:"none",fontFamily:"inherit",boxSizing:"border-box",marginBottom:12}}),t.jsx("button",{onClick:()=>{a.trim()&&n({id:(o==null?void 0:o.id)||String(Date.now()),name:a.trim(),collapsed:!1,createdAt:(o==null?void 0:o.createdAt)||Date.now()})},style:{width:"100%",padding:"9px",borderRadius:8,background:e.accentDim,border:`1px solid ${e.borderFocus}`,color:e.accent,fontSize:12,fontWeight:600,cursor:"pointer"},children:"Save"})]})]})}function Se({item:o}){return S(o.url)?t.jsx(Q,{size:10,style:{color:e.accent}}):o.favicon?t.jsx("img",{src:o.favicon,style:{width:11,height:11},onError:n=>{n.target.style.display="none"},alt:""}):t.jsx(ce,{size:9,style:{color:e.textMuted}})}function we({onNavigate:o,hubOnly:n=!1}){const[d,a]=m.useState(()=>n?P():h()),[i,s]=m.useState(null),[l,x]=m.useState(null),[g,M]=m.useState(new Set),k=m.useCallback(()=>{a(n?P():h()),s("new")},[n]);m.useEffect(()=>{if(!n)return;const r=()=>{try{sessionStorage.getItem("pz-open-bookmark-add")==="1"&&(sessionStorage.removeItem("pz-open-bookmark-add"),s("new"))}catch{}};return r(),window.addEventListener("pz-open-bookmark-add",r),()=>window.removeEventListener("pz-open-bookmark-add",r)},[n,k]);const{items:v,groups:j}=d,b=n?v.filter(r=>r.id!=="pin-chat"):v,I=n?[]:j;function T(r){a(r),C(r),window.dispatchEvent(new CustomEvent("rosin-settings-updated"))}function c(r){const f=v.some(p=>p.id===r.id);T({...d,items:f?v.map(p=>p.id===r.id?r:p):[...v,r]}),f||ue("bookmark"),s(null)}function y(r){T({...d,items:v.filter(f=>f.id!==r)})}function R(r){const f=j.some(p=>p.id===r.id);T({...d,groups:f?j.map(p=>p.id===r.id?r:p):[...j,r]}),x(null)}function D(r){T({items:v.map(f=>f.groupId===r?{...f,groupId:null}:f),groups:j.filter(f=>f.id!==r)})}function L(r){M(f=>{const p=new Set(f);return p.has(r)?p.delete(r):p.add(r),p})}const A=b.filter(r=>!r.groupId),O=b.length,N=b.filter(r=>S(r.url)).length;function oe({item:r,readOnly:f=!1}){const p=S(r.url);return t.jsxs(w.div,{initial:{opacity:0,scale:.97}
3,animate:{opacity:1,scale:1},style:{position:"relative",background:e.surface,border:`1px solid ${e.border}`,borderRadius:10,overflow:"hidden",cursor:"pointer",transition:"border-color 0.15s"},onMouseEnter:u=>u.currentTarget.style.borderColor=e.borderFocus,onMouseLeave:u=>u.currentTarget.style.borderColor=e.border,children:[r.cover&&!p&&t.jsx("div",{style:{height:72,overflow:"hidden"},children:t.jsx("img",{src:r.cover,style:{width:"100%",height:"100%",objectFit:"cover"},alt:""})}),t.jsxs("div",{style:{padding:"10px 12px"},onClick:()=>o(r.url),children:[t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:7,marginBottom:2},children:[t.jsx("div",{style:{width:18,height:18,borderRadius:5,background:e.elevated,display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden",flexShrink:0},children:t.jsx(Se,{item:r})}),t.jsx("span",{style:{fontSize:12,fontWeight:600,color:e.text,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r.title})]}),t.jsx("p",{style:{fontSize:10,color:e.textMuted,margin:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:p?"Bookmarklet · runs on current tab":r.url.replace(/^https?:\/\/(www\.)?/,"")})]}),t.jsx("div",{style:{position:"absolute",top:6,right:6,display:"flex",gap:3},children:!f&&t.jsxs(t.Fragment,{children:[t.jsx("button",{onClick:u=>{u.stopPropagation(),s(r)},style:{width:22,height:22,borderRadius:6,display:"flex",alignItems:"center",justifyContent:"center",background:"hsl(216 32% 6% / 0.8)",border:`1px solid ${e.border}`,cursor:"pointer",color:e.textMuted,backdropFilter:"blur(4px)"},onMouseEnter:u=>u.currentTarget.style.color=e.accent,onMouseLeave:u=>u.currentTarget.style.color=e.textMuted,children:t.jsx(X,{size:9})}),t.jsx("button",{onClick:u=>{u.stopPropagation(),y(r.id)},style:{width:22,height:22,borderRadius:6,display:"flex",alignItems:"center",justifyContent:"center",background:"hsl(216 32% 6% / 0.8)",border:`1px solid ${e.border}`,cursor:"pointer",color:e.textMuted,backdropFilter:"blur(4px)"},onMouseEnter:u=>u.currentTarget.style.color=e.danger,onMouseLeave:u=>u.currentTarget.style.color=e.textMuted,children:t.jsx(_,{size:9})})]})})]})}function K({items:r,readOnly:f=!1,showAdd:p=!0}){return t.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(160px, 1fr))",gap:8},children:[r.map(u=>t.jsx(oe,{item:u,readOnly:f},u.id)),p&&t.jsxs(w.div,{whileHover:{scale:1.02},whileTap:{scale:.98},onClick:()=>k(),style:{background:"transparent",border:`1px dashed ${e.border}`,borderRadius:10,cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:6,padding:"20px 12px",transition:"border-color 0.15s",minHeight:72},onMouseEnter:u=>u.currentTarget.style.borderColor=e.borderFocus,onMouseLeave:u=>u.currentTarget.style.borderColor=e.border,children:[t.jsx(F,{size:16,style:{color:e.textMuted}}),t.jsx("span",{style:{fontSize:11,color:e.textMuted},children:"Add bookmark"})]})]})}return t.jsxs("div",{className:"bookmarks-page",style:{position:"absolute",inset:0,overflow:"hidden",background:"transparent"},children:[t.jsxs("div",{style:{position:"relative",zIndex:10,height:"100%",display:"flex",flexDirection:"column"},children:[t.jsxs("div",{className:"page-header",style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"28px 32px 16px",flexShrink:0,gap:12},children:[t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,minWidth:0},children:[n&&t.jsxs("button",{type:"button",onClick:()=>o(xe()),style:{display:"flex",alignItems:"center",gap:6,padding:"7px 11px",borderRadius:8,background:e.surface,border:`1px solid ${e.border}`,color:e.textSub,fontSize:11,fontWeight:600,cursor:"pointer",flexShrink:0},onMouseEnter:r=>{r.currentTarget.style.borderColor=e.borderFocus,r.currentTarget.style.color=e.text},onMouseLeave:r=>{r.currentTarget.style.borderColor=e.border,r.currentTarget.style.color=e.textSub},children:[t.jsx(re,{size:12,strokeWidth:2.4}),"Back"]}),t.jsx("div",{style:{width:36,height:36,borderRadius:10,background:"hsla(0, 0%, 100%, 0.08)",border:"1px solid hsla(0, 0%, 100%, 0.14)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:t.jsx(Y,{size:16,style:{color:e.accent}})}),t.jsxs("div",{style:{minWidth:0},children:[t.jsx("h1",{style:{fontFamily:"Montserrat, ui-sans-serif, system-ui, sans-serif",fontSize:20,fontWeight:700,color:e.text,margin:0,letterSpacing:"-0.01em",lineHeight:1.1},children:"Bookmarks"}),t.jsxs("p",{style:{fontSize:11,color:e.textSub,margin:0},children:[O," saved",N?` · ${N} bookmarklet${N===1?"":"s"}`:"",!n&&t.jsxs(t.Fragment,{children:[" · ",I.length," groups"]})]})]})]}),n?t.jsx("div",{className:"page-header-actions",style:{display:"flex",gap:8},children:t.jsxs("button",{onClick:()=>k(),style:{display:"flex",alignItems:"center",gap:7,padding:"8px 14px",background:e.accentDim,border:`1px solid ${e.borderFocus}`,borderRadius:8,color:e.accent,fontSize:12,fontWeight:600,cursor:"pointer"},onMouseEnter:r=>r.currentTarget.style.background="hsla(0, 0%, 100%, 0.12)",onMouseLeave:r=>r.currentTarget.style.background=e.accentDim,children:[t.jsx(F,{size:13})," Add Bookmark"]})}):t.jsxs("div",{className:"page-header-actions",style:{display:"flex",gap:8},children:[t.jsxs("button",{onClick:()=>x("new"),style:{display:"flex",alignItems:"center",gap:7,padding:"8px 13px",background:e.surface,border:`1px solid ${e.border}`,borderRadius:8,color:e.textSub,fontSize:12,fontWeight:500,cursor:"pointer"},onMouseEnter:r=>{r.currentTarget.style.borderColor=e.borderFocus,r.currentTarget.style.color=e.text},onMouseLeave:r=>{r.currentTarget.style.borderColor=e.border,r.currentTarget.style.color=e.textSub},children:[t.jsx(q,{size:12})," New Group"]}),t.jsxs("button",{onClick:()=>s({title:"",url:"javascript:"}),style:{display:"flex",alignItems:"center",gap:7,padding:"8px 13px",background:e.surface,border:`1px solid ${e.border}`,borderRadius:8,color:e.textSub,fontSize:12,fontWeight:500,cursor:"pointer"},onMouseEnter:r=>{r.currentTarget.style.borderColor=e.borderFocus,r.currentTarget.style.color=e.text},onMouseLeave:r=>{r.currentTarget.style.borderColor=e.border,r.currentTarget.style.color=e.textSub},children:[t.jsx(Q,{size:12})," Add Bookmarklet"]}),t.jsxs("button",{onClick:()=>k(),style:{display:"flex",alignItems:"center",gap:7,padding:"8px 14px",background:e.accentDim,border:`1px solid ${e.borderFocus}`,borderRadius:8,color:e.accent,fontSize:12,fontWeight:600,cursor:"pointer"},onMouseEnter:r=>r.currentTarget.style.background="hsla(0, 0%, 100%, 0.12)",onMouseLeave:r=>r.currentTarget.style.background=e.accentDim,children:[t.jsx(F,{size:13})," Add Bookmark"]})]})]}),t.jsx("div",{className:"page-scroll",style:{flex:1,overflowY:"auto",padding:"0 32px 32px",scrollbarWidth:"thin",scrollbarColor:`${e.border} transparent`},children:O===0&&I.length===0?t.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"60%",gap:16},children:[t.jsx("div",{style:{width:56,height:56,borderRadius:16,background:e.surface,border:`1px solid ${e.border}`,display:"flex",alignItems:"center",justifyContent:"center"},children:t.jsx(Y,{size:22,style:{color:e.textMuted}})}),t.jsxs("div",{style:{textAlign:"center"},children:[t.jsx("p",{style:{fontSize:14,fontWeight:600,color:e.text,margin:"0 0 4px"},children:"No bookmarks yet"}),t.jsx("p",{style:{fontSize:12,color:e.textSub,margin:0},children:"Save sites or paste javascript: bookmarklets"})]}),t.jsxs("button",{onClick:()=>k(),style:{display:"flex",alignItems:"center",gap:7,padding:"9px 18px",background:e.accentDim,border:`1px solid ${e.borderFocus}`,borderRadius:9,color:e.accent,fontSize:13,fontWeight:600,cursor:"pointer"},children:[t.jsx(F,{size:13})," ",n?"Add Bookmark":"Add your first bookmark"]})]}):t.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:24,maxWidth:800},children:[I.map(r=>{const f=b.filter(u=>u.groupId===r.id),p=g.has(r.id);return t.jsxs("div",{children:[t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10},children:[t.jsxs("button",{onClick:()=>L(r.id),style:{display:"flex",alignItems:"center",gap:6,background:"none",border:"none",cursor:"pointer",color:e.textSub,padding:0},children:[p?t.jsx(ne,{size:13}):t.jsx(se,{size:13}),p?t.jsx(ie,{size:13}):t.jsx(q,{size:13}),t.jsx("span",{style:{fontSize:12,fontWeight:600,color:e.text},children:r.name}
3),t.jsxs("span",{style:{fontSize:10,color:e.textMuted},children:["(",f.length,")"]})]}),t.jsx("div",{style:{flex:1}}),t.jsx("button",{onClick:()=>x(r),style:{width:22,height:22,borderRadius:6,display:"flex",alignItems:"center",justifyContent:"center",background:"none",border:"none",cursor:"pointer",color:e.textMuted},onMouseEnter:u=>u.currentTarget.style.color=e.accent,onMouseLeave:u=>u.currentTarget.style.color=e.textMuted,children:t.jsx(X,{size:10})}),t.jsx("button",{onClick:()=>D(r.id),style:{width:22,height:22,borderRadius:6,display:"flex",alignItems:"center",justifyContent:"center",background:"none",border:"none",cursor:"pointer",color:e.textMuted},onMouseEnter:u=>u.currentTarget.style.color=e.danger,onMouseLeave:u=>u.currentTarget.style.color=e.textMuted,children:t.jsx(ae,{size:10})})]}),t.jsx(J,{children:!p&&t.jsx(w.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},children:t.jsx(K,{items:f,readOnly:n})})})]},r.id)}),A.length>0||I.length===0?t.jsxs("div",{children:[I.length>0&&t.jsx("p",{style:{fontSize:10,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.08em",color:e.textMuted,margin:"0 0 10px"},children:"Unsorted"}),t.jsx(K,{items:A,readOnly:n})]}):t.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(160px, 1fr))",gap:8},children:t.jsxs(w.div,{whileHover:{scale:1.02},whileTap:{scale:.98},onClick:()=>k(),style:{background:"transparent",border:`1px dashed ${e.border}`,borderRadius:10,cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:6,padding:"20px 12px",minHeight:72},onMouseEnter:r=>r.currentTarget.style.borderColor=e.borderFocus,onMouseLeave:r=>r.currentTarget.style.borderColor=e.border,children:[t.jsx(F,{size:16,style:{color:e.textMuted}}),t.jsx("span",{style:{fontSize:11,color:e.textMuted},children:"Add bookmark"})]})})]})})]}),typeof document<"u"&&de.createPortal(t.jsxs(J,{children:[i&&t.jsx(ve,{item:i==="new"?null:i,groups:j,onSave:c,onClose:()=>s(null)}),l&&t.jsx(je,{group:l==="new"?null:l,onSave:R,onClose:()=>x(null)})]}),document.body)]})}const Re=Object.freeze(Object.defineProperty({__proto__:null,addBookmark:ye,default:we,ensureDefaultBookmarks:be,getBookmarks:h,saveBookmarks:C},Symbol.toStringTag,{value:"Module"}));export{Re as B,Fe as a,Ae as g,S as i,Be as r};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.