@lokalise/harmony 1.24.0 → 1.24.1
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.
- package/dist/harmony.cjs +1 -1
- package/dist/harmony.mjs +2 -2
- package/package.json +1 -1
package/dist/harmony.cjs
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";var Ln=Object.defineProperty;var Un=(e,t,r)=>t in e?Ln(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ne=(e,t,r)=>Un(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),f=require("react"),d=require("@lokalise/louis"),oe=require("date-fns"),Hn=require("date-fns-tz"),n=require("zod"),I=require("@lokalise/api-contracts"),z=require("@lokalise/frontend-http-client"),N=require("@tanstack/react-query");function Bn(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const Q=Bn(f),se={Completed:"completed",InProgress:"in_progress",Created:"created",Queued:"queued"},R={...se,NotStarted:"not_started"},J={translation:"translation",review:"review",lqa_by_ai:"lqa_by_ai",automatic_translation:"automatic_translation"};var re=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Tt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var me,Je;function Ne(){if(Je)return me;Je=1;function e(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}return me=e,me}var ge,Qe;function Dn(){if(Qe)return ge;Qe=1;var e=typeof re=="object"&&re&&re.Object===Object&&re;return ge=e,ge}var pe,Fe;function St(){if(Fe)return pe;Fe=1;var e=Dn(),t=typeof self=="object"&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return pe=r,pe}var he,Ke;function qn(){if(Ke)return he;Ke=1;var e=St(),t=function(){return e.Date.now()};return he=t,he}var fe,We;function Gn(){if(We)return fe;We=1;var e=/\s/;function t(r){for(var s=r.length;s--&&e.test(r.charAt(s)););return s}return fe=t,fe}var Ee,Ye;function $n(){if(Ye)return Ee;Ye=1;var e=Gn(),t=/^\s+/;function r(s){return s&&s.slice(0,e(s)+1).replace(t,"")}return Ee=r,Ee}var be,Ve;function jt(){if(Ve)return be;Ve=1;var e=St(),t=e.Symbol;return be=t,be}var Te,Xe;function Jn(){if(Xe)return Te;Xe=1;var e=jt(),t=Object.prototype,r=t.hasOwnProperty,s=t.toString,o=e?e.toStringTag:void 0;function i(c){var l=r.call(c,o),_=c[o];try{c[o]=void 0;var u=!0}catch{}var m=s.call(c);return u&&(l?c[o]=_:delete c[o]),m}return Te=i,Te}var Se,Ze;function Qn(){if(Ze)return Se;Ze=1;var e=Object.prototype,t=e.toString;function r(s){return t.call(s)}return Se=r,Se}var je,et;function Fn(){if(et)return je;et=1;var e=jt(),t=Jn(),r=Qn(),s="[object Null]",o="[object Undefined]",i=e?e.toStringTag:void 0;function c(l){return l==null?l===void 0?o:s:i&&i in Object(l)?t(l):r(l)}return je=c,je}var ve,tt;function Kn(){if(tt)return ve;tt=1;function e(t){return t!=null&&typeof t=="object"}return ve=e,ve}var ye,nt;function Wn(){if(nt)return ye;nt=1;var e=Fn(),t=Kn(),r="[object Symbol]";function s(o){return typeof o=="symbol"||t(o)&&e(o)==r}return ye=s,ye}var Ae,rt;function Yn(){if(rt)return Ae;rt=1;var e=$n(),t=Ne(),r=Wn(),s=NaN,o=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function _(u){if(typeof u=="number")return u;if(r(u))return s;if(t(u)){var m=typeof u.valueOf=="function"?u.valueOf():u;u=t(m)?m+"":m}if(typeof u!="string")return u===0?u:+u;u=e(u);var p=i.test(u);return p||c.test(u)?l(u.slice(2),p?2:8):o.test(u)?s:+u}return Ae=_,Ae}var Ce,st;function vt(){if(st)return Ce;st=1;var e=Ne(),t=qn(),r=Yn(),s="Expected a function",o=Math.max,i=Math.min;function c(l,_,u){var m,p,S,j,g,y,b=0,h=!1,E=!1,T=!0;if(typeof l!="function")throw new TypeError(s);_=r(_)||0,e(u)&&(h=!!u.leading,E="maxWait"in u,S=E?o(r(u.maxWait)||0,_):S,T="trailing"in u?!!u.trailing:T);function C(v){var O=m,G=p;return m=p=void 0,b=v,j=l.apply(G,O),j}function A(v){return b=v,g=setTimeout(te,_),h?C(v):j}function ee(v){var O=v-y,G=v-b,$e=_-O;return E?i($e,S-G):$e}function qe(v){var O=v-y,G=v-b;return y===void 0||O>=_||O<0||E&&G>=S}function te(){var v=t();if(qe(v))return Ge(v);g=setTimeout(te,ee(v))}function Ge(v){return g=void 0,T&&m?C(v):(m=p=void 0,j)}function On(){g!==void 0&&clearTimeout(g),b=0,m=y=p=g=void 0}function Mn(){return g===void 0?j:Ge(t())}function _e(){var v=t(),O=qe(v);if(m=arguments,p=this,y=v,O){if(g===void 0)return A(y);if(E)return clearTimeout(g),g=setTimeout(te,_),C(y)}return g===void 0&&(g=setTimeout(te,_)),j}return _e.cancel=On,_e.flush=Mn,_e}return Ce=c,Ce}var Vn=vt();const Xn=Tt(Vn);var Pe,at;function Zn(){if(at)return Pe;at=1;var e=vt(),t=Ne(),r="Expected a function";function s(o,i,c){var l=!0,_=!0;if(typeof o!="function")throw new TypeError(r);return t(c)&&(l="leading"in c?!!c.leading:l,_="trailing"in c?!!c.trailing:_),e(o,i,{leading:l,maxWait:i,trailing:_})}return Pe=s,Pe}var er=Zn();const tr=Tt(er),nr=(e,t,r,s)=>{switch(t){case"debounce":return Xn(e,r,s);case"throttle":return tr(e,r,s);default:return e}},rr=e=>{const t=Q.useRef(e);return Q.useEffect(()=>{t.current=e}),Q.useMemo(()=>(...r)=>{var s;return(s=t.current)===null||s===void 0?void 0:s.call(t,...r)},[])},sr=e=>{const[t,r]=Q.useState((e==null?void 0:e.current)||null);return e&&setTimeout(()=>{e.current!==t&&r(e.current)},0),{refProxy:Q.useMemo(()=>new Proxy(o=>{o!==t&&r(o)},{get(o,i){return i==="current"?t:o[i]},set(o,i,c){return i==="current"?r(c):o[i]=c,!0}}),[t]),refElement:t,setRefElement:r}},ar=(e,t)=>t==="border-box"?{width:e.borderBoxSize[0].inlineSize,height:e.borderBoxSize[0].blockSize}:t==="content-box"?{width:e.contentBoxSize[0].inlineSize,height:e.contentBoxSize[0].blockSize}:{width:e.contentRect.width,height:e.contentRect.height};function or({skipOnMount:e=!1,refreshMode:t,refreshRate:r=1e3,refreshOptions:s,handleWidth:o=!0,handleHeight:i=!0,targetRef:c,observerOptions:l,onResize:_}={}){const u=f.useRef(e),m=rr(_),[p,S]=f.useState({width:void 0,height:void 0}),{refProxy:j,refElement:g}=sr(c),{box:y}=l||{},b=f.useCallback(E=>{if(!o&&!i)return;if(u.current){u.current=!1;return}const T=(C,A)=>o&&C.width!==A.width||i&&C.height!==A.height;E.forEach(C=>{const A=ar(C,y);S(ee=>T(ee,A)?(m==null||m({width:A.width,height:A.height,entry:C}),A):ee)})},[o,i,u,y]),h=f.useCallback(nr(b,t,r,s),[b,t,r,s]);return f.useEffect(()=>{let E;return g?(E=new window.ResizeObserver(h),E.observe(g,l)):(p.width||p.height)&&(m==null||m({width:null,height:null,entry:null}),S({width:void 0,height:void 0})),()=>{var T,C,A;(T=E==null?void 0:E.disconnect)===null||T===void 0||T.call(E),(A=(C=h).cancel)===null||A===void 0||A.call(C)}},[h,g]),Object.assign({ref:j},p)}function yt(e){var t,r,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(r=yt(e[t]))&&(s&&(s+=" "),s+=r)}else for(r in e)e[r]&&(s&&(s+=" "),s+=r);return s}function k(){for(var e,t,r=0,s="",o=arguments.length;r<o;r++)(e=arguments[r])&&(t=yt(e))&&(s&&(s+=" "),s+=t);return s}const ir="_headerContainer_1cubo_1",cr="_navigationTabList_1cubo_8",lr="_navigationTab_1cubo_8",ur="_headerContent_1cubo_34",dr="_staticEnabled_1cubo_50",D={headerContainer:ir,navigationTabList:cr,navigationTab:lr,headerContent:ur,staticEnabled:dr},_r=77,F=({sticky:e,children:t})=>{const{ref:r,height:s}=or({refreshMode:"debounce",refreshRate:0}),[o,i]=f.useState(!1),c=()=>o?!e:!0;f.useEffect(()=>{const _=()=>{i(window.scrollY>0)};return window.addEventListener("scroll",_),()=>window.removeEventListener("scroll",_)},[]);const l=`${s||_r}px`;return a.jsx("div",{style:{minHeight:l},children:a.jsx("div",{children:a.jsxs("div",{ref:r,className:k(D.headerContent,{[D.staticEnabled]:c()}),children:[a.jsx(F.Header,{}),a.jsx(F.Tabs,{}),t]})})})};F.Header=({children:e})=>a.jsx("div",{className:D.headerContainer,children:e});F.Tabs=({children:e})=>a.jsx("div",{className:"flex justify-between gap-2 nowrap",children:e});const mr="_sidebarContainer_bmdti_1",gr={sidebarContainer:mr},pr="_logoLink_1baxb_1",hr={logoLink:pr},fr=({src:e,href:t="/",ariaLabel:r="Lokalise App Home",alt:s="Lokalise Logo"})=>a.jsx("a",{className:hr.logoLink,href:t,"aria-label":r,children:a.jsx("img",{src:e,alt:s})}),Er="_link_18vhx_1",br="_active_18vhx_18",ot={link:Er,active:br},Tr=({label:e,to:t,icon:r})=>a.jsx(d.Tooltip,{placement:"right",tooltip:e,children:a.jsx(d.Link,{"aria-label":e,className:k(ot.link,{[ot.active]:window.location.pathname.startsWith(t)}),href:t,children:a.jsx(r,{size:"25px"})})}),Sr="_dropdownButton_13l5r_1",jr="_dropdownButtonActive_13l5r_18",it={dropdownButton:Sr,dropdownButtonActive:jr},vr=({children:e,icon:t})=>a.jsx(d.Menu,{menuButton:({opened:r})=>a.jsx(d.Tooltip,{placement:"right",tooltip:"Help",children:a.jsx("button",{type:"button",className:k(it.dropdownButton,{[it.dropdownButtonActive]:r}),children:a.jsx(t,{size:"25px"})})}),children:a.jsx(d.MenuList,{placement:"right-start",children:e})}),yr="_iconContainer_nz34m_1",Ar={iconContainer:yr},At=({className:e=""})=>a.jsx("div",{"aria-label":"Upgrade Icon",className:k(Ar.iconContainer,"flex-row","items-center","justify-center",e),children:a.jsx(d.CaretUpIcon,{})}),Cr="_menuContainer_1phdw_10",Pr="_profileButton_1phdw_20",Rr="_profileImage_1phdw_33",zr="_profileImageHighlight_1phdw_41",xr="_profileImageUpgradeIcon_1phdw_45",wr="_userIconWrapper_1phdw_51",U={menuContainer:Cr,profileButton:Pr,profileImage:Rr,profileImageHighlight:zr,profileImageUpgradeIcon:xr,userIconWrapper:wr},Ct=f.createContext({}),Y=()=>f.useContext(Ct),Ir=({children:e})=>{const{currentTeam:t,otherTeams:r,showUpgradeCta:s,showBillingButton:o,allowTeamCreation:i,isProviderAlpha:c,canAccessTeamSettings:l,isEndOfTrialActive:_,isTeamSuspended:u,isFullyAuthenticated:m}=Y();return a.jsx(d.Menu,{menuButton:()=>a.jsxs("button",{className:U.profileButton,"aria-label":"Profile menu",type:"button",children:[t!=null&&t.logoUrl?a.jsx("img",{src:t.logoUrl,className:k(U.profileImage,{[U.profileImageHighlight]:s}),alt:"Team Logo"}):a.jsx("div",{className:k(U.userIconWrapper,"flex-row","align-center","items-center",{[U.profileImageHighlight]:s}),children:a.jsx(d.UserIcon,{size:"25px"})}),s&&a.jsx(At,{className:U.profileImageUpgradeIcon})]}),children:a.jsx(d.MenuList,{placement:"right-end",className:U.menuContainer,children:e({allowTeamCreation:i,otherTeams:r,canAccessTeamSettings:l,isEndOfTrialActive:_,isTeamSuspended:u,showBillingButton:o,isProviderAlpha:c,isFullyAuthenticated:m})})})},ke=0,Pt=9999,Rt=[150,151,250,251],zt=[152,153,252,253],xt=[154,155,157,158,254,255,258,354,355,358],wt=[156,159,160,256,259,260],Oe=9998,ie=e=>e===ke,Me=e=>e===Pt,Nr=e=>Rt.includes(e),kr=e=>zt.includes(e),Or=e=>xt.includes(e),Mr=e=>wt.includes(e),Lr=e=>e>ke&&e<Oe,Ur=e=>e===Oe,Hr=/\n/,ct=(e,t,r)=>e.split(t).flatMap((s,o)=>o!==0?[f.cloneElement(r,{key:Math.random().toString(32).slice(0,10)}),s]:s),Br=(e,t,r)=>typeof e=="string"?ct(e,t,r):e.flatMap(s=>typeof s=="string"?ct(s,t,r):s),It=e=>Br(e,Hr,a.jsx("br",{})),Dr=/(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi,qr=e=>e.match(Dr)??[],lt=(e,t,r)=>{const s=e.split(t);if(s.length===1)return e;const o=[];return s[0]!==""&&o.push(s[0]),s.shift(),s[s.length-1]===""&&s.pop(),o.push(a.jsx("a",{href:t,target:"_blank",rel:"noreferrer noopener",children:t},t+r)),o.push(s.join(t)),o.filter(i=>i!=="")},ut=e=>{const t=qr(e);return t!=null&&t.length?t.reduce((r,s,o)=>typeof r=="string"?lt(r,s,o):r.flatMap(i=>typeof i=="string"?lt(i,s,o):i),e):e},Nt=e=>typeof e=="string"?ut(e):e.flatMap(t=>typeof t=="string"?ut(t):t,e),kt=(e,t="PP")=>oe.format(e,t),Gr=(e,t,r="PP")=>oe.format(Hn.toZonedTime(e,t),r),ce=e=>{f.useEffect(e,[])},dt={biller:"biller",owner:"owner"},_t=[dt.biller,dt.owner],$r=({children:e,config:t})=>{const{teams:r,currentTeamId:s,planId:o,isEndOfTrialActive:i,isFullyAuthenticated:c,userTeamRole:l}=t,_=r.find(h=>h.id===s),u=r.filter(h=>h.id!==s),m=_t.includes(l),p=_t.includes(l),S=ie(o)||Me(o),b={...t,currentTeam:_,otherTeams:u,canChangeBilling:m,canAccessTeamSettings:p,isOnFreeOrTrialPlan:S,showUpgradeCta:c&&S&&m,showBillingButton:c&&p&&m,allowTeamCreation:c&&!i};return a.jsx(Ct.Provider,{value:b,children:e})},Jr=({config:e,children:t})=>a.jsx($r,{config:e,children:a.jsx(Ir,{children:t})}),Qr="_container_q5pot_1",Fr="_profileEmail_q5pot_5",mt={container:Qr,profileEmail:Fr},Kr=({href:e,onClick:t,userEmail:r,hideBottomDivider:s})=>{const{isEndOfTrialActive:o,isTeamSuspended:i}=Y();return o||i?null:a.jsxs(a.Fragment,{children:[a.jsx(d.MenuItem,{href:e,onClick:()=>{t==null||t()},children:a.jsxs("div",{className:`flex-col ${mt.container}`,children:[a.jsx("span",{children:"Profile Settings"}),a.jsx("span",{className:mt.profileEmail,children:r})]})}),!s&&a.jsx(d.MenuDivider,{})]})},Wr="_wrapper_1in7x_5",Yr="_profileImage_1in7x_11",Vr="_teamDetails_1in7x_19",Xr="_planWrapper_1in7x_28",Zr="_teamName_1in7x_36",es="_membership_1in7x_53",ts="_defaultProfileImage_1in7x_59",M={wrapper:Wr,profileImage:Yr,teamDetails:Vr,planWrapper:Xr,teamName:Zr,membership:es,defaultProfileImage:ts},Ot=({team:e,onClick:t,hidePlanLabel:r})=>{const{currentTeam:s,planId:o}=Y(),i=e||s;if(!i)return null;const c=ie(o)?"Free":Me(o)?"Trial":void 0,l=t?d.MenuItem:"div";return a.jsxs(l,{className:M.wrapper,...t&&{onClick:()=>t(i)},children:[i.logoUrl?a.jsx("img",{className:M.profileImage,src:i.logoUrl,alt:"Team logo"}):a.jsx("span",{className:`${M.defaultProfileImage}`,children:a.jsx(d.UserIcon,{size:"25px"})}),a.jsxs("div",{className:M.teamDetails,children:[a.jsxs("div",{className:M.planWrapper,children:[a.jsx("span",{className:M.teamName,children:i.name}),c&&!r&&a.jsx("span",{title:i.name,className:M.teamName,children:c})]}),a.jsx("span",{className:M.membership,children:i.role})]})]})},ns="_teamsContainer_1ncrr_5",rs={teamsContainer:ns},ss=({onSwitchTeam:e})=>{const{otherTeams:t}=Y();return t.length===0?null:a.jsx("div",{"data-testid":"sidebar-team-switch",className:`flex-col items-stretch ${rs.teamsContainer}`,children:t.map(r=>a.jsx(Ot,{team:r,onClick:e,hidePlanLabel:!0},r.id))})},as="_container_1u995_1",os="_planCta_1u995_15",is="_upgradeIconWrapper_1u995_19",Re={container:as,planCta:os,upgradeIconWrapper:is},cs=({upgradeOptionHref:e})=>{const{planId:t,trialDaysLeft:r,showUpgradeCta:s}=Y();if(!s)return null;const c=ie(t)?"Your team is currently on the Free plan":`Free trial ends in ${r} ${r===1?"day":"days"}`;return a.jsxs(d.MenuItem,{"data-testid":"sidebar-upgrade-menu-item",href:e,className:`flex-col gap-1 items-start ${Re.container}`,children:[a.jsx("span",{className:Re.planCta,children:c}),a.jsxs("div",{className:`flex-row items-center gap-1 ${Re.upgradeIconWrapper}`,children:[a.jsx(At,{}),a.jsx("span",{children:"See upgrade options"})]})]})},ls=Math.min,us=Math.max;function gt(e,t,r){return us(e,ls(t,r))}function Mt(e,t){return typeof e=="function"?e(t):e}function Lt(e){return e.split("-")[0]}function ds(e){return e==="x"?"y":"x"}function _s(e){return["top","bottom"].includes(Lt(e))?"y":"x"}function ms(e){return{top:0,right:0,bottom:0,left:0,...e}}function gs(e){return typeof e!="number"?ms(e):{top:e,right:e,bottom:e,left:e}}function pt(e){const{x:t,y:r,width:s,height:o}=e;return{width:s,height:o,top:r,left:t,right:t+s,bottom:r+o,x:t,y:r}}async function ps(e,t){var r;t===void 0&&(t={});const{x:s,y:o,platform:i,rects:c,elements:l,strategy:_}=e,{boundary:u="clippingAncestors",rootBoundary:m="viewport",elementContext:p="floating",altBoundary:S=!1,padding:j=0}=Mt(t,e),g=gs(j),b=l[S?p==="floating"?"reference":"floating":p],h=pt(await i.getClippingRect({element:(r=await(i.isElement==null?void 0:i.isElement(b)))==null||r?b:b.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(l.floating)),boundary:u,rootBoundary:m,strategy:_})),E=p==="floating"?{x:s,y:o,width:c.floating.width,height:c.floating.height}:c.reference,T=await(i.getOffsetParent==null?void 0:i.getOffsetParent(l.floating)),C=await(i.isElement==null?void 0:i.isElement(T))?await(i.getScale==null?void 0:i.getScale(T))||{x:1,y:1}:{x:1,y:1},A=pt(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:E,offsetParent:T,strategy:_}):E);return{top:(h.top-A.top+g.top)/C.y,bottom:(A.bottom-h.bottom+g.bottom)/C.y,left:(h.left-A.left+g.left)/C.x,right:(A.right-h.right+g.right)/C.x}}const hs=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:s,placement:o}=t,{mainAxis:i=!0,crossAxis:c=!1,limiter:l={fn:b=>{let{x:h,y:E}=b;return{x:h,y:E}}},..._}=Mt(e,t),u={x:r,y:s},m=await ps(t,_),p=_s(Lt(o)),S=ds(p);let j=u[S],g=u[p];if(i){const b=S==="y"?"top":"left",h=S==="y"?"bottom":"right",E=j+m[b],T=j-m[h];j=gt(E,j,T)}if(c){const b=p==="y"?"top":"left",h=p==="y"?"bottom":"right",E=g+m[b],T=g-m[h];g=gt(E,g,T)}const y=l.fn({...t,[S]:j,[p]:g});return{...y,data:{x:y.x-r,y:y.y-s,enabled:{[S]:i,[p]:c}}}}}},fs="_navItem_1dudv_1",Es="_activeNavItem_1dudv_18",bs="_badge_1dudv_23",ze={navItem:fs,activeNavItem:Es,badge:bs},Ut=f.createContext({}),V=()=>f.useContext(Ut),Ts=e=>{const t=e.lastIndexOf("."),r=e.slice(0,t),s=e.slice(t+1);return{name:r,extension:s}},Ss=(e,t)=>{switch(e){case R.Completed:return t<100?"Closed":"Completed";case R.Created:return t>0?"In progress":"Not started";case R.InProgress:return"In progress";case R.Queued:return"Queued";case R.NotStarted:return"Not started";default:return"-"}},js=e=>{const t=e.progress??0;return e.status===R.Created&&t>0?R.InProgress:e.status},vs={[J.translation]:"#0891B2",[J.review]:"#16922D",[J.lqa_by_ai]:"#8B5CF6",[J.automatic_translation]:"#60A5FA"},ys=e=>{const t=[R.InProgress,R.Created,R.Completed];return e.filter(r=>r.status!=="queued").map(r=>({...r,status:js(r)})).sort((r,s)=>r.status===R.InProgress&&r.progress===100?-1:s.status===R.InProgress&&s.progress===100?1:r.status===s.status?r.name<s.name?1:-1:t.indexOf(r.status)-t.indexOf(s.status))},ht=e=>[se.InProgress,se.Created].includes(e),As=(e,t)=>ht(e.status)&&ht(t.status)&&(t.progress??0)>=100,Cs=({task:e,language:t})=>{const[r,s]=f.useState(!1),[o,i]=f.useState(!1),{onLanguageCompleteConfirm:c,fetchTasks:l}=V(),_=()=>{i(!1)};return a.jsxs(a.Fragment,{children:[o&&a.jsx(d.ConfirmModal,{opened:!0,loading:r,title:`Are you finished with ${t.name}?`,confirmText:"Mark as done",closeText:"Cancel",onClose:_,onConfirm:async()=>{s(!0),await c({task:e,language:t,closePrompt:_}),l()},children:a.jsxs(d.Alert,{status:"info",children:["Make sure you are finished and ",a.jsx("strong",{children:"mark it as done"})," to notify your team admin. This action cannot be undone, and the language might no longer be available for you to edit."]})}),a.jsx(d.Link,{disabled:r,onClick:()=>{i(!0)},children:"Mark as done"})]})},Ps="_langRowCompleted_vpgdi_1",Rs="_langCellSecondary_vpgdi_15",zs="_langStatus_vpgdi_20",xe={langRowCompleted:Ps,langCellSecondary:Rs,langStatus:zs},xs=({language:e,task:t})=>{const{getProjectUrl:r,langNameOnClick:s,langProgressOnClick:o}=V(),i=e.progress??0,c=e.status===R.Completed,l=As(t,e);return a.jsxs("tr",{className:k({[xe.langRowCompleted]:l}),children:[a.jsx("td",{children:a.jsx(d.Tooltip,{tooltip:"Open in bilingual view",children:a.jsx(d.Link,{href:r({task:t,language:e}),onClick:()=>{s==null||s({task:t,language:e})},children:e.name})})}),a.jsx("td",{className:xe.langCellSecondary,children:l||c?"0":a.jsx(d.Tooltip,{tooltip:"Open uncompleted items",children:a.jsx(d.Link,{href:r({task:t,language:e,taskUncompleted:!0}),onClick:()=>{o==null||o({task:t,language:e})},children:e.base_words_total-e.base_words_done})})}),a.jsxs("td",{children:[i,"%"]}),a.jsx("td",{children:l?a.jsx(Cs,{task:t,language:e}):a.jsx("span",{className:`${xe.langStatus} flex-row items-center justify-start`,"data-status":e.status,children:Ss(e.status,i)})})]})},ws="_taskContainer_mt2or_1",Is="_taskTitle_mt2or_21",Ns="_taskDescription_mt2or_28",ks="_languagesTable_mt2or_35",Os="_metadata_mt2or_87",B={taskContainer:ws,taskTitle:Is,taskDescription:Ns,languagesTable:ks,metadata:Os},Ms=({task:e})=>{const{getProjectUrl:t,taskTitleOnClick:r}=V(),s=ys(e.langs),o=i=>{window.open(`/style-guide/${e.team_id}/download/${i.id}/link`,"_blank","noopener,noreferrer")};return a.jsxs("div",{className:B.taskContainer,children:[a.jsxs("div",{className:"flex-row gap-1 items-center",children:[a.jsxs("div",{className:"flex-row gap-1 items-start flex-wrap",children:[a.jsx(d.Tag,{color:vs[e.task_type],variant:"solid",children:e.task_type.toLocaleUpperCase()}),e.due_date&&a.jsxs(d.Tag,{color:"#EAB308",children:["DUE ",kt(oe.parseISO(e.due_date),"yyyy-MM-dd")]})]}),e.style_guides.length>0&&a.jsx("div",{className:"flex-row",children:e.style_guides.length===1?a.jsx(d.Button,{size:"sm",variant:"secondary",onClick:()=>o(e.style_guides[0]),children:"Download style guide"}):a.jsx(d.Menu,{menuButton:a.jsx(d.Button,{variant:"secondary",size:"sm",children:"Download style guide"}),children:a.jsx(d.MenuList,{children:e.style_guides.map(i=>a.jsx(d.MenuItem,{onClick:()=>o(i),children:Ts(i.name).name},i.id))})})})]}),a.jsx("h4",{className:B.taskTitle,children:a.jsx(d.Link,{href:t({task:e,view:"multi"}),onClick:()=>{r==null||r({task:e})},children:e.title})}),e.description&&a.jsx("div",{className:B.taskDescription,children:It(Nt(e.description))}),a.jsxs("table",{className:B.languagesTable,children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:"Languages"}),a.jsx("th",{children:"Words to do"}),a.jsx("th",{children:"Progress"}),a.jsx("th",{children:"Status"})]})}),a.jsx("tbody",{children:s.map(i=>a.jsx(xs,{language:i,task:e},i.lang_id))})]}),a.jsxs("div",{"data-testid":"sidebar-task-overview-metadata",className:B.metadata,children:[a.jsxs("span",{children:["Source: ",e.source_lang_name]}),a.jsx("span",{children:e.created_by_fullname}),a.jsxs("span",{children:["In ",e.project_name,e.master_branching_enabled==="1"&&a.jsx("div",{className:B.tag,children:e.branch_name?e.branch_name:"master"})]})]})]})},P={TaskCompleted:"task_completed",TaskClosed:"task_closed",Refresh:"refresh",ShowDialog:"show_dialog"},Ls="_loadingContainer_19d6m_1",Us="_noTasksContainer_19d6m_7",Hs="_noTasksHeading_19d6m_14",Bs="_noTasksText_19d6m_18",Ds="_tasksContainer_19d6m_23",$={loadingContainer:Ls,noTasksContainer:Us,noTasksHeading:Hs,noTasksText:Bs,tasksContainer:Ds},qs=()=>{const{tasks:e,onTasksWidgetOpen:t,loadingTasks:r,fetchTasks:s}=V();return ce(()=>((async()=>{const i=await s();t==null||t({tasks:i})})(),document.addEventListener(P.TaskCompleted,s),document.addEventListener(P.TaskClosed,s),document.addEventListener(P.Refresh,s),()=>{document.removeEventListener(P.TaskCompleted,s),document.removeEventListener(P.TaskClosed,s),document.removeEventListener(P.Refresh,s)})),r?a.jsx("div",{"data-testid":"sidebar-tasks-loading-popover",className:$.loadingContainer,children:a.jsx(d.Loading,{})}):e.length===0?a.jsxs("div",{"data-testid":"sidebar-no-tasks-popover",className:$.noTasksContainer,children:[a.jsx("h3",{className:$.noTasksHeading,children:"No tasks"}),a.jsxs("div",{className:$.noTasksText,children:["Your incoming tasks will appear here.",a.jsx("br",{}),a.jsx(d.Link,{href:"https://docs.lokalise.com/translation-workflow/tasks",target:"_new",children:"Learn more"})]})]}):a.jsx("div",{"data-testid":"sidebar-tasks-popover",className:$.tasksContainer,children:e.map(o=>a.jsx(Ms,{task:o},o.id))})},Gs=({children:e,config:t})=>{const[r,s]=f.useState([]),[o,i]=f.useState(!0),[c,l]=f.useState(0),{getProjectUrl:_,onLanguageCompleteConfirm:u,onTasksWidgetOpen:m,langNameOnClick:p,langProgressOnClick:S,taskTitleOnClick:j}=t,{getTasks:g,getTasksCount:y}=t,b=async()=>{i(!0);const T=await g();return s(T),i(!1),T},h=async()=>{const T=await y();l(T)};ce(()=>(h(),document.addEventListener(P.TaskCompleted,h),document.addEventListener(P.TaskClosed,h),document.addEventListener(P.Refresh,h),()=>{document.removeEventListener(P.TaskCompleted,h),document.removeEventListener(P.TaskClosed,h),document.removeEventListener(P.Refresh,h)}));const E={fetchTasks:b,tasks:r,tasksCount:c,loadingTasks:o,getProjectUrl:_,onLanguageCompleteConfirm:u,onTasksWidgetOpen:m,langNameOnClick:p,langProgressOnClick:S,taskTitleOnClick:j};return a.jsx(Ut.Provider,{value:E,children:e})},$s=e=>function(r){const{config:s,...o}=r;return a.jsx(Gs,{config:s,children:a.jsx(e,{...o})})},Js=$s(()=>{const[e,t]=f.useState(!1),{tasksCount:r}=V();return ce(()=>{const s=()=>{t(!0)};return document.addEventListener(P.ShowDialog,s),()=>{document.removeEventListener(P.ShowDialog,s)}}),a.jsx(d.Tooltip,{tooltip:"Tasks",placement:"right",children:a.jsx(d.Popover,{content:a.jsx(qs,{}),placement:"right",open:e,onOpenChange:t,middlewares:[hs({padding:{top:32,bottom:32}})],children:s=>a.jsxs(d.Button,{type:"button","data-testid":"sidebar-tasks-widget-button","aria-label":"Tasks",className:k(ze.navItem,{[ze.activeNavItem]:s}),children:[a.jsx(d.JobIcon,{size:"25px"}),r>0&&a.jsx("div",{className:ze.badge,"aria-label":`${r} items requiring attention`,children:r>9?"9+":r})]})})})}),x=({children:e,...t})=>a.jsx("nav",{...t,className:gr.sidebarContainer,children:e}),Qs=({children:e})=>a.jsx("div",{children:e});x.Top=Qs;const Fs=({children:e})=>a.jsx("div",{children:e});x.Bottom=Fs;x.Avatar=fr;x.IconLink=Tr;x.Menu=vr;x.ProfileMenu=Jr;x.TeamSwitch=ss;x.TeamMenuItem=Ot;x.UpgradeMenuItem=cs;x.ProfileSettingsMenuItem=Kr;x.Tasks=Js;const Ks="_breadcrumbsItem_1hm6a_1",Ws="_breadcrumbs_1hm6a_1",ft={breadcrumbsItem:Ks,breadcrumbs:Ws},Ys=({items:e})=>a.jsx("nav",{"aria-label":"breadcrumb",className:ft.breadcrumbs,children:e.map((t,r)=>a.jsxs(f.Fragment,{children:[a.jsx(d.Link,{className:ft.breadcrumbsItem,href:t.link,rel:"noreferrer",children:t.name}),r<e.length-1&&a.jsx("span",{children:" — "})]},`${t.link}-${t.name}`))}),Vs=({items:e})=>a.jsx(a.Fragment,{children:e.map((t,r)=>a.jsxs(f.Fragment,{children:[!!r&&t.some(s=>s.visible)&&a.jsx(d.MenuDivider,{}),t.filter(({visible:s})=>s).map(({link:s,label:o,onClick:i})=>a.jsx(d.MenuItem,{href:s||"#","aria-label":o,onClick:i,children:o},o))]},t[0].label))}),Xs="_badge_1pc1v_1",Zs="_tag_1pc1v_15",ea="_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21",ta="_disabled_1pc1v_57",na="_projectNavigationItem_1pc1v_61",ra="_projectNavigationItemDisabled_1pc1v_67",H={badge:Xs,tag:Zs,withNavLinkStyle:ea,disabled:ta,projectNavigationItem:na,projectNavigationItemDisabled:ra},Et=({label:e,badge:t,novel:r})=>a.jsxs("div",{className:"flex gap-1",children:[a.jsxs("div",{children:[a.jsx("span",{children:e}),!!t&&a.jsx("div",{className:H.badge,"aria-label":`${t} items requiring attention`,children:t>9?"9+":t})]}),!!r&&a.jsx(d.Tag,{className:H.tag,children:r})]}),we=f.forwardRef(({label:e,href:t="",disabled:r=!1,badge:s,onClick:o,novel:i},c)=>a.jsx(d.Tooltip,{tooltip:"You do not have access to this function",show:r,children:a.jsx("div",{className:r?H.projectNavigationItemDisabled:H.projectNavigationItem,children:o||r||!t?a.jsx("button",{type:"button",ref:c,className:k(H.withNavLinkStyle,{[H.disabled]:r}),disabled:r,onClick:o,children:a.jsx(Et,{label:e,badge:s,novel:i})}):a.jsx("a",{href:t,className:H.withNavLinkStyle,children:a.jsx(Et,{label:e,badge:s,novel:i})})})}));we.displayName="NavigationTabsItem";const sa=e=>(e==null?void 0:e.some(t=>t.some(r=>r.visible)))??!1,aa=e=>e.visible&&(!e.dropdown||sa(e.dropdown)),oa=({navigation:e,activeItem:t})=>a.jsx("nav",{"aria-label":"Project",children:a.jsx("ul",{className:D.navigationTabList,"aria-orientation":"horizontal",children:e.filter(aa).map(r=>{var s,o,i;return r.dropdown?a.jsx("li",{className:D.navigationTab,"data-testid":r.key,"aria-selected":(s=r.isActive)==null?void 0:s.call(r,t),children:a.jsx(d.Menu,{menuButton:({opened:c})=>a.jsx(we,{label:r.label,disabled:r.disabled,active:c}),children:a.jsx(d.MenuList,{children:a.jsx(Vs,{items:r.dropdown})})})},r.key):a.jsx("li",{className:D.navigationTab,"data-testid":r.key,"aria-selected":(o=r.isActive)==null?void 0:o.call(r,t),children:a.jsx(we,{label:r.label,href:r.link,onClick:r.onClick,disabled:r.disabled,badge:r.badge,novel:r.novel,active:(i=r.isActive)==null?void 0:i.call(r,t)})},r.key)})})});class w{constructor(t){this.factories=t}static create(t={}){return new w([()=>t])}add(t,r){return new w([...this.factories,()=>({[t]:r})])}and(t){return new w([...this.factories,()=>t])}from(t){return new w([...this.factories,t])}with(t){return t.apply(this)}merge(t){return new w([...this.factories,...t.factories])}async resolve(){const t=this.factories.map(s=>s()),r=await Promise.all(t);return Object.assign({},...r)}}function Le(e){return new ia(e)}class ia{constructor(t){this.middleware=t}apply(t){return t.from(async()=>{const r=this.middleware(w.create());return r instanceof Promise?r.then(s=>s.resolve()):r.resolve()})}}const Ue=n.z.union([n.z.literal("owner"),n.z.literal("admin"),n.z.literal("biller"),n.z.literal("member")]),ca=n.z.object({userId:n.z.number(),userUuid:n.z.string().uuid(),teamId:n.z.number(),teamUuid:n.z.string().uuid(),userTeamRole:Ue,userEmail:n.z.string().email(),userName:n.z.string(),userCurrentTeamId:n.z.number(),planId:n.z.number(),planName:n.z.string(),isProviderAlpha:n.z.boolean(),isFullyAuthenticated:n.z.boolean(),exp:n.z.number()});function q(e){try{const t=e.split(".")[1],r=atob(t);return ca.parse(JSON.parse(r))}catch{return}}class K extends Error{constructor(){super(...arguments);ne(this,"name","UnauthorizedError");ne(this,"status",401)}}function la(e){return Le(async t=>{var i,c;const r=e.getCurrentToken()??await((i=e.generateNewToken)==null?void 0:i.call(e));if(!r)throw new K;const{exp:s}=q(r.accessToken)??{exp:0};if(!oe.isThisSecond(new Date(s)))return t.add("authorization",`Bearer ${r.accessToken}`);const o=await e.refreshToken(r);if(!o)throw new K;return(c=e.onNewTokenIssued)==null||c.call(e,o),t.add("authorization",`Bearer ${o.accessToken}`)})}const ua=Le(e=>e.and({"x-lokalise-plugin":"true"}));function He(){const e=Ie(document.cookie,"accessToken"),t=Ie(document.cookie,"refreshToken");return!e||!t?null:{accessToken:e,refreshToken:t}}function Ht(){return Ie(document.cookie,"csrf_token")??null}function Ie(e,t){var r,s;return(s=(r=e.split(";").find(o=>o.trim().startsWith(`${t}=`)))==null?void 0:r.trim())==null?void 0:s.substring(t.length+1)}function da(){const e=He();if(!e)return;const t=q(e.accessToken);if(t)return{...e,payload:t}}const Bt=n.z.union([n.z.object({authorization:n.z.string()}),n.z.object({AUTHORIZATION:n.z.string()})]),_a=n.z.union([n.z.object({"X-API-Token":n.z.string()}),n.z.object({"X-Api-Token":n.z.string()}),n.z.object({"x-api-token":n.z.string()}),n.z.object({"X-API-TOKEN":n.z.string()})]),ma=n.z.union([Bt,_a]),ga=n.z.union([n.z.object({"X-Lokalise-Plugin":n.z.string()}),n.z.object({"x-lokalise-plugin":n.z.string()}),n.z.object({"X-LOKALISE-PLUGIN":n.z.string()})]),L=ma.and(ga),Dt=n.z.object({accessToken:n.z.string(),refreshToken:n.z.string()}),pa=n.z.union([n.z.object({"X-Csrf-Token":n.z.string()}),n.z.object({"X-CSRF-Token":n.z.string()}),n.z.object({"x-csrf-token":n.z.string()}),n.z.object({"X-CSRF-TOKEN":n.z.string()})]),qt=n.z.union([Bt,pa]),le=I.buildPayloadRoute({description:"Takes a teamId and returns a JWT token access and refresh token for the user",method:"post",requestPathParamsSchema:n.z.object({teamId:n.z.number()}),pathResolver:e=>`/team/${e.teamId}/actions/get-user-token`,requestHeaderSchema:qt,requestBodySchema:n.z.undefined(),isEmptyResponseExpected:!0,successResponseBodySchema:Dt});function ha(e,t,r){return async()=>{const s=t();if(!s)throw new K;return z.sendByPayloadRoute(e,le,{pathParams:{teamId:Number(await r())},headers:await w.create().add("x-csrf-token",s).resolve()})}}function fa(e){return async({accessToken:t,refreshToken:r})=>{const s=q(t);if(!s)throw new K;return z.sendByPayloadRoute(e,le,{pathParams:{teamId:s.teamId},headers:await w.create().add("authorization",`Bearer ${r}`).resolve()})}}const Gt={teamKey:e=>["getUserToken",e]},$t=(e,t,r)=>N.useQuery({...r,queryFn:async({queryKey:[s,o]})=>z.sendByPayloadRoute(e,le,{headers:await t.resolve(),pathParams:{teamId:o}})}),ae=class ae extends CustomEvent{constructor(t){super(ae.eventName,{detail:{token:t,payload:q(t.accessToken)}})}};ne(ae,"eventName","new-jwt-issued");let W=ae;function Ea(e,t,r){const s=Ht(),o=$t(e,t.add("x-csrf-token",s??""),{queryKey:Gt.teamKey(r),enabled:s!==void 0}),i=f.useRef();return f.useEffect(()=>{o.data&&o.data.accessToken!==i.current&&(window.dispatchEvent(new W(o.data)),i.current=o.data.accessToken)},[o.data]),o}function Be(){const[e,t]=f.useState();return f.useEffect(()=>{const r=o=>{t(o.detail.payload)},s=He();return t(s?q(s.accessToken):void 0),window.addEventListener(W.eventName,r),()=>{window.removeEventListener(W.eventName,r)}},[]),e}const Jt=L,Qt=n.z.object({user_id:n.z.number(),email:n.z.string().email(),fullname:n.z.string(),created_at:n.z.string(),created_at_timestamp:n.z.number(),role:Ue}),Ft=n.z.object({teamId:n.z.number(),userId:n.z.number()}),Kt=n.z.object({team_id:n.z.number(),team_user:Qt}),Wt=I.buildGetRoute({description:"Get the details of a team user",requestHeaderSchema:Jt,requestPathParamsSchema:Ft,pathResolver:({teamId:e,userId:t})=>`/teams/${e}/users/${t}`,successResponseBodySchema:Kt}),Yt={teamUserKey:(e,t)=>["GetTeamUsers",e,t]},Vt=(e,t,r)=>N.useQuery({...r,queryFn:async({queryKey:[s,o,i]})=>z.sendByGetRoute(e,Wt,{headers:await t.resolve(),pathParams:{teamId:o,userId:i}})});function ba(e,t){const r=Be();return Vt(e,t,{queryKey:Yt.teamUserKey((r==null?void 0:r.teamId)??0,(r==null?void 0:r.userId)??0),enabled:(r==null?void 0:r.userId)!==void 0&&r.teamId!==void 0})}const Ta=L,Xt=n.z.object({lang_id:n.z.number(),lang_iso:n.z.string(),lang_name:n.z.string(),is_writable:n.z.union([n.z.literal(0),n.z.literal(1)])}),Zt=n.z.object({user_id:n.z.number(),email:n.z.string().email(),fullname:n.z.string(),created_at:n.z.string(),created_at_timestamp:n.z.number(),admin_rights:n.z.array(n.z.string()),languages:n.z.array(Xt),is_admin:n.z.boolean(),is_reviewer:n.z.boolean()}),Sa=n.z.union([n.z.object({uuid:n.z.string().uuid()}),n.z.object({id:n.z.string()})]),ja=n.z.union([n.z.object({authenticatedUser:n.z.literal(!0)}),n.z.object({uuid:n.z.string().uuid()}),n.z.object({id:n.z.number()})]),en=n.z.object({project:Sa,contributor:ja}),tn=n.z.object({project_id:n.z.string(),contributor:Zt}),va=e=>"authenticatedUser"in e?"me":"uuid"in e?e.uuid:`${e.id}`,ya=e=>"uuid"in e?e.uuid:e.id,nn=I.buildGetRoute({description:"Get the details of a project contributor",requestHeaderSchema:L,requestPathParamsSchema:en,pathResolver:({project:e,contributor:t})=>`/projects/${ya(e)}/contributors/${va(t)}`,successResponseBodySchema:tn}),rn={projectUserKey:e=>["RetrieveContributor",e]},sn=(e,t,r)=>N.useQuery({...r,queryFn:async({queryKey:[s,o]})=>z.sendByGetRoute(e,nn,{pathParams:o,headers:await t.resolve()})});function Aa(e,t,r){const s=Be(),o=s!=null&&s.userId?{id:s.userId}:{authenticatedUser:!0};return sn(e,t,{queryKey:rn.projectUserKey({project:{id:r},contributor:o}),enabled:s!==void 0})}const an=n.z.object({lang_iso:n.z.string(),custom_iso:n.z.string().optional()}),on=n.z.object({language_id:n.z.number(),language_iso:n.z.string(),progress:n.z.number(),words_to_do:n.z.number(),project_language_id:n.z.number(),project_language_uuid:n.z.string().uuid()}),cn=n.z.object({projectId:n.z.string()}),De=n.z.object({lang_id:n.z.number(),lang_iso:n.z.string(),lang_name:n.z.string(),is_rtl:n.z.boolean(),plural_forms:n.z.array(n.z.string().optional()),project_language_id:n.z.string(),project_language_uuid:n.z.string().uuid()}),ln=n.z.object({project_id:n.z.string(),project_uuid:n.z.string().uuid(),languages:n.z.array(De)}),un=n.z.object({projectId:n.z.string()}),dn=n.z.object({languages:n.z.array(n.z.object({lang_iso:n.z.string(),custom_iso:n.z.string().optional(),custom_name:n.z.string().optional(),custom_plural_forms:n.z.array(n.z.string()).optional()}))}),_n=n.z.object({project_id:n.z.string(),project_uuid:n.z.string().uuid(),languages:n.z.array(De),errors:n.z.array(n.z.object({message:n.z.string(),code:n.z.number(),lang_iso:n.z.string()})).optional()}),mn=n.z.object({projectId:n.z.string()}),gn=n.z.object({langs:n.z.array(n.z.object({lang_iso:n.z.string(),base_lang:n.z.boolean()}))}),pn=n.z.object({result:n.z.boolean()}),hn=I.buildGetRoute({description:"List of project languages",requestHeaderSchema:L,requestPathParamsSchema:cn,pathResolver:({projectId:e})=>`/projects/${e}/languages`,successResponseBodySchema:ln}),Ca=I.buildPayloadRoute({description:"Add languages to existing project",requestHeaderSchema:L,method:"post",requestPathParamsSchema:un,pathResolver:({projectId:e})=>`/projects/${e}/languages`,requestBodySchema:dn,successResponseBodySchema:_n}),fn=I.buildPayloadRoute({description:"Bulk update project languages",requestHeaderSchema:L,method:"put",requestPathParamsSchema:mn,pathResolver:({projectId:e})=>`/projects/${e}/languages/bulk-update`,requestBodySchema:gn,successResponseBodySchema:pn}),X=L,ue=n.z.union([n.z.literal("localization_files"),n.z.literal("paged_documents"),n.z.literal("marketing")]),En=n.z.object({per_platform_key_names:n.z.boolean(),reviewing:n.z.boolean(),auto_toggle_unverified:n.z.boolean(),offline_translation:n.z.boolean(),key_editing:n.z.boolean(),inline_machine_translations:n.z.boolean(),custom_translation_statuses:n.z.boolean(),custom_translation_statuses_allow_multiple:n.z.boolean(),segmentation:n.z.boolean(),contributor_preview_download_enabled:n.z.boolean()}),bn=n.z.object({not_reviewed:n.z.number(),unverified:n.z.number(),spelling_grammar:n.z.number(),inconsistent_placeholders:n.z.number(),inconsistent_html:n.z.number(),different_number_of_urls:n.z.number(),different_urls:n.z.number(),leading_whitespace:n.z.number(),trailing_whitespace:n.z.number(),different_number_of_email_address:n.z.number(),different_email_address:n.z.number(),different_brackets:n.z.number(),different_numbers:n.z.number(),double_space:n.z.number(),special_placeholder:n.z.number(),unbalanced_brackets:n.z.number()}),Tn=n.z.object({progress_total:n.z.number(),keys_total:n.z.number(),team:n.z.number(),base_words:n.z.number(),qa_issues_total:n.z.number(),qa_issues:bn,languages:n.z.array(on)}),Z=n.z.object({project_id:n.z.string(),uuid:n.z.string().uuid(),project_type:ue,name:n.z.string(),description:n.z.string(),created_at:n.z.string(),created_at_timestamp:n.z.number(),created_by:n.z.number(),created_by_email:n.z.string(),team_id:n.z.number(),team_uuid:n.z.string().uuid(),base_language_id:n.z.number(),base_language_iso:n.z.string(),base_project_language_id:n.z.number(),base_project_language_uuid:n.z.string().uuid(),settings:En.optional(),statistics:Tn.optional()}),Sn=n.z.object({name:n.z.string(),team_id:n.z.string(),base_lang_iso:n.z.string(),languages:n.z.array(an),project_type:ue,is_segmentation_enabled:n.z.boolean()}),bt=n.z.union([n.z.literal(0),n.z.literal(1)]),jn=n.z.object({filter_type:ue.optional(),filter_team_id:n.z.number().optional(),filter_names:n.z.string().optional(),include_statistics:bt.optional(),include_settings:bt.optional(),limit:n.z.number().optional(),page:n.z.number().optional()}),vn=n.z.object({projects:n.z.array(Z)}),yn=n.z.object({project_id:n.z.string()}),An=n.z.object({project_id:n.z.string()}),Cn=n.z.object({name:n.z.string().min(1),description:n.z.string().optional()}),de=()=>"/projects",Pn=I.buildPayloadRoute({description:"Create a new project",requestHeaderSchema:X,method:"post",pathResolver:de,requestBodySchema:Sn,successResponseBodySchema:Z}),Rn=I.buildGetRoute({description:"List all projects",requestHeaderSchema:X,pathResolver:de,requestQuerySchema:jn,successResponseBodySchema:vn}),zn=I.buildGetRoute({description:"Retrieve a project",requestHeaderSchema:X,requestPathParamsSchema:yn,pathResolver:({project_id:e})=>`${de()}/${e}`,successResponseBodySchema:Z}),xn=I.buildPayloadRoute({description:"Update a project",requestHeaderSchema:X,method:"put",requestPathParamsSchema:An,pathResolver:({project_id:e})=>`${de()}/${e}`,requestBodySchema:Cn,successResponseBodySchema:Z}),wn=n.z.object({projectId:n.z.string(),translationId:n.z.number()}),In=n.z.enum(["critical","major","minor"]),Nn=n.z.object({category:n.z.string(),comment:n.z.string(),severity:In}),kn=n.z.object({score:n.z.number(),hasMajorIssue:n.z.boolean(),hasCriticalIssue:n.z.boolean(),issues:n.z.array(Nn)});function Pa(e,t,r={}){return N.useMutation({...r,mutationFn:async s=>z.sendByPayloadRoute(e,Pn,{headers:await t.resolve(),body:s})})}const Ra={projectIdKey:e=>["listProjectLanguages",e]};function za(e,t,r){return N.useQuery({...r,queryFn:async({queryKey:[s,o]})=>z.sendByGetRoute(e,hn,{headers:await t.resolve(),pathParams:{projectId:o}})})}const xa={paramsKey:e=>["listProjects",e]};function wa(e,t,r){return N.useQuery({...r,queryFn:async({queryKey:[s,o]})=>z.sendByGetRoute(e,Rn,{headers:await t.resolve(),queryParams:o})})}const Ia={projectIdKey:e=>["retrieveProject",e]};function Na(e,t,r){return N.useQuery({...r,queryFn:async({queryKey:[s,o]})=>z.sendByGetRoute(e,zn,{headers:await t.resolve(),pathParams:{project_id:o}})})}function ka(e,t,r,s={}){return N.useMutation({...s,mutationFn:async o=>z.sendByPayloadRoute(e,xn,{headers:await t.resolve(),body:o,pathParams:r})})}function Oa(e,t,r,s={}){return N.useMutation({...s,mutationFn:async o=>z.sendByPayloadRoute(e,fn,{pathParams:t,headers:await r.resolve(),body:o})})}function Ma(e){return{isEmptyResponseExpected:e.isEmptyResponseExpected??!1,isNonJSONResponseExpected:e.isNonJSONResponseExpected??!1,method:"get",pathResolver:e.pathResolver,requestHeaderSchema:e.requestHeaderSchema,requestPathParamsSchema:e.requestPathParamsSchema,requestQuerySchema:e.requestQuerySchema,successResponseBodySchema:e.successResponseBodySchema,description:e.description,responseSchemasByStatusCode:e.responseSchemasByStatusCode,metadata:e.metadata}}const La=Ma({description:"Generate translation quality score",requestHeaderSchema:L,requestPathParamsSchema:wn,pathResolver:({projectId:e,translationId:t})=>`/projects/${e}/translations/${t}/scoring-guidance`,successResponseBodySchema:kn}),Ua={paramsKey:e=>["getScore",e]};function Ha(e,t,r){return N.useQuery({...r,queryFn:async({queryKey:[s,o]})=>z.sendByGetRoute(e,La,{headers:await t.resolve(),pathParams:o})})}exports.ADD_LANGUAGES_TO_PROJECT_PATH_PARAMS_SCHEMA=un;exports.ADD_LANGUAGES_TO_PROJECT_REQUEST_BODY_SCHEMA=dn;exports.ADD_LANGUAGES_TO_PROJECT_RESPONSE_SCHEMA=_n;exports.BULK_UPDATE_PROJECT_LANGUAGES_PATH_PARAMS_SCHEMA=mn;exports.BULK_UPDATE_PROJECT_LANGUAGES_REQUEST_BODY_SCHEMA=gn;exports.BULK_UPDATE_PROJECT_LANGUAGES_RESPONSE_SCHEMA=pn;exports.Breadcrumbs=Ys;exports.CONTRIBUTOR_API_BASE_HEADER_SCHEMA=Ta;exports.CONTRIBUTOR_LANGUAGE_SCHEMA=Xt;exports.CONTRIBUTOR_SCHEMA=Zt;exports.CREATE_PROJECT_REQUEST_BODY_SCHEMA=Sn;exports.ENTERPRISE_OPENSOURCE_PLAN_ID=Oe;exports.ENTERPRISE_PLAN_IDS=wt;exports.ESSENTIAL_PLAN_IDS=zt;exports.FREE_PLAN_ID=ke;exports.GET_SCORE_REQUEST_QUERY_SCHEMA=wn;exports.GET_SCORE_RESPONSE_SCHEMA=kn;exports.HeaderBuilder=w;exports.ISSUE_SCHEMA=Nn;exports.JWT_TOKEN_SCHEMA=Dt;exports.JwtAuthHeaderBuilderMiddleware=la;exports.LANGUAGE_ISO_SCHEMA=an;exports.LANGUAGE_SCHEMA=De;exports.LANGUAGE_STATISTICS_SCHEMA=on;exports.LIST_PROJECTS_REQUEST_QUERY_SCHEMA=jn;exports.LIST_PROJECTS_SUCCESS_RESPONSE_BODY=vn;exports.LIST_PROJECT_LANGUAGES_PATH_PARAMS_SCHEMA=cn;exports.LIST_PROJECT_LANGUAGES_RESPONSE_SCHEMA=ln;exports.NavigationPanel=F;exports.NavigationTabs=oa;exports.PROJECT_API_BASE_HEADERS_SCHEMA=X;exports.PROJECT_QA_ISSUES_SCHEMA=bn;exports.PROJECT_SCHEMA=Z;exports.PROJECT_SETTINGS_SCHEMA=En;exports.PROJECT_STATISTICS_SCHEMA=Tn;exports.PROJECT_TYPE_SCHEMA=ue;exports.PRO_PLAN_IDS=xt;exports.PublicApiHeaderBuilderMiddleware=ua;exports.RETRIEVE_CONTRIBUTOR_PATH_PARAMS_SCHEMA=en;exports.RETRIEVE_CONTRIBUTOR_RESPONSE_SCHEMA=tn;exports.RETRIEVE_PROJECT_PATH_PARAM_SCHEMA=yn;exports.SEVERITY_ENUM=In;exports.START_PLAN_IDS=Rt;exports.Sidebar=x;exports.SidebarTaskLanguageStatuses=R;exports.SidebarTaskStatuses=se;exports.SidebarTaskTypeOptions=J;exports.TEAM_ROLE_SCHEMA=Ue;exports.TEAM_USER_API_BASE_HEADERS_SCHEMA=Jt;exports.TEAM_USER_PATH_PARAMS_SCHEMA=Ft;exports.TEAM_USER_RESPONSE_SCHEMA=Kt;exports.TEAM_USER_SCHEMA=Qt;exports.TRIAL_PLAN_ID=Pt;exports.UPDATE_PROJECT_PATH_PARAMS_SCHEMA=An;exports.UPDATE_PROJECT_REQUEST_BODY_SCHEMA=Cn;exports.USER_TOKEN_REQUEST_HEADER_SCHEMA=qt;exports.UnauthorizedError=K;exports.addLanguagesToProject=Ca;exports.bulkUpdateProjectLanguages=fn;exports.convertNewLineToBreakTag=It;exports.createHeaderBuilderMiddleware=Le;exports.createProject=Pn;exports.formatDate=kt;exports.formatDateTz=Gr;exports.generateTokenFromClassicSession=ha;exports.getAuthenticatedSessionDetailFromRequest=da;exports.getCsrfTokenFromCookie=Ht;exports.getJwtTokenFromCookie=He;exports.getScoreKey=Ua;exports.getTeamUser=Wt;exports.getTeamUsersQueryKey=Yt;exports.getUserToken=le;exports.getUserTokenKey=Gt;exports.isEnterpriseOpenSourcePlan=Ur;exports.isEnterprisePlan=Mr;exports.isEssentialPlan=kr;exports.isFreePlan=ie;exports.isPaidPlan=Lr;exports.isProPlan=Or;exports.isStartPlan=Nr;exports.isTrialPlan=Me;exports.listProjectLanguages=hn;exports.listProjectLanguagesKey=Ra;exports.listProjects=Rn;exports.listProjectsKey=xa;exports.makeUrlClickable=Nt;exports.parseJwtTokenPayload=q;exports.refreshExpiredToken=fa;exports.retrieveContributor=nn;exports.retrieveContributorKeys=rn;exports.retrieveProject=zn;exports.retrieveProjectQueryKey=Ia;exports.updateProject=xn;exports.useAuthenticatedProjectContributor=Aa;exports.useAuthenticatedSessionPayload=Be;exports.useAuthenticatedUser=ba;exports.useBulkUpdateProjectLanguagesMutation=Oa;exports.useCreateProjectMutation=Pa;exports.useEffectOnce=ce;exports.useGetPromotedClassicSessionJwtQuery=Ea;exports.useGetScoreQuery=Ha;exports.useGetTeamUsersQuery=Vt;exports.useGetUserTokenQuery=$t;exports.useListProjectLanguagesQuery=za;exports.useListProjectsQuery=wa;exports.useRetrieveContributorQuery=sn;exports.useRetrieveProjectQuery=Na;exports.useUpdateProjectMutation=ka;
|
1
|
+
"use strict";var Ln=Object.defineProperty;var Un=(e,t,r)=>t in e?Ln(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ne=(e,t,r)=>Un(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),f=require("react"),d=require("@lokalise/louis"),oe=require("date-fns"),Hn=require("date-fns-tz"),n=require("zod"),I=require("@lokalise/api-contracts"),z=require("@lokalise/frontend-http-client"),N=require("@tanstack/react-query");function Bn(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const Q=Bn(f),se={Completed:"completed",InProgress:"in_progress",Created:"created",Queued:"queued"},R={...se,NotStarted:"not_started"},J={translation:"translation",review:"review",lqa_by_ai:"lqa_by_ai",automatic_translation:"automatic_translation"};var re=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Tt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var me,Je;function Ne(){if(Je)return me;Je=1;function e(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}return me=e,me}var ge,Qe;function Dn(){if(Qe)return ge;Qe=1;var e=typeof re=="object"&&re&&re.Object===Object&&re;return ge=e,ge}var pe,Fe;function St(){if(Fe)return pe;Fe=1;var e=Dn(),t=typeof self=="object"&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return pe=r,pe}var he,Ke;function qn(){if(Ke)return he;Ke=1;var e=St(),t=function(){return e.Date.now()};return he=t,he}var fe,We;function Gn(){if(We)return fe;We=1;var e=/\s/;function t(r){for(var s=r.length;s--&&e.test(r.charAt(s)););return s}return fe=t,fe}var Ee,Ye;function $n(){if(Ye)return Ee;Ye=1;var e=Gn(),t=/^\s+/;function r(s){return s&&s.slice(0,e(s)+1).replace(t,"")}return Ee=r,Ee}var be,Ve;function jt(){if(Ve)return be;Ve=1;var e=St(),t=e.Symbol;return be=t,be}var Te,Xe;function Jn(){if(Xe)return Te;Xe=1;var e=jt(),t=Object.prototype,r=t.hasOwnProperty,s=t.toString,o=e?e.toStringTag:void 0;function i(c){var l=r.call(c,o),_=c[o];try{c[o]=void 0;var u=!0}catch{}var m=s.call(c);return u&&(l?c[o]=_:delete c[o]),m}return Te=i,Te}var Se,Ze;function Qn(){if(Ze)return Se;Ze=1;var e=Object.prototype,t=e.toString;function r(s){return t.call(s)}return Se=r,Se}var je,et;function Fn(){if(et)return je;et=1;var e=jt(),t=Jn(),r=Qn(),s="[object Null]",o="[object Undefined]",i=e?e.toStringTag:void 0;function c(l){return l==null?l===void 0?o:s:i&&i in Object(l)?t(l):r(l)}return je=c,je}var ve,tt;function Kn(){if(tt)return ve;tt=1;function e(t){return t!=null&&typeof t=="object"}return ve=e,ve}var ye,nt;function Wn(){if(nt)return ye;nt=1;var e=Fn(),t=Kn(),r="[object Symbol]";function s(o){return typeof o=="symbol"||t(o)&&e(o)==r}return ye=s,ye}var Ae,rt;function Yn(){if(rt)return Ae;rt=1;var e=$n(),t=Ne(),r=Wn(),s=NaN,o=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function _(u){if(typeof u=="number")return u;if(r(u))return s;if(t(u)){var m=typeof u.valueOf=="function"?u.valueOf():u;u=t(m)?m+"":m}if(typeof u!="string")return u===0?u:+u;u=e(u);var p=i.test(u);return p||c.test(u)?l(u.slice(2),p?2:8):o.test(u)?s:+u}return Ae=_,Ae}var Ce,st;function vt(){if(st)return Ce;st=1;var e=Ne(),t=qn(),r=Yn(),s="Expected a function",o=Math.max,i=Math.min;function c(l,_,u){var m,p,S,j,g,y,b=0,h=!1,E=!1,T=!0;if(typeof l!="function")throw new TypeError(s);_=r(_)||0,e(u)&&(h=!!u.leading,E="maxWait"in u,S=E?o(r(u.maxWait)||0,_):S,T="trailing"in u?!!u.trailing:T);function C(v){var O=m,G=p;return m=p=void 0,b=v,j=l.apply(G,O),j}function A(v){return b=v,g=setTimeout(te,_),h?C(v):j}function ee(v){var O=v-y,G=v-b,$e=_-O;return E?i($e,S-G):$e}function qe(v){var O=v-y,G=v-b;return y===void 0||O>=_||O<0||E&&G>=S}function te(){var v=t();if(qe(v))return Ge(v);g=setTimeout(te,ee(v))}function Ge(v){return g=void 0,T&&m?C(v):(m=p=void 0,j)}function On(){g!==void 0&&clearTimeout(g),b=0,m=y=p=g=void 0}function Mn(){return g===void 0?j:Ge(t())}function _e(){var v=t(),O=qe(v);if(m=arguments,p=this,y=v,O){if(g===void 0)return A(y);if(E)return clearTimeout(g),g=setTimeout(te,_),C(y)}return g===void 0&&(g=setTimeout(te,_)),j}return _e.cancel=On,_e.flush=Mn,_e}return Ce=c,Ce}var Vn=vt();const Xn=Tt(Vn);var Pe,at;function Zn(){if(at)return Pe;at=1;var e=vt(),t=Ne(),r="Expected a function";function s(o,i,c){var l=!0,_=!0;if(typeof o!="function")throw new TypeError(r);return t(c)&&(l="leading"in c?!!c.leading:l,_="trailing"in c?!!c.trailing:_),e(o,i,{leading:l,maxWait:i,trailing:_})}return Pe=s,Pe}var er=Zn();const tr=Tt(er),nr=(e,t,r,s)=>{switch(t){case"debounce":return Xn(e,r,s);case"throttle":return tr(e,r,s);default:return e}},rr=e=>{const t=Q.useRef(e);return Q.useEffect(()=>{t.current=e}),Q.useMemo(()=>(...r)=>{var s;return(s=t.current)===null||s===void 0?void 0:s.call(t,...r)},[])},sr=e=>{const[t,r]=Q.useState((e==null?void 0:e.current)||null);return e&&setTimeout(()=>{e.current!==t&&r(e.current)},0),{refProxy:Q.useMemo(()=>new Proxy(o=>{o!==t&&r(o)},{get(o,i){return i==="current"?t:o[i]},set(o,i,c){return i==="current"?r(c):o[i]=c,!0}}),[t]),refElement:t,setRefElement:r}},ar=(e,t)=>t==="border-box"?{width:e.borderBoxSize[0].inlineSize,height:e.borderBoxSize[0].blockSize}:t==="content-box"?{width:e.contentBoxSize[0].inlineSize,height:e.contentBoxSize[0].blockSize}:{width:e.contentRect.width,height:e.contentRect.height};function or({skipOnMount:e=!1,refreshMode:t,refreshRate:r=1e3,refreshOptions:s,handleWidth:o=!0,handleHeight:i=!0,targetRef:c,observerOptions:l,onResize:_}={}){const u=f.useRef(e),m=rr(_),[p,S]=f.useState({width:void 0,height:void 0}),{refProxy:j,refElement:g}=sr(c),{box:y}=l||{},b=f.useCallback(E=>{if(!o&&!i)return;if(u.current){u.current=!1;return}const T=(C,A)=>o&&C.width!==A.width||i&&C.height!==A.height;E.forEach(C=>{const A=ar(C,y);S(ee=>T(ee,A)?(m==null||m({width:A.width,height:A.height,entry:C}),A):ee)})},[o,i,u,y]),h=f.useCallback(nr(b,t,r,s),[b,t,r,s]);return f.useEffect(()=>{let E;return g?(E=new window.ResizeObserver(h),E.observe(g,l)):(p.width||p.height)&&(m==null||m({width:null,height:null,entry:null}),S({width:void 0,height:void 0})),()=>{var T,C,A;(T=E==null?void 0:E.disconnect)===null||T===void 0||T.call(E),(A=(C=h).cancel)===null||A===void 0||A.call(C)}},[h,g]),Object.assign({ref:j},p)}function yt(e){var t,r,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(r=yt(e[t]))&&(s&&(s+=" "),s+=r)}else for(r in e)e[r]&&(s&&(s+=" "),s+=r);return s}function k(){for(var e,t,r=0,s="",o=arguments.length;r<o;r++)(e=arguments[r])&&(t=yt(e))&&(s&&(s+=" "),s+=t);return s}const ir="_headerContainer_1cubo_1",cr="_navigationTabList_1cubo_8",lr="_navigationTab_1cubo_8",ur="_headerContent_1cubo_34",dr="_staticEnabled_1cubo_50",D={headerContainer:ir,navigationTabList:cr,navigationTab:lr,headerContent:ur,staticEnabled:dr},_r=77,F=({sticky:e,children:t})=>{const{ref:r,height:s}=or({refreshMode:"debounce",refreshRate:0}),[o,i]=f.useState(!1),c=()=>o?!e:!0;f.useEffect(()=>{const _=()=>{i(window.scrollY>0)};return window.addEventListener("scroll",_),()=>window.removeEventListener("scroll",_)},[]);const l=`${s||_r}px`;return a.jsx("div",{style:{minHeight:l},children:a.jsx("div",{children:a.jsxs("div",{ref:r,className:k(D.headerContent,{[D.staticEnabled]:c()}),children:[a.jsx(F.Header,{}),a.jsx(F.Tabs,{}),t]})})})};F.Header=({children:e})=>a.jsx("div",{className:D.headerContainer,children:e});F.Tabs=({children:e})=>a.jsx("div",{className:"flex justify-between gap-2 nowrap",children:e});const mr="_sidebarContainer_bmdti_1",gr={sidebarContainer:mr},pr="_logoLink_1baxb_1",hr={logoLink:pr},fr=({src:e,href:t="/",ariaLabel:r="Lokalise App Home",alt:s="Lokalise Logo"})=>a.jsx("a",{className:hr.logoLink,href:t,"aria-label":r,children:a.jsx("img",{src:e,alt:s})}),Er="_link_18vhx_1",br="_active_18vhx_18",ot={link:Er,active:br},Tr=({label:e,to:t,icon:r})=>a.jsx(d.Tooltip,{placement:"right",tooltip:e,children:a.jsx(d.Link,{"aria-label":e,className:k(ot.link,{[ot.active]:window.location.pathname.startsWith(t)}),href:t,children:a.jsx(r,{size:"25px"})})}),Sr="_dropdownButton_13l5r_1",jr="_dropdownButtonActive_13l5r_18",it={dropdownButton:Sr,dropdownButtonActive:jr},vr=({children:e,icon:t})=>a.jsx(d.Menu,{menuButton:({opened:r})=>a.jsx(d.Tooltip,{placement:"right",tooltip:"Help",children:a.jsx("button",{type:"button",className:k(it.dropdownButton,{[it.dropdownButtonActive]:r}),children:a.jsx(t,{size:"25px"})})}),children:a.jsx(d.MenuList,{placement:"right-start",children:e})}),yr="_iconContainer_nz34m_1",Ar={iconContainer:yr},At=({className:e=""})=>a.jsx("div",{"aria-label":"Upgrade Icon",className:k(Ar.iconContainer,"flex-row","items-center","justify-center",e),children:a.jsx(d.CaretUpIcon,{})}),Cr="_menuContainer_1phdw_10",Pr="_profileButton_1phdw_20",Rr="_profileImage_1phdw_33",zr="_profileImageHighlight_1phdw_41",xr="_profileImageUpgradeIcon_1phdw_45",wr="_userIconWrapper_1phdw_51",U={menuContainer:Cr,profileButton:Pr,profileImage:Rr,profileImageHighlight:zr,profileImageUpgradeIcon:xr,userIconWrapper:wr},Ct=f.createContext({}),Y=()=>f.useContext(Ct),Ir=({children:e})=>{const{currentTeam:t,otherTeams:r,showUpgradeCta:s,showBillingButton:o,allowTeamCreation:i,isProviderAlpha:c,canAccessTeamSettings:l,isEndOfTrialActive:_,isTeamSuspended:u,isFullyAuthenticated:m}=Y();return a.jsx(d.Menu,{menuButton:()=>a.jsxs("button",{className:U.profileButton,"aria-label":"Profile menu",type:"button",children:[t!=null&&t.logoUrl?a.jsx("img",{src:t.logoUrl,className:k(U.profileImage,{[U.profileImageHighlight]:s}),alt:"Team Logo"}):a.jsx("div",{className:k(U.userIconWrapper,"flex-row","align-center","items-center",{[U.profileImageHighlight]:s}),children:a.jsx(d.UserIcon,{size:"25px"})}),s&&a.jsx(At,{className:U.profileImageUpgradeIcon})]}),children:a.jsx(d.MenuList,{placement:"right-end",className:U.menuContainer,children:e({allowTeamCreation:i,otherTeams:r,canAccessTeamSettings:l,isEndOfTrialActive:_,isTeamSuspended:u,showBillingButton:o,isProviderAlpha:c,isFullyAuthenticated:m})})})},ke=0,Pt=9999,Rt=[150,151,250,251],zt=[152,153,252,253],xt=[154,155,157,158,254,255,258,354,355,358],wt=[156,159,160,256,259,260],Oe=9998,ie=e=>e===ke,Me=e=>e===Pt,Nr=e=>Rt.includes(e),kr=e=>zt.includes(e),Or=e=>xt.includes(e),Mr=e=>wt.includes(e),Lr=e=>e>ke&&e<Oe,Ur=e=>e===Oe,Hr=/\n/,ct=(e,t,r)=>e.split(t).flatMap((s,o)=>o!==0?[f.cloneElement(r,{key:Math.random().toString(32).slice(0,10)}),s]:s),Br=(e,t,r)=>typeof e=="string"?ct(e,t,r):e.flatMap(s=>typeof s=="string"?ct(s,t,r):s),It=e=>Br(e,Hr,a.jsx("br",{})),Dr=/(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi,qr=e=>e.match(Dr)??[],lt=(e,t,r)=>{const s=e.split(t);if(s.length===1)return e;const o=[];return s[0]!==""&&o.push(s[0]),s.shift(),s[s.length-1]===""&&s.pop(),o.push(a.jsx("a",{href:t,target:"_blank",rel:"noreferrer noopener",children:t},t+r)),o.push(s.join(t)),o.filter(i=>i!=="")},ut=e=>{const t=qr(e);return t!=null&&t.length?t.reduce((r,s,o)=>typeof r=="string"?lt(r,s,o):r.flatMap(i=>typeof i=="string"?lt(i,s,o):i),e):e},Nt=e=>typeof e=="string"?ut(e):e.flatMap(t=>typeof t=="string"?ut(t):t,e),kt=(e,t="PP")=>oe.format(e,t),Gr=(e,t,r="PP")=>oe.format(Hn.toZonedTime(e,t),r),ce=e=>{f.useEffect(e,[])},dt={biller:"biller",owner:"owner"},_t=[dt.biller,dt.owner],$r=({children:e,config:t})=>{const{teams:r,currentTeamId:s,planId:o,isEndOfTrialActive:i,isFullyAuthenticated:c,userTeamRole:l}=t,_=r.find(h=>h.id===s),u=r.filter(h=>h.id!==s),m=_t.includes(l),p=_t.includes(l),S=ie(o)||Me(o),b={...t,currentTeam:_,otherTeams:u,canChangeBilling:m,canAccessTeamSettings:p,isOnFreeOrTrialPlan:S,showUpgradeCta:c&&S&&m,showBillingButton:c&&p&&m,allowTeamCreation:c&&!i};return a.jsx(Ct.Provider,{value:b,children:e})},Jr=({config:e,children:t})=>a.jsx($r,{config:e,children:a.jsx(Ir,{children:t})}),Qr="_container_q5pot_1",Fr="_profileEmail_q5pot_5",mt={container:Qr,profileEmail:Fr},Kr=({href:e,onClick:t,userEmail:r,hideBottomDivider:s})=>{const{isEndOfTrialActive:o,isTeamSuspended:i}=Y();return o||i?null:a.jsxs(a.Fragment,{children:[a.jsx(d.MenuItem,{href:e,onClick:()=>{t==null||t()},children:a.jsxs("div",{className:`flex-col ${mt.container}`,children:[a.jsx("span",{children:"Profile Settings"}),a.jsx("span",{className:mt.profileEmail,children:r})]})}),!s&&a.jsx(d.MenuDivider,{})]})},Wr="_wrapper_1in7x_5",Yr="_profileImage_1in7x_11",Vr="_teamDetails_1in7x_19",Xr="_planWrapper_1in7x_28",Zr="_teamName_1in7x_36",es="_membership_1in7x_53",ts="_defaultProfileImage_1in7x_59",M={wrapper:Wr,profileImage:Yr,teamDetails:Vr,planWrapper:Xr,teamName:Zr,membership:es,defaultProfileImage:ts},Ot=({team:e,onClick:t,hidePlanLabel:r})=>{const{currentTeam:s,planId:o}=Y(),i=e||s;if(!i)return null;const c=ie(o)?"Free":Me(o)?"Trial":void 0,l=t?d.MenuItem:"div";return a.jsxs(l,{className:M.wrapper,...t&&{onClick:()=>t(i)},children:[i.logoUrl?a.jsx("img",{className:M.profileImage,src:i.logoUrl,alt:"Team logo"}):a.jsx("span",{className:`${M.defaultProfileImage}`,children:a.jsx(d.UserIcon,{size:"25px"})}),a.jsxs("div",{className:M.teamDetails,children:[a.jsxs("div",{className:M.planWrapper,children:[a.jsx("span",{title:i.name,className:M.teamName,children:i.name}),c&&!r&&a.jsx("span",{className:M.teamName,children:c})]}),a.jsx("span",{className:M.membership,children:i.role})]})]})},ns="_teamsContainer_1ncrr_5",rs={teamsContainer:ns},ss=({onSwitchTeam:e})=>{const{otherTeams:t}=Y();return t.length===0?null:a.jsx("div",{"data-testid":"sidebar-team-switch",className:`flex-col items-stretch ${rs.teamsContainer}`,children:t.map(r=>a.jsx(Ot,{team:r,onClick:e,hidePlanLabel:!0},r.id))})},as="_container_1u995_1",os="_planCta_1u995_15",is="_upgradeIconWrapper_1u995_19",Re={container:as,planCta:os,upgradeIconWrapper:is},cs=({upgradeOptionHref:e})=>{const{planId:t,trialDaysLeft:r,showUpgradeCta:s}=Y();if(!s)return null;const c=ie(t)?"Your team is currently on the Free plan":`Free trial ends in ${r} ${r===1?"day":"days"}`;return a.jsxs(d.MenuItem,{"data-testid":"sidebar-upgrade-menu-item",href:e,className:`flex-col gap-1 items-start ${Re.container}`,children:[a.jsx("span",{className:Re.planCta,children:c}),a.jsxs("div",{className:`flex-row items-center gap-1 ${Re.upgradeIconWrapper}`,children:[a.jsx(At,{}),a.jsx("span",{children:"See upgrade options"})]})]})},ls=Math.min,us=Math.max;function gt(e,t,r){return us(e,ls(t,r))}function Mt(e,t){return typeof e=="function"?e(t):e}function Lt(e){return e.split("-")[0]}function ds(e){return e==="x"?"y":"x"}function _s(e){return["top","bottom"].includes(Lt(e))?"y":"x"}function ms(e){return{top:0,right:0,bottom:0,left:0,...e}}function gs(e){return typeof e!="number"?ms(e):{top:e,right:e,bottom:e,left:e}}function pt(e){const{x:t,y:r,width:s,height:o}=e;return{width:s,height:o,top:r,left:t,right:t+s,bottom:r+o,x:t,y:r}}async function ps(e,t){var r;t===void 0&&(t={});const{x:s,y:o,platform:i,rects:c,elements:l,strategy:_}=e,{boundary:u="clippingAncestors",rootBoundary:m="viewport",elementContext:p="floating",altBoundary:S=!1,padding:j=0}=Mt(t,e),g=gs(j),b=l[S?p==="floating"?"reference":"floating":p],h=pt(await i.getClippingRect({element:(r=await(i.isElement==null?void 0:i.isElement(b)))==null||r?b:b.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(l.floating)),boundary:u,rootBoundary:m,strategy:_})),E=p==="floating"?{x:s,y:o,width:c.floating.width,height:c.floating.height}:c.reference,T=await(i.getOffsetParent==null?void 0:i.getOffsetParent(l.floating)),C=await(i.isElement==null?void 0:i.isElement(T))?await(i.getScale==null?void 0:i.getScale(T))||{x:1,y:1}:{x:1,y:1},A=pt(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:E,offsetParent:T,strategy:_}):E);return{top:(h.top-A.top+g.top)/C.y,bottom:(A.bottom-h.bottom+g.bottom)/C.y,left:(h.left-A.left+g.left)/C.x,right:(A.right-h.right+g.right)/C.x}}const hs=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:s,placement:o}=t,{mainAxis:i=!0,crossAxis:c=!1,limiter:l={fn:b=>{let{x:h,y:E}=b;return{x:h,y:E}}},..._}=Mt(e,t),u={x:r,y:s},m=await ps(t,_),p=_s(Lt(o)),S=ds(p);let j=u[S],g=u[p];if(i){const b=S==="y"?"top":"left",h=S==="y"?"bottom":"right",E=j+m[b],T=j-m[h];j=gt(E,j,T)}if(c){const b=p==="y"?"top":"left",h=p==="y"?"bottom":"right",E=g+m[b],T=g-m[h];g=gt(E,g,T)}const y=l.fn({...t,[S]:j,[p]:g});return{...y,data:{x:y.x-r,y:y.y-s,enabled:{[S]:i,[p]:c}}}}}},fs="_navItem_1dudv_1",Es="_activeNavItem_1dudv_18",bs="_badge_1dudv_23",ze={navItem:fs,activeNavItem:Es,badge:bs},Ut=f.createContext({}),V=()=>f.useContext(Ut),Ts=e=>{const t=e.lastIndexOf("."),r=e.slice(0,t),s=e.slice(t+1);return{name:r,extension:s}},Ss=(e,t)=>{switch(e){case R.Completed:return t<100?"Closed":"Completed";case R.Created:return t>0?"In progress":"Not started";case R.InProgress:return"In progress";case R.Queued:return"Queued";case R.NotStarted:return"Not started";default:return"-"}},js=e=>{const t=e.progress??0;return e.status===R.Created&&t>0?R.InProgress:e.status},vs={[J.translation]:"#0891B2",[J.review]:"#16922D",[J.lqa_by_ai]:"#8B5CF6",[J.automatic_translation]:"#60A5FA"},ys=e=>{const t=[R.InProgress,R.Created,R.Completed];return e.filter(r=>r.status!=="queued").map(r=>({...r,status:js(r)})).sort((r,s)=>r.status===R.InProgress&&r.progress===100?-1:s.status===R.InProgress&&s.progress===100?1:r.status===s.status?r.name<s.name?1:-1:t.indexOf(r.status)-t.indexOf(s.status))},ht=e=>[se.InProgress,se.Created].includes(e),As=(e,t)=>ht(e.status)&&ht(t.status)&&(t.progress??0)>=100,Cs=({task:e,language:t})=>{const[r,s]=f.useState(!1),[o,i]=f.useState(!1),{onLanguageCompleteConfirm:c,fetchTasks:l}=V(),_=()=>{i(!1)};return a.jsxs(a.Fragment,{children:[o&&a.jsx(d.ConfirmModal,{opened:!0,loading:r,title:`Are you finished with ${t.name}?`,confirmText:"Mark as done",closeText:"Cancel",onClose:_,onConfirm:async()=>{s(!0),await c({task:e,language:t,closePrompt:_}),l()},children:a.jsxs(d.Alert,{status:"info",children:["Make sure you are finished and ",a.jsx("strong",{children:"mark it as done"})," to notify your team admin. This action cannot be undone, and the language might no longer be available for you to edit."]})}),a.jsx(d.Link,{disabled:r,onClick:()=>{i(!0)},children:"Mark as done"})]})},Ps="_langRowCompleted_vpgdi_1",Rs="_langCellSecondary_vpgdi_15",zs="_langStatus_vpgdi_20",xe={langRowCompleted:Ps,langCellSecondary:Rs,langStatus:zs},xs=({language:e,task:t})=>{const{getProjectUrl:r,langNameOnClick:s,langProgressOnClick:o}=V(),i=e.progress??0,c=e.status===R.Completed,l=As(t,e);return a.jsxs("tr",{className:k({[xe.langRowCompleted]:l}),children:[a.jsx("td",{children:a.jsx(d.Tooltip,{tooltip:"Open in bilingual view",children:a.jsx(d.Link,{href:r({task:t,language:e}),onClick:()=>{s==null||s({task:t,language:e})},children:e.name})})}),a.jsx("td",{className:xe.langCellSecondary,children:l||c?"0":a.jsx(d.Tooltip,{tooltip:"Open uncompleted items",children:a.jsx(d.Link,{href:r({task:t,language:e,taskUncompleted:!0}),onClick:()=>{o==null||o({task:t,language:e})},children:e.base_words_total-e.base_words_done})})}),a.jsxs("td",{children:[i,"%"]}),a.jsx("td",{children:l?a.jsx(Cs,{task:t,language:e}):a.jsx("span",{className:`${xe.langStatus} flex-row items-center justify-start`,"data-status":e.status,children:Ss(e.status,i)})})]})},ws="_taskContainer_mt2or_1",Is="_taskTitle_mt2or_21",Ns="_taskDescription_mt2or_28",ks="_languagesTable_mt2or_35",Os="_metadata_mt2or_87",B={taskContainer:ws,taskTitle:Is,taskDescription:Ns,languagesTable:ks,metadata:Os},Ms=({task:e})=>{const{getProjectUrl:t,taskTitleOnClick:r}=V(),s=ys(e.langs),o=i=>{window.open(`/style-guide/${e.team_id}/download/${i.id}/link`,"_blank","noopener,noreferrer")};return a.jsxs("div",{className:B.taskContainer,children:[a.jsxs("div",{className:"flex-row gap-1 items-center",children:[a.jsxs("div",{className:"flex-row gap-1 items-start flex-wrap",children:[a.jsx(d.Tag,{color:vs[e.task_type],variant:"solid",children:e.task_type.toLocaleUpperCase()}),e.due_date&&a.jsxs(d.Tag,{color:"#EAB308",children:["DUE ",kt(oe.parseISO(e.due_date),"yyyy-MM-dd")]})]}),e.style_guides.length>0&&a.jsx("div",{className:"flex-row",children:e.style_guides.length===1?a.jsx(d.Button,{size:"sm",variant:"secondary",onClick:()=>o(e.style_guides[0]),children:"Download style guide"}):a.jsx(d.Menu,{menuButton:a.jsx(d.Button,{variant:"secondary",size:"sm",children:"Download style guide"}),children:a.jsx(d.MenuList,{children:e.style_guides.map(i=>a.jsx(d.MenuItem,{onClick:()=>o(i),children:Ts(i.name).name},i.id))})})})]}),a.jsx("h4",{className:B.taskTitle,children:a.jsx(d.Link,{href:t({task:e,view:"multi"}),onClick:()=>{r==null||r({task:e})},children:e.title})}),e.description&&a.jsx("div",{className:B.taskDescription,children:It(Nt(e.description))}),a.jsxs("table",{className:B.languagesTable,children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:"Languages"}),a.jsx("th",{children:"Words to do"}),a.jsx("th",{children:"Progress"}),a.jsx("th",{children:"Status"})]})}),a.jsx("tbody",{children:s.map(i=>a.jsx(xs,{language:i,task:e},i.lang_id))})]}),a.jsxs("div",{"data-testid":"sidebar-task-overview-metadata",className:B.metadata,children:[a.jsxs("span",{children:["Source: ",e.source_lang_name]}),a.jsx("span",{children:e.created_by_fullname}),a.jsxs("span",{children:["In ",e.project_name,e.master_branching_enabled==="1"&&a.jsx("div",{className:B.tag,children:e.branch_name?e.branch_name:"master"})]})]})]})},P={TaskCompleted:"task_completed",TaskClosed:"task_closed",Refresh:"refresh",ShowDialog:"show_dialog"},Ls="_loadingContainer_19d6m_1",Us="_noTasksContainer_19d6m_7",Hs="_noTasksHeading_19d6m_14",Bs="_noTasksText_19d6m_18",Ds="_tasksContainer_19d6m_23",$={loadingContainer:Ls,noTasksContainer:Us,noTasksHeading:Hs,noTasksText:Bs,tasksContainer:Ds},qs=()=>{const{tasks:e,onTasksWidgetOpen:t,loadingTasks:r,fetchTasks:s}=V();return ce(()=>((async()=>{const i=await s();t==null||t({tasks:i})})(),document.addEventListener(P.TaskCompleted,s),document.addEventListener(P.TaskClosed,s),document.addEventListener(P.Refresh,s),()=>{document.removeEventListener(P.TaskCompleted,s),document.removeEventListener(P.TaskClosed,s),document.removeEventListener(P.Refresh,s)})),r?a.jsx("div",{"data-testid":"sidebar-tasks-loading-popover",className:$.loadingContainer,children:a.jsx(d.Loading,{})}):e.length===0?a.jsxs("div",{"data-testid":"sidebar-no-tasks-popover",className:$.noTasksContainer,children:[a.jsx("h3",{className:$.noTasksHeading,children:"No tasks"}),a.jsxs("div",{className:$.noTasksText,children:["Your incoming tasks will appear here.",a.jsx("br",{}),a.jsx(d.Link,{href:"https://docs.lokalise.com/translation-workflow/tasks",target:"_new",children:"Learn more"})]})]}):a.jsx("div",{"data-testid":"sidebar-tasks-popover",className:$.tasksContainer,children:e.map(o=>a.jsx(Ms,{task:o},o.id))})},Gs=({children:e,config:t})=>{const[r,s]=f.useState([]),[o,i]=f.useState(!0),[c,l]=f.useState(0),{getProjectUrl:_,onLanguageCompleteConfirm:u,onTasksWidgetOpen:m,langNameOnClick:p,langProgressOnClick:S,taskTitleOnClick:j}=t,{getTasks:g,getTasksCount:y}=t,b=async()=>{i(!0);const T=await g();return s(T),i(!1),T},h=async()=>{const T=await y();l(T)};ce(()=>(h(),document.addEventListener(P.TaskCompleted,h),document.addEventListener(P.TaskClosed,h),document.addEventListener(P.Refresh,h),()=>{document.removeEventListener(P.TaskCompleted,h),document.removeEventListener(P.TaskClosed,h),document.removeEventListener(P.Refresh,h)}));const E={fetchTasks:b,tasks:r,tasksCount:c,loadingTasks:o,getProjectUrl:_,onLanguageCompleteConfirm:u,onTasksWidgetOpen:m,langNameOnClick:p,langProgressOnClick:S,taskTitleOnClick:j};return a.jsx(Ut.Provider,{value:E,children:e})},$s=e=>function(r){const{config:s,...o}=r;return a.jsx(Gs,{config:s,children:a.jsx(e,{...o})})},Js=$s(()=>{const[e,t]=f.useState(!1),{tasksCount:r}=V();return ce(()=>{const s=()=>{t(!0)};return document.addEventListener(P.ShowDialog,s),()=>{document.removeEventListener(P.ShowDialog,s)}}),a.jsx(d.Tooltip,{tooltip:"Tasks",placement:"right",children:a.jsx(d.Popover,{content:a.jsx(qs,{}),placement:"right",open:e,onOpenChange:t,middlewares:[hs({padding:{top:32,bottom:32}})],children:s=>a.jsxs(d.Button,{type:"button","data-testid":"sidebar-tasks-widget-button","aria-label":"Tasks",className:k(ze.navItem,{[ze.activeNavItem]:s}),children:[a.jsx(d.JobIcon,{size:"25px"}),r>0&&a.jsx("div",{className:ze.badge,"aria-label":`${r} items requiring attention`,children:r>9?"9+":r})]})})})}),x=({children:e,...t})=>a.jsx("nav",{...t,className:gr.sidebarContainer,children:e}),Qs=({children:e})=>a.jsx("div",{children:e});x.Top=Qs;const Fs=({children:e})=>a.jsx("div",{children:e});x.Bottom=Fs;x.Avatar=fr;x.IconLink=Tr;x.Menu=vr;x.ProfileMenu=Jr;x.TeamSwitch=ss;x.TeamMenuItem=Ot;x.UpgradeMenuItem=cs;x.ProfileSettingsMenuItem=Kr;x.Tasks=Js;const Ks="_breadcrumbsItem_1hm6a_1",Ws="_breadcrumbs_1hm6a_1",ft={breadcrumbsItem:Ks,breadcrumbs:Ws},Ys=({items:e})=>a.jsx("nav",{"aria-label":"breadcrumb",className:ft.breadcrumbs,children:e.map((t,r)=>a.jsxs(f.Fragment,{children:[a.jsx(d.Link,{className:ft.breadcrumbsItem,href:t.link,rel:"noreferrer",children:t.name}),r<e.length-1&&a.jsx("span",{children:" — "})]},`${t.link}-${t.name}`))}),Vs=({items:e})=>a.jsx(a.Fragment,{children:e.map((t,r)=>a.jsxs(f.Fragment,{children:[!!r&&t.some(s=>s.visible)&&a.jsx(d.MenuDivider,{}),t.filter(({visible:s})=>s).map(({link:s,label:o,onClick:i})=>a.jsx(d.MenuItem,{href:s||"#","aria-label":o,onClick:i,children:o},o))]},t[0].label))}),Xs="_badge_1pc1v_1",Zs="_tag_1pc1v_15",ea="_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21",ta="_disabled_1pc1v_57",na="_projectNavigationItem_1pc1v_61",ra="_projectNavigationItemDisabled_1pc1v_67",H={badge:Xs,tag:Zs,withNavLinkStyle:ea,disabled:ta,projectNavigationItem:na,projectNavigationItemDisabled:ra},Et=({label:e,badge:t,novel:r})=>a.jsxs("div",{className:"flex gap-1",children:[a.jsxs("div",{children:[a.jsx("span",{children:e}),!!t&&a.jsx("div",{className:H.badge,"aria-label":`${t} items requiring attention`,children:t>9?"9+":t})]}),!!r&&a.jsx(d.Tag,{className:H.tag,children:r})]}),we=f.forwardRef(({label:e,href:t="",disabled:r=!1,badge:s,onClick:o,novel:i},c)=>a.jsx(d.Tooltip,{tooltip:"You do not have access to this function",show:r,children:a.jsx("div",{className:r?H.projectNavigationItemDisabled:H.projectNavigationItem,children:o||r||!t?a.jsx("button",{type:"button",ref:c,className:k(H.withNavLinkStyle,{[H.disabled]:r}),disabled:r,onClick:o,children:a.jsx(Et,{label:e,badge:s,novel:i})}):a.jsx("a",{href:t,className:H.withNavLinkStyle,children:a.jsx(Et,{label:e,badge:s,novel:i})})})}));we.displayName="NavigationTabsItem";const sa=e=>(e==null?void 0:e.some(t=>t.some(r=>r.visible)))??!1,aa=e=>e.visible&&(!e.dropdown||sa(e.dropdown)),oa=({navigation:e,activeItem:t})=>a.jsx("nav",{"aria-label":"Project",children:a.jsx("ul",{className:D.navigationTabList,"aria-orientation":"horizontal",children:e.filter(aa).map(r=>{var s,o,i;return r.dropdown?a.jsx("li",{className:D.navigationTab,"data-testid":r.key,"aria-selected":(s=r.isActive)==null?void 0:s.call(r,t),children:a.jsx(d.Menu,{menuButton:({opened:c})=>a.jsx(we,{label:r.label,disabled:r.disabled,active:c}),children:a.jsx(d.MenuList,{children:a.jsx(Vs,{items:r.dropdown})})})},r.key):a.jsx("li",{className:D.navigationTab,"data-testid":r.key,"aria-selected":(o=r.isActive)==null?void 0:o.call(r,t),children:a.jsx(we,{label:r.label,href:r.link,onClick:r.onClick,disabled:r.disabled,badge:r.badge,novel:r.novel,active:(i=r.isActive)==null?void 0:i.call(r,t)})},r.key)})})});class w{constructor(t){this.factories=t}static create(t={}){return new w([()=>t])}add(t,r){return new w([...this.factories,()=>({[t]:r})])}and(t){return new w([...this.factories,()=>t])}from(t){return new w([...this.factories,t])}with(t){return t.apply(this)}merge(t){return new w([...this.factories,...t.factories])}async resolve(){const t=this.factories.map(s=>s()),r=await Promise.all(t);return Object.assign({},...r)}}function Le(e){return new ia(e)}class ia{constructor(t){this.middleware=t}apply(t){return t.from(async()=>{const r=this.middleware(w.create());return r instanceof Promise?r.then(s=>s.resolve()):r.resolve()})}}const Ue=n.z.union([n.z.literal("owner"),n.z.literal("admin"),n.z.literal("biller"),n.z.literal("member")]),ca=n.z.object({userId:n.z.number(),userUuid:n.z.string().uuid(),teamId:n.z.number(),teamUuid:n.z.string().uuid(),userTeamRole:Ue,userEmail:n.z.string().email(),userName:n.z.string(),userCurrentTeamId:n.z.number(),planId:n.z.number(),planName:n.z.string(),isProviderAlpha:n.z.boolean(),isFullyAuthenticated:n.z.boolean(),exp:n.z.number()});function q(e){try{const t=e.split(".")[1],r=atob(t);return ca.parse(JSON.parse(r))}catch{return}}class K extends Error{constructor(){super(...arguments);ne(this,"name","UnauthorizedError");ne(this,"status",401)}}function la(e){return Le(async t=>{var i,c;const r=e.getCurrentToken()??await((i=e.generateNewToken)==null?void 0:i.call(e));if(!r)throw new K;const{exp:s}=q(r.accessToken)??{exp:0};if(!oe.isThisSecond(new Date(s)))return t.add("authorization",`Bearer ${r.accessToken}`);const o=await e.refreshToken(r);if(!o)throw new K;return(c=e.onNewTokenIssued)==null||c.call(e,o),t.add("authorization",`Bearer ${o.accessToken}`)})}const ua=Le(e=>e.and({"x-lokalise-plugin":"true"}));function He(){const e=Ie(document.cookie,"accessToken"),t=Ie(document.cookie,"refreshToken");return!e||!t?null:{accessToken:e,refreshToken:t}}function Ht(){return Ie(document.cookie,"csrf_token")??null}function Ie(e,t){var r,s;return(s=(r=e.split(";").find(o=>o.trim().startsWith(`${t}=`)))==null?void 0:r.trim())==null?void 0:s.substring(t.length+1)}function da(){const e=He();if(!e)return;const t=q(e.accessToken);if(t)return{...e,payload:t}}const Bt=n.z.union([n.z.object({authorization:n.z.string()}),n.z.object({AUTHORIZATION:n.z.string()})]),_a=n.z.union([n.z.object({"X-API-Token":n.z.string()}),n.z.object({"X-Api-Token":n.z.string()}),n.z.object({"x-api-token":n.z.string()}),n.z.object({"X-API-TOKEN":n.z.string()})]),ma=n.z.union([Bt,_a]),ga=n.z.union([n.z.object({"X-Lokalise-Plugin":n.z.string()}),n.z.object({"x-lokalise-plugin":n.z.string()}),n.z.object({"X-LOKALISE-PLUGIN":n.z.string()})]),L=ma.and(ga),Dt=n.z.object({accessToken:n.z.string(),refreshToken:n.z.string()}),pa=n.z.union([n.z.object({"X-Csrf-Token":n.z.string()}),n.z.object({"X-CSRF-Token":n.z.string()}),n.z.object({"x-csrf-token":n.z.string()}),n.z.object({"X-CSRF-TOKEN":n.z.string()})]),qt=n.z.union([Bt,pa]),le=I.buildPayloadRoute({description:"Takes a teamId and returns a JWT token access and refresh token for the user",method:"post",requestPathParamsSchema:n.z.object({teamId:n.z.number()}),pathResolver:e=>`/team/${e.teamId}/actions/get-user-token`,requestHeaderSchema:qt,requestBodySchema:n.z.undefined(),isEmptyResponseExpected:!0,successResponseBodySchema:Dt});function ha(e,t,r){return async()=>{const s=t();if(!s)throw new K;return z.sendByPayloadRoute(e,le,{pathParams:{teamId:Number(await r())},headers:await w.create().add("x-csrf-token",s).resolve()})}}function fa(e){return async({accessToken:t,refreshToken:r})=>{const s=q(t);if(!s)throw new K;return z.sendByPayloadRoute(e,le,{pathParams:{teamId:s.teamId},headers:await w.create().add("authorization",`Bearer ${r}`).resolve()})}}const Gt={teamKey:e=>["getUserToken",e]},$t=(e,t,r)=>N.useQuery({...r,queryFn:async({queryKey:[s,o]})=>z.sendByPayloadRoute(e,le,{headers:await t.resolve(),pathParams:{teamId:o}})}),ae=class ae extends CustomEvent{constructor(t){super(ae.eventName,{detail:{token:t,payload:q(t.accessToken)}})}};ne(ae,"eventName","new-jwt-issued");let W=ae;function Ea(e,t,r){const s=Ht(),o=$t(e,t.add("x-csrf-token",s??""),{queryKey:Gt.teamKey(r),enabled:s!==void 0}),i=f.useRef();return f.useEffect(()=>{o.data&&o.data.accessToken!==i.current&&(window.dispatchEvent(new W(o.data)),i.current=o.data.accessToken)},[o.data]),o}function Be(){const[e,t]=f.useState();return f.useEffect(()=>{const r=o=>{t(o.detail.payload)},s=He();return t(s?q(s.accessToken):void 0),window.addEventListener(W.eventName,r),()=>{window.removeEventListener(W.eventName,r)}},[]),e}const Jt=L,Qt=n.z.object({user_id:n.z.number(),email:n.z.string().email(),fullname:n.z.string(),created_at:n.z.string(),created_at_timestamp:n.z.number(),role:Ue}),Ft=n.z.object({teamId:n.z.number(),userId:n.z.number()}),Kt=n.z.object({team_id:n.z.number(),team_user:Qt}),Wt=I.buildGetRoute({description:"Get the details of a team user",requestHeaderSchema:Jt,requestPathParamsSchema:Ft,pathResolver:({teamId:e,userId:t})=>`/teams/${e}/users/${t}`,successResponseBodySchema:Kt}),Yt={teamUserKey:(e,t)=>["GetTeamUsers",e,t]},Vt=(e,t,r)=>N.useQuery({...r,queryFn:async({queryKey:[s,o,i]})=>z.sendByGetRoute(e,Wt,{headers:await t.resolve(),pathParams:{teamId:o,userId:i}})});function ba(e,t){const r=Be();return Vt(e,t,{queryKey:Yt.teamUserKey((r==null?void 0:r.teamId)??0,(r==null?void 0:r.userId)??0),enabled:(r==null?void 0:r.userId)!==void 0&&r.teamId!==void 0})}const Ta=L,Xt=n.z.object({lang_id:n.z.number(),lang_iso:n.z.string(),lang_name:n.z.string(),is_writable:n.z.union([n.z.literal(0),n.z.literal(1)])}),Zt=n.z.object({user_id:n.z.number(),email:n.z.string().email(),fullname:n.z.string(),created_at:n.z.string(),created_at_timestamp:n.z.number(),admin_rights:n.z.array(n.z.string()),languages:n.z.array(Xt),is_admin:n.z.boolean(),is_reviewer:n.z.boolean()}),Sa=n.z.union([n.z.object({uuid:n.z.string().uuid()}),n.z.object({id:n.z.string()})]),ja=n.z.union([n.z.object({authenticatedUser:n.z.literal(!0)}),n.z.object({uuid:n.z.string().uuid()}),n.z.object({id:n.z.number()})]),en=n.z.object({project:Sa,contributor:ja}),tn=n.z.object({project_id:n.z.string(),contributor:Zt}),va=e=>"authenticatedUser"in e?"me":"uuid"in e?e.uuid:`${e.id}`,ya=e=>"uuid"in e?e.uuid:e.id,nn=I.buildGetRoute({description:"Get the details of a project contributor",requestHeaderSchema:L,requestPathParamsSchema:en,pathResolver:({project:e,contributor:t})=>`/projects/${ya(e)}/contributors/${va(t)}`,successResponseBodySchema:tn}),rn={projectUserKey:e=>["RetrieveContributor",e]},sn=(e,t,r)=>N.useQuery({...r,queryFn:async({queryKey:[s,o]})=>z.sendByGetRoute(e,nn,{pathParams:o,headers:await t.resolve()})});function Aa(e,t,r){const s=Be(),o=s!=null&&s.userId?{id:s.userId}:{authenticatedUser:!0};return sn(e,t,{queryKey:rn.projectUserKey({project:{id:r},contributor:o}),enabled:s!==void 0})}const an=n.z.object({lang_iso:n.z.string(),custom_iso:n.z.string().optional()}),on=n.z.object({language_id:n.z.number(),language_iso:n.z.string(),progress:n.z.number(),words_to_do:n.z.number(),project_language_id:n.z.number(),project_language_uuid:n.z.string().uuid()}),cn=n.z.object({projectId:n.z.string()}),De=n.z.object({lang_id:n.z.number(),lang_iso:n.z.string(),lang_name:n.z.string(),is_rtl:n.z.boolean(),plural_forms:n.z.array(n.z.string().optional()),project_language_id:n.z.string(),project_language_uuid:n.z.string().uuid()}),ln=n.z.object({project_id:n.z.string(),project_uuid:n.z.string().uuid(),languages:n.z.array(De)}),un=n.z.object({projectId:n.z.string()}),dn=n.z.object({languages:n.z.array(n.z.object({lang_iso:n.z.string(),custom_iso:n.z.string().optional(),custom_name:n.z.string().optional(),custom_plural_forms:n.z.array(n.z.string()).optional()}))}),_n=n.z.object({project_id:n.z.string(),project_uuid:n.z.string().uuid(),languages:n.z.array(De),errors:n.z.array(n.z.object({message:n.z.string(),code:n.z.number(),lang_iso:n.z.string()})).optional()}),mn=n.z.object({projectId:n.z.string()}),gn=n.z.object({langs:n.z.array(n.z.object({lang_iso:n.z.string(),base_lang:n.z.boolean()}))}),pn=n.z.object({result:n.z.boolean()}),hn=I.buildGetRoute({description:"List of project languages",requestHeaderSchema:L,requestPathParamsSchema:cn,pathResolver:({projectId:e})=>`/projects/${e}/languages`,successResponseBodySchema:ln}),Ca=I.buildPayloadRoute({description:"Add languages to existing project",requestHeaderSchema:L,method:"post",requestPathParamsSchema:un,pathResolver:({projectId:e})=>`/projects/${e}/languages`,requestBodySchema:dn,successResponseBodySchema:_n}),fn=I.buildPayloadRoute({description:"Bulk update project languages",requestHeaderSchema:L,method:"put",requestPathParamsSchema:mn,pathResolver:({projectId:e})=>`/projects/${e}/languages/bulk-update`,requestBodySchema:gn,successResponseBodySchema:pn}),X=L,ue=n.z.union([n.z.literal("localization_files"),n.z.literal("paged_documents"),n.z.literal("marketing")]),En=n.z.object({per_platform_key_names:n.z.boolean(),reviewing:n.z.boolean(),auto_toggle_unverified:n.z.boolean(),offline_translation:n.z.boolean(),key_editing:n.z.boolean(),inline_machine_translations:n.z.boolean(),custom_translation_statuses:n.z.boolean(),custom_translation_statuses_allow_multiple:n.z.boolean(),segmentation:n.z.boolean(),contributor_preview_download_enabled:n.z.boolean()}),bn=n.z.object({not_reviewed:n.z.number(),unverified:n.z.number(),spelling_grammar:n.z.number(),inconsistent_placeholders:n.z.number(),inconsistent_html:n.z.number(),different_number_of_urls:n.z.number(),different_urls:n.z.number(),leading_whitespace:n.z.number(),trailing_whitespace:n.z.number(),different_number_of_email_address:n.z.number(),different_email_address:n.z.number(),different_brackets:n.z.number(),different_numbers:n.z.number(),double_space:n.z.number(),special_placeholder:n.z.number(),unbalanced_brackets:n.z.number()}),Tn=n.z.object({progress_total:n.z.number(),keys_total:n.z.number(),team:n.z.number(),base_words:n.z.number(),qa_issues_total:n.z.number(),qa_issues:bn,languages:n.z.array(on)}),Z=n.z.object({project_id:n.z.string(),uuid:n.z.string().uuid(),project_type:ue,name:n.z.string(),description:n.z.string(),created_at:n.z.string(),created_at_timestamp:n.z.number(),created_by:n.z.number(),created_by_email:n.z.string(),team_id:n.z.number(),team_uuid:n.z.string().uuid(),base_language_id:n.z.number(),base_language_iso:n.z.string(),base_project_language_id:n.z.number(),base_project_language_uuid:n.z.string().uuid(),settings:En.optional(),statistics:Tn.optional()}),Sn=n.z.object({name:n.z.string(),team_id:n.z.string(),base_lang_iso:n.z.string(),languages:n.z.array(an),project_type:ue,is_segmentation_enabled:n.z.boolean()}),bt=n.z.union([n.z.literal(0),n.z.literal(1)]),jn=n.z.object({filter_type:ue.optional(),filter_team_id:n.z.number().optional(),filter_names:n.z.string().optional(),include_statistics:bt.optional(),include_settings:bt.optional(),limit:n.z.number().optional(),page:n.z.number().optional()}),vn=n.z.object({projects:n.z.array(Z)}),yn=n.z.object({project_id:n.z.string()}),An=n.z.object({project_id:n.z.string()}),Cn=n.z.object({name:n.z.string().min(1),description:n.z.string().optional()}),de=()=>"/projects",Pn=I.buildPayloadRoute({description:"Create a new project",requestHeaderSchema:X,method:"post",pathResolver:de,requestBodySchema:Sn,successResponseBodySchema:Z}),Rn=I.buildGetRoute({description:"List all projects",requestHeaderSchema:X,pathResolver:de,requestQuerySchema:jn,successResponseBodySchema:vn}),zn=I.buildGetRoute({description:"Retrieve a project",requestHeaderSchema:X,requestPathParamsSchema:yn,pathResolver:({project_id:e})=>`${de()}/${e}`,successResponseBodySchema:Z}),xn=I.buildPayloadRoute({description:"Update a project",requestHeaderSchema:X,method:"put",requestPathParamsSchema:An,pathResolver:({project_id:e})=>`${de()}/${e}`,requestBodySchema:Cn,successResponseBodySchema:Z}),wn=n.z.object({projectId:n.z.string(),translationId:n.z.number()}),In=n.z.enum(["critical","major","minor"]),Nn=n.z.object({category:n.z.string(),comment:n.z.string(),severity:In}),kn=n.z.object({score:n.z.number(),hasMajorIssue:n.z.boolean(),hasCriticalIssue:n.z.boolean(),issues:n.z.array(Nn)});function Pa(e,t,r={}){return N.useMutation({...r,mutationFn:async s=>z.sendByPayloadRoute(e,Pn,{headers:await t.resolve(),body:s})})}const Ra={projectIdKey:e=>["listProjectLanguages",e]};function za(e,t,r){return N.useQuery({...r,queryFn:async({queryKey:[s,o]})=>z.sendByGetRoute(e,hn,{headers:await t.resolve(),pathParams:{projectId:o}})})}const xa={paramsKey:e=>["listProjects",e]};function wa(e,t,r){return N.useQuery({...r,queryFn:async({queryKey:[s,o]})=>z.sendByGetRoute(e,Rn,{headers:await t.resolve(),queryParams:o})})}const Ia={projectIdKey:e=>["retrieveProject",e]};function Na(e,t,r){return N.useQuery({...r,queryFn:async({queryKey:[s,o]})=>z.sendByGetRoute(e,zn,{headers:await t.resolve(),pathParams:{project_id:o}})})}function ka(e,t,r,s={}){return N.useMutation({...s,mutationFn:async o=>z.sendByPayloadRoute(e,xn,{headers:await t.resolve(),body:o,pathParams:r})})}function Oa(e,t,r,s={}){return N.useMutation({...s,mutationFn:async o=>z.sendByPayloadRoute(e,fn,{pathParams:t,headers:await r.resolve(),body:o})})}function Ma(e){return{isEmptyResponseExpected:e.isEmptyResponseExpected??!1,isNonJSONResponseExpected:e.isNonJSONResponseExpected??!1,method:"get",pathResolver:e.pathResolver,requestHeaderSchema:e.requestHeaderSchema,requestPathParamsSchema:e.requestPathParamsSchema,requestQuerySchema:e.requestQuerySchema,successResponseBodySchema:e.successResponseBodySchema,description:e.description,responseSchemasByStatusCode:e.responseSchemasByStatusCode,metadata:e.metadata}}const La=Ma({description:"Generate translation quality score",requestHeaderSchema:L,requestPathParamsSchema:wn,pathResolver:({projectId:e,translationId:t})=>`/projects/${e}/translations/${t}/scoring-guidance`,successResponseBodySchema:kn}),Ua={paramsKey:e=>["getScore",e]};function Ha(e,t,r){return N.useQuery({...r,queryFn:async({queryKey:[s,o]})=>z.sendByGetRoute(e,La,{headers:await t.resolve(),pathParams:o})})}exports.ADD_LANGUAGES_TO_PROJECT_PATH_PARAMS_SCHEMA=un;exports.ADD_LANGUAGES_TO_PROJECT_REQUEST_BODY_SCHEMA=dn;exports.ADD_LANGUAGES_TO_PROJECT_RESPONSE_SCHEMA=_n;exports.BULK_UPDATE_PROJECT_LANGUAGES_PATH_PARAMS_SCHEMA=mn;exports.BULK_UPDATE_PROJECT_LANGUAGES_REQUEST_BODY_SCHEMA=gn;exports.BULK_UPDATE_PROJECT_LANGUAGES_RESPONSE_SCHEMA=pn;exports.Breadcrumbs=Ys;exports.CONTRIBUTOR_API_BASE_HEADER_SCHEMA=Ta;exports.CONTRIBUTOR_LANGUAGE_SCHEMA=Xt;exports.CONTRIBUTOR_SCHEMA=Zt;exports.CREATE_PROJECT_REQUEST_BODY_SCHEMA=Sn;exports.ENTERPRISE_OPENSOURCE_PLAN_ID=Oe;exports.ENTERPRISE_PLAN_IDS=wt;exports.ESSENTIAL_PLAN_IDS=zt;exports.FREE_PLAN_ID=ke;exports.GET_SCORE_REQUEST_QUERY_SCHEMA=wn;exports.GET_SCORE_RESPONSE_SCHEMA=kn;exports.HeaderBuilder=w;exports.ISSUE_SCHEMA=Nn;exports.JWT_TOKEN_SCHEMA=Dt;exports.JwtAuthHeaderBuilderMiddleware=la;exports.LANGUAGE_ISO_SCHEMA=an;exports.LANGUAGE_SCHEMA=De;exports.LANGUAGE_STATISTICS_SCHEMA=on;exports.LIST_PROJECTS_REQUEST_QUERY_SCHEMA=jn;exports.LIST_PROJECTS_SUCCESS_RESPONSE_BODY=vn;exports.LIST_PROJECT_LANGUAGES_PATH_PARAMS_SCHEMA=cn;exports.LIST_PROJECT_LANGUAGES_RESPONSE_SCHEMA=ln;exports.NavigationPanel=F;exports.NavigationTabs=oa;exports.PROJECT_API_BASE_HEADERS_SCHEMA=X;exports.PROJECT_QA_ISSUES_SCHEMA=bn;exports.PROJECT_SCHEMA=Z;exports.PROJECT_SETTINGS_SCHEMA=En;exports.PROJECT_STATISTICS_SCHEMA=Tn;exports.PROJECT_TYPE_SCHEMA=ue;exports.PRO_PLAN_IDS=xt;exports.PublicApiHeaderBuilderMiddleware=ua;exports.RETRIEVE_CONTRIBUTOR_PATH_PARAMS_SCHEMA=en;exports.RETRIEVE_CONTRIBUTOR_RESPONSE_SCHEMA=tn;exports.RETRIEVE_PROJECT_PATH_PARAM_SCHEMA=yn;exports.SEVERITY_ENUM=In;exports.START_PLAN_IDS=Rt;exports.Sidebar=x;exports.SidebarTaskLanguageStatuses=R;exports.SidebarTaskStatuses=se;exports.SidebarTaskTypeOptions=J;exports.TEAM_ROLE_SCHEMA=Ue;exports.TEAM_USER_API_BASE_HEADERS_SCHEMA=Jt;exports.TEAM_USER_PATH_PARAMS_SCHEMA=Ft;exports.TEAM_USER_RESPONSE_SCHEMA=Kt;exports.TEAM_USER_SCHEMA=Qt;exports.TRIAL_PLAN_ID=Pt;exports.UPDATE_PROJECT_PATH_PARAMS_SCHEMA=An;exports.UPDATE_PROJECT_REQUEST_BODY_SCHEMA=Cn;exports.USER_TOKEN_REQUEST_HEADER_SCHEMA=qt;exports.UnauthorizedError=K;exports.addLanguagesToProject=Ca;exports.bulkUpdateProjectLanguages=fn;exports.convertNewLineToBreakTag=It;exports.createHeaderBuilderMiddleware=Le;exports.createProject=Pn;exports.formatDate=kt;exports.formatDateTz=Gr;exports.generateTokenFromClassicSession=ha;exports.getAuthenticatedSessionDetailFromRequest=da;exports.getCsrfTokenFromCookie=Ht;exports.getJwtTokenFromCookie=He;exports.getScoreKey=Ua;exports.getTeamUser=Wt;exports.getTeamUsersQueryKey=Yt;exports.getUserToken=le;exports.getUserTokenKey=Gt;exports.isEnterpriseOpenSourcePlan=Ur;exports.isEnterprisePlan=Mr;exports.isEssentialPlan=kr;exports.isFreePlan=ie;exports.isPaidPlan=Lr;exports.isProPlan=Or;exports.isStartPlan=Nr;exports.isTrialPlan=Me;exports.listProjectLanguages=hn;exports.listProjectLanguagesKey=Ra;exports.listProjects=Rn;exports.listProjectsKey=xa;exports.makeUrlClickable=Nt;exports.parseJwtTokenPayload=q;exports.refreshExpiredToken=fa;exports.retrieveContributor=nn;exports.retrieveContributorKeys=rn;exports.retrieveProject=zn;exports.retrieveProjectQueryKey=Ia;exports.updateProject=xn;exports.useAuthenticatedProjectContributor=Aa;exports.useAuthenticatedSessionPayload=Be;exports.useAuthenticatedUser=ba;exports.useBulkUpdateProjectLanguagesMutation=Oa;exports.useCreateProjectMutation=Pa;exports.useEffectOnce=ce;exports.useGetPromotedClassicSessionJwtQuery=Ea;exports.useGetScoreQuery=Ha;exports.useGetTeamUsersQuery=Vt;exports.useGetUserTokenQuery=$t;exports.useListProjectLanguagesQuery=za;exports.useListProjectsQuery=wa;exports.useRetrieveContributorQuery=sn;exports.useRetrieveProjectQuery=Na;exports.useUpdateProjectMutation=ka;
|
package/dist/harmony.mjs
CHANGED
@@ -567,8 +567,8 @@ const qn = "_sidebarContainer_bmdti_1", Bn = {
|
|
567
567
|
i.logoUrl ? /* @__PURE__ */ o("img", { className: O.profileImage, src: i.logoUrl, alt: "Team logo" }) : /* @__PURE__ */ o("span", { className: `${O.defaultProfileImage}`, children: /* @__PURE__ */ o(Rt, { size: "25px" }) }),
|
568
568
|
/* @__PURE__ */ p("div", { className: O.teamDetails, children: [
|
569
569
|
/* @__PURE__ */ p("div", { className: O.planWrapper, children: [
|
570
|
-
/* @__PURE__ */ o("span", { className: O.teamName, children: i.name }),
|
571
|
-
c && !r && /* @__PURE__ */ o("span", {
|
570
|
+
/* @__PURE__ */ o("span", { title: i.name, className: O.teamName, children: i.name }),
|
571
|
+
c && !r && /* @__PURE__ */ o("span", { className: O.teamName, children: c })
|
572
572
|
] }),
|
573
573
|
/* @__PURE__ */ o("span", { className: O.membership, children: i.role })
|
574
574
|
] })
|