1import{j as a}from"./react-BGHvZxdX.js";const l=({state:t="idle",size:s=120,message:n,style:r,className:o,showBubble:i=!0,theme:e="light"})=>{const c=()=>{switch(t){case"coffee":return"/assets/mascot/mascot_coffee.png";case"loading":return"/assets/mascot/mascot_loading.png";case"analyzing":return"/assets/mascot/mascot_analyzing.png";case"tutorial":return"/assets/mascot/mascot_analyzing.png";case"searching":return"/assets/mascot/mascot_searching_nobg.png";case"delivering":return"/assets/mascot/mascot_delivering.png";case"success":return"/assets/mascot/mascot_success.png";case"hero":return"/assets/mascot/mascot_hero.png";case"404":return"/assets/mascot/mascot_404.png";default:return"/assets/mascot/mascot_idle.png"}};return a.jsxs("div",{className:`mascot-container ${o||""}`,style:{display:"inline-flex",flexDirection:"column",alignItems:"center",position:"relative",...r},children:[i&&n&&a.jsxs("div",{className:"mascot-bubble",style:{position:"absolute",bottom:"100%",marginBottom:12,background:"rgba(255, 255, 255, 0.9)",backdropFilter:"blur(10px)",border:"1px solid rgba(0, 0, 0, 0.06)",borderRadius:"14px 14px 14px 2px",padding:"6px 10px",fontSize:11,color:"#1d1d1f",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.08)",maxWidth:200,zIndex:10,animation:"bubbleIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)"},children:[n,a.jsx("div",{style:{position:"absolute",bottom:-6,left:2,width:0,height:0,borderLeft:"8px solid rgba(255, 255, 255, 0.9)",borderRight:"8px solid transparent",borderTop:"8px solid transparent"}})]}),a.jsx("div",{className:`mascot-body mascot-state-${t}`,style:{width:t==="hero"?s*1.5:s,height:s,backgroundImage:`url(${c()})`,backgroundSize:"contain",backgroundRepeat:"no-repeat",backgroundPosition:"center",transition:"all 0.3s ease",mixBlendMode:e==="dark"?"screen":"multiply",filter:e==="dark"?"invert(1) brightness(1.2) contrast(1.1)":"none",opacity:e==="dark"?.9:1}}),a.jsx("style",{children:` 2 .mascot-state-idle { 3 animation: mascotBreathe 3s infinite ease-in-out; 4 } 5 .mascot-state-coffee { 6 animation: mascotBreathe 4s infinite ease-in-out; 7 } 8 .mascot-state-loading { 9 animation: mascotThink 2.5s infinite ease-in-out; 10 } 11 .mascot-state-analyzing, 12 .mascot-state-tutorial { 13 animation: mascotScan 2s infinite ease-in-out; 14 } 15 .mascot-state-searching { 16 animation: mascotType 1.2s infinite linear; 17 } 18 .mascot-state-delivering { 19 animation: mascotPress 1.5s infinite ease-in-out; 20 } 21 .mascot-state-success { 22 animation: mascotCelebrate 0.6s ease; 23 } 24 25 @keyframes mascotBreathe { 26 0%, 100% { transform: translateY(0); } 27 50% { transform: translateY(-6px); } 28 } 29 @keyframes mascotThink { 30 0%, 100% { transform: translateY(0) scale(1); } 31 50% { transform: translateY(-4px) scale(1.02); } 32 } 33 @keyframes mascotScan { 34 0%, 100% { transform: translateX(0); } 35 30% { transform: translateX(3px); } 36 70% { transform: translateX(-3px); } 37 } 38 @keyframes mascotType { 39 0%, 100% { transform: translate(0, 0); } 40 20% { transform: translate(2px, -1px); } 41 40% { transform: translate(-1px, 0); } 42 60% { transform: translate(1px, -2px); } 43 80% { transform: translate(-2px, -1px); } 44 } 45 @keyframes mascotPress { 46 0%, 100% { transform: translateY(0); } 47 50% { transform: translateY(3px); } 48 } 49 @keyframes mascotCelebrate { 50 0% { transform: scale(1); } 51 40% { transform: scale(1.15) translateY(-10px); } 52 70% { transform: scale(1.05) translateY(2px); } 53 100% { transform: scale(1); } 54 } 55 @keyframes bubbleIn { 56 from { opacity: 0; transform: scale(0.8) translateY(10px); } 57 to { opacity: 1; transform: scale(1) translateY(0); } 58 } 59 `})]})};export{l as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.