1import{r as n,j as a}from"./react-vendor-Celz-2fn.js";import{u as R,W as C,B as E,X as N,bf as A}from"./index-VzCPatgX.js";import{i as S,H,k as M,aT as W,a_ as $,j as D,C as _,X as B}from"./libs-vendor-CzM8KNR6.js";import"./vendor-S-J9ZazT.js";(function(){try{var r=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};r.SENTRY_RELEASE={id:"b49a520c0c446c72dc60d814870565ed522e908d"};var i=new r.Error().stack;i&&(r._sentryDebugIds=r._sentryDebugIds||{},r._sentryDebugIds[i]="e39b23da-0963-4be8-9563-fa0acd84e1eb",r._sentryDebugIdIdentifier="sentry-dbid-e39b23da-0963-4be8-9563-fa0acd84e1eb")}catch{}})();const o=[{id:"sets",icon:S},{id:"reading",icon:S},{id:"listening",icon:H},{id:"speaking",icon:M},{id:"writing",icon:W},{id:"mistakes",icon:$},{id:"evaluation",icon:D}],e=(r,i,s)=>`/images/showcase/${r}.${i}.${s}.webp`,k={sets:{zh:{light:e("sets","zh","light"),dark:e("sets","zh","dark")},en:{light:e("sets","en","light"),dark:e("sets","en","dark")},fr:{light:e("sets","fr","light"),dark:e("sets","fr","dark")}},reading:{zh:{light:e("reading","zh","light"),dark:e("reading","zh","dark")},en:{light:e("reading","en","light"),dark:e("reading","en","dark")},fr:{light:e("reading","fr","light"),dark:e("reading","fr","dark")}},listening:{zh:{light:e("listening","zh","light"),dark:e("listening","zh","dark")},en:{light:e("listening","en","light"),dark:e("listening","en","dark")},fr:{light:e("listening","fr","light"),dark:e("listening","fr","dark")}},speaking:{zh:{light:e("speaking","zh","light"),dark:e("speaking","zh","dark")},en:{light:e("speaking","en","light"),dark:e("speaking","en","dark")},fr:{light:e("speaking","fr","light"),dark:e("speaking","fr","dark")}},writing:{zh:{light:e("writing","zh","light"),dark:e("writing","zh","dark")},en:{light:e("writing","en","light"),dark:e("writing","en","dark")},fr:{light:e("writing","fr","light"),dark:e("writing","fr","dark")}},mistakes:{zh:{light:e("mistakes","zh","light"),dark:e("mistakes","zh","dark")},en:{light:e("mistakes","en","light"),dark:e("mistakes","en","dark")},fr:{light:e("mistakes","fr","light"),dark:e("mistakes","fr","dark")}},evaluation:{zh:{light:e("evaluation","zh","light"),dark:e("evaluation","zh","dark")},en:{light:e("evaluation","en","light"),dark:e("evaluation","en","dark")},fr:{light:e("evaluation","fr","light"),dark:e("evaluation","fr","dark")}}},F=({tab:r,lang:i,onImageClick:s})=>{const{theme:u}=A(),g=u==="dark"?"dark":"light",v=k[r]?.[i]?.[g]||k[r]?.[i]?.light||k[r]?.en?.[g]||k[r]?.en?.light;return a.jsx("div",{className:"showcase-image-frame",style:{width:"100%",display:"flex",justifyContent:"flex-start",alignItems:"flex-start"},children:a.jsx("div",{className:"showcase-image-soft",children:a.jsx("div",{className:"showcase-image-card",style:{position:"relative",width:"100%",background:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"var(--radius-control)",overflow:"hidden",transition:"border-color 0.3s ease"},children:a.jsx("img",{src:v,alt:"",loading:"lazy",decoding:"async",onClick:()=>s?.(v),style:{display:"block",width:"100%",height:"auto",cursor:s?"zoom-in":"default",transition:"transform 0.5s ease"}})})})})},P=({src:r,onClose:i})=>(n.useEffect(()=>{const s=u=>{u.key==="Escape"&&i()};return document.addEventListener("keydown",s),document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",s),document.body.style.overflow=""}},[i]),a.jsxs("div",{onClick:i,style:{position:"fixed",inset:0,zIndex:100,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0, 0, 0, 0.88)",backdropFilter:"blur(4px)",padding:"5vh 5vw"},children:[a.jsx("button",{onClick:i,"aria-label":"Close",style:{position:"absolute",top:20,right:20,width:40,height:40,display:"flex",alignItems:"center",justifyContent:"center",background:"transparent",border:"none",color:"hsl(var(--primary-foreground))",cursor:"pointer",padding:0},children:a.jsx(B,{size:28,strokeWidth:1.5})}),a.jsx("img",{src:r,alt:"",onClick:s=>s.stopPropagation(),style:{maxWidth:"90vw",maxHeight:"85vh",width:"auto",height:"auto",objectFit:"contain",borderRadius:4,boxShadow:"0 24px 80px rgba(0,0,0,0.4)"}})]})),G=3e3,Y=()=>{const[r,i]=n.useState("sets"),[s,u]=n.useState(null),{t:g,language:v}=R(),T=v||"en",h=o.findIndex(t=>t.id===r),w=n.useRef(null),f=n.useRef(!1),m=n.useRef(null),y=n.useRef(()=>{}),x=n.useCallback(()=>{m.current&&clearInterval(m.current),m.current=setInterval(()=>{y.current()},G)},[]),p=n.useCallback(t=>{i(t),x()},[x]),j=n.useCallback(()=>{const t=(h+1)%o.length;p(o[t].id)},[h,p]),z=n.useCallback(()=>{const t=(h-1+o.length)%o.length;p(o[t].id)},[h,p]);n.useEffect(()=>{y.current=()=>{f.current||s||i(t=>{const d=(o.findIndex(c=>c.id===t)+1)%o.length;return o[d].id})}},[s]),n.useEffect(()=>(x(),()=>{m.current&&clearInterval(m.current)}),[x]);const b=n.useCallback(t=>{t.key==="ArrowRight"?(t.preventDefault(),j()):t.key==="ArrowLeft"&&(t.preventDefault(),z())},[j,z]);return n.useEffect(()=>{const t=w.current;if(!t)return;const l=()=>{f.current=!0},d=()=>{f.current=!1},c=()=>{f.current=!0},I=L=>{t.contains(L.relatedTarget)||(f.current=!1)};return t.addEventListener("keydown",b),t.addEventListener("mouseenter",l),t.addEventListener("mouseleave",d),t.addEventListener("focusin",c),t.addEventListener("focusout",I),t.setAttribute("tabIndex","-1"),()=>{t.removeEventListener("keydown",b),t.removeEventListener("mouseenter",l),t.removeEventListener("mouseleave",d),t.removeEventListener("focusin",c),t.removeEventListener("focusout",I)}}
1,[b]),a.jsxs(C,{ref:w,id:"avantages",padBottom:"clamp(28px, 3.5vw, 48px)",children:[a.jsx(E,{delay:.05,duration:.5,children:a.jsx(N,{title:g("advantages.title"),subtitle:g("advantages.subtitle"),headingMaxWidth:"none",className:"advantages-title"})}),a.jsx(E,{delay:.1,duration:.5,children:a.jsx("div",{className:"advantages-tabs",role:"tablist",children:o.map(t=>{const l=r===t.id;return a.jsx("button",{role:"tab","aria-selected":l,className:"adv-tab","data-state":l,onClick:()=>p(t.id),style:{flexShrink:0,display:"flex",alignItems:"center",padding:"7px 14px",fontSize:"var(--fs-caption)",fontWeight:600,lineHeight:1.35,color:l?"hsl(var(--foreground))":"hsl(var(--muted-foreground))",borderRadius:"var(--radius-control)",cursor:"pointer",transition:"color 0.2s ease, background 0.2s ease",whiteSpace:"nowrap"},onMouseEnter:d=>{l||(d.currentTarget.style.color="hsl(var(--foreground))")},onMouseLeave:d=>{l||(d.currentTarget.style.color="hsl(var(--muted-foreground))")},children:g(`advantages.${t.id}.label`)},t.id)})})}),a.jsx("div",{style:{overflow:"hidden"},children:a.jsx("div",{style:{display:"flex",transition:"transform 0.5s cubic-bezier(0.4, 0, 0.2, 1)",transform:`translateX(-${h*100}%)`},children:o.map(t=>{const l=t.icon;return a.jsx("div",{style:{flex:"0 0 100%",width:"100%"},children:a.jsxs("div",{className:"advantages-panel",children:[a.jsx("div",{className:"advantages-mockup",children:a.jsx(F,{tab:t.id,lang:T,onImageClick:u})}),a.jsxs("div",{className:"advantages-text",children:[a.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:14},children:[a.jsx("span",{"aria-hidden":"true",style:{width:30,height:30,flexShrink:0,display:"grid",placeItems:"center",borderRadius:8,background:"hsl(var(--primary) / 0.12)",color:"hsl(var(--primary))"},children:a.jsx(l,{size:16,strokeWidth:2.2})}),a.jsx("h3",{style:{fontFamily:"var(--font-sans)",fontWeight:800,fontSize:"var(--fs-title)",lineHeight:1.15,letterSpacing:"-0.02em",color:"hsl(var(--foreground))"},children:g(`advantages.${t.id}.title`)})]}),a.jsx("ul",{style:{display:"flex",flexDirection:"column",gap:16,listStyle:"none",padding:0,margin:0},children:[1,2,3].map(d=>a.jsxs("li",{style:{display:"flex",gap:12,fontSize:"var(--fs-body)",lineHeight:1.55,color:"hsl(var(--muted-foreground))"},children:[a.jsx("span",{style:{width:20,height:20,flexShrink:0,display:"grid",placeItems:"center",borderRadius:"50%",background:"hsl(var(--primary) / 0.12)",color:"hsl(var(--primary))",marginTop:2},children:a.jsx(_,{size:12,strokeWidth:3})}),a.jsx("span",{style:{color:"hsl(var(--muted-foreground))"},children:g(`advantages.${t.id}.p${d}`)})]},d))}),a.jsx("div",{style:{display:"flex",alignItems:"center",gap:12,marginTop:28},children:a.jsx("div",{style:{display:"flex",alignItems:"center",gap:4,marginLeft:10},children:o.map((d,c)=>a.jsx("button",{type:"button",className:"adv-dot",onClick:()=>p(d.id),"aria-label":`Go to feature ${c+1}`,style:{display:"flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:"50%",border:"none",padding:0,cursor:"pointer",touchAction:"manipulation",transition:"background 0.2s ease"},children:a.jsx("span",{style:{width:c===h?9:7,height:c===h?9:7,borderRadius:"50%",background:c===h?"hsl(var(--primary))":"hsl(var(--border))",transition:"width 0.2s ease, height 0.2s ease, background 0.2s ease, transform 0.18s ease"}})},d.id))})})]})]})},t.id)})})}),s&&a.jsx(P,{src:s,onClose:()=>u(null)}),a.jsx("style",{children:` 2 .adv-dot:hover span, .adv-dot:focus-visible span { transform: scale(1.35); } 3 4 /* Segmented tab rail â Tailark ToggleGroup surfaces: one recessed 5 track, active item raised on the page surface. */ 6 .advantages-tabs { 7 position: relative; 8 display: flex; 9 gap: 4px; 10 /* Hug the items (Tailark's ToggleGroup is w-fit) and center the rail: 11 a left-hugging rail under a centred section heading reads off-axis 12 (user feedback 2026-09-29). */ 13 width: fit-content; 14 max-width: 100%; 15 margin-inline: auto; 16 margin-bottom: 32px; 17 overflow-x: auto; 18 padding: 4px; 19 background: hsl(var(--muted)); 20 border-radius: calc(var(--radius-control) + 2px); 21 } 22 .advantages-tabs::-webkit-scrollbar { height: 4px; } 23 .advantages-tabs::-webkit-scrollbar-thumb { background: hsl(var(--border)); border-radius: 2px; } 24 .advantages-tabs { 25 mask-image: linear-gradient(to right, black 90%, transparent 100%); 26 -webkit-mask-image: linear-gradient(to right, black 90%, transparent 100%); 27 } 28 .adv-tab[data-state='true'] { 29 background: hsl(var(--background)); 30 box-shadow: 0 1px 2px hsl(var(--foreground) / 0.08); 31 } 32 @media (min-width: 1024px) { 33 .advantages-tabs { 34 mask-image: none; 35 -webkit-mask-image: none; 36 } 37 } 38 39 /* Panel â overlapping composition (user feedback 2026-09-29: with 40 image left / text right as two separate columns the seam between 41 them was a dead strip while the eye was drawn to page centre). 42 Mockup and text card share ONE grid cell; the card rides the 43 screenshot's right edge, filling the seam with real content and 44 adding depth. */ 45 .advantages-panel { 46 display: grid; 47 grid-template-columns: minmax(0, 1fr); 48 align-items: center; 49 } 50 .advantages-mockup { 51 grid-row: 1; 52 grid-column: 1; 53 /* çåºå³ä¾§ 200px å æ¾åºï¼æåå¡éªè¿æªå¾å³ç¼ ~200px */ 54 width: calc(100% - 200px); 55 min-width: 0; 56 } 57 .advantages-text { 58 grid-row: 1; 59 grid-column: 1; 60 justify-self: end; 61 z-index: 1; 62 width: clamp(330px, 34vw, 430px); 63 background: hsl(var(--card)); 64 border: 1px solid hsl(var(--border)); 65 border-radius: var(--radius-surface); 66 padding: clamp(20px, 2.4vw, 30px); 67 box-shadow: 68 0 1px 2px hsl(var(--shadow-color) / 0.06), 69 0 18px 44px -14px hsl(var(--shadow-color) / 0.26); 70 } 71 .dark .advantages-text { 72 box-shadow: 73 0 0 0 1px hsl(var(--shadow-color) / 0.5), 74 0 18px 44px -14px hsl(0 0% 0% / 0.6); 75 } 76 77 /* Pass-through wrapper around the product shot. Its Tailark "soft" 78 slab fill (bg-muted/55 + 16px padding) was removed â the tinted 79 padding read as a gray outer frame around the screenshot. */ 80 .showcase-image-soft { 81 width: 100%; 82 } 83 .showcase-image-card:hover { 84 border-color: hsl(var(--action) / 0.4); 85 } 86 87 @media (max-width: 800px) { 88 .advantages-mockup { width: 100%; } 89 .advantages-text { 90 grid-row: 2; 91 grid-column: 1; 92 justify-self: stretch; 93 width: auto; 94 margin-top: 18px; 95 padding: 18px; 96 } 97 } 98 `})]})};export{Y 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.