@opencompass-fe/oc-webkit-eval 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import a,{useContext as w,useMemo as N,useCallback as B,useEffect as ne}from"react";import Z from"classnames";import{langTypeEnum as E}from"../../constants/enums.js";import F from"../../assets/svg/top-nav/agent.svg.js";import O from"../../assets/svg/top-nav/AI4S.svg.js";import L from"../../assets/svg/top-nav/finance.svg.js";import M from"../../assets/svg/top-nav/image-understanding.svg.js";import P from"../../assets/svg/top-nav/LLM.svg.js";import U from"../../assets/svg/top-nav/medical.svg.js";import T from"../../assets/svg/top-nav/physical-intelligence.svg.js";import $ from"../../assets/svg/top-nav/video-understanding.svg.js";import te from"../../assets/svg/top-nav/group-bullet.svg.js";import R,{DEFAULT_LANG as le}from"../../locale/index.js";import{OcContext as ae}from"../../providers/OcContext.js";import{OcConfigContext as oe}from"../../providers/OcConfigContext.js";import{message as ie,Dropdown as ue}from"antd";var ce=Object.defineProperty,se=Object.defineProperties,pe=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,x=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable,j=(e,r,n)=>r in e?ce(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n,me=(e,r)=>{for(var n in r||(r={}))x.call(r,n)&&j(e,n,r[n]);if(y)for(var n of y(r))S.call(r,n)&&j(e,n,r[n]);return e},de=(e,r)=>se(e,pe(r)),fe=(e,r)=>{var n={};for(var t in e)x.call(e,t)&&r.indexOf(t)<0&&(n[t]=e[t]);if(e!=null&&y)for(var t of y(e))r.indexOf(t)<0&&S.call(e,t)&&(n[t]=e[t]);return n},he=(e,r,n)=>new Promise((t,l)=>{var u=i=>{try{o(n.next(i))}catch(s){l(s)}},d=i=>{try{o(n.throw(i))}catch(s){l(s)}},o=i=>i.done?t(i.value):Promise.resolve(i.value).then(u,d);o((n=n.apply(e,r)).next())});function m({src:e,size:r=14}){return a.createElement("img",{src:e,style:{width:r,height:r,objectFit:"contain"},alt:""})}const be={llm:P,agent:F,ai4s:O,physical:T,item1:M,item2:$,medical:U,finance:L};function G(e){const r=e.id||e.key;if(r)return be[r]}function H(e){return e.type==="group"||!!(e.children&&e.children.length>0)}function V(e,r=14){if(e.icon)return e.icon;const n=G(e);return n?a.createElement(m,{src:n,size:r}):H(e)?a.createElement(m,{src:te,size:r}):null}const _="logout",z=[{key:"myEvaluation",type:"item",labelZh:"\u6211\u7684\u8BC4\u6D4B",labelEn:"My Evaluation",href:"#my-evaluation"},{key:"myBenchmark",type:"item",labelZh:"\u6211\u7684\u8BC4\u6D4B\u96C6",labelEn:"My Benchmark",href:"#my-benchmark"},{key:"myModel",type:"item",labelZh:"\u6211\u7684\u6A21\u578B",labelEn:"My Model",href:"#my-model"},{key:"collaboration",type:"item",labelZh:"\u6D66\u6C5F\u79D1\u5B66\u8BC4\u6D4B\u5171\u521B\u8BA1\u5212\u63D0\u4EA4\u8BB0\u5F55",labelEn:"AI4S Program Submission Record",href:"#commit-record"},{key:"user-center",type:"item",labelZh:"\u8D26\u53F7\u4FE1\u606F",labelEn:"User Center",href:"#user-center"},{type:"divider"},{key:_,type:"item",labelZh:"\u9000\u51FA\u767B\u5F55",labelEn:"Logout"}],K="https://opencompass.org.cn/home",q=[{key:"home",labelZh:"\u9996\u9875",labelEn:"Home",href:"https://opencompass.org.cn/home"},{key:"leaderboard",labelZh:"\u8BC4\u6D4B\u699C\u5355",labelEn:"Leaderboard",withDown:!0,dropdownItems:[{id:"llm",type:"item",labelZh:"\u5927\u8BED\u8A00\u6A21\u578B",labelEn:"LLM",icon:a.createElement(m,{src:P}),href:"https://opencompass.org.cn/leaderboard/llm"},{type:"divider"},{id:"group1",type:"group",labelZh:"\u591A\u6A21\u6001\u6A21\u578B",labelEn:"Multimodal Models",children:[{id:"item1",type:"item",labelZh:"\u56FE\u50CF\u7406\u89E3",labelEn:"Image Understanding",icon:a.createElement(m,{src:M}),href:"https://opencompass.org.cn/leaderboard/image-vlm"},{id:"item2",type:"item",labelZh:"\u89C6\u9891\u7406\u89E3",labelEn:"Video Understanding",icon:a.createElement(m,{src:$}),href:"https://opencompass.org.cn/leaderboard/video-vlm"}]},{type:"divider"},{id:"agent",type:"item",labelZh:"\u667A\u80FD\u4F53",labelEn:"Agents",icon:a.createElement(m,{src:F}),href:"https://opencompass.org.cn/leaderboard/agent"},{type:"divider"},{id:"ai4s",type:"item",labelZh:"\u79D1\u5B66\u667A\u80FD",labelEn:"AI for Science",icon:a.createElement(m,{src:O}),href:"https://opencompass.org.cn/leaderboard/ai4science"},{type:"divider"},{id:"physical",type:"item",labelZh:"\u7269\u7406\u667A\u80FD",labelEn:"Physical Intelligence",icon:a.createElement(m,{src:T}),href:"https://opencompass.org.cn/leaderboard/physical-intelligence"},{type:"divider"},{id:"group2",type:"group",labelZh:"\u667A\u80FD\u9886\u57DF",labelEn:"Intelligent Domains",children:[{id:"medical",type:"item",labelZh:"\u533B\u7597",labelEn:"Medical",icon:a.createElement(m,{src:U}),href:"https://opencompass.org.cn/leaderboard/medbench"},{id:"finance",type:"item",labelZh:"\u91D1\u878D",labelEn:"Finance",icon:a.createElement(m,{src:L}),href:"https://opencompass.org.cn/leaderboard/cnfinbench"}]}]},{key:"models",labelZh:"\u6A21\u578B\u5E93",labelEn:"Models",href:"https://opencompass.org.cn/model"},{key:"datasets",labelZh:"\u8BC4\u6D4B\u96C6",labelEn:"Benchmarks",href:"https://opencompass.org.cn/benchmark",active:!0},{key:"tools",labelZh:"\u8BC4\u6D4B\u5DE5\u5177",labelEn:"Tools",href:"https://github.com/open-compass"}];function ge({alt:e="",className:r,size:n,src:t,styles:l}){return a.createElement("span",{className:Z(l.iconBox,r),style:{"--icon-size":`${n}px`}},a.createElement("img",{src:t,alt:e}))}function J(e){return e.nickname||e.username||e.email||""}function W(e){const r=e.trim();if(!r)return"";if(/[\u4e00-\u9fa5]/.test(r))return r.slice(0,2);const n=r.split(/\s+/).filter(Boolean);return n.length>=2?(n[0][0]+n[1][0]).toUpperCase():r.slice(0,2).toUpperCase()}const D=a.forwardRef((e,r)=>{var n=e,{userInfo:t,styles:l,onClick:u,className:d,tabIndex:o,size:i=36}=n,s=fe(n,["userInfo","styles","onClick","className","tabIndex","size"]);const c=J(t),p=W(c);return a.createElement("button",de(me({},s),{ref:r,type:"button",className:Z(l.userAvatar,d),style:{"--avatar-size":`${i}px`},onClick:u,tabIndex:o,"aria-label":c||"User",title:c}),t.avatar?a.createElement("img",{src:t.avatar,alt:c}):a.createElement("span",{className:l.userAvatarInitials},p))});D.displayName="UserAvatar";function ve(e){const{brandHref:r=K,locale:n,onToggleLocale:t,jumpLogin:l,onArenaClick:u,navItems:d=q,arena:o,userInfo:i,onAvatarClick:s,userMenuItems:c=z,logout:p,handleUnauth:f}=e,{setConfig:b}=w(oe),{locales:g}=w(ae),v=N(()=>{var h;return g!=null&&g.topNavHome?g:(h=R[n])!=null?h:R[le]},[g,n]),Y=N(()=>{var h,A,C,k;return n===E.en?(A=(h=o==null?void 0:o.labelEn)!=null?h:v.topNavArena)!=null?A:"Arena":(k=(C=o==null?void 0:o.labelZh)!=null?C:v.topNavArena)!=null?k:"\u7ADE\u6280\u573A"},[o==null?void 0:o.labelEn,o==null?void 0:o.labelZh,n,v.topNavArena]),Q=B(()=>he(null,null,function*(){try{p&&(yield p())}catch(h){ie.error("request error!")}finally{f==null||f(),(p||f)&&window.location.reload()}}),[f,p]),X=B(()=>{if(!l)return;const h=l();h&&(window.location.href=h)},[l]);ne(()=>{b(e)},[e,b]);const ee=!!i,re=!!c&&c.length>0;return{arena:o,arenaLabel:Y,brandHref:r,hasUserMenu:re,isLoggedIn:ee,locale:n,locales:v,navItems:d,onArenaClick:u,onAvatarClick:s,onToggleLocale:t,handleJumpLogin:X,performLogout:Q,userInfo:i,userMenuItems:c}}function ye(e){return e.map((r,n)=>{var t,l,u;return(t=r.dropdownItems)!=null&&t.length?(u=(l=r.key)!=null?l:r.href)!=null?u:`nav-${n}`:null}).filter(r=>!!r)}function Ee(e){return e.map((r,n)=>r.type==="divider"?null:r.type==="group"||r.children&&r.children.length>0?r.id||r.key||`group-${n}`:null).filter(r=>!!r)}function I({item:e,index:r,locale:n,performLogout:t,styles:l}){var u;if(e.type==="divider")return a.createElement("div",{key:`divider-${r}`,className:l.dropdownDivider});if(e.type==="group"||e.children&&e.children.length>0){const p=e.label||(n===E.en?e.labelEn:e.labelZh);return a.createElement("div",{key:e.key||e.id||`group-${r}`,className:l.dropdownGroup},p?a.createElement("div",{className:l.dropdownGroupHeader},a.createElement("p",{className:l.dropdownGroupTitle},p)):null,(u=e.children)==null?void 0:u.map((f,b)=>I({item:f,index:b,locale:n,performLogout:t,styles:l})))}const d=e.label||(n===E.en?e.labelEn:e.labelZh),i=(e.key||e.id)===_&&!e.href&&!e.onClick,s=V(e,14),c=p=>{var f;if(e.href||p.preventDefault(),i){t();return}(f=e.onClick)==null||f.call(e,p)};return a.createElement("a",{key:e.key||e.id||`item-${r}`,className:l.dropdownItem,href:e.href||"#",onClick:c},s?a.createElement("div",{className:l.dropdownItemIcon},s):null,a.createElement("span",{className:l.dropdownItemLabel},d))}function _e({items:e,locale:r,performLogout:n,styles:t}){return!e||e.length===0?null:a.createElement("div",{className:t.customDropdown},e.map((l,u)=>I({item:l,index:u,locale:r,performLogout:n,styles:t})))}function De({customDropdownRender:e,dropdownTrigger:r,extra:n,hasUserMenu:t,isLoggedIn:l,onAvatarClick:u,styles:d,userInfo:o,userMenuItems:i,avatarSize:s}){if(!l||!o)return null;const c=a.createElement(D,{userInfo:o,styles:d,onClick:u,className:n==null?void 0:n.className,tabIndex:n==null?void 0:n.tabIndex,size:s});return t?a.createElement(ue,{trigger:r,popupRender:()=>e(i),placement:"bottomRight",styles:{root:{paddingTop:8}}},c):c}export{q as DEFAULT_NAV_ITEMS,K as DEFAULT_TOP_NAV_BRAND_HREF,z as DEFAULT_USER_MENU_ITEMS,ge as IconBox,_ as LOGOUT_ITEM_KEY,m as NavIcon,D as UserAvatar,Ee as getCollapsibleKeysFromDropdownItems,ye as getCollapsibleKeysFromNavItems,J as getDisplayName,G as getDropdownItemIconSrc,W as getInitials,H as isDropdownGroupItem,_e as renderDropdownContent,I as renderDropdownItem,V as renderDropdownItemIcon,De as renderUserAvatar,ve as useTopNavCommon};
1
+ import l,{useContext as S,useMemo as fe,useCallback as V,useEffect as ge}from"react";import M from"classnames";import{OcContext as he}from"../../providers/OcContext.js";import{OcConfigContext as ve}from"../../providers/OcConfigContext.js";import{message as be,Dropdown as Ee}from"antd";import"../header/firstHeader.module.less.js";import"../../extraComponents/icon-font/index.js";import"../../extraComponents/button/button.module.less.js";import"../header/header.module.less.js";import"../header/components/create-online-evaluation/component/evaluation-button/evaluation-button.module.less.js";import"../header/components/create-online-evaluation/component/create-evaluation/create-evaluation.js";import"../header/components/create-online-evaluation/component/pre-create-evaluation/index.module.less.js";import"../header/components/create-online-evaluation/component/sidebar/sidebar.module.less.js";import"react-router-dom";import"ahooks";import"@ant-design/icons";import{envTypeEnum as w,topNavActiveKeyEnum as _,langTypeEnum as k}from"../../constants/enums.js";import"../../mobile/components/top-nav/top-nav.module.less.js";import"./top-nav.module.less.js";import"react-device-detect";import"../side-nav/side-nav.module.less.js";import"../footer/footer.module.less.js";import"../dropdown/dropdown.module.less.js";import"../footer-expansion/footer-expansion.module.less.js";import"../md-render/index.js";import Z from"../../assets/svg/top-nav/agent.svg.js";import F from"../../assets/svg/top-nav/AI4S.svg.js";import x from"../../assets/svg/top-nav/finance.svg.js";import H from"../../assets/svg/top-nav/image-understanding.svg.js";import G from"../../assets/svg/top-nav/LLM.svg.js";import K from"../../assets/svg/top-nav/medical.svg.js";import j from"../../assets/svg/top-nav/physical-intelligence.svg.js";import z from"../../assets/svg/top-nav/video-understanding.svg.js";import _e from"../../assets/svg/top-nav/group-bullet.svg.js";import Y,{DEFAULT_LANG as ye}from"../../locale/index.js";var Te=Object.defineProperty,Ie=Object.defineProperties,ke=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,J=(e,r,n)=>r in e?Te(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n,y=(e,r)=>{for(var n in r||(r={}))W.call(r,n)&&J(e,n,r[n]);if(L)for(var n of L(r))q.call(r,n)&&J(e,n,r[n]);return e},N=(e,r)=>Ie(e,ke(r)),Le=(e,r)=>{var n={};for(var t in e)W.call(e,t)&&r.indexOf(t)<0&&(n[t]=e[t]);if(e!=null&&L)for(var t of L(e))r.indexOf(t)<0&&q.call(e,t)&&(n[t]=e[t]);return n},Ne=(e,r,n)=>new Promise((t,a)=>{var o=u=>{try{s(n.next(u))}catch(p){a(p)}},d=u=>{try{s(n.throw(u))}catch(p){a(p)}},s=u=>u.done?t(u.value):Promise.resolve(u.value).then(o,d);s((n=n.apply(e,r)).next())});function m({src:e,size:r=14}){return l.createElement("img",{src:e,style:{width:r,height:r,objectFit:"contain"},alt:""})}const Ue={llm:G,agent:Z,ai4s:F,physical:j,item1:H,item2:z,medical:K,finance:x};function Q(e){const r=e.id||e.key;if(r)return Ue[r]}function X(e){return e.type==="group"||!!(e.children&&e.children.length>0)}function ee(e,r=14){if(e.icon)return e.icon;const n=Q(e);return n?l.createElement(m,{src:n,size:r}):X(e)?l.createElement(m,{src:_e,size:r}):null}const A="logout",i="_self",b="_blank";function Oe(e,r=i){const n=r===b;return{href:e||"#",target:n?b:void 0,rel:n?"noopener noreferrer":void 0}}function re(e,r=i){if(e){if(r===b){window.open(e,b,"noopener,noreferrer");return}window.location.href=e}}function R(e){if(e)return e.map(r=>{var n;return N(y({},r),{linkTarget:(n=r.linkTarget)!=null?n:i,children:R(r.children)})})}function we(e,r,n){return(e!=null?e:r).map(a=>{var o;return N(y({},a),{active:n?a.key===n:a.active,linkTarget:(o=a.linkTarget)!=null?o:i,dropdownItems:R(a.dropdownItems)})})}const U={VITE_COMPASS_URL:"https://opencompass.org.cn",VITE_RANK_URL:"https://rank.opencompass.org.cn",VITE_HUB_URL:"https://hub.opencompass.org.cn",VITE_SSO_URL:"https://sso.openxlab.org.cn",VITE_TOOLS_URL:"https://github.com/open-compass"},Ae={[w.development]:{VITE_COMPASS_URL:"http://dev.opencompass.org.cn",VITE_RANK_URL:"http://rank.dev.opencompass.org.cn",VITE_HUB_URL:"http://hub.dev.opencompass.org.cn",VITE_SSO_URL:"https://sso.dev.openxlab.org.cn",VITE_TOOLS_URL:U.VITE_TOOLS_URL},[w.staging]:{VITE_COMPASS_URL:"https://staging.opencompass.org.cn",VITE_RANK_URL:"https://rank.staging.opencompass.org.cn",VITE_HUB_URL:"https://hub.staging.opencompass.org.cn",VITE_SSO_URL:"https://sso.staging.openxlab.org.cn",VITE_TOOLS_URL:U.VITE_TOOLS_URL},[w.production]:U};function ne(e,r=k.zh){const{VITE_COMPASS_URL:n,VITE_RANK_URL:t,VITE_HUB_URL:a,VITE_SSO_URL:o,VITE_TOOLS_URL:d}=e&&Ae[e]||U;return{brandHref:`${n}/home`,navItems:[{key:_.home,labelZh:"\u9996\u9875",labelEn:"Home",href:`${n}/home`,linkTarget:i},{key:_.leaderboard,labelZh:"\u8BC4\u6D4B\u699C\u5355",labelEn:"Leaderboard",linkTarget:i,withDown:!0,dropdownItems:[{id:"llm",type:"item",labelZh:"\u5927\u8BED\u8A00\u6A21\u578B",labelEn:"LLM",icon:l.createElement(m,{src:G}),href:`${n}/leaderboard/llm`,linkTarget:i},{type:"divider"},{id:"group1",type:"group",labelZh:"\u591A\u6A21\u6001\u6A21\u578B",labelEn:"Multimodal Models",children:[{id:"item1",type:"item",labelZh:"\u56FE\u50CF\u7406\u89E3",labelEn:"Image Understanding",icon:l.createElement(m,{src:H}),href:`${n}/leaderboard/image-vlm`,linkTarget:i},{id:"item2",type:"item",labelZh:"\u89C6\u9891\u7406\u89E3",labelEn:"Video Understanding",icon:l.createElement(m,{src:z}),href:`${n}/leaderboard/video-vlm`,linkTarget:i}]},{type:"divider"},{id:"agent",type:"item",labelZh:"\u667A\u80FD\u4F53",labelEn:"Agents",icon:l.createElement(m,{src:Z}),href:`${n}/leaderboard/agent`,linkTarget:i},{type:"divider"},{id:"ai4s",type:"item",labelZh:"\u79D1\u5B66\u667A\u80FD",labelEn:"AI for Science",icon:l.createElement(m,{src:F}),href:`${n}/leaderboard/ai4science`,linkTarget:i},{type:"divider"},{id:"physical",type:"item",labelZh:"\u7269\u7406\u667A\u80FD",labelEn:"Physical Intelligence",icon:l.createElement(m,{src:j}),href:`${n}/leaderboard/physical-intelligence`,linkTarget:i},{type:"divider"},{id:"group2",type:"group",labelZh:"\u667A\u80FD\u9886\u57DF",labelEn:"Intelligent Domains",children:[{id:"medical",type:"item",labelZh:"\u533B\u7597",labelEn:"Medical",icon:l.createElement(m,{src:K}),href:`${n}/leaderboard/medbench`,linkTarget:i},{id:"finance",type:"item",labelZh:"\u91D1\u878D",labelEn:"Finance",icon:l.createElement(m,{src:x}),href:`${n}/leaderboard/cnfinbench`,linkTarget:i}]}]},{key:_.models,labelZh:"\u6A21\u578B\u5E93",labelEn:"Models",href:`${n}/model`,linkTarget:i},{key:_.datasets,labelZh:"\u8BC4\u6D4B\u96C6",labelEn:"Benchmarks",href:`${n}/benchmark`,linkTarget:i,active:!0},{key:_.tools,labelZh:"\u8BC4\u6D4B\u5DE5\u5177",labelEn:"Tools",href:d,linkTarget:b}],arena:{labelZh:"\u7ADE\u6280\u573A",labelEn:"Arena",href:`${n}/arena/home`,linkTarget:b},userMenuItems:[{key:"myEvaluation",type:"item",labelZh:"\u6211\u7684\u8BC4\u6D4B",labelEn:"My Evaluation",href:`${t}/online-evaluation?lang=${r}`,linkTarget:i},{key:"myBenchmark",type:"item",labelZh:"\u6211\u7684\u8BC4\u6D4B\u96C6",labelEn:"My Benchmark",href:`${a}/benchmarks?lang=${r}`,linkTarget:i},{key:"myModel",type:"item",labelZh:"\u6211\u7684\u6A21\u578B",labelEn:"My Model",href:`${t}/models?lang=${r}`,linkTarget:i},{key:"user-center",type:"item",labelZh:"\u8D26\u53F7\u4FE1\u606F",labelEn:"User Center",href:`${o}/usercenter?lang=${r}`,linkTarget:i},{type:"divider"},{key:A,type:"item",labelZh:"\u9000\u51FA\u767B\u5F55",labelEn:"Logout"}]}}ne();function Re({alt:e="",className:r,size:n,src:t,styles:a}){return l.createElement("span",{className:M(a.iconBox,r),style:{"--icon-size":`${n}px`}},l.createElement("img",{src:t,alt:e}))}function te(e){return e.nickname||e.username||e.email||""}function ae(e){const r=e.trim();if(!r)return"";if(/[\u4e00-\u9fa5]/.test(r))return r.slice(0,2);const n=r.split(/\s+/).filter(Boolean);return n.length>=2?(n[0][0]+n[1][0]).toUpperCase():r.slice(0,2).toUpperCase()}const C=l.forwardRef((e,r)=>{var n=e,{userInfo:t,styles:a,onClick:o,className:d,tabIndex:s,size:u=36}=n,p=Le(n,["userInfo","styles","onClick","className","tabIndex","size"]);const c=te(t),f=ae(c);return l.createElement("button",N(y({},p),{ref:r,type:"button",className:M(a.userAvatar,d),style:{"--avatar-size":`${u}px`},onClick:o,tabIndex:s,"aria-label":c||"User",title:c}),t.avatar?l.createElement("img",{src:t.avatar,alt:c}):l.createElement("span",{className:a.userAvatarInitials},f))});C.displayName="UserAvatar";function Ce(e){var r,n,t;const{brandHref:a,locale:o,onToggleLocale:d,jumpLogin:s,navItems:u,activeKey:p,arena:c,userInfo:f,userMenuItems:g,logout:h,handleUnauth:T}=e,{config:$,setConfig:B}=S(ve),{locales:I}=S(he),le=(r=e.envType)!=null?r:$==null?void 0:$.envType,E=ne(le,o),oe=a!=null?a:E.brandHref,ie=we(u,E.navItems,p),O=c?N(y(y({},E.arena),c),{linkTarget:(n=c.linkTarget)!=null?n:i}):E.arena,ue=fe(()=>{var v;return I!=null&&I.topNavHome?I:(v=Y[o])!=null?v:Y[ye]},[I,o]),se=o===k.en?O.labelEn:O.labelZh,P=(t=R(g))!=null?t:E.userMenuItems,ce=V(()=>Ne(null,null,function*(){try{h&&(yield h())}catch(v){be.error("request error!")}finally{T==null||T(),(h||T)&&window.location.reload()}}),[T,h]),pe=V(()=>{if(!s)return;const v=s();v&&(window.location.href=v)},[s]);ge(()=>{B(e)},[e,B]);const de=!!f,me=P.length>0;return{arena:O,arenaLabel:se,brandHref:oe,hasUserMenu:me,isLoggedIn:de,locale:o,locales:ue,navItems:ie,onToggleLocale:d,handleJumpLogin:pe,performLogout:ce,userInfo:f,userMenuItems:P}}function De(e){return e.map((r,n)=>{var t,a,o;return(t=r.dropdownItems)!=null&&t.length?(o=(a=r.key)!=null?a:r.href)!=null?o:`nav-${n}`:null}).filter(r=>!!r)}function $e(e){return e.map((r,n)=>r.type==="divider"?null:r.type==="group"||r.children&&r.children.length>0?r.id||r.key||`group-${n}`:null).filter(r=>!!r)}function D({item:e,index:r,locale:n,performLogout:t,styles:a}){var o;if(e.type==="divider")return l.createElement("div",{key:`divider-${r}`,className:a.dropdownDivider});if(e.type==="group"||e.children&&e.children.length>0){const f=e.label||(n===k.en?e.labelEn:e.labelZh);return l.createElement("div",{key:e.key||e.id||`group-${r}`,className:a.dropdownGroup},f?l.createElement("div",{className:a.dropdownGroupHeader},l.createElement("p",{className:a.dropdownGroupTitle},f)):null,(o=e.children)==null?void 0:o.map((g,h)=>D({item:g,index:h,locale:n,performLogout:t,styles:a})))}const d=e.label||(n===k.en?e.labelEn:e.labelZh),u=(e.key||e.id)===A&&!e.href&&!e.onClick,p=ee(e,14),c=f=>{var g;if(u){t();return}(g=e.onClick)==null||g.call(e,f),!f.defaultPrevented&&e.href&&re(e.href,e.linkTarget)};return l.createElement("button",{key:e.key||e.id||`item-${r}`,type:"button",className:a.dropdownItem,onClick:c},p?l.createElement("div",{className:a.dropdownItemIcon},p):null,l.createElement("span",{className:a.dropdownItemLabel},d))}function Be({items:e,locale:r,performLogout:n,styles:t}){return!e||e.length===0?null:l.createElement("div",{className:t.customDropdown},e.map((a,o)=>D({item:a,index:o,locale:r,performLogout:n,styles:t})))}function Pe({customDropdownRender:e,dropdownTrigger:r,extra:n,hasUserMenu:t,isLoggedIn:a,onAvatarClick:o,styles:d,userInfo:s,userMenuItems:u,avatarSize:p}){if(!a||!s)return null;const c=l.createElement(C,{userInfo:s,styles:d,onClick:o,className:n==null?void 0:n.className,tabIndex:n==null?void 0:n.tabIndex,size:p});return t?l.createElement(Ee,{trigger:r,popupRender:()=>e(u),placement:"bottomRight",styles:{root:{paddingTop:8}}},c):c}export{Re as IconBox,A as LOGOUT_ITEM_KEY,m as NavIcon,C as UserAvatar,$e as getCollapsibleKeysFromDropdownItems,De as getCollapsibleKeysFromNavItems,te as getDisplayName,Q as getDropdownItemIconSrc,ae as getInitials,Oe as getTopNavLinkProps,X as isDropdownGroupItem,re as jumpTopNavHref,Be as renderDropdownContent,D as renderDropdownItem,ee as renderDropdownItemIcon,Pe as renderUserAvatar,Ce as useTopNavCommon};
@@ -1 +1 @@
1
- import t,{useState as b,useRef as q,useEffect as g}from"react";import p from"classnames";import{langTypeEnum as J}from"../../constants/enums.js";import k from"../../assets/svg/top-nav/arena-flag.svg.js";import A from"../../assets/svg/top-nav/arrow-up.svg.js";import X from"../../assets/svg/top-nav/logo-mark.svg.js";import j from"../../assets/svg/top-nav/logo-word.svg.js";import G from"../../assets/svg/top-nav/nav-down.svg.js";import{Dropdown as P}from"antd";import n from"./top-nav.module.less.js";import{useTopNavCommon as Q,IconBox as v,renderDropdownContent as V,renderUserAvatar as ee}from"./shared.js";const ne=x=>{const{brandHref:C,locale:w,onToggleLocale:z,onArenaClick:h,navItems:E,arenaLabel:N,userInfo:D,onAvatarClick:_,userMenuItems:B,locales:m,handleJumpLogin:F,performLogout:H,isLoggedIn:f,hasUserMenu:R}=Q(x),T=e=>{var r,a,o,l,s,c;return w===J.en?(o=(a=(r=e.labelEn)!=null?r:e.label)!=null?a:e.labelZh)!=null?o:"":(c=(s=(l=e.labelZh)!=null?l:e.label)!=null?s:e.labelEn)!=null?c:""},M=(e,r)=>{var a,o,l,s,c;return(c=(s=(l=(o=(a=e.key)!=null?a:e.href)!=null?o:e.label)!=null?l:e.labelZh)!=null?s:e.labelEn)!=null?c:`nav-${r}`},[d,W]=b(!1),[u,Y]=b(()=>window.innerWidth>860),y=q(null),[I,$]=b(0),O=d&&u?{height:"52px",padding:"8px",backgroundColor:"var(--oc-white)",borderColor:"rgba(226, 227, 228, 1)",boxShadow:"0 4px 10px rgba(0, 0, 0, 0.15)",transform:"translateX(-50%) translateY(6px)"}:void 0,U=d&&u&&I>0?{"--oc-nav-half-width":`${I}px`}:void 0,i=d&&u,Z=i?{pointerEvents:"none",opacity:0,transform:"translateY(-8px) scale(0.96)"}:void 0,K=i?{pointerEvents:"auto",opacity:1}:void 0;g(()=>{let e=0,r=-1;const a=()=>{if(e=0,window.scrollY===r)return;r=window.scrollY;const s=window.scrollY>24;W(c=>c===s?c:s)},o=()=>{e===0&&(e=window.requestAnimationFrame(a))};a(),window.addEventListener("scroll",o,{passive:!0});const l=window.setInterval(a,120);return()=>{window.removeEventListener("scroll",o),window.clearInterval(l),e!==0&&window.cancelAnimationFrame(e)}},[]),g(()=>{const e=()=>Y(window.innerWidth>860);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),g(()=>{const e=y.current;if(!e||!u)return;const r=()=>{$(e.getBoundingClientRect().width/2)};r();const a=new ResizeObserver(r);return a.observe(e),window.addEventListener("resize",r),()=>{a.disconnect(),window.removeEventListener("resize",r)}},[u,d,w,E]);const L=e=>V({items:e,locale:w,performLogout:H,styles:n}),S=e=>ee({customDropdownRender:L,dropdownTrigger:["hover"],extra:e,hasUserMenu:R,isLoggedIn:f,onAvatarClick:_,styles:n,userInfo:D,userMenuItems:B});return t.createElement("header",{className:p(n.topbar,d&&n.scrolled),style:U},t.createElement("a",{className:n.brand,href:C,"aria-label":m.topNavBrandAria},t.createElement("img",{className:n.brandMark,src:X,alt:""}),t.createElement("img",{className:n.brandWord,src:j,alt:m.topNavBrandName})),t.createElement("nav",{ref:y,className:p(n.nav,d&&n.navScrolled),"aria-label":m.topNavNavAria,style:O},E.map((e,r)=>{const a=M(e,r),o=T(e),l=t.createElement("div",{className:p(n.navLink,e.active&&n.navLinkActive,e.withDown&&n.withDown)},t.createElement("a",{href:e.href||"#"},o),e.withDown?t.createElement(v,{src:G,size:16,styles:n}):null);return!!e.dropdownItems&&e.dropdownItems.length>0?t.createElement(P,{key:a,trigger:["hover"],popupRender:()=>L(e.dropdownItems),placement:"bottom",styles:{root:{paddingTop:8}}},l):t.createElement(t.Fragment,{key:a},l)})),t.createElement("div",{className:n.actions,style:Z,"aria-hidden":i},t.createElement("button",{className:n.arenaButton,type:"button",onClick:h},t.createElement(v,{src:k,size:16,className:n.arenaIconDefault,styles:n}),t.createElement(v,{src:A,size:16,className:n.arenaIconHover,styles:n}),t.createElement("span",null,N)),t.createElement("button",{className:n.langButton,type:"button",onClick:z},m.topNavLangSwitch),f?S():t.createElement("button",{className:n.loginButton,type:"button",onClick:F},m.login)),t.createElement("div",{className:p(n.floatingArena,i&&n.visible),style:K,"aria-hidden":!i},t.createElement("button",{className:n.floatingArenaButton,type:"button",tabIndex:i?0:-1,onClick:h},t.createElement(v,{src:k,size:16,className:n.arenaIconDefault,styles:n}),t.createElement(v,{src:A,size:16,className:n.arenaIconHover,styles:n}),t.createElement("span",null,N)),f?S({className:n.floatingAvatar,tabIndex:i?0:-1}):null))};export{ne as default};
1
+ import r,{useState as _,useRef as V,useEffect as y}from"react";import b from"classnames";import{langTypeEnum as X}from"../../constants/enums.js";import P from"../../assets/svg/top-nav/arena-flag.svg.js";import k from"../../assets/svg/top-nav/arrow-up.svg.js";import G from"../../assets/svg/top-nav/logo-mark.svg.js";import Q from"../../assets/svg/top-nav/logo-word.svg.js";import ee from"../../assets/svg/top-nav/nav-down.svg.js";import{Dropdown as ne}from"antd";import n from"./top-nav.module.less.js";import{useTopNavCommon as re,getTopNavLinkProps as h,IconBox as g,renderDropdownContent as ae,renderUserAvatar as te}from"./shared.js";var oe=Object.defineProperty,le=Object.defineProperties,se=Object.getOwnPropertyDescriptors,A=Object.getOwnPropertySymbols,ce=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable,z=(s,a,o)=>a in s?oe(s,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):s[a]=o,E=(s,a)=>{for(var o in a||(a={}))ce.call(a,o)&&z(s,o,a[o]);if(A)for(var o of A(a))ie.call(a,o)&&z(s,o,a[o]);return s},T=(s,a)=>le(s,se(a));const de=s=>{const{brandHref:a,locale:o,onToggleLocale:B,navItems:I,arena:m,arenaLabel:S,userInfo:C,userMenuItems:F,locales:w,handleJumpLogin:H,performLogout:R,isLoggedIn:N,hasUserMenu:M}=re(s),W=e=>{var l,t,c,i,d,p;return o===X.en?(c=(t=(l=e.labelEn)!=null?l:e.label)!=null?t:e.labelZh)!=null?c:"":(p=(d=(i=e.labelZh)!=null?i:e.label)!=null?d:e.labelEn)!=null?p:""},Y=(e,l)=>{var t,c,i,d,p;return(p=(d=(i=(c=(t=e.key)!=null?t:e.href)!=null?c:e.label)!=null?i:e.labelZh)!=null?d:e.labelEn)!=null?p:`nav-${l}`},[u,$]=_(!1),[f,j]=_(()=>window.innerWidth>860),L=V(null),[O,U]=_(0),Z=u&&f?{height:"52px",padding:"8px",backgroundColor:"var(--oc-white)",borderColor:"rgba(226, 227, 228, 1)",boxShadow:"0 4px 10px rgba(0, 0, 0, 0.15)",transform:"translateX(-50%) translateY(6px)"}:void 0,K=u&&f&&O>0?{"--oc-nav-half-width":`${O}px`}:void 0,v=u&&f,q=v?{pointerEvents:"none",opacity:0,transform:"translateY(-8px) scale(0.96)"}:void 0,J=v?{pointerEvents:"auto",opacity:1}:void 0;y(()=>{let e=0,l=-1;const t=()=>{if(e=0,window.scrollY===l)return;l=window.scrollY;const d=window.scrollY>24;$(p=>p===d?p:d)},c=()=>{e===0&&(e=window.requestAnimationFrame(t))};t(),window.addEventListener("scroll",c,{passive:!0});const i=window.setInterval(t,120);return()=>{window.removeEventListener("scroll",c),window.clearInterval(i),e!==0&&window.cancelAnimationFrame(e)}},[]),y(()=>{const e=()=>j(window.innerWidth>860);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),y(()=>{const e=L.current;if(!e||!f)return;const l=()=>{U(e.getBoundingClientRect().width/2)};l();const t=new ResizeObserver(l);return t.observe(e),window.addEventListener("resize",l),()=>{t.disconnect(),window.removeEventListener("resize",l)}},[f,u,o,I]);const x=e=>ae({items:e,locale:o,performLogout:R,styles:n}),D=e=>te({customDropdownRender:x,dropdownTrigger:["hover"],extra:e,hasUserMenu:M,isLoggedIn:N,styles:n,userInfo:C,userMenuItems:F});return r.createElement("header",{className:b(n.topbar,u&&n.scrolled),style:K},r.createElement("a",T(E({className:n.brand},h(a)),{"aria-label":w.topNavBrandAria}),r.createElement("img",{className:n.brandMark,src:G,alt:""}),r.createElement("img",{className:n.brandWord,src:Q,alt:w.topNavBrandName})),r.createElement("nav",{ref:L,className:b(n.nav,u&&n.navScrolled),"aria-label":w.topNavNavAria,style:Z},I.map((e,l)=>{const t=Y(e,l),c=W(e),i=r.createElement("div",{className:b(n.navLink,e.active&&n.navLinkActive,e.withDown&&n.withDown)},r.createElement("a",E({},h(e.href,e.linkTarget)),c),e.withDown?r.createElement(g,{src:ee,size:16,styles:n}):null);return!!e.dropdownItems&&e.dropdownItems.length>0?r.createElement(ne,{key:t,trigger:["hover"],popupRender:()=>x(e.dropdownItems),placement:"bottom",styles:{root:{paddingTop:8}}},i):r.createElement(r.Fragment,{key:t},i)})),r.createElement("div",{className:n.actions,style:q,"aria-hidden":v},r.createElement("a",E({className:n.arenaButton},h(m==null?void 0:m.href,m==null?void 0:m.linkTarget)),r.createElement(g,{src:P,size:16,className:n.arenaIconDefault,styles:n}),r.createElement(g,{src:k,size:16,className:n.arenaIconHover,styles:n}),r.createElement("span",null,S)),r.createElement("button",{className:n.langButton,type:"button",onClick:B},w.topNavLangSwitch),N?D():r.createElement("button",{className:n.loginButton,type:"button",onClick:H},w.login)),r.createElement("div",{className:b(n.floatingArena,v&&n.visible),style:J,"aria-hidden":!v},r.createElement("a",T(E({className:n.floatingArenaButton},h(m==null?void 0:m.href,m==null?void 0:m.linkTarget)),{tabIndex:v?0:-1}),r.createElement(g,{src:P,size:16,className:n.arenaIconDefault,styles:n}),r.createElement(g,{src:k,size:16,className:n.arenaIconHover,styles:n}),r.createElement("span",null,S)),N?D({className:n.floatingAvatar,tabIndex:v?0:-1}):null))};export{de as default};
@@ -493,6 +493,10 @@ import n from"../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inj
493
493
  color: rgba(18, 19, 22, 0.8);
494
494
  box-sizing: border-box;
495
495
  width: 100%;
496
+ border: 0;
497
+ text-align: left;
498
+ font: inherit;
499
+ appearance: none;
496
500
  }
497
501
  .top-nav-module_customDropdown__NSITf .top-nav-module_dropdownItem__can1p:hover {
498
502
  background-color: var(--oc-fill-bg-hover, #f0f1f5);
@@ -1 +1 @@
1
- var t=(r=>(r.en="en-US",r.zh="zh-CN",r))(t||{}),i=(r=>(r.development="development",r.staging="staging",r.production="production",r))(i||{}),e=(r=>(r.lightWeb="lightWeb",r.blueWeb="blueWeb",r.miniWeb="miniWeb",r.lightMiniWeb="lightMiniWeb",r.transparentWeb="transparentWeb",r))(e||{}),l=(r=>(r.llm="llm",r.mm="mm",r))(l||{});export{i as envTypeEnum,l as evaluationTypeEnum,t as langTypeEnum,e as webTypeEnum};
1
+ var t=(r=>(r.en="en-US",r.zh="zh-CN",r))(t||{}),l=(r=>(r.development="development",r.staging="staging",r.production="production",r))(l||{}),e=(r=>(r.home="home",r.leaderboard="leaderboard",r.models="models",r.datasets="datasets",r.tools="tools",r))(e||{}),a=(r=>(r.lightWeb="lightWeb",r.blueWeb="blueWeb",r.miniWeb="miniWeb",r.lightMiniWeb="lightMiniWeb",r.transparentWeb="transparentWeb",r))(a||{}),d=(r=>(r.llm="llm",r.mm="mm",r))(d||{});export{l as envTypeEnum,d as evaluationTypeEnum,t as langTypeEnum,e as topNavActiveKeyEnum,a as webTypeEnum};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- export{default as OcHeader}from"./components/header/index.js";export{default as OcTopNav}from"./components/top-nav/index.js";export{default as OcOnlineEvaluation}from"./components/online-evaluation/index.js";export{default as OcSideNav}from"./components/side-nav/index.js";export{default as OcFooter}from"./components/footer/index.js";export{default as OcDropdown}from"./components/dropdown/dropdown.js";export{goData,goHub,goInternDiscoveryEvalKit,goKit,goOCHome,goRank,goRules}from"./google-log/home.js";export{default as OcFooterExpansion}from"./components/footer-expansion/index.js";export{default as OcMdRender}from"./components/md-render/index.js";export{envTypeEnum,evaluationTypeEnum,langTypeEnum,webTypeEnum}from"./constants/enums.js";export{getMenuData}from"./helper/index.js";
1
+ export{default as OcHeader}from"./components/header/index.js";export{default as OcTopNav}from"./components/top-nav/index.js";export{default as OcOnlineEvaluation}from"./components/online-evaluation/index.js";export{default as OcSideNav}from"./components/side-nav/index.js";export{default as OcFooter}from"./components/footer/index.js";export{default as OcDropdown}from"./components/dropdown/dropdown.js";export{goData,goHub,goInternDiscoveryEvalKit,goKit,goOCHome,goRank,goRules}from"./google-log/home.js";export{default as OcFooterExpansion}from"./components/footer-expansion/index.js";export{default as OcMdRender}from"./components/md-render/index.js";export{envTypeEnum,evaluationTypeEnum,langTypeEnum,topNavActiveKeyEnum,webTypeEnum}from"./constants/enums.js";export{getMenuData}from"./helper/index.js";
@@ -1 +1 @@
1
- import e,{useState as C,useEffect as J}from"react";import p from"classnames";import{CloseOutlined as P,MenuOutlined as W}from"@ant-design/icons";import{langTypeEnum as v}from"../../../constants/enums.js";import j from"../../../assets/svg/top-nav/logo-mark.svg.js";import q from"../../../assets/svg/top-nav/logo-word.svg.js";import Q from"../../../assets/svg/top-nav/nav-down.svg.js";import V from"../../../assets/svg/top-nav/arena-flag-mobile.svg.js";import X from"../../../assets/svg/top-nav/arrow-right-up.svg.js";import n from"./top-nav.module.less.js";import{useTopNavCommon as Y,getCollapsibleKeysFromNavItems as ee,renderUserAvatar as ne,getCollapsibleKeysFromDropdownItems as ae,isDropdownGroupItem as te,renderDropdownItemIcon as A,renderDropdownContent as le}from"../../../components/top-nav/shared.js";const re=D=>{const{brandHref:x,locale:d,onToggleLocale:R,navItems:g,onArenaClick:k,arena:E,userInfo:S,onAvatarClick:O,userMenuItems:K,arenaLabel:M,locales:m,handleJumpLogin:B,performLogout:T,isLoggedIn:h,hasUserMenu:$}=Y(D),[u,i]=C(!1),[N,w]=C(()=>new Set);J(()=>{u||w(new Set)},[u]);const F=(a,l)=>{w(t=>{const r=new Set(t);return r.has(a)?r.delete(a):(l.forEach(o=>r.delete(o)),r.add(a)),r})},L=(a,l)=>{const t=N.has(a);return e.createElement("button",{type:"button",className:p(n.expandBtn,t&&n.expandBtnOpen),"aria-expanded":t,"aria-label":t?"Collapse":"Expand",onClick:r=>{r.preventDefault(),r.stopPropagation(),F(a,l)}},e.createElement("img",{src:Q,alt:"",className:n.expandIconImg}))},I=(a,l)=>{const t=a.label||(d===v.en?a.labelEn:a.labelZh),r=a.key||a.id||`item-${l}`,o=A(a,18);return e.createElement("a",{key:r,className:p(n.menuLink,n.menuRow),href:a.href||"#",onClick:c=>{var s;a.href||c.preventDefault(),(s=a.onClick)==null||s.call(a,c),i(!1)}},o?e.createElement("span",{className:n.menuRowIcon},o):null,e.createElement("span",{className:n.menuRowLabel},t))},G=a=>{const l=ae(a);return a.map((t,r)=>{if(t.type==="divider")return null;const o=t.id||t.key||`drop-${r}`;if(te(t)){const s=t.label||(d===v.en?t.labelEn:t.labelZh),f=N.has(o),y=A(t,18);return e.createElement("div",{key:o,className:n.menuGroup},e.createElement("div",{className:n.menuRow},e.createElement("span",{className:n.menuRowIcon},y),e.createElement("span",{className:n.menuRowLabel},s),L(o,l)),f&&t.children?e.createElement("div",{className:n.menuSubList},t.children.map((b,H)=>I(b,H))):null)}return I(t,r)})},_=()=>{const a=ee(g);return g.map((l,t)=>{var r,o,c;const s=(o=(r=l.key)!=null?r:l.href)!=null?o:`nav-${t}`,f=d===v.en?l.labelEn:l.labelZh;if(!!((c=l.dropdownItems)!=null&&c.length)){const b=N.has(s);return e.createElement("div",{key:s,className:n.menuSection},e.createElement("div",{className:p(n.menuRow,l.active&&n.menuRowActive)},e.createElement("span",{className:n.menuRowLabel},f),L(s,a)),b?e.createElement("div",{className:n.menuSubList},G(l.dropdownItems)):null)}return e.createElement("a",{key:s,className:p(n.menuLink,l.active&&n.menuLinkActive),href:l.href||"#",onClick:()=>i(!1)},e.createElement("span",{className:n.menuLinkLabel},f))})},U=()=>{const a=l=>{E!=null&&E.href||(l.preventDefault(),k==null||k()),i(!1)};return e.createElement("a",{key:"arena",className:p(n.menuLink,n.menuLinkArena),href:(E==null?void 0:E.href)||"#",onClick:a},e.createElement("span",{className:n.menuLinkContent},e.createElement("span",{className:n.menuLinkIcon},e.createElement("img",{src:V,alt:""})),e.createElement("span",{className:n.menuLinkLabel},M)),e.createElement("span",{className:n.menuLinkExternalIcon},e.createElement("img",{src:X,alt:""})))},Z=a=>le({items:a,locale:d,performLogout:T,styles:n}),z=a=>ne({avatarSize:32,customDropdownRender:Z,dropdownTrigger:["click"],extra:a,hasUserMenu:$,isLoggedIn:h,onAvatarClick:O,styles:n,userInfo:S,userMenuItems:K});return e.createElement(e.Fragment,null,e.createElement("header",{className:n.topbar},e.createElement("a",{className:n.brand,href:x,"aria-label":m.topNavBrandAria},e.createElement("img",{className:n.brandMark,src:j,alt:""}),e.createElement("img",{className:n.brandWord,src:q,alt:m.topNavBrandName})),e.createElement("div",{className:n.actions},e.createElement("button",{className:n.langButton,type:"button",onClick:R},m.topNavLangSwitch),h?z():e.createElement("button",{className:n.loginButton,type:"button",onClick:B},m.login),e.createElement("button",{className:n.menuButton,type:"button",onClick:()=>i(!u),"aria-label":"Toggle menu"},u?e.createElement(P,null):e.createElement(W,null)))),u&&e.createElement(e.Fragment,null,e.createElement("div",{className:n.mask,onClick:()=>i(!1)}),e.createElement("nav",{className:n.menuContainer,"aria-label":m.topNavNavAria},_(),U())))};export{re as default};
1
+ import e,{useState as S,useEffect as W}from"react";import f from"classnames";import{CloseOutlined as q,MenuOutlined as Q}from"@ant-design/icons";import{langTypeEnum as k}from"../../../constants/enums.js";import X from"../../../assets/svg/top-nav/logo-mark.svg.js";import Y from"../../../assets/svg/top-nav/logo-word.svg.js";import ee from"../../../assets/svg/top-nav/nav-down.svg.js";import ne from"../../../assets/svg/top-nav/arena-flag-mobile.svg.js";import ae from"../../../assets/svg/top-nav/arrow-right-up.svg.js";import n from"./top-nav.module.less.js";import{useTopNavCommon as re,getTopNavLinkProps as y,getCollapsibleKeysFromNavItems as te,renderUserAvatar as le,getCollapsibleKeysFromDropdownItems as oe,isDropdownGroupItem as se,renderDropdownItemIcon as R,jumpTopNavHref as ce,renderDropdownContent as me}from"../../../components/top-nav/shared.js";var pe=Object.defineProperty,ue=Object.defineProperties,ie=Object.getOwnPropertyDescriptors,T=Object.getOwnPropertySymbols,de=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable,A=(m,l,o)=>l in m?pe(m,l,{enumerable:!0,configurable:!0,writable:!0,value:o}):m[l]=o,v=(m,l)=>{for(var o in l||(l={}))de.call(l,o)&&A(m,o,l[o]);if(T)for(var o of T(l))Ee.call(l,o)&&A(m,o,l[o]);return m},L=(m,l)=>ue(m,ie(l));const fe=m=>{const{brandHref:l,locale:o,onToggleLocale:K,navItems:I,arena:b,userInfo:M,userMenuItems:B,arenaLabel:$,locales:d,handleJumpLogin:j,performLogout:F,isLoggedIn:h,hasUserMenu:G}=re(m),[u,E]=S(!1),[N,_]=S(()=>new Set);W(()=>{u||_(new Set)},[u]);const O=(a,r)=>{_(t=>{const s=new Set(t);return s.has(a)?s.delete(a):(r.forEach(c=>s.delete(c)),s.add(a)),s})},C=(a,r)=>({role:"button",tabIndex:0,onClick:()=>O(a,r),onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),O(a,r))}}),P=a=>{const r=N.has(a);return e.createElement("span",{className:f(n.expandBtn,r&&n.expandBtnOpen),"aria-expanded":r,"aria-label":r?"Collapse":"Expand"},e.createElement("img",{src:ee,alt:"",className:n.expandIconImg}))},x=(a,r)=>{const t=a.label||(o===k.en?a.labelEn:a.labelZh),s=a.key||a.id||`item-${r}`,c=R(a,18);return e.createElement("button",{key:s,type:"button",className:f(n.menuLink,n.menuRow),onClick:i=>{var p;(p=a.onClick)==null||p.call(a,i),!i.defaultPrevented&&(a.href&&ce(a.href,a.linkTarget),E(!1))}},c?e.createElement("span",{className:n.menuRowIcon},c):null,e.createElement("span",{className:n.menuRowLabel},t))},U=a=>{const r=oe(a);return a.map((t,s)=>{if(t.type==="divider")return null;const c=t.id||t.key||`drop-${s}`;if(se(t)){const p=t.label||(o===k.en?t.labelEn:t.labelZh),g=N.has(c),D=R(t,18);return e.createElement("div",{key:c,className:n.menuGroup},e.createElement("div",v({className:n.menuRow},C(c,r)),e.createElement("span",{className:n.menuRowIcon},D),e.createElement("span",{className:n.menuRowLabel},p),P(c)),g&&t.children?e.createElement("div",{className:n.menuSubList},t.children.map((w,V)=>x(w,V))):null)}return x(t,s)})},Z=()=>{const a=te(I);return I.map((r,t)=>{var s,c,i;const p=(c=(s=r.key)!=null?s:r.href)!=null?c:`nav-${t}`,g=o===k.en?r.labelEn:r.labelZh;if(!!((i=r.dropdownItems)!=null&&i.length)){const w=N.has(p);return e.createElement("div",{key:p,className:n.menuSection},e.createElement("div",v({className:f(n.menuRow,r.active&&n.menuRowActive)},C(p,a)),e.createElement("span",{className:n.menuRowLabel},g),P(p)),w?e.createElement("div",{className:n.menuSubList},U(r.dropdownItems)):null)}return e.createElement("a",L(v({key:p,className:f(n.menuLink,r.active&&n.menuLinkActive)},y(r.href,r.linkTarget)),{onClick:()=>E(!1)}),e.createElement("span",{className:n.menuLinkLabel},g))})},H=()=>e.createElement("a",L(v({key:"arena",className:f(n.menuLink,n.menuLinkArena)},y(b==null?void 0:b.href,b==null?void 0:b.linkTarget)),{onClick:()=>E(!1)}),e.createElement("span",{className:n.menuLinkContent},e.createElement("span",{className:n.menuLinkIcon},e.createElement("img",{src:ne,alt:""})),e.createElement("span",{className:n.menuLinkLabel},$)),e.createElement("span",{className:n.menuLinkExternalIcon},e.createElement("img",{src:ae,alt:""}))),z=a=>me({items:a,locale:o,performLogout:F,styles:n}),J=a=>le({avatarSize:32,customDropdownRender:z,dropdownTrigger:["click"],extra:a,hasUserMenu:G,isLoggedIn:h,styles:n,userInfo:M,userMenuItems:B});return e.createElement(e.Fragment,null,e.createElement("header",{className:n.topbar},e.createElement("a",L(v({className:n.brand},y(l)),{"aria-label":d.topNavBrandAria}),e.createElement("img",{className:n.brandMark,src:X,alt:""}),e.createElement("img",{className:n.brandWord,src:Y,alt:d.topNavBrandName})),e.createElement("div",{className:n.actions},u?null:e.createElement("button",{className:n.langButton,type:"button",onClick:K},d.topNavLangSwitch),u?null:h?J():e.createElement("button",{className:n.loginButton,type:"button",onClick:j},d.login),e.createElement("button",{className:n.menuButton,type:"button",onClick:()=>E(!u),"aria-label":"Toggle menu"},u?e.createElement(q,null):e.createElement(Q,null)))),u&&e.createElement(e.Fragment,null,e.createElement("div",{className:n.mask,onClick:()=>E(!1)}),e.createElement("nav",{className:n.menuContainer,"aria-label":d.topNavNavAria},Z(),H())))};export{fe as default};
@@ -203,6 +203,11 @@ import n from"../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-
203
203
  color: #121316;
204
204
  font-size: 16px;
205
205
  text-decoration: none;
206
+ border: 0;
207
+ background: transparent;
208
+ text-align: left;
209
+ font: inherit;
210
+ appearance: none;
206
211
  }
207
212
  .top-nav-module_menuLink__9LL-X:hover,
208
213
  .top-nav-module_menuLink__9LL-X:active {
@@ -277,9 +282,6 @@ import n from"../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-
277
282
  background: transparent;
278
283
  cursor: pointer;
279
284
  }
280
- .top-nav-module_expandBtn__gxcLt:hover {
281
- background-color: #f0f1f5;
282
- }
283
285
  .top-nav-module_expandIconImg__PfP1H {
284
286
  display: block;
285
287
  width: 20px;
@@ -302,13 +304,21 @@ import n from"../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-
302
304
  .top-nav-module_customDropdown__wsXUt .top-nav-module_dropdownItem__RA5PQ {
303
305
  display: flex;
304
306
  align-items: center;
305
- height: 40px;
306
- padding: 0 12px;
307
+ gap: 8px;
308
+ min-height: 36px;
309
+ padding: 6px 14px 6px 8px;
307
310
  border-radius: 8px;
308
- color: #121316;
309
- font-size: 14px;
310
- text-decoration: none;
311
+ background-color: transparent;
311
312
  cursor: pointer;
313
+ transition: background-color 220ms ease;
314
+ text-decoration: none;
315
+ color: rgba(18, 19, 22, 0.8);
316
+ box-sizing: border-box;
317
+ width: 100%;
318
+ border: 0;
319
+ text-align: left;
320
+ font: inherit;
321
+ appearance: none;
312
322
  }
313
323
  .top-nav-module_customDropdown__wsXUt .top-nav-module_dropdownItem__RA5PQ:hover {
314
324
  background-color: #f0f1f5;
@@ -7,6 +7,13 @@ declare enum envTypeEnum {
7
7
  staging = "staging",
8
8
  production = "production"
9
9
  }
10
+ declare enum topNavActiveKeyEnum {
11
+ home = "home",
12
+ leaderboard = "leaderboard",
13
+ models = "models",
14
+ datasets = "datasets",
15
+ tools = "tools"
16
+ }
10
17
  declare enum webTypeEnum {
11
18
  lightWeb = "lightWeb",
12
19
  blueWeb = "blueWeb",
@@ -19,4 +26,4 @@ declare enum evaluationTypeEnum {
19
26
  mm = "mm"
20
27
  }
21
28
 
22
- export { envTypeEnum, evaluationTypeEnum, langTypeEnum, webTypeEnum };
29
+ export { envTypeEnum, evaluationTypeEnum, langTypeEnum, topNavActiveKeyEnum, webTypeEnum };
@@ -7,8 +7,8 @@ export { default as OcDropdown } from './components/dropdown/dropdown.js';
7
7
  export { goData, goHub, goInternDiscoveryEvalKit, goKit, goOCHome, goRank, goRules } from './google-log/home.js';
8
8
  export { default as OcFooterExpansion } from './components/footer-expansion/index.js';
9
9
  export { default as OcMdRender } from './components/md-render/index.js';
10
- import { envTypeEnum, langTypeEnum, webTypeEnum } from './constants/enums.js';
11
- export { envTypeEnum, evaluationTypeEnum, langTypeEnum, webTypeEnum } from './constants/enums.js';
10
+ import { envTypeEnum, langTypeEnum, webTypeEnum, topNavActiveKeyEnum } from './constants/enums.js';
11
+ export { envTypeEnum, evaluationTypeEnum, langTypeEnum, topNavActiveKeyEnum, webTypeEnum } from './constants/enums.js';
12
12
  export { getMenuData } from './helper/index.js';
13
13
 
14
14
  interface DefaultRespDTO<T> {
@@ -90,6 +90,7 @@ interface SideNavProps {
90
90
  envType: envTypeEnum;
91
91
  children?: React.ReactElement;
92
92
  }
93
+ type TopNavLinkTarget = '_self' | '_blank';
93
94
  interface DropdownItem {
94
95
  key?: string;
95
96
  id?: string;
@@ -98,8 +99,9 @@ interface DropdownItem {
98
99
  labelEn?: string;
99
100
  label?: string;
100
101
  href?: string;
102
+ linkTarget?: TopNavLinkTarget;
101
103
  icon?: React.ReactNode;
102
- onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
104
+ onClick?: (event: React.MouseEvent<HTMLElement>) => void;
103
105
  children?: DropdownItem[];
104
106
  }
105
107
  interface TopNavNavItem {
@@ -108,6 +110,7 @@ interface TopNavNavItem {
108
110
  labelZh?: string;
109
111
  labelEn?: string;
110
112
  href?: string;
113
+ linkTarget?: TopNavLinkTarget;
111
114
  active?: boolean;
112
115
  withDown?: boolean;
113
116
  dropdownItems?: DropdownItem[];
@@ -119,33 +122,33 @@ interface TopNavArenaConfig {
119
122
  labelEn?: string;
120
123
  /** 跳转地址,传入后渲染为 <a>,支持中键开新标签 */
121
124
  href?: string;
125
+ /** 跳转方式: _self 当前页跳转, _blank 新页面打开 */
126
+ linkTarget?: TopNavLinkTarget;
122
127
  }
123
128
  interface TopNavProps {
124
129
  /** 当前语言,用于导航文案和链接参数渲染 */
125
130
  locale: langTypeEnum;
126
- /** 当前运行环境,用于读取对应环境配置 */
127
- envType: envTypeEnum;
128
- /** 点击品牌 Logo 后跳转的地址,默认 https://opencompass.org.cn/home */
129
- brandHref?: string;
130
131
  /** 点击语言切换按钮时触发,语言状态由父组件维护 */
131
- onToggleLocale?: () => void;
132
+ onToggleLocale: () => void;
133
+ /** 当前运行环境,用于读取对应环境配置,如不传是用生产环境地址 */
134
+ envType?: envTypeEnum;
135
+ /** 点击品牌 Logo 后跳转的地址,根据环境有默认值 */
136
+ brandHref?: string;
137
+ /** 顶部导航菜单配置,根据环境有默认值 */
138
+ navItems?: TopNavNavItem[];
139
+ /** 当前激活的顶部导航菜单 key; 传入后由组件内部标记对应 navItems.active */
140
+ activeKey?: topNavActiveKeyEnum;
141
+ /** Arena 入口的文案和跳转配置,根据环境有默认值 */
142
+ arena?: TopNavArenaConfig;
132
143
  /** 跳转登录回调,与 header 组件保持一致 */
133
144
  jumpLogin?: () => void;
134
- /** 点击 Arena 入口时触发 */
135
- onArenaClick?: () => void;
136
- /** Arena 入口的文案和跳转配置 */
137
- arena?: TopNavArenaConfig;
138
- /** 顶部导航菜单配置,未传时使用默认菜单 */
139
- navItems?: TopNavNavItem[];
140
145
  /**
141
146
  * 由父组件在登录成功后回传的用户信息;
142
147
  * 传入有效值时,OcTopNav 会用头像替换登录按钮。
143
148
  * 设为 null/undefined 表示未登录,显示登录按钮。
144
149
  */
145
150
  userInfo?: IUserInfo | null;
146
- /** 头像点击事件,无 userMenuItems 时通常用来触发父组件的用户菜单/跳转 */
147
- onAvatarClick?: () => void;
148
- /** 可选:点击头像时弹出的下拉菜单项(如个人中心/退出登录) */
151
+ /** 点击头像时弹出的下拉菜单项(如个人中心/退出登录); 不传时根据环境有默认值 */
149
152
  userMenuItems?: DropdownItem[];
150
153
  /** 退出登录的接口调用,与 header 组件保持一致 */
151
154
  logout?: () => Promise<unknown>;
@@ -159,4 +162,4 @@ interface FooterProps {
159
162
  customClassname?: string;
160
163
  }
161
164
 
162
- export { ApplyEvalRequest, DefaultRespDTO, DropdownItem, FooterProps, HeaderProps, IUserInfo, OnlineEvaluationProps, SideNavProps, TopNavArenaConfig, TopNavNavItem, TopNavProps };
165
+ export { ApplyEvalRequest, DefaultRespDTO, DropdownItem, FooterProps, HeaderProps, IUserInfo, OnlineEvaluationProps, SideNavProps, TopNavArenaConfig, TopNavLinkTarget, TopNavNavItem, TopNavProps };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencompass-fe/oc-webkit-eval",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "Provide some common components for oc",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,6 +15,7 @@
15
15
  "scripts": {
16
16
  "dev": "cross-env NODE_ENV=developemnt rollup -m -c rollup.config.js -w",
17
17
  "build": "rimraf dist && rimraf es && cross-env NODE_ENV=production rollup -c rollup.config.js",
18
+ "publish": "npm run build && npm publish",
18
19
  "test": "tsc --project ./tsconfig.test.json && jest",
19
20
  "lint": "eslint 'src/**/*.{ts,tsx,js,jsx}' && npm run build:type",
20
21
  "lint:fix": "eslint src/**/*.{ts,tsx,js,jsx} --fix",