PageSourceSearch

https://naemo.ai/_next/static/chunks/5854-8743b3cf63cebe6c.js

js naemo.ai collected 2026-10-02 01:12:53 UTC 63,632 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5854],{65854:function(e,t,n){n.r(t),n.d(t,{default:function(){return R}});var r=n(57437),i=n(78529),a=n(2265),s=n(54887),l=n(32489),c=n(98319),d=n(91991),o=n(49253),u=n(18261),x=n(21108),m=n(61858),h=n(93448),p=n(90982),b=n(54292),f=n(99397),g=n(1773),v=n(65504);function k(e){let{size:t}=e;return(0,r.jsx)("svg",{"aria-hidden":"true",width:t,height:t,viewBox:"0 0 24 24",fill:"none",children:(0,r.jsx)("path",{fill:"currentColor",d:"M16.334 4.667a8.25 8.25 0 0 1 .506 11.114l3.94 3.94.027.027a.75.75 0 0 1-1.06 1.06l-.027-.027-3.94-3.94a8.25 8.25 0 1 1 .554-12.174M5.727 5.728a6.75 6.75 0 1 0 9.546 9.546 6.75 6.75 0 0 0-9.546-9.546"})})}function z(e){let{label:t,onClick:n,disabled:i,children:a}=e;return(0,r.jsx)("button",{type:"button","aria-label":t,title:t,onClick:n,disabled:i,className:"flex h-8 w-8 items-center justify-center rounded-md text-zinc-400 transition hover:bg-zinc-100 hover:text-zinc-800 disabled:pointer-events-none disabled:opacity-30 dark:text-zinc-500 dark:hover:bg-white/[0.06] dark:hover:text-zinc-100",children:a})}function j(e){let{items:t,loading:n,error:i,grade:a,years:s,busy:c,readOnly:d,onRemove:o,onCompare:u,onRetry:m}=e;return(0,r.jsxs)("section",{className:"mx-3.5 pt-9",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsxs)("h3",{className:"flex items-baseline gap-1.5 text-[15px] font-semibold tracking-tight text-zinc-900 dark:text-zinc-50",children:["수시 모의 지원",t.length>0&&(0,r.jsxs)("span",{className:"font-medium tabular-nums text-zinc-400",children:[t.length,"/",x.UF]})]}),t.length>0&&(0,r.jsxs)("button",{type:"button",onClick:u,className:"inline-flex items-center gap-1.5 rounded-md px-2 py-1.5 text-[13px] font-medium text-zinc-600 transition hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-300 dark:hover:bg-white/[0.06] dark:hover:text-zinc-50",children:[(0,r.jsx)(k,{size:14}),"상세 보기"]})]}),n?(0,r.jsx)(p.ContentLoadingState,{variant:"table",rows:2,label:"담아 둔 대학을 불러오고 있어요",className:"px-0 md:px-0"}):i?(0,r.jsxs)("div",{role:"alert",className:"mt-4 text-sm text-zinc-600 dark:text-zinc-400",children:[(0,r.jsx)("p",{children:i}),m&&(0,r.jsx)("button",{type:"button",onClick:m,className:"mt-2 min-h-11 rounded-md border border-current px-3",children:"다시 불러오기"})]}):0===t.length?(0,r.jsx)("p",{className:"mt-3 text-[13px] text-zinc-500 dark:text-zinc-400",children:d?"등록된 수시 모의 지원이 없습니다.":(0,r.jsxs)(r.Fragment,{children:["아직 담은 대학이 없어요. 아래 대학 찾기에서 ",(0,r.jsx)(f.Z,{size:13,className:"-mt-0.5 inline","aria-label":"담기"})," 를 눌러 담아 보세요."]})}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"".concat(v.vU," mt-3 items-center gap-3 border-b border-zinc-100 px-2 pb-2 text-[12px] text-zinc-400 dark:border-white/[0.06] dark:text-zinc-500"),children:[(0,r.jsx)("span",{className:"pl-7",children:"대학"}),(0,r.jsx)("span",{children:"학과"}),(0,r.jsx)("span",{children:"전형"}),(0,r.jsx)("span",{className:"flex gap-1.5",children:s.map(e=>(0,r.jsx)("span",{className:(0,h.cn)(g.Ob,"text-center tabular-nums"),children:e},e))}),(0,r.jsx)("span",{})]}),(0,r.jsx)("ol",{className:"pt-1",children:t.map((e,t)=>(0,r.jsxs)("li",{children:[t===x.UF&&(0,r.jsx)("p",{className:"px-2 pb-1 pt-5 text-[12px] text-zinc-400 dark:text-zinc-500",children:"수시 6곳 밖"}),(0,r.jsxs)("div",{className:"".concat(v.vU," items-center gap-3 px-2 py-2.5"),children:[(0,r.jsxs)("span",{className:"flex min-w-0 items-baseline gap-2",children:[(0,r.jsx)("span",{className:"w-5 shrink-0 text-right text-[13px] font-medium tabular-nums text-zinc-400",children:t+1}),(0,r.jsx)("span",{className:"truncate text-[14px] font-semibold text-zinc-900 dark:text-zinc-50",children:e.track.name})]}),(0,r.jsx)("span",{className:"truncate text-[14px] text-zinc-700 dark:text-zinc-200",children:e.track.department}),(0,r.jsx)("div",{className:"min-w-0",children:(0,r.jsx)("p",{className:"truncate text-[13px] text-zinc-600 dark:text-zinc-300",title:(0,v.b5)(e.track),children:(0,v.b5)(e.track)})}),(0,r.jsx)(g.wz,{years:s,data:e.track.years,grade:a}),(0,r.jsx)("div",{className:"flex h-8 justify-end",children:!d&&(0,r.jsx)(z,{label:"후보에서 빼기",onClick:()=>
1o(e),disabled:c,children:(0,r.jsx)(l.Z,{size:15})})})]})]},e.planId))})]})]})}function y(e){return"narrow"===e.layout?(0,r.jsx)(w,{...e}):(0,r.jsx)(j,{...e})}function w(e){let{items:t,loading:n,error:i,grade:a,years:s,busy:c,readOnly:d,onRemove:o,onCompare:u,onRetry:m,flat:p}=e;return(0,r.jsxs)("section",{className:p?"bg-white px-5 pb-1 pt-1.5 dark:bg-[#1C1C1E]":"pt-8",children:[(0,r.jsxs)("div",{className:"flex min-h-9 items-center justify-between gap-2",children:[(0,r.jsxs)("h3",{className:(0,h.cn)("flex items-baseline gap-1.5",p?"text-sm font-semibold text-zinc-800 dark:text-zinc-200":"text-[16px] font-semibold tracking-tight text-zinc-900 dark:text-zinc-50"),children:["수시 모의 지원",t.length>0&&(0,r.jsxs)("span",{className:"font-medium tabular-nums text-zinc-400",children:[t.length,"/",x.UF]})]}),t.length>0&&(0,r.jsxs)("button",{type:"button",onClick:u,className:"-mr-2 inline-flex h-9 items-center gap-1.5 rounded-lg px-2.5 text-[14px] font-medium text-zinc-600 transition active:bg-zinc-100 dark:text-zinc-300 dark:active:bg-white/[0.06]",children:[(0,r.jsx)(k,{size:15}),"상세 보기"]})]}),n?(0,r.jsx)(b.MobileLoadingSwap,{variant:"universities",label:"담아 둔 대학을 불러오고 있어요",count:2,className:"px-0",fallback:(0,r.jsx)("div",{className:"mt-3 space-y-3",children:[0,1].map(e=>(0,r.jsx)("div",{className:"h-[88px] animate-pulse rounded-xl bg-zinc-100 dark:bg-white/[0.04]"},e))})}):i?(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"mt-3 text-sm text-zinc-500 dark:text-zinc-400",children:i}),m&&(0,r.jsx)("button",{type:"button",onClick:m,className:"md:hidden mt-2 min-h-11 rounded-lg border border-zinc-200 px-4 text-sm dark:border-white/10",children:"담은 대학 다시 불러오기"})]}):0===t.length?(0,r.jsx)("p",{className:(0,h.cn)("mt-2 leading-relaxed text-zinc-500 dark:text-zinc-400",p?"pb-2.5 text-[13px]":"text-[14px]"),children:d?"등록된 수시 모의 지원이 없습니다.":(0,r.jsxs)(r.Fragment,{children:["아직 담은 대학이 없어요. 아래 대학 찾기에서 ",(0,r.jsx)(f.Z,{size:14,className:"-mt-0.5 inline","aria-label":"담기"})," 를 눌러 담아 보세요."]})}):(0,r.jsx)("ol",{className:"admission-mobile-candidates mt-1",children:t.map((e,t)=>(0,r.jsxs)("li",{className:"admission-mobile-candidate-card",children:[t===x.UF&&(0,r.jsx)("p",{className:"pb-1 pt-5 text-[12px] font-medium text-zinc-400 dark:text-zinc-500",children:"수시 6곳 밖"}),(0,r.jsxs)("div",{className:"admission-mobile-candidate-content grid grid-cols-[20px_minmax(0,1fr)_auto] gap-x-2 py-3",children:[(0,r.jsx)("span",{className:"pt-0.5 text-right text-[13px] font-medium tabular-nums text-zinc-400",children:t+1}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsxs)("p",{className:"text-[15px] leading-snug text-zinc-900 dark:text-zinc-50",children:[(0,r.jsx)("span",{className:"font-semibold",children:e.track.name})," ",(0,r.jsx)("span",{className:"text-zinc-700 dark:text-zinc-200",children:e.track.department})]}),(0,r.jsx)("p",{className:"mt-0.5 truncate text-[13px] text-zinc-500 dark:text-zinc-400",children:(0,v.b5)(e.track)}),(0,r.jsx)(g.wz,{className:"mt-2.5",years:s,data:e.track.years,grade:a,withYear:!0})]}),!d&&(0,r.jsx)("button",{type:"button","aria-label":"후보에서 빼기",onClick:()=>o(e),disabled:c,className:"-mr-2 -mt-2 flex h-10 w-10 items-center justify-center rounded-lg text-zinc-400 transition active:bg-zinc-100 disabled:pointer-events-none disabled:opacity-30 dark:text-zinc-500 dark:active:bg-white/[0.06]",children:(0,r.jsx)(l.Z,{size:17})})]})]},e.planId))})]})}var N=n(30166),C=n(87629);let E=(0,N.default)(()=>n.e(9576).then(n.bind(n,89576)).then(e=>e.CompareView),{loadableGenerated:{webpack:()=>[89576]},ssr:!1}),S=e=>e>0?e<640:window.innerWidth<640,M=e=>e instanceof Error&&e.message?e.message:"잠시 후 다시 시도해 주세요.";function R(e){let{api:t,studentGrade:n,variant:p,isGuest:b=!1,readOnly:f=!1,academicYear:g,onUploadGrades:k,flat:z=!1}=e,{showToast:j}=(0,c.pm)(),[w,N]=function(){let[e,t]=(0,a.useState)(null),[n,r]=(0,a.useState)(0);return(0,a.useLayoutEffect)(()=>
1{if(!e)return;let t=()=>r(e.getBoundingClientRect().width);t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[e]),[t,n]}(),R=S(N),L=R?"narrow":"medium",T=z&&R,F=function(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{if("function"!=typeof window.matchMedia)return;let e=window.matchMedia("(max-width: 767px)"),n=()=>t(e.matches);return n(),e.addEventListener("change",n),()=>e.removeEventListener("change",n)},[]),e}(),B=n>0?(0,m.RQ)(g?g-n+1:(0,m.Bz)(n)):"9-GRADE",I="5-GRADE"===B,[A,G]=(0,a.useState)(null),Z=(null==A?void 0:A.api)===t?A.records:null,[P,D]=(0,a.useState)(d.xc),[O,U]=(0,a.useState)(!1),[q,_]=(0,a.useState)(0),[W,Q]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(b)return;let e=!0;return 0===q&&G(null),Q(!1),t.loadGradeRecords().then(n=>e&&G({api:t,records:n})).catch(()=>e&&Q(!0)),()=>{e=!1}},[t,b,q]);let H=(0,a.useMemo)(()=>k?()=>k(()=>_(e=>e+1)):void 0,[k]),K=(0,a.useMemo)(()=>{if(!Z)return;let e={toNine:I&&O,gradingSystem:B};return Object.fromEntries(d.Zy.map(t=>[t.key,(0,d.ql)(Z,t.key,e)]))},[Z,O,I,B]),X=(0,a.useMemo)(()=>Z?(0,d.ql)(Z,P,{toNine:I&&O,gradingSystem:B}):null,[Z,P,O,I,B]),[Y,V]=(0,a.useState)(""),[J,$]=(0,a.useState)(""),[ee,et]=(0,a.useState)({admissionType:null,regions:[],excludeSpecial:!0}),[en,er]=(0,a.useState)([]),[ei,ea]=(0,a.useState)(0),[es,el]=(0,a.useState)([]),[ec,ed]=(0,a.useState)(!0),[eo,eu]=(0,a.useState)(null),[ex,em]=(0,a.useState)(0),eh=(0,a.useRef)(0),ep=(0,a.useCallback)(()=>{eh.current++},[]);(0,a.useEffect)(()=>{let e=setTimeout(()=>$(Y.trim()),250);return()=>clearTimeout(e)},[Y]);let eb=(0,a.useMemo)(()=>{var e;return{q:J||void 0,admissionType:null!==(e=ee.admissionType)&&void 0!==e?e:void 0,regions:ee.regions.length?ee.regions:void 0,excludeSpecial:ee.excludeSpecial,grade:X}},[J,ee,X]),ef=null!==Z;(0,a.useEffect)(()=>{if(b||!ef)return;let e=++eh.current;return ed(!0),eu(null),er([]),ea(0),t.find({...eb,offset:0,limit:o.m}).then(t=>{e===eh.current&&(er(t.items),ea(t.total),el(t.years))}).catch(t=>e===eh.current&&eu(M(t)||"대학 목록을 불러오지 못했어요.")).finally(()=>e===eh.current&&ed(!1)),ep},[t,eb,ef,b,ex,ep]);let eg=(0,a.useCallback)(()=>{if(ec||Y.trim()!==J)return;let e=++eh.current;ed(!0),t.find({...eb,offset:en.length,limit:o.m}).then(t=>{e===eh.current&&(er(e=>[...e,...t.items.filter(t=>!e.some(e=>e.id===t.id))]),ea(t.total))}).catch(t=>e===eh.current&&j(M(t),"error")).finally(()=>e===eh.current&&ed(!1))},[t,eb,en.length,j,ec,Y,J]),[ev,ek]=(0,a.useState)(null),ez=(0,a.useCallback)(e=>{ek(t=>t===e?null:e)},[]),[ej,ey]=(0,a.useState)([]),[ew,eN]=(0,a.useState)(0),[eC,eE]=(0,a.useState)(!0),[eS,eM]=(0,a.useState)(null),[eR,eL]=(0,a.useState)(!1),[eT,eF]=(0,a.useState)(new Set),eB=(0,a.useRef)(0),eI=(0,a.useCallback)((e,t)=>{e===eB.current&&ey(t)},[]);(0,a.useEffect)(()=>{if(b)return;let e=!0;return eE(!0),eM(null),t.listCandidates().then(t=>e&&ey(t)).catch(()=>e&&eM("수시 모의 지원을 불러오지 못했어요.")).finally(()=>e&&eE(!1)),()=>{e=!1}},[t,b,ew]);let eA=(0,a.useMemo)(()=>new Set(ej.map(e=>e.track.id)),[ej]),eG=(0,a.useCallback)(async(e,n)=>{eF(t=>new Set(t).add(e.id));let r=++eB.current;try{eI(r,await t.addCandidate(e.id,n))}catch(e){j(M(e),"error")}finally{eF(t=>{let n=new Set(t);return n.delete(e.id),n})}},[t,eI,j]),eZ=(0,a.useCallback)(async e=>{let n=ej.findIndex(t=>t.planId===e.planId);ey(t=>t.filter(t=>t.planId!==e.planId)),eL(!0);let r=++eB.current;try{eI(r,await t.removeCandidate(e.planId)),R&&j("후보에서 뺐어요 \xb7 ".concat(e.track.name," ").concat(e.track.department),"info",{label:"되돌리기",onClick:()=>void eG(e.track,n)})}catch(e){r===eB.current&&ey(ej),j(M(e),"error")}finally{eL(!1)}},[t,ej,eG,eI,j,R]),eP=(0,a.useCallback)(e=>{let t=ej.find(t=>t.track.id===e);t&&eZ(t)},[ej,eZ]),[eD,eO]=(0,a.useState)(!1),eU=(0,a.useCallback)(()=>eO(!0),[]),eq=(0,a.useMemo)(()=>es.length?es:(0,u.tx)(ej.flatMap(e=>e.track.years.map(e=>e.year))),[es,ej]),[e_,eW]=(0,a.useState)(!1);if((0,a.useEffect)(()=>{if(!e_)return;let e=e=>"Escape"===e.key&&!eD&&eW(!1);return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[e_,eD]),b)return(0,r.jsxs)("div",{className:(0,h.cn)("bg-white px-6 py-12 text-center",z?"dark:bg-[#1C1C1E]":"rounded-2xl border border-zinc-200/80 dark:border-white/[0.06] dark:bg-[#18181b]"),children:[(0,r.jsx)("p",{className:"text-[15px] font-semibold text-zinc-900 dark:text-zinc-50",children:"로그인하면 대학을 찾아볼 수 있어요"}),(0,r.jsx)("p",{className:"mt-1 text-[13px] text-zinc-500 dark:text-zinc-400",children:"학생 성적과 수시 입결을 나란히 놓고 수시 모의 지원을 정리합니다."}),(0,r.jsx)("button",{type:"button",onClick:()=>window.dispatchEvent(new CustomEvent("open-login-modal")),className:"btn-primary-solid mt-5 rounded-xl px-5 py-2.5 text-sm font-semibold",children:"로그인"})]});let eQ=(0,r.jsxs)(r.Fragment,{children:[W?T?(0,r.jsx)("div",{className:"bg-white px-5 py-3 dark:bg-[#1C1C1E]",children:(0,r.jsx)(i.A,{message:"기준 성적을 불러오지 못했어요. 다시 불러와 주세요.",onRetry:()=>_(e=>e+1)})}):(0,r.jsx)(i.A,{message:"기준 성적을 불러오지 못했어요. 다시 불러와 주세요.",onRetry:()=>_(e=>e+1)}):(0,r.jsx)(C.nJ,{compact:R,flat:T,grade:X,loading:null===Z,basis:P,onBasisChange:D,isFiveGrade:I,toNine:O,onToNineChange:U,onExpand:"teacher"!==p||e_||F?void 0:()=>eW(!0),gradesByBasis:K,onUploadGrades:f||"teacher"!==p?void 0:H}),(0,r.jsx)(y,{flat:T,readOnly:f,layout:L,items:ej,loading:eC,error:eS,onRetry:()=>eN(e=>e+1),grade:X,years:eq,busy:eR||eT.size>0,onRemove:eZ,onCompare:eU})]}),eH=(0,r.jsx)(v.S7,{flat:T,readOnly:f,layout:L,sheets:F,query:Y,onQueryChange:V,filters:ee,onFiltersChange:et,items:en,total:ei,loading:!W&&(ec||!ef),loadingLabel:ef?en.length?"다음 대학 정보를 불러오고 있어요":"조건에 맞는 대학과 입결을 찾고 있어요":"기준 성적을 확인한 뒤 대학을 찾아드릴게요",error:W?"기준 성적을 확인하지 못해 대학 찾기를 시작하지 못했어요.":eo,onRetry:()=>W?_(e=>e+1):em(e=>e+1),onMore:eg,grade:X,addedIds:eA,busyIds:eT,locked:eR||eC||null!==eS,full:ej.length>=x.UF,onAdd:e=>void eG(e),onRemoveByUniversity:eP,expandedId:ev,onToggleExpand:ez,years:eq}),eK=(0,r.jsxs)("div",{ref:w,className:(0,h.cn)("w-full text-zinc-900 dark:text-zinc-50",T?"admission-flat":R?"pb-8 pt-1.5":"bg-white pb-4 dark:bg-[#18181b]"),children:[eQ,eH,eD&&(0,r.jsx)(E,{studentGrade:n,academicYear:g,loadMockExams:b?void 0:t.loadMockExams,flat:T,open:eD,onClose:()=>eO(!1),layout:L,items:ej,grade:X,years:eq,basis:P,onBasisChange:D,gradesByBasis:K,isFiveGrade:I,toNine:O,onToNineChange:U})]});return e_&&"undefined"!=typeof document?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"rounded-2xl border border-dashed border-zinc-200 px-6 py-10 text-center text-sm text-zinc-400 dark:border-white/10",children:"전체화면으로 보고 있어요."}),(0,s.createPortal)((0,r.jsx)("div",{className:"fixed inset-0 z-[70] overflow-y-auto bg-zinc-50 dark:bg-[#0f0f11]",children:(0,r.jsxs)("div",{className:"mx-auto max-w-[1400px] px-6 pb-10 pt-5",children:[(0,r.jsx)("div",{className:"mb-4 flex justify-end",children:(0,r.jsxs)("button",{type:"button",onClick:()=>eW(!1),className:"inline-flex items-center gap-1.5 rounded-md border border-zinc-200 bg-white px-3 py-2 text-sm font-medium text-zinc-700 dark:border-white/10 dark:bg-[#18181b] dark:text-zinc-200",children:[(0,r.jsx)(l.Z,{size:15}),"전체화면 닫기"]})}),eK]})}),document.body)]}):eK}},83822:function(e,t,n){n.d(t,{P:function(){return r}});let r=e=>null==e?"–":e.toFixed(2)},87629:function(e,t,n){n.d(t,{Z9:function(){return m},nJ:function(){return b},rs:function(){return h}});var r=n(57437),i=n(90982),a=n(21235),s=n(54292),l=n(2265),c=n(17689),d=n(45884),o=n(91991),u=n(93448);let x="cubic-bezier(0.32, 0.72, 0, 1)";function m(e){let{basis:t,onBasisChange:n,gradesByBasis:i,grade:a,quiet
1:s,stacked:c}=e,d=o.Zy.findIndex(e=>e.key===t),{groupRef:m,btnRefs:h,thumb:p,ready:b}=function(e){let t=(0,l.useRef)(null),n=(0,l.useRef)([]),[r,i]=(0,l.useState)(null),[a,s]=(0,l.useState)(!1);return(0,l.useLayoutEffect)(()=>{let r=()=>{let t=n.current[e];t&&i({x:t.offsetLeft,y:t.offsetTop,w:t.offsetWidth,h:t.offsetHeight})};if(r(),"undefined"==typeof ResizeObserver)return;let a=new ResizeObserver(r);return t.current&&a.observe(t.current),n.current.forEach(e=>e&&a.observe(e)),()=>a.disconnect()},[e]),(0,l.useEffect)(()=>{if(!r||a)return;let e=requestAnimationFrame(()=>s(!0));return()=>cancelAnimationFrame(e)},[r,a]),{groupRef:t,btnRefs:n,thumb:r,ready:a}}(d);return(0,r.jsxs)("div",{ref:m,role:"group","aria-label":"기준 등급 교과",className:(0,u.cn)("relative gap-0.5",c?"grid grid-cols-4":"flex flex-wrap"),children:[p&&(0,r.jsx)("span",{"aria-hidden":!0,className:(0,u.cn)("absolute left-0 top-0 motion-reduce:!transition-none",s?(0,u.cn)(c?"rounded-lg":"rounded-md","bg-white shadow-sm ring-1 ring-zinc-900/[0.06] dark:bg-white/[0.12] dark:shadow-none dark:ring-0"):(0,u.cn)(c?"rounded-xl":"rounded-lg","bg-zinc-900 dark:bg-white")),style:{width:p.w,height:p.h,transform:"translate(".concat(p.x,"px, ").concat(p.y,"px)"),transition:b?"transform 260ms ".concat(x,", width 260ms ").concat(x):void 0}}),o.Zy.map((e,l)=>{var o;let x=null!==(o=null==i?void 0:i[e.key])&&void 0!==o?o:t===e.key?a:null,m=l===d,b=null===x?"–":x.toFixed(2);return(0,r.jsx)("button",{ref:e=>{h.current[l]=e},type:"button","aria-pressed":m,onClick:()=>n(e.key),className:(0,u.cn)("segment-btn relative flex items-center transition-colors duration-200",c?(0,u.cn)("min-w-0 flex-col justify-center px-1",s?"h-12 rounded-lg":"h-14 roun
1ded-xl"):s?"h-8 rounded-md px-2.5":"h-9 rounded-lg px-3",s?m?(0,u.cn)("text-zinc-900 dark:text-zinc-50",!p&&"bg-white dark:bg-white/[0.12]"):"text-zinc-500 hover:text-zinc-800 dark:text-zinc-400 dark:hover:text-zinc-100":m?(0,u.cn)("text-zinc-50 dark:text-zinc-900",!p&&"bg-zinc-900 dark:bg-white"):(0,u.cn)("text-zinc-600 dark:text-zinc-300",!c&&"hover:bg-zinc-200/60 hover:text-zinc-900 dark:hover:bg-white/[0.06] dark:hover:text-zinc-50")),children:(0,r.jsxs)("span",{className:(0,u.cn)("flex",c?"max-w-full flex-col items-center gap-0.5":(0,u.cn)("items-baseline",s?"gap-1.5":"gap-2")),children:[(0,r.jsx)("span",{className:(0,u.cn)("font-medium",c&&"max-w-full truncate",s||c?"text-[12px]":"text-[13px]"),children:e.label}),m?(0,r.jsx)("span",{className:(0,u.cn)("tabular-nums duration-150 motion-safe:animate-in motion-safe:fade-in motion-safe:slide-in-from-bottom-1",s?"text-[13px] font-semibold":c?"text-[16px] font-bold":"text-[14px] font-bold"),children:b},b):(0,r.jsx)("span",{className:(0,u.cn)("font-medium tabular-nums text-zinc-400 transition-colors duration-200 dark:text-zinc-500",s?"text-[13px]":c?"text-[16px]":"text-[14px]"),children:b})]})},e.key)})]})}function h(e){let{toNine:t,onToNineChange:n,quiet:i}=e,a=i?"font-semibold":"font-bold";return(0,r.jsx)("div",{role:"group","aria-label":"등급 단위",className:(0,u.cn)("flex items-center",i?"text-[12px]":"text-[13px]"),children:[!1,!0].map((e,i)=>(0,r.jsxs)("span",{className:"flex items-center",children:[i>0&&(0,r.jsx)("span",{"aria-hidden":!0,className:"text-zinc-300 dark:text-zinc-700",children:"\xb7"}),(0,r.jsxs)("button",{type:"button","aria-pressed":t===e,"aria-label":e?"9등급으로 환산":void 0,onClick:()=>n(e),className:(0,u.cn)("segment-btn grid h-8 px-1.5 transition-colors",t===e?(0,u.cn)(a,"text-zinc-900 dark:text-zinc-50"):"font-normal text-zinc-400 hover:text-zinc-600 dark:text-zinc-500 dark:hover:text-zinc-300"),children:[(0,r.jsx)("span",{"aria-hidden":!0,className:(0,u.cn)("invisible col-start-1 row-start-1",a),children:e?"9등급":"5등급"}),(0,r.jsx)("span",{className:"col-start-1 row-start-1 self-center",children:e?"9등급":"5등급"})]})]},String(e)))})}function p(e){let{grade:t,loading:n,basis:s,onBasisChange:l,isFiveGrade:u,toNine:x,onToNineChange:p,onExpand:b,gradesByBasis:f,onUploadGrades:g}=e,v=!n&&(f?o.Zy.every(e=>null===f[e.key]):null===t);return(0,r.jsxs)("section",{className:"mx-3.5 mt-1 flex min-h-12 flex-wrap items-center gap-x-1 gap-y-1 rounded-xl bg-zinc-100/70 p-1.5 dark:bg-white/[0.04]",children:[(0,r.jsx)("h3",{className:"px-2.5 text-[13px] font-medium text-zinc-500 dark:text-zinc-400",children:"기준 등급"}),n?(0,r.jsxs)("div",{className:"w-80 max-w-full space-y-2",children:[(0,r.jsx)(i.Q,{label:"기준 성적을 확인하고 있어요"}),(0,r.jsx)(a.Od,{height:36})]}):v?(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("p",{className:"text-[13px] text-zinc-500 dark:text-zinc-400",children:"내신 기록이 없어요"}),g&&(0,r.jsxs)("button",{type:"button",onClick:g,className:"btn-primary-solid inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-[13px] font-semibold",children:[(0,r.jsx)(c.Z,{size:14}),"성적 파일 업로드"]})]}):(0,r.jsx)(m,{basis:s,onBasisChange:l,gradesByBasis:f,grade:t}),(0,r.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[u&&!v&&!n&&(0,r.jsx)(h,{toNine:x,onToNineChange:p}),b&&(0,r.jsx)("button",{type:"button",onClick:b,"aria-label":"전체화면",title:"전체화면",className:"ml-1 flex h-9 w-9 items-center justify-center rounded-lg text-zinc-500 transition hover:bg-zinc-200/60 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-white/[0.06] dark:hover:text-zinc-100",children:(0,r.jsx)(d.Z,{size:16})})]})]})}function b(e){return e.compact?(0,r.jsx)(f,{...e}):(0,r.jsx)(p,{...e})}function f(e){let{grade:t,loading:n,basis:i,onBasisChange:a,isFiveGrade:l,toNine:x,onToNineChange:p,onExpand:b,gradesByBasis:f,onUploadGrades:g,flat:v}=e,k=!n&&(f?o.Zy.every(e=>null===f[e.key]):null===t),z=(0,r.jsxs)("div",{className:(0,u.cn)("flex min-h-9 items-center gap-1",v?"":"pl-2.5"),children:[(0,r.jsx)("h3",{className:v?"text-sm font-semibold text-zinc-800 dark:text-zinc-200":"text-[13px] font-medium text-zinc-500 dark:text-zinc-400",children:"기준 등급"}),(0,r.jsxs)("div",{className:(0,u.cn)("ml-auto flex items-center",v&&"-mr-1.5"),children:[l&&!k&&!n&&(0,r.jsx)(h,{toNine:x,onToNineChange:p}),b&&(0,r.jsx)("button",{type:"button",onClick:b,"aria-label":"전체화면",title:"전체화면",className:"flex h-8 w-8 items-center justify-center rounded-lg text-zinc-500 transition hover:bg-zinc-200/60 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-white/[0.06] dark:hover:text-zinc-100",children:(0,r.jsx)(d.Z,{size:15})})]})]}),j=n?(0,r.jsx)(s.MobileLoadingSwap,{variant:"grade-basis",label:"기준 성적을 확인하고 있어요",className:"px-2.5",fallback:(0,r.jsx)("div",{className:"h-14 animate-pulse rounded-xl bg-zinc-200/60 dark:bg-white/[0.06]"})}):k?(0,r.jsxs)("div",{className:"flex min-h-14 flex-wrap items-center gap-x-3 gap-y-2 px-2.5 pb-1.5",children:[(0,r.jsx)("p",{className:"text-[14px] text-zinc-500 dark:text-zinc-400",children:"내신 기록이 없어요"}),g&&(0,r.jsxs)("button",{type:"button",onClick:g,className:"btn-primary-solid inline-flex h-9 items-center gap-1.5 rounded-lg px-3 text-[13px] font-semibold",children:[(0,r.jsx)(c.Z,{size:14}),"성적 파일 업로드"]})]}):(0,r.jsx)(m,{stacked:!0,basis:i,onBasisChange:a,gradesByBasis:f,grade:t});return v?(0,r.jsxs)("section",{className:"bg-white px-5 pb-4 pt-1.5 dark:bg-[#1C1C1E]",children:[z,(0,r.jsx)("div",{className:"mt-1.5 rounded-2xl bg-zinc-100/80 p-1 dark:bg-white/[0.05]",children:j})]}):(0,r.jsxs)("section",{className:"rounded-2xl bg-zinc-100/70 p-1.5 dark:bg-white/[0.04]",children:[z,j]})}},1773:function(e,t,n){n.d(t,{Ob:function(){return l},wz:function(){return d}});var r=n(57437),i=n(18261),a=n(93448),s=n(83822);let l="w-[64px]";function c(e){var t;let{year:n,row:c,grade:d,withYear:o}=e,u=!!c&&(null!=c.cut50||null!=c.cut70),x=c&&!u?(0,i.yn)(c,d):null,m=x?"".concat(x.metric.slice(3),"%"):"",h=!x&&(null==c?void 0:c.meanGrade)!=null,p=u?(0,i.B8)(d,c.cut50,c.cut70):null,b=!u&&h?(0,i.q9)(d,c.meanGrade):null,f=(0,i.V0)(p)||(null==x?void 0:x.inside)===!0||!0===b,g="half"===p||!0===b,v=!u&&!x&&!h,k=u?p?i.CX[p]:(0,s.P)(null!==(t=c.cut50)&&void 0!==t?t:c.cut70):x?null===x.inside?"".concat(m,"컷 ").concat((0,s.P)(x.value)):"".concat(m," ").concat(x.inside?"안":"밖"):h?null===b?"평균 등급 ".concat((0,s.P)(c.meanGrade)):b?"평균 안":"평균 밖":"자료 없음",z
1=u?"".concat(n," \xb7 50%ì»· ").concat((0,s.P)(c.cut50)," \xb7 70%ì»· ").concat((0,s.P)(c.cut70)):x?"".concat(n," \xb7 ").concat(m,"ì»· ").concat((0,s.P)(x.value)):h?"".concat(n," \xb7 평균 등급 ").concat((0,s.P)(c.meanGrade)," \xb7 평균 안: 학생 등급 숫자가 평균 이하 \xb7 평균 밖: 평균 초과"):"".concat(n," \xb7 자료 없음");return(0,r.jsxs)("span",{title:z,"aria-label":"".concat(n,"년 ").concat(k),className:(0,a.cn)("flex shrink-0 flex-col items-center justify-center rounded-lg text-center font-medium leading-tight tabular-nums transition-colors duration-300",l,o?"py-1.5":"h-7",v?"text-zinc-500 dark:text-zinc-400":g?"bg-emerald-100 text-emerald-900 dark:bg-emerald-400/[0.22] dark:text-emerald-100":f?"bg-teal-50 text-teal-800 dark:bg-teal-400/10 dark:text-teal-200":"bg-zinc-100 text-zinc-500 dark:bg-white/[0.05] dark:text-zinc-400"),children:[o&&(0,r.jsx)("span",{className:"text-[10px] font-normal opacity-70",children:n}),x&&null===x.inside?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("span",{className:"whitespace-nowrap text-[10px]",children:[m,"ì»·"]}),(0,r.jsx)("span",{className:"text-[12px]",children:(0,s.P)(x.value)})]}):h&&!u&&null===b?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"whitespace-nowrap text-[10px]",children:"평균 등급"}),(0,r.jsx)("span",{className:"text-[12px]",children:(0,s.P)(c.meanGrade)})]}):v?(0,r.jsx)("span",{className:"whitespace-nowrap text-[11px] font-normal",children:k}):(0,r.jsx)("span",{className:"text-[12px]",children:k})]})}function d(e){let{years:t,data:n,grade:i,withYear:s,className:l}=e;return(0,r.jsx)("div",{className:(0,a.cn)("flex gap-1.5",l),children:t.map(e=>(0,r.jsx)(c,{year:e,row:n.find(t=>t.year===e),grade:i,withYear:s},e))})}},65504:function(e,t,n){n.d(t,{vU:function(){return C},S7:function(){return F},b5:function(){return y}});var r=n(57437),i=n(90982),a=n(2265),s=n(54292),l=n(30401),c=n(99397),d=n(33245),o=n(40875),u=n(73247),x=n(32489),m=n(35596),h=n(21108);let p=["서울","경기","인천","강원","충북","충남","대전","세종","전북","전남","광주","경북","경남","대구","부산","울산","제주"];Object.entries({서울:["감리교신대","강서대","건국대","경희대","고려대","광운대","국민대","덕성여대","동국대","동덕여대","명지대","삼육대","상명대","서강대","서경대","서울과학기술대","서울교대","서울기독대","서울대","서울시립대","서울여대","서울한영대","성공회대","성균관대","성신여대","세종대","숙명여대","숭실대","연세대","이화여대","장로회신대","중앙대","추계예대","총신대","한국성서대","한국외대","한국체대","한성대","한양대","홍익대"],경기:["가천대","가톨릭대","강남대","경기대","단국대","대진대","루터대","서울신대","서울장신대","성결대","수원가톨릭대","수원대","신한대","아신대","아주대","안양대","용인대","을지대","중앙대(안성)","차의과학대","칼빈대","평택대","한경국립대","한국공학대","한국외대(글로벌)","한국항공대","한세대","한신대","한양대(ERICA)","협성대","화성의과학대"],인천:["경인교대","인천가톨릭대","인천대","인하대"],강원:["가톨릭관동대","강릉원주대","강원대","강원대(삼척)","경동대","상지대","연세대(미래)","춘천교대","한라대","한림대"],충북:["건국대(글로컬)","극동대","서원대","세명대","유원대","중원대","청주교대","청주대","충북대","한국교원대","한국교통대","가톨릭꽃동네대","유덕대"],충남:["건양대","공주교대","공주대","금강대","나사렛대","남서울대","단국대(천안)","백석대","상명대(천안)","선문대","순천향대","중부대","청운대","한국기술교대","한서대","호서대"],대전:["KAIST","대전대","대전신대","목원대","배재대","우송대","충남대","한국침례신대","한남대","한밭대"],세종:["고려대(세종)","홍익대(세종)","대전가톨릭대"],전북:["군산대","예수대","예원예대","우석대","원광대","전북대","전주교대","전주대","한일장신대","호원대"],전남:["광주가톨릭대","동신대","목포가톨릭대","목포대","목포해양대","세한대","순천대","영산선학대","전남대(여수)","초당대"],광주:["광신대","광주교대","광주대","광주여대","남부대","송원대","전남대","조선대","호남대","호남신대"],경북:["POSTECH","경국대","경운대","경일대","금오공대","김천대","대구가톨릭대","대구대","대구예술대","대구한의대","대신대","동국대(WISE)","동양대","신경주대","안동대","영남대","위덕대","한동대"],경남:["가야대","경남대","경상국립대","부산장신대","영산대","인제대","진주교대","창신대","창원대"],대구:["경북대","계명대","대구교대"],부산:["경성대","고신ë
1Œ€","동명대","동서대","동아대","동의대","부경대","부산가톨릭대","부산교대","부산대","부산외대","신라대","한국해양대"],울산:["UNIST","울산대"],제주:["제주국제대","제주대"]}).flatMap(e=>{let[t,n]=e;return n.map(e=>[e,t])});var b=n(49253),f=n(93448),g=n(1773),v=n(83822);let k="grid grid-cols-[1fr_0.8fr_1.3fr_1fr_1fr] items-center gap-x-2";function z(e){let{row:t}=e,n=[["평균",t.meanGrade],["최고",t.bestGrade],["80%ì»·",t.cut80],["85%ì»·",t.cut85],["90%ì»·",t.cut90],["100%ì»·",t.cut100],["합격자 평균",t.admittedMeanGrade]];return(0,r.jsxs)("div",{className:"space-y-1 pb-2 text-[11px] leading-relaxed text-zinc-600 dark:text-zinc-400",children:[(0,r.jsx)("div",{className:"flex flex-wrap gap-x-3 gap-y-1",children:n.map(e=>{let[t,n]=e;return null!=n?(0,r.jsxs)("span",{children:[t," ",(0,r.jsx)("strong",{className:"font-medium",children:(0,v.P)(n)})]},t):null})}),null!=t.meanGrade&&(0,r.jsx)("p",{children:"평균은 50%ì»·ê³¼ 다른 지표예요. 평균 안은 학생 등급 숫자가 평균 이하, 평균 밖은 평균 초과를 뜻해요."})]})}function j(e){let{rows:t}=e;return t.length?(0,r.jsxs)("div",{role:"table","aria-label":"연도별 입결",className:"w-full max-w-xl rounded-xl bg-zinc-50 px-3 py-2 text-[13px] tabular-nums dark:bg-white/[0.03]",children:[(0,r.jsx)("div",{role:"row",className:"".concat(k," py-1.5 text-[11px] font-medium text-zinc-600 dark:text-zinc-400"),children:["연도","모집","경쟁률","50%ì»·","70%ì»·"].map((e,t)=>(0,r.jsx)("span",{role:"columnheader",className:t?"text-right":"",children:e},e))}),t.map(e=>{var t;return(0,r.jsxs)(a.Fragment,{children:[(0,r.jsxs)("div",{role:"row",className:"".concat(k," border-t border-zinc-200/70 py-2 text-zinc-600 dark:border-white/[0.06] dark:text-zinc-300"),children:[(0,r.jsx)("span",{role:"cell",children:e.year}),(0,r.jsx)("span",{role:"cell",className:"text-right",children:null!==(t=e.capacity)&&void 0!==t?t:"–"}),(0,r.jsx)("span",{role:"cell",className:"text-right",children:null===e.competitionRate?"–":"".concat(e.competitionRate.toFixed(1).replace(/\.0$/,"")," : 1")}),(0,r.jsx)("span",{role:"cell",className:"text-right font-semibold text-zinc-900 dark:text-zinc-50",children:(0,v.P)(e.cut50)}),(0,r.jsx)("span",{role:"cell",className:"text-right",children:(0,v.P)(e.cut70)})]}),(0,r.jsx)("div",{role:"row",children:(0,r.jsx)("div",{role:"cell","aria-colspan":5,children:(0,r.jsx)(z,{row:e})})})]},e.year)})]}):(0,r.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:"연도별 자료가 없어요."})}let y=e=>{var t;return(null===(t=e.detailType)||void 0===t?void 0:t.startsWith("".concat(e.admissionType,"(")))?e.detailType:[e.admissionType,e.detailType].filter(Boolean).join(" \xb7 ")};function w(e){let{added:t,busy:n,full:i,onAdd:a,onRemove:s,large:d}=e,o=i&&!t,u=t?"후보에서 빼기":o?"".concat(h.UF,"곳까지 담을 수 있어요"):"후보에 담기";return(0,r.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),t?s():a()},disabled:n||o,"aria-label":u,title:t?"담음 \xb7 누르면 빼요":u,className:(0,f.cn)("flex shrink-0 items-center justify-center rounded-lg transition disabled:pointer-events-none disabled:opacity-40",d?"h-10 w-10":"h-8 w-8",t?"bg-zinc-100 text-zinc-900 hover:bg-zinc-200 dark:bg-white/[0.08] dark:text-zinc-50 dark:hover:bg-white/[0.12]":"text-zinc-400 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-500 dark:hover:bg-white/[0.06] dark:hover:text-zinc-50"),children:t?(0,r.jsx)(l.Z,{size:16,strokeWidth:2.25}):(0,r.jsx)(c.Z,{size:17})})}function N(e,t){return t.regions.length?"지역을 '전국'으로 바꿔 보세요.":t.admissionType?"전형을 '전체'로 바꿔 보세요.":e.trim()?"검색어를 줄이거나 초성(예: ㅊㅂㄷ)으로 찾아보세요.":"조건을 바꿔 보세요."}let C="grid grid-cols-[minmax(64px,1fr)_minmax(90px,1.2fr)_minmax(110px,1.6fr)_auto_40px]";function E(e){let{value:t,onChange:n,fill:i}=e,s=[{key:null,label:"전체"},...b.e.map(e=>({key:e,label:e}))],l=Math.max(0,s.findIndex(e=>e.key===t)),c=(0,a.useRef)(null),d=(0,a.useRef)([]),[o,u]=(0,a.useState)(null),[x,m]=(0,a.useState)(!1);return(0,a.useLayoutEffect)(()=>{let e=()=>{let e=d.current[l];if(e){let t=Math.max(...d.current.map(e=>{var t;return null!==(t=null==e?void 0:e.offsetWidth)&&void 0!==t?t:0}));u({x:e.offsetLeft,w:e.offsetWidth,maxW:t})}};e();let t=c.current;if(!t||"undefined"==typeof ResizeObserver)return;let n=new ResizeObserver(e);return n.observe(t),()=>n.disconnect()},[l]),(0,a.useEffect)(()=>
1{if(!o||x)return;let e=requestAnimationFrame(()=>m(!0));return()=>cancelAnimationFrame(e)},[o,x]),(0,r.jsxs)("div",{ref:c,role:"group","aria-label":"전형",className:(0,f.cn)("relative flex shrink-0 border border-zinc-200 p-0.5 dark:border-white/10",i?"h-10 min-w-0 flex-1 rounded-lg":"h-9 rounded-md"),children:[o&&(0,r.jsx)("span",{"aria-hidden":!0,className:(0,f.cn)("absolute bottom-0.5 left-0 top-0.5 origin-left bg-zinc-900 motion-reduce:!transition-none dark:bg-white",i?"rounded-md":"rounded-[5px]"),style:{width:o.maxW,transform:"translateX(".concat(o.x,"px) scaleX(").concat(o.w/o.maxW,")"),transition:x?"transform 260ms cubic-bezier(0.32, 0.72, 0, 1)":void 0}}),s.map((e,t)=>{let a=t===l;return(0,r.jsx)("button",{ref:e=>{d.current[t]=e},type:"button","aria-pressed":a,onClick:()=>n(e.key),className:(0,f.cn)("segment-btn relative font-medium transition-colors duration-200",i?"min-w-0 flex-1 rounded-md px-1 text-[14px]":"rounded-[5px] px-3 text-[13px]",a?(0,f.cn)("text-zinc-50 dark:text-zinc-900",!o&&"bg-zinc-900 dark:bg-white"):"text-zinc-600 hover:text-zinc-900 dark:text-zinc-300 dark:hover:text-zinc-50"),children:e.label},e.label)})]})}function S(){let[e,t]=(0,a.useState)(!1),[n,i]=(0,a.useState)(!1),s=(0,a.useRef)(null),l=e||n;return(0,a.useEffect)(()=>{if(!n)return;let e=e=>{var t;(null===(t=s.current)||void 0===t?void 0:t.contains(e.target))||i(!1)},t=e=>"Escape"===e.key&&i(!1);return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[n]),(0,r.jsxs)("span",{ref:s,className:"relative",onMouseEnter:()=>t(!0),onMouseLeave:()=>t(!1),children:[(0,r.jsx)("button",{type:"button","aria-label":"50%컷\xb770%컷 뜻","aria-expanded":l,"aria-describedby":l?"cut-info":void 0,onClick:()=>i(e=>!e),onFocus:()=>t(!0),onBlur:()=>t(!1),className:"flex h-8 w-8 items-center justify-center rounded-md text-zinc-400 transition hover:text-zinc-700 focus-visible:text-zinc-700 dark:text-zinc-500 dark:hover:text-zinc-200 dark:focus-visible:text-zinc-200",children:(0,r.jsx)(d.Z,{size:14})}),l&&(0,r.jsxs)("span",{id:"cut-info",role:"tooltip",className:"absolute right-0 top-full z-30 mt-1.5 block w-[252px] break-keep rounded-lg border border-zinc-200 bg-white p-3 text-left text-[12.5px] leading-relaxed text-zinc-600 shadow-lg dark:border-white/10 dark:bg-[#1f1f23] dark:text-zinc-300",children:[(0,r.jsx)("span",{className:"block font-semibold text-zinc-900 dark:text-zinc-50",children:"50%컷 \xb7 70%컷"}),(0,r.jsx)("span",{className:"mt-1 block",children:"등록한 학생을 성적순으로 세웠을 때 위에서 50%, 70% 자리 학생의 등급"}),(0,r.jsx)("span",{className:"mt-2 block",children:"ex) 모집인원이 10명인 전형의 70% 컷: 등록한 학생 중 7등의 내신 등급."})]})]})}let M=e=>0===e.length?"전국":1===e.length?e[0]:"".concat(e[0]," 외 ").concat(e.length-1,"곳");function R(e){let{value:t,onChange:n}=e,[i,s]=(0,a.useState)(!1),l=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(!i)return;let e=e=>{var t;(null===(t=l.current)||void 0===t?void 0:t.contains(e.target))||s(!1)},t=e=>"Escape"===e.key&&s(!1);return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[i]);let c=e=>n(t.includes(e)?t.filter(t=>t!==e):p.filter(n=>n===e||t.includes(n)));return(0,r.jsxs)("div",{ref:l,className:"relative shrink-0",children:[(0,r.jsxs)("button",{type:"button","aria-expanded":i,"aria-haspopup":"dialog",onClick:()=>s(e=>!e),className:(0,f.cn)("inline-flex h-9 items-center gap-1.5 rounded-md border px-3 text-[13px] transition",i?"border-zinc-400 dark:border-white/30":"border-zinc-200 hover:border-zinc-300 dark:border-white/10 dark:hover:border-white/20"),children:[(0,r.jsx)("span",{className:"text-zinc-400 dark:text-zinc-500",children:"지역"}),(0,r.jsx)("span",{className:"font-medium text-zinc-800 dark:text-zinc-100",children:M(t)}),(0,r.jsx)(o.Z,{size:14,className:(0,f.cn)("text-zinc-400 transition-transform",i&&"rotate-180")}
1)]}),i&&(0,r.jsx)("div",{role:"dialog","aria-label":"지역 고르기",className:"absolute right-0 top-full z-30 mt-1.5 w-[296px] rounded-lg border border-zinc-200 bg-white p-3 shadow-lg dark:border-white/10 dark:bg-[#1f1f23]",children:(0,r.jsxs)("div",{className:"grid grid-cols-4 gap-1",children:[(0,r.jsx)(L,{on:0===t.length,onClick:()=>n([]),children:"전국"}),p.map(e=>(0,r.jsx)(L,{on:t.includes(e),onClick:()=>c(e),children:e},e))]})})]})}function L(e){let{on:t,onClick:n,children:i,large:a}=e;return(0,r.jsx)("button",{type:"button","aria-pressed":t,onClick:n,className:(0,f.cn)("rounded-md font-medium transition",a?"h-11 rounded-lg text-[15px]":"h-8 text-[13px]",t?"bg-zinc-900 text-white dark:bg-white dark:text-zinc-900":a?"bg-zinc-100 text-zinc-700 active:bg-zinc-200 dark:bg-white/[0.06] dark:text-zinc-200":"text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-300 dark:hover:bg-white/[0.06] dark:hover:text-zinc-50"),children:i})}function T(e){var t;return(0,r.jsxs)("section",{className:"mx-3.5 pt-12",children:[(0,r.jsx)("h3",{className:"text-[15px] font-semibold tracking-tight text-zinc-900 dark:text-zinc-50",children:"대학 찾기"}),(0,r.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:[(0,r.jsxs)("div",{className:"relative min-w-[260px] flex-1",children:[(0,r.jsx)(u.Z,{size:15,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-zinc-400"}),(0,r.jsx)("input",{type:"search",value:e.query,onChange:t=>e.onQueryChange(t.target.value),placeholder:"대학\xb7학과 검색 (예: 서울 교육)",className:"h-9 w-full rounded-md border border-zinc-200 bg-white pl-9 pr-8 text-[14px] text-zinc-900 outline-none transition [&::-webkit-search-cancel-button]:appearance-none placeholder:text-zinc-400 hover:border-zinc-300 focus:border-zinc-400 dark:border-white/10 dark:bg-transparent dark:text-zinc-100 dark:focus:border-white/30"}),e.query&&(0,r.jsx)("button",{type:"button",onClick:()=>e.onQueryChange(""),"aria-label":"검색어 지우기",className:"absolute right-1.5 top-1/2 flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-200",children:(0,r.jsx)(x.Z,{size:14})})]}),(0,r.jsx)(E,{value:e.filters.admissionType,onChange:t=>e.onFiltersChange({...e.filters,admissionType:t})}),(0,r.jsx)(R,{value:e.filters.regions,onChange:t=>e.onFiltersChange({...e.filters,regions:t})}),(0,r.jsxs)("label",{className:"inline-flex h-9 shrink-0 cursor-pointer items-center gap-2 px-1 text-[13px] text-zinc-600 dark:text-zinc-300",title:"기회균형\xb7농어촌 등",children:[(0,r.jsx)("input",{type:"checkbox",checked:e.filters.excludeSpecial,onCh
1ange:t=>e.onFiltersChange({...e.filters,excludeSpecial:t.target.checked}),className:"h-4 w-4 rounded border-zinc-300 accent-zinc-900 dark:accent-white"}),"특수전형 빼기"]})]}),(0,r.jsxs)("div",{className:"".concat(C," mt-5 items-center gap-3 border-b border-zinc-100 px-2 pb-2 text-[12px] text-zinc-400 dark:border-white/[0.06] dark:text-zinc-500"),children:[(0,r.jsx)("span",{children:"대학"}),(0,r.jsx)("span",{children:"학과"}),(0,r.jsx)("span",{children:"전형"}),(0,r.jsx)("span",{className:"flex gap-1.5",children:e.years.map(e=>(0,r.jsx)("span",{className:(0,f.cn)(g.Ob,"text-center tabular-nums"),children:e},e))}),(0,r.jsx)("span",{className:"flex justify-end",children:(0,r.jsx)(S,{})})]}),(0,r.jsx)("ul",{className:"pt-1",children:e.items.map(t=>{let n=e.addedIds.has(t.id),i=e.expandedId===t.id;return(0,r.jsxs)("li",{children:[(0,r.jsxs)("div",{role:"button",tabIndex:0,"aria-expanded":i,onClick:()=>e.onToggleExpand(t.id),onKeyDown:n=>{n.target===n.currentTarget&&("Enter"===n.key||" "===n.key)&&(n.preventDefault(),e.onToggleExpand(t.id))},className:(0,f.cn)(C,"cursor-pointer items-center gap-3 rounded-md px-2 py-2.5 outline-none transition hover:bg-zinc-50 focus-visible:bg-zinc-50 dark:hover:bg-white/[0.03] dark:focus-visible:bg-white/[0.04]",i&&"bg-zinc-50 dark:bg-white/[0.03]"),children:[(0,r.jsx)("span",{className:"truncate text-[14px] font-semibold text-zinc-900 dark:text-zinc-50",children:t.name}),(0,r.jsx)("span",{className:"truncate text-[14px] text-zinc-700 dark:text-zinc-200",children:t.department}),(0,r.jsx)("div",{className:"min-w-0",children:(0,r.jsx)("p",{className:"truncate text-[13px] text-zinc-600 dark:text-zinc-300",title:y(t),children:y(t)})}),(0,r.jsx)(g.wz,{years:e.years,data:t.years,grade:e.grade}),(0,r.jsx)("div",{className:"flex h-8 justify-end",children:!e.readOnly&&(0,r.jsx)(w,{added:n,busy:e.busyIds.has(t.id)||e.locked,full:e.full,onAdd:()=>e.onAdd(t),onRemove:()=>e.onRemoveByUniversity(t.id)})})]}),i&&(0,r.jsx)("div",{className:"px-2 pb-4 pt-1",children:(0,r.jsx)(j,{rows:t.years})})]},t.id)})}),e.loading&&(0,r.jsx)(i.ContentLoadingState,{variant:"table",rows:e.items.length?2:5,label:null!==(t=e.loadingLabel)&&void 0!==t?t:"대학과 입결을 불러오고 있어요",className:"px-0 md:px-0"}),!e.loading&&e.error&&(0,r.jsxs)("div",{className:"flex flex-col items-center gap-3 py-10 text-center",children:[(0,r.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:e.error}),(0,r.jsx)("button",{type:"button",onClick:e.onRetry,className:"h-9 rounded-md border border-zinc-200 px-3 text-sm font-medium dark:border-white/10",children:"다시 시도"})]}),!e.loading&&!e.error&&0===e.items.length&&(0,r.jsxs)("div",{className:"py-10 text-center",children:[(0,r.jsx)("p",{className:"text-sm font-medium text-zinc-700 dark:text-zinc-200",children:"조건에 맞는 전형이 없어요"}),(0,r.jsx)("p",{className:"mt-1 text-[13px] text-zinc-500 dark:text-zinc-400",children:N(e.query,e.filters)})]}),!e.loading&&!e.error&&e.items.length<e.total&&(0,r.jsx)("div",{className:"flex justify-center pt-4",children:(0,r.jsx)("button",{type:"button",onClick:e.onMore,className:"h-9 rounded-md border border-zinc-200 px-4 text-[13px] font-medium text-zinc-700 transition hover:bg-zinc-50 dark:border-white/10 dark:text-zinc-200 dark:hover:bg-white/[0.04]",children:"20개 더 보기"})})]})}function F(e){return"narrow"===e.layout?(0,r.jsx)(B,{...e}):(0,r.jsx)(T,{...e})}function B(e){var t;let[n,i]=(0,a.useState)(!1),{filters:l}=e,c=t=>e.onFiltersChange({...l,regions:l.regions.includes(t)?l.regions.filter(e=>e!==t):p.filter(e=>e===t||l.regions.includes(e))}),d=(0,r.jsxs)("label",{className:"flex cursor-pointer items-center gap-2.5 text-[14px] text-zinc-700 dark:text-zinc-200",children:[(0,r.jsx)("input",{type:"checkbox",checked:l.excludeSpecial,onCh
1ange:t=>e.onFiltersChange({...l,excludeSpecial:t.target.checked}),className:"h-[18px] w-[18px] rounded border-zinc-300 accent-zinc-900 dark:accent-white"}),"특수전형 빼기",(0,r.jsx)("span",{className:"text-[12px] text-zinc-400 dark:text-zinc-500",children:"기회균형\xb7농어촌 등"})]});return(0,r.jsxs)("section",{className:e.flat?"bg-white px-5 pb-5 pt-3.5 dark:bg-[#1C1C1E]":"pt-10",children:[(0,r.jsx)("h3",{className:e.flat?"text-sm font-semibold text-zinc-800 dark:text-zinc-200":"text-[16px] font-semibold tracking-tight text-zinc-900 dark:text-zinc-50",children:"대학 찾기"}),(0,r.jsxs)("div",{className:"relative mt-3",children:[(0,r.jsx)(u.Z,{size:16,className:"pointer-events-none absolute left-3.5 top-1/2 -translate-y-1/2 text-zinc-400"}),(0,r.jsx)("input",{type:"search",value:e.query,onChange:t=>e.onQueryChange(t.target.value),placeholder:"대학\xb7학과 검색 (예: 서울 교육)",enterKeyHint:"search",className:(0,f.cn)("h-11 w-full rounded-xl border pl-10 pr-10 text-[15px] text-zinc-900 outline-none transition [&::-webkit-search-cancel-button]:appearance-none placeholder:text-zinc-400 dark:text-zinc-100",e.flat?"border-transparent bg-zinc-100/80 focus:border-zinc-300 focus:bg-white dark:bg-white/[0.06] dark:focus:border-white/20 dark:focus:bg-transparent":"border-zinc-200 bg-white focus:border-zinc-400 dark:border-white/10 dark:bg-white/[0.03] dark:focus:border-white/30")}),e.query&&(0,r.jsx)("button",{type:"button",onClick:()=>e.onQueryChange(""),"aria-label":"검색어 지우기",className:"absolute right-1 top-1/2 flex h-9 w-9 -translate-y-1/2 items-center justify-center rounded-full text-zinc-400 active:text-zinc-600 dark:active:text-zinc-200",children:(0,r.jsx)(x.Z,{size:16})})]}),(0,r.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,r.jsx)(E,{fill:!0,value:l.admissionType,onChange:t=>e.onFiltersChange({...l,admissionType:t})}),e.sheets?(0,r.jsxs)("button",{type:"button","aria-haspopup":"dialog",onClick:()=>i(!0),className:"inline-flex h-10 max-w-[44%] shrink-0 items-center gap-1 rounded-lg border border-zinc-200 pl-3 pr-2 text-[14px] transition active:bg-zinc-50 dark:border-white/10 dark:active:bg-white/[0.04]",children:[(0,r.jsx)("span",{className:"shrink-0 text-zinc-400 dark:text-zinc-500",children:"지역"}),(0,r.jsx)("span",{className:"truncate font-medium text-zinc-800 dark:text-zinc-100",children:M(l.regions)}),(0,r.jsx)(o.Z,{size:15,className:"shrink-0 text-zinc-400"})]}):(0,r.jsx)(R,{value:l.regions,onChange:t=>e.onFiltersChange({...l,regions:t})})]}),!e.sheets&&(0,r.jsx)("div",{className:"mt-3",children:d}),(0,r.jsx)("ul",{className:"admission-mobile-results mt-2","aria-label":"대학 검색 결과","aria-busy":e.loading,children:e.items.map(t=>{let n=e.addedIds.has(t.id),i=e.expandedId===t.id;return(0,r.jsxs)("li",{className:"admission-mobile-result-card -mx-2",children:[(0,r.jsxs)("div",{role:"button",tabIndex:0,"aria-expanded":i,onClick:()=>e.onToggleExpand(t.id),onKeyDown:n=>{n.target===n.currentTarget&&("Enter"===n.key||" "===n.key)&&(n.preventDefault(),e.onToggleExpand(t.id))},className:"admission-mobile-result-row grid cursor-pointer grid-cols-[minmax(0,1fr)_auto] gap-x-2 rounded-xl px-2 py-3 outline-none transition-colors active:bg-zinc-100/70 focus-visible:bg-zinc-50 dark:active:bg-white/[0.05] dark:focus-visible:bg-white/[0.04]",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsxs)("p",{className:"text-[15px] leading-snug text-zinc-900 dark:text-zinc-50",children:[(0,r.jsx)("span",{className:"font-semibold",children:t.name})," ",(0,r.jsx)("span",{className:"text-zinc-700 dark:text-zinc-200",children:t.department})]}),(0,r.jsx)("p",{className:"mt-0.5 truncate text-[13px] text-zinc-500 dark:text-zinc-400",children:y(t)}),(0,r.jsx)(g.wz,{className:"mt-2.5",years:e.years,data:t.years,grade:e.grade,withYear:!0})]}),(0,r.jsx)("div",{className:"-mr-1 -mt-1.5",children:!e.readOnly&&(0,r.jsx)(w,{large:!0,added:n,busy:e.busyIds.has(t.id)||e.locked,full:e.full,onAdd:()=>e.onAdd(t),onRemove:()=>e.onRemoveByUniversity(t.id)})})]}),i&&(0,r.jsx)("div",{className:"admission-mobile-result-detail px-2 pb-3",children:(0,r.jsx)(j,{rows:t.years})})]},t.id)})}),e.loading&&(0,r.jsx)(s.MobileLoadingSwap,{variant:"universities",label:null!==(t=e.loadingLabel)&&void 0!==t?t:"대학과 입결을 불러오고 있어요",count:e.items.length?2:4,className:"px-0",fallback:(0,r.jsx)("div",{className:"space-y-3 py-3",children:Array.from({length:e.items.length?2:4}).map((e,t)=>(0,r.jsx)("div",{className:"h-[88px] animate-pulse rounded-xl bg-zinc-100 dark:bg-white/[0.04]"},t))})}),!e.loading&&e.error&&(0,r.jsxs)("div",{className:"flex flex-col items-center gap-3 py-10 text-center",children:[(0,r.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:e.error}),(0,r.jsx)("button",{type:"button",onClick:e.onRetry,className:"h-10 rounded-lg border border-zinc-200 px-4 text-sm font-medium dark:border-white/10",children:"다시 시도"})]}),!e.loading&&!e.error&&0===e.items.length&&(0,r.jsxs)("div",{className:"py-10 text-center",children:[(0,r.jsx)("p",{className:"text-sm font-medium text-zinc-700 dark:text-zinc-200",children:"조건에 맞는 전형이 없어요"}),(0,r.jsx)("p",{className:"mt-1 text-[13px] text-zinc-500 dark:text-zinc-400",children:N(e.query,l)})]}),!e.loading&&!e.error&&e.items.length<e.total&&(0,r.jsx)("button",{type:"button",onClick:e.onMore,className:"mt-3 h-11 w-full rounded-xl border border-zinc-200 text-[14px] font-medium text-zinc-700 transition active:bg-zinc-50 dark:border-white/10 dark:text-zinc-200 dark:active:bg-white/[0.04]",children:"20개 더 보기"}),e.sheets&&(0,r.jsx)(m.Z,{isOpen:n,onClose:()=>i(!1),title:"찾기 조건",footer:(0,r.jsx)("button",{type:"button",onClick:()=>i(!1),className:"btn-primary-solid h-12 w-full rounded-xl text-[15px] font-semibold",children:e.loading?"찾는 중…":"".concat(e.total.toLocaleStr
1ing(),"개 전형 보기")}),children:(0,r.jsxs)("div",{className:"px-1 pb-2 pt-1",children:[(0,r.jsx)("p",{className:"pb-2.5 text-[13px] text-zinc-500 dark:text-zinc-400",children:"지역 \xb7 여러 곳을 고를 수 있어요"}),(0,r.jsxs)("div",{className:"grid grid-cols-4 gap-1.5",children:[(0,r.jsx)(L,{large:!0,on:0===l.regions.length,onClick:()=>e.onFiltersChange({...l,regions:[]}),children:"전국"}),p.map(e=>(0,r.jsx)(L,{large:!0,on:l.regions.includes(e),onClick:()=>c(e),children:e},e))]}),(0,r.jsx)("div",{className:"mt-5 border-t border-zinc-100 pt-4 dark:border-white/[0.06]",children:d})]})})]})}},35596:function(e,t,n){n.d(t,{Z:function(){return y}});var r=n(57437),i=n(2265),a=n(52345),s=n(59717),l=n(81906),c=n(33728),d=n(57586),o=n(13100),u=n(32489),x=n(46977),m=n(93448),h=n(21652),p=n(8345),b=n(82941);let f=0,g=[],v=0,k=!1;function z(){v++,window.history.back()}let j="";function y(e){let{isOpen:t,onClose:n,title:y,children:w,footer:N,className:C}=e,E=(0,i.useId)(),S=(0,a.J)(),M=(0,s.o)(),R=(0,l.c)(0);(0,i.useEffect)(()=>{t&&R.set(0)},[t,R]);let L=(0,c.H)(R,[0,240],[1,0]),T=(0,i.useRef)(n),F=(0,i.useRef)(!1);(0,i.useEffect)(()=>{T.current=n},[n]),(0,i.useEffect)(()=>{if(!t)return;f||(j=document.body.style.overflow),f++,k||(k=!0,window.addEventListener("popstate",e=>{var t;if((v>0||g.length>0)&&(0,p.l)(e),v>0){v--;return}null===(t=g.at(-1))||void 0===t||t.onPop()},{capture:!0}));let e={id:E,onPop:()=>{F.current&&(F.current=!1,T.current())}};g.push(e),document.body.style.overflow="hidden";let n=(0,h.UM)(),r=window.history.state||{};return n&&!F.current&&(window.history.pushState({...r,isBottomSheet:!0,sheetId:E},""),F.current=!0),()=>{var t;F.current&&(null===(t=window.history.state)||void 0===t?void 0:t.sheetId)===E&&(F.current=!1,z()),g.splice(g.indexOf(e),1),--f<=0&&(f=0,document.body.style.overflow=j)}},[t,E]);let B=(0,i.useCallback)(()=>{F.current&&(F.current=!1,z()),n()},[n]),I=(0,x.a)(t,B),A=(0,i.useCallback)((e,t)=>{"pointercancel"!==e.type&&"touchcancel"!==e.type&&(t.velocity.y>500||t.offset.y>100)&&B()},[B]),G=(0,i.useRef)(null),Z=(0,i.useRef)(null);return(0,i.useEffect)(()=>{if(!t)return;let e=G.current;if(!e)return;let n=[],r=function(t){let n=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(!e.contains(t)||Z.current!==t)return;let r=e.getBoundingClientRect(),i=t.getBoundingClientRect(),a=(0,b.Wk)({top:i.top-r.top,bottom:i.bottom-r.top},e.clientHeight,12,12);0!==a&&e.scrollTo({top:Math.max(0,e.scrollTop+a),behavior:n?"smooth":"auto"})},i=e=>{let t=e.target;t&&("INPUT"===t.tagName||"TEXTAREA"===t.tagName||"SELECT"===t.tagName||t.isContentEditable)&&(Z.current=t,r(t,!1),n.push(setTimeout(()=>r(t,!0),120)),n.push(setTimeout(()=>r(t,!0),300)),n.push(setTimeout(()=>r(t,!0),500)))},a=()=>{Z.current=null},s=()=>{Z.current&&r(Z.current,!0)};e.addEventListener("focusin",i),e.addEventListener("focusout",a);let l=window.visualViewport;return null==l||l.addEventListener("resize",s),()=>{n.forEach(clearTimeout),e.removeEventListener("focusin",i),e.removeEventListener("focusout",a),null==l||l.removeEventListener("resize",s)}},[t]),(0,r.jsx)(d.M,{children:t&&(0,r.jsxs)("div",{className:"md:hidden fixed inset-x-0 z-[100] flex items-end",style:{top:"var(--vv-offset-top, 0px)",height:"var(--app-height)"},children:[(0,r.jsx)(o.E.div,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.22,ease:[.22,1,.36,1]},className:"absolute inset-0",children:(0,r.jsx)(o.E.div,{style:{opacity:L},onClick:B,className:"absolute inset-0 bg-black/50 backdrop-blur-sm"})}),(0,r.jsxs)(o.E.div,{style:{y:R,maxHeight:"90%"},initial:S?{opacity:0}:{y:"100%"},animate:{y:0,opacity:1},exit:S?{opacity:0}:{y:"100%"},transition:S?{duration:.12}:{type:"spring",damping:30,stiffness:320,mass:.8},drag:"y",dragListener:!1,dragControls:M,dragConstraints:{top:0},dragSnapToOrigin:!0,dragMomentum:!1,dragElastic:{top:.12,bottom:.75},onDragEnd:A,ref:I,tabIndex:-1,"aria-label":y||"상세 설정",role:"dialog","aria-modal":"true",className:(0,m.cn)("relative w-full bg-white dark:bg-[#18181b] border-t border-transparent dark:border-white/[0.08] rounded-t-2xl","flex flex-col overflow-hidden mobile-sheet-pad shadow-2xl",C),children:[(0,r.jsxs)("div",{onPointerDown:e=>{e.target.closest("button")||M.start(e)},className:"shrink-0 cursor-grab active:cursor-grabbing touch-none select-none",children:[(0,r.jsx)("div",{className:"flex justify-center pt-3 pb-2",children:(0,r.jsx)("div",{className:"w-9 h-1 rounded-full bg-zinc-400/70 dark:bg-zinc-700"})}),(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 pb-2 border-b border-zinc-200/40 dark:border-zinc-800/60",children:[(0,r.jsx)("h3",{className:"text-[var(--mobile-font-h2)] font-semibold text-zinc-900 dark:text-zinc-100",children:y}),(0,r.jsx)("button",{type:"button",onClick:B,"aria-label":"닫기",className:"flex h-11 w-11 items-center justify-center rounded-lg text-zinc-600 dark:text-zinc-300",children:(0,r.jsx)(u.Z,{size:20})})]})]}),(0,r.jsx)("div",{ref:G,className:"flex-1 overflow-y-auto overflow-x-hidden px-4 pt-3 pb-2 mobile-scroll mobile-sheet-scroll",children:w}),N&&(0,r.jsx)("div",{className:"shrink-0 px-4 pt-2.5 pb-1 border-t border-zinc-100 dark:border-zinc-800/80 bg-white/95 dark:bg-[#18181b]/95 backdrop-blur-md",children:N})]})]})})}},49582:function(e,t,n){n.d(t,{d:function(){return d},s:function(){return o}});var r=n(85328);let i={A:[100,90],B:[89,80],C:[79,70],D:[69,60],E:[59,0]},a=["A","B","C","D","E"],s=e=>"number"==typeof e&&Number.isFinite(e),l=(e,t,n)=>Math.min(n,Math.max(t,e));function c(e){let t=e.gradeLevel;return!s(t)||!Number.isInteger(t)||t<1||t>5?null:[r.zi[t-1],r.zi[t]]}function d(e){let t=c(e);if(!t)return null;let[n,r]=t,d=!s(e.gradeRank)||e.gradeRank<=0||!s(e.studentsCount)||e.studentsCount<=0?null:l((e.gradeRank-.5)/e.studentsCount*100,0,100);if(null!==d){let t=100/e.studentsCount;(d<n-t||d>r+t)&&(d=null)}return null!=d||(d=function(e){var t;if(!s(e.rawScore)||e.rawScore<0||e.rawScore>100)return null;let n=null===(t=e.achievement)||void 0===t?void 0:t.trim().toUpperCase();if(!n||!(n in i))return null;let[r,c]=i[n];if(e.rawScore<c||e.rawScore>=r+1)return null;let d=l(Math.round(e.rawScore),c,r),o=[e.distA,e.distB,e.distC,e.distD,e.distE];if(!o.every(s))return null;let u=o.reduce((e,t)=>e+t,0);if(u<99||u>101)return null;let x=a.indexOf(n),m=o.slice(0,x).reduce((e,t)=>e+t,0),h=o[x];if(h<=0)return null;let p=r-c+1;return l(m+(r-d+.5)/p*h,0,100)}(e)),null===d?null:l(d,n,r)}function o(e){let t=c(e),n=d(e);if(!t||null===n)return null;let[r,i]=t;return(n-r)/(i-r)}},91991:function(e,t,n){n.d(t,{xc:function(){return d},Zy:function(){return c},ql:function(){return b}});var r=n(49582);let i=1/12,a=[[11/12,1],[1,1.39],[13/12,1.53],[14/12,1.73],[1.25,1.87],[16/12,2.03],[17/12,2.18],[1.5,2.31],[19/12,2.45],[20/12,2.61],[1.75,2.73],[22/12,2.88],[23/12,3],[2,3.16],[25/12,3.28],[26/12,3.41],[2.25,3.54],[28/12,3.68],[29/12,3.8],[2.5,3.95],[31/12,4.08],[32/12,4.21],[2.75,4.34],[34/12,4.48],[35/12,4.61],[3,4.75],[5,8.61]],s=(e,t,n)=>Math.min(n,Math.max(t,e));function l(e){let t=a[0],n=a[a.length-1];if(e<=t[0])return t[1];if(e>=n[0])return n[1];for(let t=1;t<a.length;t++){let[n,r]=a[t];if(e<=n){let[i,s]=a[t-1];return s+(r-s)*(e-i)/(n-i)}}return n[1]}let c=[{key:"all",label:"전교과"},{key:"kemt",label:"국영수사과"},{key:"kems",label:"국영수사"},{key:"kemg",label:"국영수과"}],d="kemt",o="사회(역사/도덕 포함)",u=["국어","수학","영어"],x={all:null,kemt:e=>u.includes(e)||e===o||"과학"===e,kems:e=>u.includes(e)||e===o,kemg:e=>u.includes(e)||"과학"===e};function m(e,t,n){let r=x[t],i=new Map;for(let t of e){var a;if(t.examType&&"final"!==t.examType||r&&!r(t.subjectCategory))continue;let e=n(t);if(null===e)continue;let s="".concat(t.year,"-").concat(t.semester),l=null!==(a=i.get(s))&&void 0!==a?a:[];l.push(e),i.set(s,l)}let s=Array.from(i.values()).map(e=>e.reduce((e,t)=>
1e+t,0)/e.length);return 0===s.length?null:s.reduce((e,t)=>e+t,0)/s.length}let h=e=>null===e.gradeLevel||void 0===e.gradeLevel?null:e.gradeLevel,p=e=>{let t=h(e);return null!==t&&Number.isInteger(t)&&t>=1&&t<=5?t:null};function b(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n.toNine||"9-GRADE"===n.gradingSystem)return m(e,t,h);let a=m(e,t,p);if(null===a)return null;let c=m(e,t,e=>{var t;return null===p(e)?null:null!==(t=(0,r.s)(e))&&void 0!==t?t:1});return function(e,t){let n=l(e);return n-(n-l(e-i))*s(t,0,1)}(a,1-(null!=c?c:1))}},18261:function(e,t,n){n.d(t,{B8:function(){return l},CX:function(){return r},V0:function(){return i},q9:function(){return s},tx:function(){return c},yn:function(){return d}});let r={half:"50% 안",seventy:"70% 안",below50:"50% 밖",out:"70% 밖"},i=e=>"half"===e||"seventy"===e,a=e=>Math.round(100*e)/100;function s(e,t){return null!=e&&null!=t&&Number.isFinite(e)&&Number.isFinite(t)?a(e)<=a(t):null}function l(e,t,n){if(null===e||!Number.isFinite(e))return null;let r=a(e);return null!==t&&r<=a(t)?"half":null!==n?r<=a(n)?"seventy":"out":null!==t?"below50":null}function c(e){return Array.from(new Set(e)).sort((e,t)=>t-e).slice(0,3).reverse()}function d(e,t){var n;let r=["cut80","cut85","cut90","cut100"].filter(t=>null!=e[t]&&Number.isFinite(e[t])&&e[t]>=1&&e[t]<=9),i=null!=t&&Number.isFinite(t),s=i?null!==(n=r.find(n=>a(t)<=a(e[n])))&&void 0!==n?n:r[r.length-1]:r[0];return s?{metric:s,value:e[s],inside:i?a(t)<=a(e[s]):null}:null}},21108:function(e,t,n){n.d(t,{UF:function(){return r}});let r=6},49253:function(e,t,n){n.d(t,{e:function(){return r},m:function(){return i}});let r=["교과","종합","논술"],i=20},82941:function(e,t,n){n.d(t,{Wk:function(){return r}});function r(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:16,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:64,i=t-r;return i<=n||e.bottom-e.top>i-n?0:e.bottom>i?e.bottom-i:e.top<n?e.top-n:0}},85328:function(e,t,n){n.d(t,{wK:function(){return o},zi:function(){return r}});let r=[0,10,34,66,90,100],i=[0,4,11,23,40,60,77,89,96,100],a=["A","B","C","D","E"],s=(e,t,n)=>Math.min(n,Math.max(t,e)),l=e=>"number"==typeof e&&Number.isFinite(e);function c(e,t){return t?"5-GRADE"===t?r:i:e<=2?r:i}function d(e,t){let n=s(e,0,100);for(let e=0;e<t.length-1;e++)if(n<=t[e+1]){let r=t[e],i=t[e+1];if(i===r)return e+1;return e+1+(n-r)/(i-r)}return t.length-1}function o(e){let t,n,o,u,x;let m=e.studentsCount,h=l(e.gradeRank)&&e.gradeRank>0,p=function(e){var t,n,r,i,c,d;let o=null===(t=e.achievement)||void 0===t?void 0:t.trim().toUpperCase();if(!l(e.distA)||!o||!a.includes(o))return{min:0,max:100,hasDistribution:!1,boundaries:[]};let u={A:null!==(n=e.distA)&&void 0!==n?n:0,B:null!==(r=e.distB)&&void 0!==r?r:0,C:null!==(i=e.distC)&&void 0!==i?i:0,D:null!==(c=e.distD)&&void 0!==c?c:0,E:null!==(d=e.distE)&&void 0!==d?d:0},x=0,m=[];for(let e of a){if(e===o){let t=s(x+u[e],0,100);return{min:s(x,0,100),max:t,hasDistribution:!0,boundaries:m}}(x+=u[e])<100&&m.push(s(x,0,100))}return{min:0,max:100,hasDistribution:!0,boundaries:m}}(e),b=function(e){let t=c(e.year,e.gradingSystem),n=e.gradeLevel;return!l(n)||n<1||n>=t.length?{min:0,max:100,hasGradeLevel:!1}:{min:t[n-1],max:t[n],hasGradeLevel:!0}}(e);if(!m||!h&&!p.hasDistribution&&!b.hasGradeLevel)return null;let f=Math.max(p.min,b.min),g=Math.min(p.max,b.max),v=f<=g;if(v?(t=f,n=g):b.hasGradeLevel?(t=b.min,n=b.max):(t=p.min,n=p.max),h)o=s(e.gradeRank/m*100,0,100),u=n===t?.5:s((o-t)/(n-t),0,1),x="rank";else{let r=function(e){let t=e.rawScore,n=e.subjectAverage,r=e.standardDeviation;if(l(t)&&l(n)&&l(r)&&r>0)return{position:.5,source:"z-score",zPercentile:s((1-.5*(1+function(e){let t=Math.abs(e),n=1/(1+.3275911*t);return(e<0?-1:1)*(1-((((1.061405429*n-1.453152027)*n+1.421413741)*n-.284496736)*n+.254829592)*n*Math.exp(-t*t))}((t-n)/r/Math.SQRT2)))*100,0,100)};if(l(t)&&l(n)){let e=s((t-n)/30,-1,1);return{position:s(.5-.3*e,.2,.8),source:"score-average",zPercentile:null}}return{position:.5,source:"midpoint",zPercentile:null}}(e);x=r.source,null!==r.zPercentile?(o=s(r.zPercentile,t,n),u=n===t?.5:s((o-t)/(n-t),0,1)):o=t+(n-t)*(u=r.position)}return{achMin:p.min,achMax:p.max,gradeMin:b.min,gradeMax:b.max,interMin:t,interMax:n,hasValidIntersection:v,hasGradeLevel:b.hasGradeLevel,hasDistribution:p.hasDistribution,estimatedPercentile:o,intervalPosition:u,percentileSource:x,estimatedGrade9:d(o,i),estimatedGrade5:d(o,r),estimatedIntegerGrade9:function(e,t){let n=s(e,0,100);for(let e=0;e<t.length-1;e++)if(n<=t[e+1])return e+1;return t.length-1}(o,i),gradeBoundaries:Array.from(c(e.year,e.gradingSystem)).slice(1,-1),achBoundaries:p.boundaries}}},8345:function(e,t,n){n.d(t,{Y:function(){return a},l:function(){return i}});let r=new WeakSet;function i(e){r.add(e)}function a(e){return r.has(e)}}}]);

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.