@opencompass-fe/oc-webkit-eval 0.2.3 → 0.2.5
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 l,{useContext as M,useMemo as me,useCallback as $,useEffect as H}from"react";import U from"classnames";import{OcContext as de}from"../../providers/OcContext.js";import{OcConfigContext as _e}from"../../providers/OcConfigContext.js";import{message as fe,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 R,topNavActiveKeyEnum as N,langTypeEnum as O}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{TOP_NAV_LOCALE_STORAGE_KEY as ge}from"../../constants/storage.js";import ve from"../../assets/svg/top-nav/agent.svg.js";import F from"../../assets/svg/top-nav/AI4S.svg.js";import Z from"../../assets/svg/top-nav/finance.svg.js";import he from"../../assets/svg/top-nav/image-understanding.svg.js";import Ie from"../../assets/svg/top-nav/multi1.svg.js";import x from"../../assets/svg/top-nav/LLM.svg.js";import G from"../../assets/svg/top-nav/medical.svg.js";import K from"../../assets/svg/top-nav/physical-intelligence.svg.js";import be from"../../assets/svg/top-nav/video-understanding.svg.js";import Te from"../../assets/svg/top-nav/group-bullet.svg.js";import j,{DEFAULT_LANG as ye}from"../../locale/index.js";var Ne=Object.defineProperty,Le=Object.defineProperties,ke=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,W=(e,r,n)=>r in e?Ne(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n,b=(e,r)=>{for(var n in r||(r={}))Y.call(r,n)&&W(e,n,r[n]);if(L)for(var n of L(r))z.call(r,n)&&W(e,n,r[n]);return e},k=(e,r)=>Le(e,ke(r)),Ce=(e,r)=>{var n={};for(var o in e)Y.call(e,o)&&r.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&L)for(var o of L(e))r.indexOf(o)<0&&z.call(e,o)&&(n[o]=e[o]);return n},Ue=(e,r,n)=>new Promise((o,t)=>{var a=s=>{try{c(n.next(s))}catch(m){t(m)}},u=s=>{try{c(n.throw(s))}catch(m){t(m)}},c=s=>s.done?o(s.value):Promise.resolve(s.value).then(a,u);c((n=n.apply(e,r)).next())});function _({src:e,size:r=14}){return l.createElement("img",{src:e,style:{width:r,height:r,objectFit:"contain"},alt:""})}const Re={llm:x,agent:ve,ai4s:F,physical:K,item1:he,item2:be,medical:G,finance:Z};function q(e){const r=e.id||e.key;if(r)return Re[r]}function J(e){return e.type==="group"||!!(e.children&&e.children.length>0)}function Q(e,r=14){if(e.icon)return e.icon;const n=q(e);return n?l.createElement(_,{src:n,size:r}):J(e)?l.createElement(_,{src:Te,size:r}):null}const w="logout",i="_self",h="_blank";function Oe(e,r=i){const n=r===h;return{href:e||"#",target:n?h:void 0,rel:n?"noopener noreferrer":void 0}}function X(e,r=i){if(e){if(r===h){window.open(e,h,"noopener,noreferrer");return}window.location.href=e}}function A(e){if(e)return e.map(r=>{var n;return k(b({},r),{linkTarget:(n=r.linkTarget)!=null?n:i,children:A(r.children)})})}function we(e,r,n){return(e!=null?e:r).map(t=>{var a;return k(b({},t),{active:n?t.key===n:t.active,linkTarget:(a=t.linkTarget)!=null?a:i,dropdownItems:A(t.dropdownItems)})})}const f={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",VITE_MEDBENCH_URL:"https://medbench.opencompass.org.cn/leaderboard",VITE_CNFINBENCH_URL:"https://cnfinbench.opencompass.org.cn/evaluation-list"},Ae={[R.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:f.VITE_TOOLS_URL,VITE_MEDBENCH_URL:f.VITE_MEDBENCH_URL,VITE_CNFINBENCH_URL:f.VITE_CNFINBENCH_URL},[R.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:f.VITE_TOOLS_URL,VITE_MEDBENCH_URL:f.VITE_MEDBENCH_URL,VITE_CNFINBENCH_URL:f.VITE_CNFINBENCH_URL},[R.production]:f};function ee(e){const{VITE_COMPASS_URL:r,VITE_RANK_URL:n,VITE_HUB_URL:o,VITE_SSO_URL:t,VITE_TOOLS_URL:a,VITE_MEDBENCH_URL:u,VITE_CNFINBENCH_URL:c}=e&&Ae[e]||f;return{brandHref:`${r}/home`,navItems:[{key:N.home,labelZh:"\u9996\u9875",labelEn:"Home",href:`${r}/home`,linkTarget:i},{key:N.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(_,{src:x}),href:`${n}/leaderboard/llm`,linkTarget:i},{type:"divider"},{id:"group1",type:"item",labelZh:"\u591A\u6A21\u6001\u6A21\u578B",labelEn:"Multimodal Models",href:`${n}/leaderboard/image-vlm`,icon:l.createElement(_,{src:Ie})},{type:"divider"},{id:"ai4s",type:"item",labelZh:"\u79D1\u5B66\u667A\u80FD",labelEn:"AI for Science",icon:l.createElement(_,{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(_,{src:K}),href:`${n}/leaderboard/physical-intelligence`,linkTarget:i},{type:"divider"},{id:"group2",type:"group",labelZh:"\u9886\u57DF\u667A\u80FD",labelEn:"Domains Intelligent",children:[{id:"medical",type:"item",labelZh:"\u533B\u7597",labelEn:"Medical",icon:l.createElement(_,{src:G}),href:`${u}`,linkTarget:i},{id:"finance",type:"item",labelZh:"\u91D1\u878D",labelEn:"Finance",icon:l.createElement(_,{src:Z}),href:`${c}`,linkTarget:i}]}]},{key:N.datasets,labelZh:"\u8BC4\u6D4B\u96C6",labelEn:"Benchmarks",href:`${o}/home`,linkTarget:i,active:!0},{key:N.tools,labelZh:"\u8BC4\u6D4B\u5DE5\u5177",labelEn:"Tools",href:a,linkTarget:h}],arena:{labelZh:"\u7ADE\u6280\u573A",labelEn:"Arena",href:`${r}/arena/home`,linkTarget:h},userMenuItems:[{key:"myEvaluation",type:"item",labelZh:"\u6211\u7684\u8BC4\u6D4B",labelEn:"My Evaluation",href:`${n}/online-evaluation`,linkTarget:i},{key:"myBenchmark",type:"item",labelZh:"\u6211\u7684\u8BC4\u6D4B\u96C6",labelEn:"My Benchmark",href:`${o}/benchmarks`,linkTarget:i},{key:"myModel",type:"item",labelZh:"\u6211\u7684\u6A21\u578B",labelEn:"My Model",href:`${n}/models`,linkTarget:i},{key:"user-center",type:"item",labelZh:"\u8D26\u53F7\u4FE1\u606F",labelEn:"User Center",href:`${t}/usercenter`,linkTarget:i},{type:"divider"},{key:w,type:"item",labelZh:"\u9000\u51FA\u767B\u5F55",labelEn:"Logout"}]}}ee();function De({alt:e="",className:r,size:n,src:o,styles:t}){return l.createElement("span",{className:U(t.iconBox,r),style:{"--icon-size":`${n}px`}},l.createElement("img",{src:o,alt:e}))}function re(e){return e.nickname||e.username||e.email||""}function ne(e){const r=e.trim();return r?r.slice(0,1).toUpperCase():""}const D=l.forwardRef((e,r)=>{var n=e,{userInfo:o,styles:t,onClick:a,className:u,tabIndex:c,size:s=36}=n,m=Ce(n,["userInfo","styles","onClick","className","tabIndex","size"]);const p=re(o),d=ne(p);return l.createElement("button",k(b({},m),{ref:r,type:"button",className:U(t.userAvatar,u),style:{"--avatar-size":`${s}px`},onClick:a,tabIndex:c,"aria-label":p||"User",title:p}),o.avatar?l.createElement("img",{src:o.avatar,alt:p}):l.createElement("span",{className:t.userAvatarInitials},d))});D.displayName="UserAvatar";function Be(e){var r,n,o;const{brandHref:t,locale:a,onToggleLocale:u,jumpLogin:c,navItems:s,activeKey:m,arena:p,userInfo:d,userMenuItems:g,logout:v,handleUnauth:T}=e,{config:V,setConfig:S}=M(_e),{locales:y}=M(de),te=(r=e.envType)!=null?r:V==null?void 0:V.envType,I=ee(te),oe=t!=null?t:I.brandHref,ae=we(s,I.navItems,m),C=p?k(b(b({},I.arena),p),{linkTarget:(n=p.linkTarget)!=null?n:i}):I.arena,le=me(()=>{var E;return y!=null&&y.topNavHome?y:(E=j[a])!=null?E:j[ye]},[y,a]),ie=a===O.en?C.labelEn:C.labelZh,P=(o=A(g))!=null?o:I.userMenuItems,ce=$(()=>Ue(null,null,function*(){try{v&&(yield v())}catch(E){fe.error("request error!")}finally{T==null||T(),(v||T)&&window.location.reload()}}),[T,v]),se=$(()=>{if(!c)return;const E=c();E&&(window.location.href=E)},[c]);H(()=>{S(e)},[e,S]),H(()=>{try{window.localStorage.setItem(ge,a)}catch(E){}},[a]);const ue=!!d,pe=P.length>0;return{arena:C,arenaLabel:ie,brandHref:oe,hasUserMenu:pe,isLoggedIn:ue,locale:a,locales:le,navItems:ae,onToggleLocale:u,handleJumpLogin:se,performLogout:ce,userInfo:d,userMenuItems:P}}function Ve(e){return e.map((r,n)=>{var o,t,a;return(o=r.dropdownItems)!=null&&o.length?(a=(t=r.key)!=null?t:r.href)!=null?a:`nav-${n}`:null}).filter(r=>!!r)}function B({item:e,index:r,locale:n,performLogout:o,styles:t}){var a;if(e.type==="divider")return l.createElement("div",{key:`divider-${r}`,className:t.dropdownDivider});if(e.type==="group"||e.children&&e.children.length>0){const d=e.label||(n===O.en?e.labelEn:e.labelZh);return l.createElement("div",{key:e.key||e.id||`group-${r}`,className:t.dropdownGroup},d?l.createElement("div",{className:t.dropdownGroupHeader},l.createElement("p",{className:t.dropdownGroupTitle},d)):null,(a=e.children)==null?void 0:a.map((g,v)=>B({item:g,index:v,locale:n,performLogout:o,styles:t})))}const u=e.label||(n===O.en?e.labelEn:e.labelZh),s=(e.key||e.id)===w&&!e.href&&!e.onClick,m=Q(e,16),p=d=>{var g;if(s){o();return}(g=e.onClick)==null||g.call(e,d),!d.defaultPrevented&&e.href&&X(e.href,e.linkTarget)};return l.createElement("button",{key:e.key||e.id||`item-${r}`,type:"button",className:t.dropdownItem,onClick:p},m?l.createElement("div",{className:t.dropdownItemIcon},m):null,l.createElement("span",{className:t.dropdownItemLabel},u))}function Se({className:e,items:r,locale:n,performLogout:o,styles:t}){return!r||r.length===0?null:l.createElement("div",{className:U(t.customDropdown,e)},r.map((a,u)=>B({item:a,index:u,locale:n,performLogout:o,styles:t})))}function Pe({customDropdownRender:e,dropdownTrigger:r,extra:n,hasUserMenu:o,isLoggedIn:t,onAvatarClick:a,styles:u,userInfo:c,userMenuItems:s,avatarSize:m}){if(!t||!c)return null;const p=l.createElement(D,{userInfo:c,styles:u,onClick:a,className:n==null?void 0:n.className,tabIndex:n==null?void 0:n.tabIndex,size:m});return o?l.createElement(Ee,{trigger:r,popupRender:()=>e(s),placement:"bottomRight",styles:{root:{paddingTop:8}}},p):p}export{De as IconBox,w as LOGOUT_ITEM_KEY,_ as NavIcon,D as UserAvatar,Ve as getCollapsibleKeysFromNavItems,re as getDisplayName,q as getDropdownItemIconSrc,ne as getInitials,Oe as getTopNavLinkProps,J as isDropdownGroupItem,X as jumpTopNavHref,Se as renderDropdownContent,B as renderDropdownItem,Q as renderDropdownItemIcon,Pe as renderUserAvatar,Be as useTopNavCommon};
|
|
1
|
+
import l,{useContext as V,useState as fe,useEffect as k,useMemo as B,useCallback as K}from"react";import L from"classnames";import{OcContext as ve}from"../../providers/OcContext.js";import{OcConfigContext as ge}from"../../providers/OcConfigContext.js";import{message as _e,Dropdown as Ie}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 T,langTypeEnum as D}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{TOP_NAV_LOCALE_STORAGE_KEY as he}from"../../constants/storage.js";import Ne from"../../assets/svg/top-nav/agent.svg.js";import we from"../../assets/svg/top-nav/AI4S.svg.js";import Ee from"../../assets/svg/top-nav/finance.svg.js";import be from"../../assets/svg/top-nav/image-understanding.svg.js";import Te from"../../assets/svg/top-nav/multi1.svg.js";import ye from"../../assets/svg/top-nav/LLM.svg.js";import Ce from"../../assets/svg/top-nav/medical.svg.js";import Oe from"../../assets/svg/top-nav/physical-intelligence.svg.js";import Pe from"../../assets/svg/top-nav/video-understanding.svg.js";import ke from"../../assets/svg/top-nav/group-bullet.svg.js";import Y,{DEFAULT_LANG as Le}from"../../locale/index.js";var De=Object.defineProperty,Ae=Object.defineProperties,$e=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,Z=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,W=(e,n,r)=>n in e?De(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,f=(e,n)=>{for(var r in n||(n={}))Z.call(n,r)&&W(e,r,n[r]);if(y)for(var r of y(n))z.call(n,r)&&W(e,r,n[r]);return e},v=(e,n)=>Ae(e,$e(n)),Ge=(e,n)=>{var r={};for(var o in e)Z.call(e,o)&&n.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&y)for(var o of y(e))n.indexOf(o)<0&&z.call(e,o)&&(r[o]=e[o]);return r},q=(e,n,r)=>new Promise((o,t)=>{var a=c=>{try{u(r.next(c))}catch(s){t(s)}},i=c=>{try{u(r.throw(c))}catch(s){t(s)}},u=c=>c.done?o(c.value):Promise.resolve(c.value).then(a,i);u((r=r.apply(e,n)).next())});function A({src:e,size:n=14}){return l.createElement("img",{src:e,style:{width:n,height:n,objectFit:"contain"},alt:""})}const Me={llm:ye,agent:Ne,ai4s:we,physical:Oe,group1:Te,item1:be,item2:Pe,medical:Ce,finance:Ee};function J(e){const n=e.id||e.key;if(n)return Me[n]}function Q(e){return e.type==="group"||!!(e.children&&e.children.length>0)}function X(e,n=14){if(e.icon)return e.icon;const r=J(e);return r?l.createElement(A,{src:r,size:n}):Q(e)?l.createElement(A,{src:ke,size:n}):null}const ee="logout",h="_self",N="_blank";function Ue(e,n=h){const r=n===N;return{href:e||"#",target:r?N:void 0,rel:r?"noopener noreferrer":void 0}}function ne(e,n=h){if(e){if(n===N){window.open(e,N,"noopener,noreferrer");return}window.location.href=e}}function $(e){if(e)return e.map(n=>{var r;return v(f({},n),{linkTarget:(r=n.linkTarget)!=null?r:h,children:$(n.children)})})}function He(e,n,r){return(e!=null?e:n).map(t=>{var a;return v(f({},t),{active:r?t.key===r:t.active,linkTarget:(a=t.linkTarget)!=null?a:h,dropdownItems:$(t.dropdownItems)})})}const Re={brandHref:"",navItems:[],arena:{labelZh:"",labelEn:"",href:"",linkTarget:N},userMenuItems:[]},je="https://cdn.opencompass.org.cn/compass-arena/assets/model_icon/compass-arena-fe",xe={[T.development]:"develop",[T.staging]:"staging",[T.production]:"production"},re=new Map;function C(e,n){if(!e)return e;const r=e.includes("?")?"&":"?";return`${e}${r}locale=${n}`}function G(e,n){return e==null?void 0:e.map(r=>v(f({},r),{href:C(r.href,n),children:G(r.children,n)}))}function Fe(e,n){return v(f({},e),{brandHref:C(e.brandHref,n)||"",navItems:e.navItems.map(r=>v(f({},r),{href:C(r.href,n),dropdownItems:G(r.dropdownItems,n)})),arena:v(f({},e.arena),{href:C(e.arena.href,n)}),userMenuItems:G(e.userMenuItems,n)||[]})}function Se(e){return q(this,null,function*(){const n=re.get(e);if(n)return n;const r=`${je}/${xe[e]}/topNavDefaultConfig.json?t=${Date.now()}`,o=fetch(r).then(t=>{if(!t.ok)throw new Error(`Failed to fetch top nav config: ${t.status}`);const a=t.headers.get("content-type")||"";if(!a.includes("application/json"))throw new Error(`Failed to fetch top nav config as json: ${a}`);return t.json()});return re.set(e,o),o})}const _=Re;_.userMenuItems,_.brandHref,_.navItems,_.arena;function Ve({alt:e="",className:n,size:r,src:o,styles:t}){return l.createElement("span",{className:L(t.iconBox,n),style:{"--icon-size":`${r}px`}},l.createElement("img",{src:o,alt:e}))}function te(e){return e.nickname||e.username||e.email||""}function oe(e){const n=e.trim();return n?n.slice(0,1).toUpperCase():""}const M=l.forwardRef((e,n)=>{var r=e,{userInfo:o,styles:t,onClick:a,className:i,tabIndex:u,size:c=36}=r,s=Ge(r,["userInfo","styles","onClick","className","tabIndex","size"]);const p=te(o),d=oe(p);return l.createElement("button",v(f({},s),{ref:n,type:"button",className:L(t.userAvatar,i),style:{"--avatar-size":`${c}px`},onClick:a,tabIndex:u,"aria-label":p||"User",title:p}),o.avatar?l.createElement("img",{src:o.avatar,alt:p}):l.createElement("span",{className:t.userAvatarInitials},d))});M.displayName="UserAvatar";function Be(e){var n,r,o,t;const{brandHref:a,locale:i,onToggleLocale:u,jumpLogin:c,navItems:s,activeKey:p,arena:d,userInfo:g,userMenuItems:O,logout:w,handleUnauth:E}=e,{config:H,setConfig:R}=V(ge),{locales:b}=V(ve),j=(r=(n=e.envType)!=null?n:H==null?void 0:H.envType)!=null?r:T.production,[x,F]=fe(_);k(()=>{let m=!1;return Se(j).then(me=>{m||F(me)}).catch(()=>{m||F(_)}),()=>{m=!0}},[j]);const I=B(()=>Fe(x,i),[i,x]),ae=a!=null?a:I.brandHref,le=He(s,I.navItems,p),P=d?v(f(f({},I.arena),d),{linkTarget:(o=d.linkTarget)!=null?o:h}):I.arena,ie=B(()=>{var m;return b!=null&&b.topNavHome?b:(m=Y[i])!=null?m:Y[Le]},[b,i]),ce=i===D.en?P.labelEn:P.labelZh,S=(t=$(O))!=null?t:I.userMenuItems,se=K(()=>q(null,null,function*(){try{w&&(yield w())}catch(m){_e.error("request error!")}finally{E==null||E(),(w||E)&&window.location.reload()}}),[E,w]),ue=K(()=>{if(!c)return;const m=c();m&&(window.location.href=m)},[c]);k(()=>{R(e)},[e,R]),k(()=>{try{window.localStorage.setItem(he,i)}catch(m){}},[i]);const pe=!!g,de=S.length>0;return{arena:P,arenaLabel:ce,brandHref:ae,hasUserMenu:de,isLoggedIn:pe,locale:i,locales:ie,navItems:le,onToggleLocale:u,handleJumpLogin:ue,performLogout:se,userInfo:g,userMenuItems:S}}function Ke(e){return e.map((n,r)=>{var o,t,a;return(o=n.dropdownItems)!=null&&o.length?(a=(t=n.key)!=null?t:n.href)!=null?a:`nav-${r}`:null}).filter(n=>!!n)}function U({item:e,index:n,locale:r,performLogout:o,styles:t}){var a;if(e.type==="divider")return l.createElement("div",{key:`divider-${n}`,className:t.dropdownDivider});if(e.type==="group"||e.children&&e.children.length>0){const d=e.label||(r===D.en?e.labelEn:e.labelZh);return l.createElement("div",{key:e.key||e.id||`group-${n}`,className:t.dropdownGroup},d?l.createElement("div",{className:t.dropdownGroupHeader},l.createElement("p",{className:t.dropdownGroupTitle},d)):null,(a=e.children)==null?void 0:a.map((g,O)=>U({item:g,index:O,locale:r,performLogout:o,styles:t})))}const i=e.label||(r===D.en?e.labelEn:e.labelZh),c=(e.key||e.id)===ee&&!e.href&&!e.onClick,s=X(e,16),p=d=>{var g;if(c){o();return}(g=e.onClick)==null||g.call(e,d),!d.defaultPrevented&&e.href&&ne(e.href,e.linkTarget)};return l.createElement("button",{key:e.key||e.id||`item-${n}`,type:"button",className:t.dropdownItem,onClick:p},s?l.createElement("div",{className:t.dropdownItemIcon},s):null,l.createElement("span",{className:t.dropdownItemLabel},i))}function Ye({className:e,items:n,locale:r,performLogout:o,styles:t}){return!n||n.length===0?null:l.createElement("div",{className:L(t.customDropdown,e)},n.map((a,i)=>U({item:a,index:i,locale:r,performLogout:o,styles:t})))}function Ze({customDropdownRender:e,dropdownTrigger:n,extra:r,hasUserMenu:o,isLoggedIn:t,onAvatarClick:a,styles:i,userInfo:u,userMenuItems:c,avatarSize:s}){if(!t||!u)return null;const p=l.createElement(M,{userInfo:u,styles:i,onClick:a,className:r==null?void 0:r.className,tabIndex:r==null?void 0:r.tabIndex,size:s});return o?l.createElement(Ie,{trigger:n,popupRender:()=>e(c),placement:"bottomRight",styles:{root:{paddingTop:8}}},p):p}export{Ve as IconBox,ee as LOGOUT_ITEM_KEY,A as NavIcon,M as UserAvatar,Ke as getCollapsibleKeysFromNavItems,te as getDisplayName,J as getDropdownItemIconSrc,oe as getInitials,Ue as getTopNavLinkProps,Q as isDropdownGroupItem,ne as jumpTopNavHref,Ye as renderDropdownContent,U as renderDropdownItem,X as renderDropdownItemIcon,Ze as renderUserAvatar,Be as useTopNavCommon};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import n,{useState as
|
|
1
|
+
import n,{useState as I,useRef as U,useEffect as L}from"react";import g from"classnames";import{topNavActiveKeyEnum as W,langTypeEnum as Z}from"../../constants/enums.js";import q from"../../assets/svg/top-nav/arena-arrow-right-up1.svg.js";import J from"../../assets/svg/top-nav/arena-fire.svg.js";import V from"../../assets/svg/top-nav/logo-mark.svg.js";import X from"../../assets/svg/top-nav/logo-word.svg.js";import G from"../../assets/svg/top-nav/nav-down.svg.js";import{Dropdown as Q}from"antd";import r from"./top-nav.module.less.js";import{useTopNavCommon as ee,getTopNavLinkProps as k,jumpTopNavHref as re,IconBox as b,renderDropdownContent as S,renderUserAvatar as ne}from"./shared.js";var ae=Object.defineProperty,te=Object.defineProperties,oe=Object.getOwnPropertyDescriptors,D=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,se=Object.prototype.propertyIsEnumerable,O=(l,a,t)=>a in l?ae(l,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[a]=t,P=(l,a)=>{for(var t in a||(a={}))le.call(a,t)&&O(l,t,a[t]);if(D)for(var t of D(a))se.call(a,t)&&O(l,t,a[t]);return l},ce=(l,a)=>te(l,oe(a));const ie=l=>{const{brandHref:a,locale:t,onToggleLocale:T,navItems:w,arena:p,arenaLabel:N,userInfo:x,userMenuItems:A,locales:u,handleJumpLogin:C,performLogout:h,isLoggedIn:E,hasUserMenu:F}=ee(l),j=e=>{var s,o,c,i,m,d;return t===Z.en?(c=(o=(s=e.labelEn)!=null?s:e.label)!=null?o:e.labelZh)!=null?c:"":(d=(m=(i=e.labelZh)!=null?i:e.label)!=null?m:e.labelEn)!=null?d:""},z=(e,s)=>{var o,c,i,m,d;return(d=(m=(i=(c=(o=e.key)!=null?o:e.href)!=null?c:e.label)!=null?i:e.labelZh)!=null?m:e.labelEn)!=null?d:`nav-${s}`},[v,B]=I(!1),[H,M]=I(()=>window.innerWidth>860),R=U(null),Y=v&&H?{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;L(()=>{let e=0,s=-1;const o=()=>{if(e=0,window.scrollY===s)return;s=window.scrollY;const m=window.scrollY>0;B(d=>d===m?d:m)},c=()=>{e===0&&(e=window.requestAnimationFrame(o))};o(),window.addEventListener("scroll",c,{passive:!0});const i=window.setInterval(o,120);return()=>{window.removeEventListener("scroll",c),window.clearInterval(i),e!==0&&window.cancelAnimationFrame(e)}},[]),L(()=>{const e=()=>M(window.innerWidth>860);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const $=e=>S({className:r.userDropdown,items:e,locale:t,performLogout:h,styles:r}),K=e=>ne({customDropdownRender:$,dropdownTrigger:["hover"],extra:e,hasUserMenu:F,isLoggedIn:E,styles:r,userInfo:x,userMenuItems:A}),_=w.findIndex(e=>e.key===W.home),y=_>=0?_:0,f=()=>!(p!=null&&p.href)||!N?null:n.createElement("a",P({key:"arena",className:r.arenaNavLink},k(p==null?void 0:p.href,p==null?void 0:p.linkTarget)),n.createElement(b,{src:J,size:18,className:r.arenaIconDefault,styles:r}),n.createElement(b,{src:q,size:18,className:r.arenaIconHover,styles:r}),n.createElement("span",null,N));return n.createElement("header",{className:g(r.topbar,v&&r.scrolled)},n.createElement("a",ce(P({className:r.brand},k(a)),{"aria-label":u.topNavBrandAria}),n.createElement("img",{className:r.brandMark,src:V,alt:""}),n.createElement("img",{className:r.brandWord,src:X,alt:u.topNavBrandName})),n.createElement("nav",{ref:R,className:g(r.nav,v&&r.navScrolled),"aria-label":u.topNavNavAria,style:Y},w.length===0?f():null,w.map((e,s)=>{const o=z(e,s),c=j(e),i=n.createElement("div",{className:g(r.navLink,e.active&&r.navLinkActive,e.withDown&&r.withDown),onClick:()=>re(e.href,e.linkTarget)},n.createElement("span",null,c),e.withDown?n.createElement(b,{src:G,size:16,styles:r}):null);return!!e.dropdownItems&&e.dropdownItems.length>0?n.createElement(n.Fragment,{key:o},n.createElement(Q,{trigger:["hover"],popupRender:()=>S({className:r.leaderboardDropdown,items:e.dropdownItems,locale:t,performLogout:h,styles:r}),placement:"bottom",styles:{root:{paddingTop:8}}},i),s===y?f():null):n.createElement(n.Fragment,{key:o},i,s===y?f():null)})),n.createElement("div",{className:r.actions},v?null:n.createElement(n.Fragment,null,n.createElement("button",{className:r.langButton,type:"button",onClick:T},u.topNavLangSwitch),E?K():n.createElement("button",{className:r.loginButton,type:"button",onClick:C},u.login))))};export{ie as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _="
|
|
1
|
+
const _="locale";export{_ as TOP_NAV_LOCALE_STORAGE_KEY};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e,{useState as
|
|
1
|
+
import e,{useState as A,useEffect as ee}from"react";import E from"classnames";import{CloseOutlined as ne}from"@ant-design/icons";import{topNavActiveKeyEnum as ae,langTypeEnum as L}from"../../../constants/enums.js";import re from"../../../assets/svg/top-nav/arena-fire.svg.js";import te from"../../../assets/svg/top-nav/logo-mark.svg.js";import le from"../../../assets/svg/top-nav/logo-word.svg.js";import oe from"../../../assets/svg/top-nav/nav-down.svg.js";import se from"../../../assets/svg/top-nav/arrow-right-up.svg.js";import ce from"../../../assets/svg/top-nav/menu-button.svg.js";import me from"../../../assets/svg/top-nav/user-header.svg.js";import n from"./top-nav.module.less.js";import{useTopNavCommon as ue,getTopNavLinkProps as _,getCollapsibleKeysFromNavItems as pe,renderUserAvatar as ie,isDropdownGroupItem as de,renderDropdownItemIcon as K,jumpTopNavHref as fe,renderDropdownContent as ge}from"../../../components/top-nav/shared.js";var Ee=Object.defineProperty,ve=Object.defineProperties,be=Object.getOwnPropertyDescriptors,B=Object.getOwnPropertySymbols,Ne=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable,M=(u,s,c)=>s in u?Ee(u,s,{enumerable:!0,configurable:!0,writable:!0,value:c}):u[s]=c,N=(u,s)=>{for(var c in s||(s={}))Ne.call(s,c)&&M(u,c,s[c]);if(B)for(var c of B(s))we.call(s,c)&&M(u,c,s[c]);return u},O=(u,s)=>ve(u,be(s));const ke=u=>{const{brandHref:s,locale:c,onToggleLocale:j,navItems:v,arena:f,userInfo:F,userMenuItems:G,arenaLabel:C,locales:g,handleJumpLogin:U,performLogout:Z,isLoggedIn:D,hasUserMenu:H}=ue(u),[d,b]=A(!1),[y,P]=A(()=>new Set);ee(()=>{d||P(new Set)},[d]);const h=(a=[])=>a.map((t,r)=>t.type==="divider"?null:t.type==="group"||t.children&&t.children.length>0?t.id||t.key||`drop-${r}`:null).filter(t=>!!t),z=(a,t)=>a.flatMap((r,l)=>{var o,m;const p=(m=(o=r.key)!=null?o:r.href)!=null?m:`nav-${l}`;return t&&p===t?[]:h(r.dropdownItems)}),x=(a,t,r=[])=>{P(l=>{const o=new Set(l);return o.has(a)?(o.delete(a),r.forEach(m=>o.delete(m))):(t.forEach(m=>o.delete(m)),r.forEach(m=>o.delete(m)),o.add(a)),o})},R=(a,t,r)=>({role:"button",tabIndex:0,onClick:()=>x(a,t,r),onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),x(a,t,r))}}),S=a=>{const t=y.has(a);return e.createElement("span",{className:E(n.expandBtn,t&&n.expandBtnOpen),"aria-expanded":t,"aria-label":t?"Collapse":"Expand"},e.createElement("img",{src:oe,alt:"",className:n.expandIconImg}))},T=(a,t)=>{const r=a.label||(c===L.en?a.labelEn:a.labelZh),l=a.key||a.id||`item-${t}`,o=K(a,18);return e.createElement("button",{key:l,type:"button",className:E(n.menuLink,n.menuRow),onClick:m=>{var p;(p=a.onClick)==null||p.call(a,m),!m.defaultPrevented&&(a.href&&fe(a.href,a.linkTarget),b(!1))}},o?e.createElement("span",{className:n.menuRowIcon},o):null,e.createElement("span",{className:n.menuRowLabel},r))},J=a=>{const t=h(a);return a.map((r,l)=>{if(r.type==="divider")return null;const o=r.id||r.key||`drop-${l}`;if(de(r)){const p=r.label||(c===L.en?r.labelEn:r.labelZh),w=y.has(o),i=K(r,18);return e.createElement("div",{key:o,className:n.menuGroup},e.createElement("div",N({className:n.menuRow},R(o,t)),e.createElement("span",{className:n.menuRowIcon},i),e.createElement("span",{className:n.menuRowLabel},p),S(o)),w&&r.children?e.createElement("div",{className:n.menuSubList},r.children.map((k,$)=>T(k,$))):null)}return T(r,l)})},V=()=>{const a=pe(v),t=v.findIndex(l=>l.key===ae.home),r=t>=0?t:0;return v.map((l,o)=>{var m,p,w;const i=(p=(m=l.key)!=null?m:l.href)!=null?p:`nav-${o}`,k=c===L.en?l.labelEn:l.labelZh;if(!!((w=l.dropdownItems)!=null&&w.length)){const X=y.has(i),Y=[...h(l.dropdownItems),...z(v,i)];return e.createElement(e.Fragment,{key:i},e.createElement("div",{className:n.menuSection},e.createElement("div",N({className:E(n.menuRow,l.active&&n.menuRowActive)},R(i,a,Y)),e.createElement("span",{className:n.menuRowLabel},k),S(i)),X?e.createElement("div",{className:n.menuSubList},J(l.dropdownItems)):null),o===r?I():null)}return e.createElement(e.Fragment,{key:i},e.createElement("a",O(N({className:E(n.menuLink,l.active)},_(l.href,l.linkTarget)),{onClick:()=>b(!1)}),e.createElement("span",{className:n.menuLinkLabel},k)),o===r?I():null)})},I=()=>!(f!=null&&f.href)||!C?null:e.createElement("a",O(N({key:"arena",className:E(n.menuLink,n.menuLinkArena)},_(f==null?void 0:f.href,f==null?void 0:f.linkTarget)),{onClick:()=>b(!1)}),e.createElement("span",{className:n.menuLinkContent},e.createElement("span",{className:n.menuLinkIcon},e.createElement("img",{src:re,alt:""})),e.createElement("span",{className:E(n.menuLinkLabel,n.menuLinkArenaLabel)},C)),e.createElement("span",{className:n.menuLinkExternalIcon},e.createElement("img",{src:se,alt:""}))),W=a=>ge({className:n.userDropdown,items:a,locale:c,performLogout:Z,styles:n}),q=a=>ie({avatarSize:28,customDropdownRender:W,dropdownTrigger:["click"],extra:a,hasUserMenu:H,isLoggedIn:D,styles:n,userInfo:F,userMenuItems:G}),Q=()=>e.createElement("button",{className:n.userButton,type:"button",onClick:U,"aria-label":g.login,title:g.login},e.createElement("img",{src:me,alt:""}));return e.createElement(e.Fragment,null,e.createElement("header",{className:n.topbar},e.createElement("a",O(N({className:n.brand},_(s)),{"aria-label":g.topNavBrandAria}),e.createElement("img",{className:n.brandMark,src:te,alt:""}),e.createElement("img",{className:n.brandWord,src:le,alt:g.topNavBrandName})),e.createElement("div",{className:n.actions},d?null:D?q():Q(),d?null:e.createElement("button",{className:n.langButton,type:"button",onClick:j},g.topNavLangSwitch),e.createElement("button",{className:n.menuButton,type:"button",onClick:()=>b(!d),"aria-label":"Toggle menu"},d?e.createElement(ne,null):e.createElement("img",{src:ce,alt:""})))),d&&e.createElement(e.Fragment,null,e.createElement("div",{className:n.mask,onClick:()=>b(!1)}),e.createElement("nav",{className:n.menuContainer,"aria-label":g.topNavNavAria},v.length===0?I():null,V())))};export{ke as default};
|