@lokalise/harmony 1.17.2 → 1.17.3

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 CHANGED
@@ -1 +1 @@
1
- "use strict";var nn=Object.defineProperty;var rn=(e,t,n)=>t in e?nn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var V=(e,t,n)=>rn(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),p=require("react"),d=require("@lokalise/louis"),re=require("date-fns"),sn=require("date-fns-tz"),r=require("zod"),Re=require("@lokalise/universal-ts-utils/api-contracts/apiContracts"),I=require("@lokalise/frontend-http-client"),N=require("@tanstack/react-query"),K=require("@lokalise/universal-ts-utils/node");function on(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,s.get?s:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const $=on(p),ee={Completed:"completed",InProgress:"in_progress",Created:"created",Queued:"queued"},z={...ee,NotStarted:"not_started"},D={translation:"translation",review:"review",lqa_by_ai:"lqa_by_ai",automatic_translation:"automatic_translation"};var Z=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function vt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var me,Fe;function Ae(){if(Fe)return me;Fe=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return me=e,me}var fe,Ge;function an(){if(Ge)return fe;Ge=1;var e=typeof Z=="object"&&Z&&Z.Object===Object&&Z;return fe=e,fe}var ge,Ke;function Tt(){if(Ke)return ge;Ke=1;var e=an(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return ge=n,ge}var _e,Qe;function cn(){if(Qe)return _e;Qe=1;var e=Tt(),t=function(){return e.Date.now()};return _e=t,_e}var he,Je;function ln(){if(Je)return he;Je=1;var e=/\s/;function t(n){for(var s=n.length;s--&&e.test(n.charAt(s)););return s}return he=t,he}var pe,We;function un(){if(We)return pe;We=1;var e=ln(),t=/^\s+/;function n(s){return s&&s.slice(0,e(s)+1).replace(t,"")}return pe=n,pe}var be,Xe;function jt(){if(Xe)return be;Xe=1;var e=Tt(),t=e.Symbol;return be=t,be}var ve,Ye;function dn(){if(Ye)return ve;Ye=1;var e=jt(),t=Object.prototype,n=t.hasOwnProperty,s=t.toString,a=e?e.toStringTag:void 0;function i(c){var l=n.call(c,a),m=c[a];try{c[a]=void 0;var u=!0}catch{}var f=s.call(c);return u&&(l?c[a]=m:delete c[a]),f}return ve=i,ve}var Te,Ve;function mn(){if(Ve)return Te;Ve=1;var e=Object.prototype,t=e.toString;function n(s){return t.call(s)}return Te=n,Te}var je,Ze;function fn(){if(Ze)return je;Ze=1;var e=jt(),t=dn(),n=mn(),s="[object Null]",a="[object Undefined]",i=e?e.toStringTag:void 0;function c(l){return l==null?l===void 0?a:s:i&&i in Object(l)?t(l):n(l)}return je=c,je}var ye,et;function gn(){if(et)return ye;et=1;function e(t){return t!=null&&typeof t=="object"}return ye=e,ye}var xe,tt;function _n(){if(tt)return xe;tt=1;var e=fn(),t=gn(),n="[object Symbol]";function s(a){return typeof a=="symbol"||t(a)&&e(a)==n}return xe=s,xe}var Se,nt;function hn(){if(nt)return Se;nt=1;var e=un(),t=Ae(),n=_n(),s=NaN,a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function m(u){if(typeof u=="number")return u;if(n(u))return s;if(t(u)){var f=typeof u.valueOf=="function"?u.valueOf():u;u=t(f)?f+"":f}if(typeof u!="string")return u===0?u:+u;u=e(u);var _=i.test(u);return _||c.test(u)?l(u.slice(2),_?2:8):a.test(u)?s:+u}return Se=m,Se}var Ee,rt;function yt(){if(rt)return Ee;rt=1;var e=Ae(),t=cn(),n=hn(),s="Expected a function",a=Math.max,i=Math.min;function c(l,m,u){var f,_,j,y,g,S,v=0,h=!1,b=!1,T=!0;if(typeof l!="function")throw new TypeError(s);m=n(m)||0,e(u)&&(h=!!u.leading,b="maxWait"in u,j=b?a(n(u.maxWait)||0,m):j,T="trailing"in u?!!u.trailing:T);function C(x){var A=f,B=_;return f=_=void 0,v=x,y=l.apply(B,A),y}function E(x){return v=x,g=setTimeout(Y,m),h?C(x):y}function X(x){var A=x-S,B=x-v,$e=m-A;return b?i($e,j-B):$e}function He(x){var A=x-S,B=x-v;return S===void 0||A>=m||A<0||b&&B>=j}function Y(){var x=t();if(He(x))return De(x);g=setTimeout(Y,X(x))}function De(x){return g=void 0,T&&f?C(x):(f=_=void 0,y)}function en(){g!==void 0&&clearTimeout(g),v=0,f=S=_=g=void 0}function tn(){return g===void 0?y:De(t())}function de(){var x=t(),A=He(x);if(f=arguments,_=this,S=x,A){if(g===void 0)return E(S);if(b)return clearTimeout(g),g=setTimeout(Y,m),C(S)}return g===void 0&&(g=setTimeout(Y,m)),y}return de.cancel=en,de.flush=tn,de}return Ee=c,Ee}var pn=yt();const bn=vt(pn);var Ce,st;function vn(){if(st)return Ce;st=1;var e=yt(),t=Ae(),n="Expected a function";function s(a,i,c){var l=!0,m=!0;if(typeof a!="function")throw new TypeError(n);return t(c)&&(l="leading"in c?!!c.leading:l,m="trailing"in c?!!c.trailing:m),e(a,i,{leading:l,maxWait:i,trailing:m})}return Ce=s,Ce}var Tn=vn();const jn=vt(Tn),yn=(e,t,n,s)=>{switch(t){case"debounce":return bn(e,n,s);case"throttle":return jn(e,n,s);default:return e}},xn=e=>{const t=$.useRef(e);return $.useEffect(()=>{t.current=e}),$.useMemo(()=>(...n)=>{var s;return(s=t.current)===null||s===void 0?void 0:s.call(t,...n)},[])},Sn=e=>{const[t,n]=$.useState((e==null?void 0:e.current)||null);return e&&setTimeout(()=>{e.current!==t&&n(e.current)},0),{refProxy:$.useMemo(()=>new Proxy(a=>{a!==t&&n(a)},{get(a,i){return i==="current"?t:a[i]},set(a,i,c){return i==="current"?n(c):a[i]=c,!0}}),[t]),refElement:t,setRefElement:n}},En=(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 Cn({skipOnMount:e=!1,refreshMode:t,refreshRate:n=1e3,refreshOptions:s,handleWidth:a=!0,handleHeight:i=!0,targetRef:c,observerOptions:l,onResize:m}={}){const u=p.useRef(e),f=xn(m),[_,j]=p.useState({width:void 0,height:void 0}),{refProxy:y,refElement:g}=Sn(c),{box:S}=l||{},v=p.useCallback(b=>{if(!a&&!i)return;if(u.current){u.current=!1;return}const T=(C,E)=>a&&C.width!==E.width||i&&C.height!==E.height;b.forEach(C=>{const E=En(C,S);j(X=>T(X,E)?(f==null||f({width:E.width,height:E.height,entry:C}),E):X)})},[a,i,u,S]),h=p.useCallback(yn(v,t,n,s),[v,t,n,s]);return p.useEffect(()=>{let b;return g?(b=new window.ResizeObserver(h),b.observe(g,l)):(_.width||_.height)&&(f==null||f({width:null,height:null,entry:null}),j({width:void 0,height:void 0})),()=>{var T,C,E;(T=b==null?void 0:b.disconnect)===null||T===void 0||T.call(b),(E=(C=h).cancel)===null||E===void 0||E.call(C)}},[h,g]),Object.assign({ref:y},_)}function xt(e){var t,n,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=xt(e[t]))&&(s&&(s+=" "),s+=n)}else for(n in e)e[n]&&(s&&(s+=" "),s+=n);return s}function R(){for(var e,t,n=0,s="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=xt(e))&&(s&&(s+=" "),s+=t);return s}const wn="_headerContainer_1cubo_1",zn="_navigationTabList_1cubo_8",Pn="_navigationTab_1cubo_8",kn="_headerContent_1cubo_34",In="_staticEnabled_1cubo_50",q={headerContainer:wn,navigationTabList:zn,navigationTab:Pn,headerContent:kn,staticEnabled:In},Rn=77,F=({sticky:e,children:t})=>{const{ref:n,height:s}=Cn({refreshMode:"debounce",refreshRate:0}),[a,i]=p.useState(!1),c=()=>a?!e:!0;p.useEffect(()=>{const m=()=>{i(window.scrollY>0)};return window.addEventListener("scroll",m),()=>window.removeEventListener("scroll",m)},[]);const l=`${s||Rn}px`;return o.jsx("div",{style:{minHeight:l},children:o.jsx("div",{children:o.jsxs("div",{ref:n,className:R(q.headerContent,{[q.staticEnabled]:c()}),children:[o.jsx(F.Header,{}),o.jsx(F.Tabs,{}),t]})})})};F.Header=({children:e})=>o.jsx("div",{className:q.headerContainer,children:e});F.Tabs=({children:e})=>o.jsx("div",{className:"flex justify-between gap-2 nowrap",children:e});const An="_sidebarContainer_bmdti_1",Nn={sidebarContainer:An},Ln="_logoLink_1baxb_1",On={logoLink:Ln},Mn=({src:e,href:t="/",ariaLabel:n="Home",alt:s="Lokalise"})=>o.jsx("a",{className:On.logoLink,href:t,"aria-label":n,children:o.jsx("img",{src:e,alt:s})}),Un="_link_18vhx_1",qn="_active_18vhx_18",ot={link:Un,active:qn},Bn=({label:e,to:t,icon:n})=>o.jsx(d.Tooltip,{placement:"right",tooltip:e,children:o.jsx(d.Link,{className:R(ot.link,{[ot.active]:window.location.pathname.startsWith(t)}),href:t,children:o.jsx(n,{size:"25px"})})}),Hn="_dropdownButton_13l5r_1",Dn="_dropdownButtonActive_13l5r_18",at={dropdownButton:Hn,dropdownButtonActive:Dn},$n=({children:e,icon:t})=>o.jsx(d.Menu,{menuButton:({opened:n})=>o.jsx(d.Tooltip,{placement:"right",tooltip:"Help",children:o.jsx("button",{type:"button",className:R(at.dropdownButton,{[at.dropdownButtonActive]:n}),children:o.jsx(t,{size:"25px"})})}),children:o.jsx(d.MenuList,{placement:"right-start",children:e})}),Fn="_iconContainer_nz34m_1",Gn={iconContainer:Fn},St=({className:e=""})=>o.jsx("div",{"aria-label":"Upgrade Icon",className:R(Gn.iconContainer,"flex-row","items-center","justify-center",e),children:o.jsx(d.CaretUpIcon,{})}),Kn="_menuContainer_ywskt_5",Qn="_profileButton_ywskt_15",Jn="_profileImage_ywskt_28",Wn="_profileImageHighlight_ywskt_36",Xn="_profileImageUpgradeIcon_ywskt_40",Yn="_userIconWrapper_ywskt_46",L={menuContainer:Kn,profileButton:Qn,profileImage:Jn,profileImageHighlight:Wn,profileImageUpgradeIcon:Xn,userIconWrapper:Yn},Et=p.createContext({}),Q=()=>p.useContext(Et),Vn=({children:e})=>{const{currentTeam:t,otherTeams:n,showUpgradeCta:s,showBillingButton:a,allowTeamCreation:i,isProviderAlpha:c,canAccessTeamSettings:l,isEndOfTrialActive:m,isTeamSuspended:u,isFullyAuthenticated:f}=Q();return o.jsx(d.Menu,{menuButton:()=>o.jsxs("button",{className:L.profileButton,"aria-label":"Profile menu",type:"button",children:[t!=null&&t.logoUrl?o.jsx("img",{src:t.logoUrl,className:R(L.profileImage,{[L.profileImageHighlight]:s}),alt:"Team Logo"}):o.jsx("div",{className:R(L.userIconWrapper,"flex-row","align-center","items-center",{[L.profileImageHighlight]:s}),children:o.jsx(d.UserIcon,{size:"25px"})}),s&&o.jsx(St,{className:L.profileImageUpgradeIcon})]}),children:o.jsx(d.MenuList,{placement:"right-end",className:L.menuContainer,children:e({allowTeamCreation:i,otherTeams:n,canAccessTeamSettings:l,isEndOfTrialActive:m,isTeamSuspended:u,showBillingButton:a,isProviderAlpha:c,isFullyAuthenticated:f})})})},Ne=0,Ct=9999,wt=[150,151,250,251],zt=[152,153,252,253],Pt=[154,155,157,158,254,255,258,354,355,358],kt=[156,159,160,256,259,260],Le=9998,se=e=>e===Ne,Oe=e=>e===Ct,Zn=e=>wt.includes(e),er=e=>zt.includes(e),tr=e=>Pt.includes(e),nr=e=>kt.includes(e),rr=e=>e>Ne&&e<Le,sr=e=>e===Le,or=/\n/,it=(e,t,n)=>e.split(t).flatMap((s,a)=>a!==0?[p.cloneElement(n,{key:Math.random().toString(32).slice(0,10)}),s]:s),ar=(e,t,n)=>typeof e=="string"?it(e,t,n):e.flatMap(s=>typeof s=="string"?it(s,t,n):s),It=e=>ar(e,or,o.jsx("br",{})),ir=/(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi,cr=e=>e.match(ir)??[],ct=(e,t,n)=>{const s=e.split(t);if(s.length===1)return e;const a=[];return s[0]!==""&&a.push(s[0]),s.shift(),s[s.length-1]===""&&s.pop(),a.push(o.jsx("a",{href:t,target:"_blank",rel:"noreferrer noopener",children:t},t+n)),a.push(s.join(t)),a.filter(i=>i!=="")},lt=e=>{const t=cr(e);return t!=null&&t.length?t.reduce((n,s,a)=>typeof n=="string"?ct(n,s,a):n.flatMap(i=>typeof i=="string"?ct(i,s,a):i),e):e},Rt=e=>typeof e=="string"?lt(e):e.flatMap(t=>typeof t=="string"?lt(t):t,e),At=(e,t="PP")=>re.format(e,t),lr=(e,t,n="PP")=>re.format(sn.toZonedTime(e,t),n),oe=e=>{p.useEffect(e,[])},ut={biller:"biller",owner:"owner"},dt=[ut.biller,ut.owner],ur=({children:e,config:t})=>{const{teams:n,currentTeamId:s,planId:a,isEndOfTrialActive:i,isFullyAuthenticated:c,userTeamRole:l}=t,m=n.find(h=>h.id===s),u=n.filter(h=>h.id!==s),f=dt.includes(l),_=dt.includes(l),j=se(a)||Oe(a),v={...t,currentTeam:m,otherTeams:u,canChangeBilling:f,canAccessTeamSettings:_,isOnFreeOrTrialPlan:j,showUpgradeCta:c&&j&&f,showBillingButton:c&&_&&f,allowTeamCreation:c&&!i};return o.jsx(Et.Provider,{value:v,children:e})},dr=({config:e,children:t})=>o.jsx(ur,{config:e,children:o.jsx(Vn,{children:t})}),mr="_container_q5pot_1",fr="_profileEmail_q5pot_5",mt={container:mr,profileEmail:fr},gr=({href:e,onClick:t,userEmail:n,hideBottomDivider:s})=>{const{isEndOfTrialActive:a,isTeamSuspended:i}=Q();return a||i?null:o.jsxs(o.Fragment,{children:[o.jsx(d.MenuItem,{href:e,onClick:()=>{t==null||t()},children:o.jsxs("div",{className:`flex-col ${mt.container}`,children:[o.jsx("span",{children:"Profile Settings"}),o.jsx("span",{className:mt.profileEmail,children:n})]})}),!s&&o.jsx(d.MenuDivider,{})]})},_r="_wrapper_15d85_1",hr="_profileImage_15d85_14",pr="_teamName_15d85_22",br="_planLabel_15d85_29",vr="_membership_15d85_38",Tr="_defaultProfileImage_15d85_44",M={wrapper:_r,profileImage:hr,teamName:pr,planLabel:br,membership:vr,defaultProfileImage:Tr},Nt=({team:e,onClick:t,hidePlanLabel:n})=>{const{currentTeam:s,planId:a}=Q(),i=e||s;if(!i)return null;const c=se(a)?"Free":Oe(a)?"Trial":void 0,l=t?d.MenuItem:"div";return o.jsxs(l,{className:`flex-row gap-2 flex-nowrap items-center ${M.wrapper}`,...t&&{onClick:()=>t(i)},children:[i.logoUrl?o.jsx("img",{className:M.profileImage,src:i.logoUrl,alt:"Team Logo"}):o.jsx("span",{className:`flex-row justify-center items-center ${M.defaultProfileImage}`,children:o.jsx(d.UserIcon,{size:"25px"})}),o.jsxs("div",{className:"flex-col items-start",children:[o.jsxs("div",{className:"flex-row items-center flex-nowrap gap-2",children:[o.jsx("span",{title:i.name,className:M.teamName,children:i.name}),c&&!n&&o.jsx("span",{className:`flex-row justify-center items-center ${M.planLabel}`,children:c})]}),o.jsx("span",{className:M.membership,children:i.role})]})]})},jr="_teamsContainer_1t68g_1",yr={teamsContainer:jr},xr=({onSwitchTeam:e})=>{const{otherTeams:t}=Q();return t.length===0?null:o.jsx("div",{className:`flex-col items-stretch ${yr.teamsContainer}`,children:t.map(n=>o.jsx(Nt,{team:n,onClick:e,hidePlanLabel:!0},n.id))})},Sr="_container_1u995_1",Er="_planCta_1u995_15",Cr="_upgradeIconWrapper_1u995_19",we={container:Sr,planCta:Er,upgradeIconWrapper:Cr},wr=({upgradeOptionHref:e})=>{const{planId:t,trialDaysLeft:n,showUpgradeCta:s}=Q();if(!s)return null;const c=se(t)?"Your team is currently on the Free plan":`Free trial ends in ${n} ${n===1?"day":"days"}`;return o.jsxs(d.MenuItem,{href:e,className:`flex-col gap-1 items-start ${we.container}`,children:[o.jsx("span",{className:we.planCta,children:c}),o.jsxs("div",{className:`flex-row items-center gap-1 ${we.upgradeIconWrapper}`,children:[o.jsx(St,{}),o.jsx("span",{children:"See upgrade options"})]})]})},zr=Math.min,Pr=Math.max;function ft(e,t,n){return Pr(e,zr(t,n))}function Lt(e,t){return typeof e=="function"?e(t):e}function Ot(e){return e.split("-")[0]}function kr(e){return e==="x"?"y":"x"}function Ir(e){return["top","bottom"].includes(Ot(e))?"y":"x"}function Rr(e){return{top:0,right:0,bottom:0,left:0,...e}}function Ar(e){return typeof e!="number"?Rr(e):{top:e,right:e,bottom:e,left:e}}function gt(e){const{x:t,y:n,width:s,height:a}=e;return{width:s,height:a,top:n,left:t,right:t+s,bottom:n+a,x:t,y:n}}async function Nr(e,t){var n;t===void 0&&(t={});const{x:s,y:a,platform:i,rects:c,elements:l,strategy:m}=e,{boundary:u="clippingAncestors",rootBoundary:f="viewport",elementContext:_="floating",altBoundary:j=!1,padding:y=0}=Lt(t,e),g=Ar(y),v=l[j?_==="floating"?"reference":"floating":_],h=gt(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(v)))==null||n?v:v.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(l.floating)),boundary:u,rootBoundary:f,strategy:m})),b=_==="floating"?{x:s,y:a,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},E=gt(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:b,offsetParent:T,strategy:m}):b);return{top:(h.top-E.top+g.top)/C.y,bottom:(E.bottom-h.bottom+g.bottom)/C.y,left:(h.left-E.left+g.left)/C.x,right:(E.right-h.right+g.right)/C.x}}const Lr=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:s,placement:a}=t,{mainAxis:i=!0,crossAxis:c=!1,limiter:l={fn:v=>{let{x:h,y:b}=v;return{x:h,y:b}}},...m}=Lt(e,t),u={x:n,y:s},f=await Nr(t,m),_=Ir(Ot(a)),j=kr(_);let y=u[j],g=u[_];if(i){const v=j==="y"?"top":"left",h=j==="y"?"bottom":"right",b=y+f[v],T=y-f[h];y=ft(b,y,T)}if(c){const v=_==="y"?"top":"left",h=_==="y"?"bottom":"right",b=g+f[v],T=g-f[h];g=ft(b,g,T)}const S=l.fn({...t,[j]:y,[_]:g});return{...S,data:{x:S.x-n,y:S.y-s,enabled:{[j]:i,[_]:c}}}}}},Or="_navItem_1dudv_1",Mr="_activeNavItem_1dudv_18",Ur="_badge_1dudv_23",ze={navItem:Or,activeNavItem:Mr,badge:Ur},Mt=p.createContext({}),J=()=>p.useContext(Mt),qr=e=>{const t=e.lastIndexOf("."),n=e.slice(0,t),s=e.slice(t+1);return{name:n,extension:s}},Br=(e,t)=>{switch(e){case z.Completed:return t<100?"Closed":"Completed";case z.Created:return t>0?"In progress":"Not started";case z.InProgress:return"In progress";case z.Queued:return"Queued";case z.NotStarted:return"Not started";default:return"-"}},Hr=e=>{const t=e.progress??0;return e.status===z.Created&&t>0?z.InProgress:e.status},Dr={[D.translation]:"#0891B2",[D.review]:"#16922D",[D.lqa_by_ai]:"#8B5CF6",[D.automatic_translation]:"#60A5FA"},$r=e=>{const t=[z.InProgress,z.Created,z.Completed];return e.filter(n=>n.status!=="queued").map(n=>({...n,status:Hr(n)})).sort((n,s)=>n.status===z.InProgress&&n.progress===100?-1:s.status===z.InProgress&&s.progress===100?1:n.status===s.status?n.name<s.name?1:-1:t.indexOf(n.status)-t.indexOf(s.status))},_t=e=>e in[ee.InProgress,ee.Created],Fr=(e,t)=>_t(e.status)&&_t(t.status)&&(t.progress??0)>=100,Gr=({task:e,language:t})=>{const[n,s]=p.useState(!1),[a,i]=p.useState(!1),{onLanguageCompleteConfirm:c,fetchTasks:l}=J(),m=()=>{i(!1)};return o.jsxs(o.Fragment,{children:[a&&o.jsx(d.ConfirmModal,{opened:!0,loading:n,title:`Are you finished with ${t.name}?`,confirmText:"Mark as done",closeText:"Cancel",onClose:m,onConfirm:async()=>{s(!0),await c({task:e,language:t,closePrompt:m}),l()},children:o.jsxs(d.Alert,{status:"info",children:["Make sure you are finished and ",o.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."]})}),o.jsx(d.Link,{disabled:n,onClick:()=>{i(!0)},children:"Mark as done"})]})},Kr="_langRowCompleted_vpgdi_1",Qr="_langCellSecondary_vpgdi_15",Jr="_langStatus_vpgdi_20",Pe={langRowCompleted:Kr,langCellSecondary:Qr,langStatus:Jr},Wr=({language:e,task:t})=>{const{getProjectUrl:n,langNameOnClick:s,langProgressOnClick:a}=J(),i=e.progress??0,c=e.status===z.Completed,l=Fr(t,e);return o.jsxs("tr",{className:R({[Pe.langRowCompleted]:l}),children:[o.jsx("td",{children:o.jsx(d.Tooltip,{tooltip:"Open in bilingual view",children:o.jsx(d.Link,{href:n({task:t,language:e}),onClick:()=>{s==null||s({task:t,language:e})},children:e.name})})}),o.jsx("td",{className:Pe.langCellSecondary,children:l||c?"0":o.jsx(d.Tooltip,{tooltip:"Open uncompleted items",children:o.jsx(d.Link,{href:n({task:t,language:e,taskUncompleted:!0}),onClick:()=>{a==null||a({task:t,language:e})},children:e.base_words_total-e.base_words_done})})}),o.jsxs("td",{children:[i,"%"]}),o.jsx("td",{children:l?o.jsx(Gr,{task:t,language:e}):o.jsx("span",{className:`${Pe.langStatus} flex-row items-center justify-start`,"data-status":e.status,children:Br(e.status,i)})})]})},Xr="_taskContainer_mt2or_1",Yr="_taskTitle_mt2or_21",Vr="_taskDescription_mt2or_28",Zr="_languagesTable_mt2or_35",es="_metadata_mt2or_87",U={taskContainer:Xr,taskTitle:Yr,taskDescription:Vr,languagesTable:Zr,metadata:es},ts=({task:e})=>{const{tasks:t,getProjectUrl:n,taskTitleOnClick:s}=J(),a=$r(e.langs),i=c=>{c!==void 0&&window.open(`/style-guide/${e.team_id}/download/${c.id}/link`,"_blank","noopener,noreferrer")};return t?o.jsxs("div",{className:U.taskContainer,children:[o.jsxs("div",{className:"flex-row gap-1 items-center",children:[o.jsxs("div",{className:"flex-row gap-1 items-start flex-wrap",children:[o.jsx(d.Tag,{color:Dr[e.task_type],variant:"solid",children:e.task_type.toLocaleUpperCase()}),e.due_date&&o.jsxs(d.Tag,{color:"#EAB308",children:["DUE ",At(re.parseISO(e.due_date),"yyyy-MM-dd")]})]}),e.style_guides.length>0&&o.jsx("div",{className:"flex-row",children:e.style_guides.length===1?o.jsx(d.Button,{size:"sm",variant:"secondary",onClick:()=>i(e.style_guides[0]),children:"Download style guide"}):o.jsx(d.Menu,{menuButton:o.jsx(d.Button,{variant:"secondary",size:"sm",children:"Download style guide"}),children:o.jsx(d.MenuList,{children:e.style_guides.map(c=>o.jsx(d.MenuItem,{onClick:()=>i(c),children:qr(c.name).name},c.id))})})})]}),o.jsx("h4",{className:U.taskTitle,children:o.jsx(d.Link,{href:n({task:e,view:"multi"}),onClick:()=>{s==null||s({task:e})},children:e.title})}),e.description&&o.jsx("div",{className:U.taskDescription,children:It(Rt(e.description))}),o.jsxs("table",{className:U.languagesTable,children:[o.jsx("thead",{children:o.jsxs("tr",{children:[o.jsx("th",{children:"Languages"}),o.jsx("th",{children:"Words to do"}),o.jsx("th",{children:"Progress"}),o.jsx("th",{children:"Status"})]})}),o.jsx("tbody",{children:a.map(c=>o.jsx(Wr,{language:c,task:e},c.lang_id))})]}),o.jsxs("div",{className:U.metadata,children:[o.jsxs("span",{children:["Source: ",e.source_lang_name]}),o.jsx("span",{children:e.created_by_fullname}),o.jsxs("span",{children:["In ",e.project_name,e.master_branching_enabled==="1"&&o.jsx("div",{className:U.tag,children:e.branch_name?e.branch_name:"master"})]})]})]}):null},w={TaskCompleted:"task_completed",TaskClosed:"task_closed",Refresh:"refresh",ShowDialog:"show_dialog"},ns="_loadingContainer_19d6m_1",rs="_noTasksContainer_19d6m_7",ss="_noTasksHeading_19d6m_14",os="_noTasksText_19d6m_18",as="_tasksContainer_19d6m_23",H={loadingContainer:ns,noTasksContainer:rs,noTasksHeading:ss,noTasksText:os,tasksContainer:as},is=()=>{const{tasks:e,onTasksWidgetOpen:t,loadingTasks:n,fetchTasks:s}=J();return oe(()=>(s(),t==null||t({tasks:e}),document.addEventListener(w.TaskCompleted,s),document.addEventListener(w.TaskClosed,s),document.addEventListener(w.Refresh,s),()=>{document.removeEventListener(w.TaskCompleted,s),document.removeEventListener(w.TaskClosed,s),document.removeEventListener(w.Refresh,s)})),n?o.jsx("div",{"data-testid":"sidebar-tasks-loading-popover",className:H.loadingContainer,children:o.jsx(d.Loading,{})}):e.length===0?o.jsxs("div",{"data-testid":"sidebar-no-tasks-popover",className:H.noTasksContainer,children:[o.jsx("h3",{className:H.noTasksHeading,children:"No tasks"}),o.jsxs("div",{className:H.noTasksText,children:["Your incoming tasks will appear here.",o.jsx("br",{}),o.jsx(d.Link,{href:"https://docs.lokalise.com/translation-workflow/tasks",target:"_new",children:"Learn more"})]})]}):o.jsx("div",{"data-testid":"sidebar-tasks-popover",className:H.tasksContainer,children:e.map(a=>o.jsx(ts,{task:a},a.id))})},cs=({children:e,config:t})=>{const[n,s]=p.useState([]),[a,i]=p.useState(!0),[c,l]=p.useState(0),{getProjectUrl:m,onLanguageCompleteConfirm:u,onTasksWidgetOpen:f,langNameOnClick:_,langProgressOnClick:j,taskTitleOnClick:y}=t,{getTasks:g,getTasksCount:S}=t,v=async()=>{i(!0);const T=await g();s(T),i(!1)},h=async()=>{const T=await S();l(T)};oe(()=>(h(),document.addEventListener(w.TaskCompleted,h),document.addEventListener(w.TaskClosed,h),document.addEventListener(w.Refresh,h),()=>{document.removeEventListener(w.TaskCompleted,h),document.removeEventListener(w.TaskClosed,h),document.removeEventListener(w.Refresh,h)}));const b={fetchTasks:v,tasks:n,tasksCount:c,loadingTasks:a,getProjectUrl:m,onLanguageCompleteConfirm:u,onTasksWidgetOpen:f,langNameOnClick:_,langProgressOnClick:j,taskTitleOnClick:y};return o.jsx(Mt.Provider,{value:b,children:e})},ls=e=>function(n){const{config:s,...a}=n;return o.jsx(cs,{config:s,children:o.jsx(e,{...a})})},us=ls(()=>{const[e,t]=p.useState(!1),{tasksCount:n}=J();return oe(()=>{const s=()=>{t(!0)};return document.addEventListener(w.ShowDialog,s),()=>{document.removeEventListener(w.ShowDialog,s)}}),o.jsx(d.Tooltip,{tooltip:"Tasks",placement:"right",children:o.jsx(d.Popover,{content:o.jsx(is,{}),placement:"right",open:e,onOpenChange:t,middlewares:[Lr({padding:{top:32,bottom:32}})],children:s=>o.jsxs(d.Button,{type:"button","data-testid":"sidebar-tasks-widget-button","aria-label":"Tasks",className:R(ze.navItem,{[ze.activeNavItem]:s}),children:[o.jsx(d.JobIcon,{size:"25px"}),n>0&&o.jsx("div",{className:ze.badge,"aria-label":`${n} items requiring attention`,children:n>9?"9+":n})]})})})}),P=({children:e,...t})=>o.jsx("nav",{...t,className:Nn.sidebarContainer,children:e}),ds=({children:e})=>o.jsx("div",{children:e});P.Top=ds;const ms=({children:e})=>o.jsx("div",{children:e});P.Bottom=ms;P.Avatar=Mn;P.IconLink=Bn;P.Menu=$n;P.ProfileMenu=dr;P.TeamSwitch=xr;P.TeamMenuItem=Nt;P.UpgradeMenuItem=wr;P.ProfileSettingsMenuItem=gr;P.Tasks=us;const fs="_breadcrumbsItem_1hm6a_1",gs="_breadcrumbs_1hm6a_1",ht={breadcrumbsItem:fs,breadcrumbs:gs},_s=({items:e})=>o.jsx("nav",{"aria-label":"breadcrumb",className:ht.breadcrumbs,children:e.map((t,n)=>o.jsxs(p.Fragment,{children:[o.jsx(d.Link,{className:ht.breadcrumbsItem,href:t.link,rel:"noreferrer",children:t.name}),n<e.length-1&&o.jsx("span",{children:" — "})]},`${t.link}-${t.name}`))}),hs=({items:e})=>o.jsx(o.Fragment,{children:e.map((t,n)=>o.jsxs(p.Fragment,{children:[!!n&&t.some(s=>s.visible)&&o.jsx(d.MenuDivider,{}),t.filter(({visible:s})=>s).map(({link:s,label:a,onClick:i})=>o.jsx(d.MenuItem,{href:s||"#","aria-label":a,onClick:i,children:a},a))]},t[0].label))}),ps="_badge_1pc1v_1",bs="_tag_1pc1v_15",vs="_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21",Ts="_disabled_1pc1v_57",js="_projectNavigationItem_1pc1v_61",ys="_projectNavigationItemDisabled_1pc1v_67",O={badge:ps,tag:bs,withNavLinkStyle:vs,disabled:Ts,projectNavigationItem:js,projectNavigationItemDisabled:ys},pt=({label:e,badge:t,novel:n})=>o.jsxs("div",{className:"flex gap-1",children:[o.jsxs("div",{children:[o.jsx("span",{children:e}),!!t&&o.jsx("div",{className:O.badge,"aria-label":`${t} items requiring attention`,children:t>9?"9+":t})]}),!!n&&o.jsx(d.Tag,{className:O.tag,children:n})]}),ke=p.forwardRef(({label:e,href:t="",disabled:n=!1,badge:s,onClick:a,novel:i},c)=>o.jsx(d.Tooltip,{tooltip:"You do not have access to this function",show:n,children:o.jsx("div",{className:n?O.projectNavigationItemDisabled:O.projectNavigationItem,children:a||n||!t?o.jsx("button",{type:"button",ref:c,className:R(O.withNavLinkStyle,{[O.disabled]:n}),disabled:n,onClick:a,children:o.jsx(pt,{label:e,badge:s,novel:i})}):o.jsx("a",{href:t,className:O.withNavLinkStyle,children:o.jsx(pt,{label:e,badge:s,novel:i})})})}));ke.displayName="NavigationTabsItem";const xs=e=>(e==null?void 0:e.some(t=>t.some(n=>n.visible)))??!1,Ss=e=>e.visible&&(!e.dropdown||xs(e.dropdown)),Es=({navigation:e,activeItem:t})=>o.jsx("nav",{"aria-label":"Project",children:o.jsx("ul",{className:q.navigationTabList,"aria-orientation":"horizontal",children:e.filter(Ss).map(n=>{var s,a,i;return n.dropdown?o.jsx("li",{className:q.navigationTab,"data-testid":n.key,"aria-selected":(s=n.isActive)==null?void 0:s.call(n,t),children:o.jsx(d.Menu,{menuButton:({opened:c})=>o.jsx(ke,{label:n.label,disabled:n.disabled,active:c}),children:o.jsx(d.MenuList,{children:o.jsx(hs,{items:n.dropdown})})})},n.key):o.jsx("li",{className:q.navigationTab,"data-testid":n.key,"aria-selected":(a=n.isActive)==null?void 0:a.call(n,t),children:o.jsx(ke,{label:n.label,href:n.link,onClick:n.onClick,disabled:n.disabled,badge:n.badge,novel:n.novel,active:(i=n.isActive)==null?void 0:i.call(n,t)})},n.key)})})});class k{constructor(t){this.factories=t}static create(t={}){return new k([()=>t])}add(t,n){return new k([...this.factories,()=>({[t]:n})])}and(t){return new k([...this.factories,()=>t])}from(t){return new k([...this.factories,t])}with(t){return t.apply(this)}merge(t){return new k([...this.factories,...t.factories])}async resolve(){const t=this.factories.map(s=>s()),n=await Promise.all(t);return Object.assign({},...n)}}function Me(e){return new Cs(e)}class Cs{constructor(t){this.middleware=t}apply(t){return t.from(async()=>{const n=this.middleware(k.create());return n instanceof Promise?n.then(s=>s.resolve()):n.resolve()})}}const Ut=r.z.union([r.z.literal("owner"),r.z.literal("admin"),r.z.literal("biller"),r.z.literal("member")]),ws=r.z.object({userId:r.z.number(),userUuid:r.z.string(),teamId:r.z.number(),userTeamRole:Ut,userEmail:r.z.string().email(),userName:r.z.string(),userCurrentTeamId:r.z.number(),planId:r.z.number(),planName:r.z.string(),isProviderAlpha:r.z.boolean(),isFullyAuthenticated:r.z.boolean(),exp:r.z.number()});function W(e){try{const t=e.split(".")[1],n=atob(t);return ws.parse(JSON.parse(n))}catch{return}}class te extends Error{constructor(){super(...arguments);V(this,"name","UnauthorizedError");V(this,"status",401)}}function zs(e){return Me(async t=>{var i,c;const n=e.getCurrentToken()??await((i=e.generateNewToken)==null?void 0:i.call(e));if(!n)throw new te;const{exp:s}=W(n.accessToken)??{exp:0};if(!re.isThisSecond(new Date(s)))return t.add("Authorization",`Bearer ${n.accessToken}`);const a=await e.refreshToken(n);if(!a)throw new te;return(c=e.onNewTokenIssued)==null||c.call(e,a),t.add("Authorization",`Bearer ${a.accessToken}`)})}const Ps=Me(e=>e.and({"x-lokalise-plugin":"true"}));function Ue(){const e=Ie(document.cookie,"accessToken"),t=Ie(document.cookie,"refreshToken");return!e||!t?null:{accessToken:e,refreshToken:t}}function qt(){return Ie(document.cookie,"csrf_token")??null}function Ie(e,t){var n,s;return(s=(n=e.split(";").find(a=>a.trim().startsWith(`${t}=`)))==null?void 0:n.trim())==null?void 0:s.substring(t.length+1)}function ks(){const e=Ue();if(!e)return;const t=W(e.accessToken);if(t)return{...e,payload:t}}const Bt=r.z.union([r.z.object({Authorization:r.z.string()}),r.z.object({authorization:r.z.string()}),r.z.object({AUTHORIZATION:r.z.string()})]),Is=r.z.union([r.z.object({"X-API-Token":r.z.string()}),r.z.object({"X-Api-Token":r.z.string()}),r.z.object({"x-api-token":r.z.string()}),r.z.object({"X-API-TOKEN":r.z.string()})]),Rs=r.z.union([Bt,Is]),As=r.z.union([r.z.object({"X-Lokalise-Plugin":r.z.string()}),r.z.object({"x-lokalise-plugin":r.z.string()}),r.z.object({"X-LOKALISE-PLUGIN":r.z.string()})]),ae=Rs.and(As),Ns=r.z.object({accessToken:r.z.string(),refreshToken:r.z.string()}),Ls=r.z.union([r.z.object({"X-Csrf-Token":r.z.string()}),r.z.object({"X-CSRF-Token":r.z.string()}),r.z.object({"x-csrf-token":r.z.string()}),r.z.object({"X-CSRF-TOKEN":r.z.string()})]),Os=r.z.union([Bt,Ls]),ie=Re.buildPayloadRoute({description:"Takes a teamId and returns a JWT token access and refresh token for the user",method:"post",requestPathParamsSchema:r.z.object({teamId:r.z.number()}),pathResolver:e=>`/team/${e.teamId}/actions/get-user-token`,requestHeaderSchema:Os,requestBodySchema:r.z.undefined(),isEmptyResponseExpected:!0,successResponseBodySchema:Ns});function Ms(e,t,n){return async()=>{const s=t();if(!s)throw new te;return I.sendByPayloadRoute(e,ie,{pathParams:{teamId:Number(await n())},headers:await k.create().add("x-csrf-token",s).resolve()})}}function Us(e,t){return async({refreshToken:n})=>I.sendByPayloadRoute(e,ie,{pathParams:{teamId:Number(await t())},headers:await k.create().add("Authorization",`Bearer ${n}`).resolve()})}const Ht={teamKey:e=>["getUserToken",e]},Dt=(e,t,n)=>N.useQuery({...n,queryFn:async({queryKey:[s,a]})=>I.sendByPayloadRoute(e,ie,{headers:await t.resolve(),pathParams:{teamId:a}})}),ne=class ne extends CustomEvent{constructor(t){super(ne.eventName,{detail:{token:t,payload:W(t.accessToken)}})}};V(ne,"eventName","new-jwt-issued");let G=ne;function qs(e,t,n){const s=qt(),a=Dt(e,t.add("x-csrf-token",s??""),{queryKey:Ht.teamKey(n),enabled:s!==void 0}),i=p.useRef();return p.useEffect(()=>{a.data&&a.data.accessToken!==i.current&&(window.dispatchEvent(new G(a.data)),i.current=a.data.accessToken)},[a.data]),a}function qe(){const[e,t]=p.useState();return p.useEffect(()=>{const n=a=>{t(a.detail.payload)},s=Ue();return t(s?W(s.accessToken):void 0),window.addEventListener(G.eventName,n),()=>{window.removeEventListener(G.eventName,n)}},[]),e}const Bs=ae,Hs=r.z.object({user_id:r.z.number(),email:r.z.string().email(),fullname:r.z.string(),created_at:r.z.string(),created_at_timestamp:r.z.number(),role:Ut}),Ds=r.z.object({team_id:r.z.number(),team_user:Hs}),$t=K.buildGetRoute({description:"Get the details of a team user",requestHeaderSchema:Bs,requestPathParamsSchema:r.z.object({teamId:r.z.number(),userId:r.z.number()}),pathResolver:({teamId:e,userId:t})=>`/teams/${e}/users/${t}`,successResponseBodySchema:Ds}),Ft={teamUserKey:(e,t)=>["GetTeamUsers",e,t]},Gt=(e,t,n)=>N.useQuery({...n,queryFn:async({queryKey:[s,a,i]})=>I.sendByGetRoute(e,$t,{headers:await t.resolve(),pathParams:{teamId:a,userId:i}})});function $s(e,t){const n=qe();return Gt(e,t,{queryKey:Ft.teamUserKey((n==null?void 0:n.teamId)??0,(n==null?void 0:n.userId)??0),enabled:(n==null?void 0:n.userId)!==void 0&&n.teamId!==void 0})}const Fs=r.z.object({lang_id:r.z.number(),lang_iso:r.z.string(),lang_name:r.z.string(),is_writable:r.z.union([r.z.literal(0),r.z.literal(1)])}),Gs=r.z.object({user_id:r.z.number(),email:r.z.string().email(),fullname:r.z.string(),created_at:r.z.string(),created_at_timestamp:r.z.number(),admin_rights:r.z.array(r.z.string()),languages:r.z.array(Fs),is_admin:r.z.boolean(),is_reviewer:r.z.boolean()}),Ks=r.z.object({project_id:r.z.string(),contributors:r.z.array(Gs)}),Kt=K.buildGetRoute({description:"Get the details of a project contributor",requestHeaderSchema:ae,requestPathParamsSchema:r.z.object({projectId:r.z.string(),contributorId:r.z.number()}),pathResolver:({projectId:e,contributorId:t})=>`/projects/${e}/contributors/${t}`,successResponseBodySchema:Ks}),Qt={projectUserKey:(e,t)=>["RetrieveContributor",e,t]},Jt=(e,t,n)=>N.useQuery({...n,queryFn:async({queryKey:[s,a,i]})=>I.sendByGetRoute(e,Kt,{pathParams:{projectId:a,contributorId:i},headers:await t.resolve()})});function Qs(e,t,n){const s=qe();return Jt(e,t,{queryKey:Qt.projectUserKey(n,(s==null?void 0:s.userId)??0),enabled:s!==void 0})}const Js=r.z.object({lang_iso:r.z.string(),custom_iso:r.z.string().optional()}),Ws=r.z.object({language_id:r.z.number(),language_iso:r.z.string(),progress:r.z.number(),words_to_do:r.z.number()}),Xs=r.z.object({projectId:r.z.string()}),Ys=r.z.object({lang_id:r.z.number(),lang_iso:r.z.string(),lang_name:r.z.string(),is_rtl:r.z.boolean(),plural_forms:r.z.array(r.z.string().optional())}),Vs=r.z.object({project_id:r.z.string(),project_uuid:r.z.string().uuid(),languages:r.z.array(Ys)}),Wt=K.buildGetRoute({description:"List of project languages",requestHeaderSchema:ae,requestPathParamsSchema:Xs,pathResolver:({projectId:e})=>`/projects/${e}/languages`,successResponseBodySchema:Vs}),ce=ae,Be=r.z.union([r.z.literal("localization_files"),r.z.literal("paged_documents"),r.z.literal("marketing")]),Zs=r.z.object({per_platform_key_names:r.z.boolean(),reviewing:r.z.boolean(),auto_toggle_unverified:r.z.boolean(),offline_translation:r.z.boolean(),key_editing:r.z.boolean(),inline_machine_translations:r.z.boolean(),custom_translation_statuses:r.z.boolean(),custom_translation_statuses_allow_multiple:r.z.boolean(),segmentation:r.z.boolean(),contributor_preview_download_enabled:r.z.boolean()}),eo=r.z.object({not_reviewed:r.z.number(),unverified:r.z.number(),spelling_grammar:r.z.number(),inconsistent_placeholders:r.z.number(),inconsistent_html:r.z.number(),different_number_of_urls:r.z.number(),different_urls:r.z.number(),leading_whitespace:r.z.number(),trailing_whitespace:r.z.number(),different_number_of_email_address:r.z.number(),different_email_address:r.z.number(),different_brackets:r.z.number(),different_numbers:r.z.number(),double_space:r.z.number(),special_placeholder:r.z.number(),unbalanced_brackets:r.z.number()}),to=r.z.object({progress_total:r.z.number(),keys_total:r.z.number(),team:r.z.number(),base_words:r.z.number(),qa_issues_total:r.z.number(),qa_issues:eo,languages:r.z.array(Ws)}),le=r.z.object({project_id:r.z.string(),uuid:r.z.string().uuid(),project_type:Be,name:r.z.string(),description:r.z.string(),created_at:r.z.string(),created_at_timestamp:r.z.number(),created_by:r.z.number(),created_by_email:r.z.string(),team_id:r.z.number(),base_language_id:r.z.number(),base_language_iso:r.z.string(),settings:Zs.optional(),statistics:to.optional()}),no=r.z.object({name:r.z.string(),team_id:r.z.string(),base_lang_iso:r.z.string(),languages:r.z.array(Js),project_type:Be,is_segmentation_enabled:r.z.boolean()}),bt=r.z.union([r.z.literal(0),r.z.literal(1)]),ro=r.z.object({filter_type:Be.optional(),filter_team_id:r.z.number().optional(),filter_names:r.z.string().optional(),include_statistics:bt.optional(),include_settings:bt.optional(),limit:r.z.number().optional(),page:r.z.number().optional()}),so=r.z.object({projects:r.z.array(le)}),oo=r.z.object({project_id:r.z.string()}),ao=r.z.object({project_id:r.z.string()}),io=r.z.object({name:r.z.string().min(1),description:r.z.string().optional()}),ue=()=>"/projects",Xt=Re.buildPayloadRoute({description:"Create a new project",requestHeaderSchema:ce,method:"post",pathResolver:ue,requestBodySchema:no,successResponseBodySchema:le}),Yt=K.buildGetRoute({description:"List all projects",requestHeaderSchema:ce,pathResolver:ue,requestQuerySchema:ro,successResponseBodySchema:so}),Vt=K.buildGetRoute({description:"Retrieve a project",requestHeaderSchema:ce,requestPathParamsSchema:oo,pathResolver:({project_id:e})=>`${ue()}/${e}`,successResponseBodySchema:le}),Zt=Re.buildPayloadRoute({description:"Update a project",requestHeaderSchema:ce,method:"put",requestPathParamsSchema:ao,pathResolver:({project_id:e})=>`${ue()}/${e}`,requestBodySchema:io,successResponseBodySchema:le});function co(e,t,n={}){return N.useMutation({...n,mutationFn:async s=>I.sendByPayloadRoute(e,Xt,{headers:await t.resolve(),body:s})})}const lo={projectIdKey:e=>["listProjectLanguages",e]};function uo(e,t,n){return N.useQuery({...n,queryFn:async({queryKey:[s,a]})=>I.sendByGetRoute(e,Wt,{headers:await t.resolve(),pathParams:{projectId:a}})})}const mo={paramsKey:e=>["listProjects",e]};function fo(e,t,n){return N.useQuery({...n,queryFn:async({queryKey:[s,a]})=>I.sendByGetRoute(e,Yt,{headers:await t.resolve(),queryParams:a})})}const go={projectIdKey:e=>["retrieveProject",e]};function _o(e,t,n){return N.useQuery({...n,queryFn:async({queryKey:[s,a]})=>I.sendByGetRoute(e,Vt,{headers:await t.resolve(),pathParams:{project_id:a}})})}function ho(e,t,n,s={}){return N.useMutation({...s,mutationFn:async a=>I.sendByPayloadRoute(e,Zt,{headers:await t.resolve(),body:a,pathParams:n})})}exports.Breadcrumbs=_s;exports.ENTERPRISE_OPENSOURCE_PLAN_ID=Le;exports.ENTERPRISE_PLAN_IDS=kt;exports.ESSENTIAL_PLAN_IDS=zt;exports.FREE_PLAN_ID=Ne;exports.HeaderBuilder=k;exports.JwtAuthHeaderBuilderMiddleware=zs;exports.NavigationPanel=F;exports.NavigationTabs=Es;exports.PRO_PLAN_IDS=Pt;exports.PublicApiHeaderBuilderMiddleware=Ps;exports.START_PLAN_IDS=wt;exports.Sidebar=P;exports.SidebarTaskLanguageStatuses=z;exports.SidebarTaskStatuses=ee;exports.SidebarTaskTypeOptions=D;exports.TRIAL_PLAN_ID=Ct;exports.UnauthorizedError=te;exports.convertNewLineToBreakTag=It;exports.createHeaderBuilderMiddleware=Me;exports.createProject=Xt;exports.formatDate=At;exports.formatDateTz=lr;exports.generateTokenFromClassicSession=Ms;exports.getAuthenticatedSessionDetailFromRequest=ks;exports.getCsrfTokenFromCookie=qt;exports.getJwtTokenFromCookie=Ue;exports.getTeamUser=$t;exports.getTeamUsersQueryKey=Ft;exports.getUserToken=ie;exports.getUserTokenKey=Ht;exports.isEnterpriseOpenSourcePlan=sr;exports.isEnterprisePlan=nr;exports.isEssentialPlan=er;exports.isFreePlan=se;exports.isPaidPlan=rr;exports.isProPlan=tr;exports.isStartPlan=Zn;exports.isTrialPlan=Oe;exports.listProjectLanguages=Wt;exports.listProjectLanguagesKey=lo;exports.listProjects=Yt;exports.listProjectsKey=mo;exports.makeUrlClickable=Rt;exports.parseJwtTokenPayload=W;exports.refreshExpiredToken=Us;exports.retrieveContributor=Kt;exports.retrieveContributorKeys=Qt;exports.retrieveProject=Vt;exports.retrieveProjectQueryKey=go;exports.updateProject=Zt;exports.useAuthenticatedProjectContributor=Qs;exports.useAuthenticatedSessionPayload=qe;exports.useAuthenticatedUser=$s;exports.useCreateProjectMutation=co;exports.useEffectOnce=oe;exports.useGetPromotedClassicSessionJwtQuery=qs;exports.useGetTeamUsersQuery=Gt;exports.useGetUserTokenQuery=Dt;exports.useListProjectLanguagesQuery=uo;exports.useListProjectsQuery=fo;exports.useRetrieveContributorQuery=Jt;exports.useRetrieveProjectQuery=_o;exports.useUpdateProjectMutation=ho;
1
+ "use strict";var nn=Object.defineProperty;var rn=(e,t,n)=>t in e?nn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Z=(e,t,n)=>rn(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),p=require("react"),d=require("@lokalise/louis"),re=require("date-fns"),sn=require("date-fns-tz"),r=require("zod"),Re=require("@lokalise/universal-ts-utils/api-contracts/apiContracts"),I=require("@lokalise/frontend-http-client"),N=require("@tanstack/react-query"),J=require("@lokalise/universal-ts-utils/node");function on(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,s.get?s:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const F=on(p),te={Completed:"completed",InProgress:"in_progress",Created:"created",Queued:"queued"},z={...te,NotStarted:"not_started"},$={translation:"translation",review:"review",lqa_by_ai:"lqa_by_ai",automatic_translation:"automatic_translation"};var ee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function vt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var me,Fe;function Ae(){if(Fe)return me;Fe=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return me=e,me}var fe,Ge;function an(){if(Ge)return fe;Ge=1;var e=typeof ee=="object"&&ee&&ee.Object===Object&&ee;return fe=e,fe}var ge,Ke;function Tt(){if(Ke)return ge;Ke=1;var e=an(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return ge=n,ge}var _e,Qe;function cn(){if(Qe)return _e;Qe=1;var e=Tt(),t=function(){return e.Date.now()};return _e=t,_e}var he,Je;function ln(){if(Je)return he;Je=1;var e=/\s/;function t(n){for(var s=n.length;s--&&e.test(n.charAt(s)););return s}return he=t,he}var pe,We;function un(){if(We)return pe;We=1;var e=ln(),t=/^\s+/;function n(s){return s&&s.slice(0,e(s)+1).replace(t,"")}return pe=n,pe}var be,Xe;function jt(){if(Xe)return be;Xe=1;var e=Tt(),t=e.Symbol;return be=t,be}var ve,Ye;function dn(){if(Ye)return ve;Ye=1;var e=jt(),t=Object.prototype,n=t.hasOwnProperty,s=t.toString,a=e?e.toStringTag:void 0;function i(c){var l=n.call(c,a),m=c[a];try{c[a]=void 0;var u=!0}catch{}var f=s.call(c);return u&&(l?c[a]=m:delete c[a]),f}return ve=i,ve}var Te,Ve;function mn(){if(Ve)return Te;Ve=1;var e=Object.prototype,t=e.toString;function n(s){return t.call(s)}return Te=n,Te}var je,Ze;function fn(){if(Ze)return je;Ze=1;var e=jt(),t=dn(),n=mn(),s="[object Null]",a="[object Undefined]",i=e?e.toStringTag:void 0;function c(l){return l==null?l===void 0?a:s:i&&i in Object(l)?t(l):n(l)}return je=c,je}var ye,et;function gn(){if(et)return ye;et=1;function e(t){return t!=null&&typeof t=="object"}return ye=e,ye}var xe,tt;function _n(){if(tt)return xe;tt=1;var e=fn(),t=gn(),n="[object Symbol]";function s(a){return typeof a=="symbol"||t(a)&&e(a)==n}return xe=s,xe}var Se,nt;function hn(){if(nt)return Se;nt=1;var e=un(),t=Ae(),n=_n(),s=NaN,a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function m(u){if(typeof u=="number")return u;if(n(u))return s;if(t(u)){var f=typeof u.valueOf=="function"?u.valueOf():u;u=t(f)?f+"":f}if(typeof u!="string")return u===0?u:+u;u=e(u);var _=i.test(u);return _||c.test(u)?l(u.slice(2),_?2:8):a.test(u)?s:+u}return Se=m,Se}var Ee,rt;function yt(){if(rt)return Ee;rt=1;var e=Ae(),t=cn(),n=hn(),s="Expected a function",a=Math.max,i=Math.min;function c(l,m,u){var f,_,j,y,g,S,v=0,h=!1,b=!1,T=!0;if(typeof l!="function")throw new TypeError(s);m=n(m)||0,e(u)&&(h=!!u.leading,b="maxWait"in u,j=b?a(n(u.maxWait)||0,m):j,T="trailing"in u?!!u.trailing:T);function C(x){var A=f,H=_;return f=_=void 0,v=x,y=l.apply(H,A),y}function E(x){return v=x,g=setTimeout(V,m),h?C(x):y}function Y(x){var A=x-S,H=x-v,$e=m-A;return b?i($e,j-H):$e}function He(x){var A=x-S,H=x-v;return S===void 0||A>=m||A<0||b&&H>=j}function V(){var x=t();if(He(x))return De(x);g=setTimeout(V,Y(x))}function De(x){return g=void 0,T&&f?C(x):(f=_=void 0,y)}function en(){g!==void 0&&clearTimeout(g),v=0,f=S=_=g=void 0}function tn(){return g===void 0?y:De(t())}function de(){var x=t(),A=He(x);if(f=arguments,_=this,S=x,A){if(g===void 0)return E(S);if(b)return clearTimeout(g),g=setTimeout(V,m),C(S)}return g===void 0&&(g=setTimeout(V,m)),y}return de.cancel=en,de.flush=tn,de}return Ee=c,Ee}var pn=yt();const bn=vt(pn);var Ce,st;function vn(){if(st)return Ce;st=1;var e=yt(),t=Ae(),n="Expected a function";function s(a,i,c){var l=!0,m=!0;if(typeof a!="function")throw new TypeError(n);return t(c)&&(l="leading"in c?!!c.leading:l,m="trailing"in c?!!c.trailing:m),e(a,i,{leading:l,maxWait:i,trailing:m})}return Ce=s,Ce}var Tn=vn();const jn=vt(Tn),yn=(e,t,n,s)=>{switch(t){case"debounce":return bn(e,n,s);case"throttle":return jn(e,n,s);default:return e}},xn=e=>{const t=F.useRef(e);return F.useEffect(()=>{t.current=e}),F.useMemo(()=>(...n)=>{var s;return(s=t.current)===null||s===void 0?void 0:s.call(t,...n)},[])},Sn=e=>{const[t,n]=F.useState((e==null?void 0:e.current)||null);return e&&setTimeout(()=>{e.current!==t&&n(e.current)},0),{refProxy:F.useMemo(()=>new Proxy(a=>{a!==t&&n(a)},{get(a,i){return i==="current"?t:a[i]},set(a,i,c){return i==="current"?n(c):a[i]=c,!0}}),[t]),refElement:t,setRefElement:n}},En=(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 Cn({skipOnMount:e=!1,refreshMode:t,refreshRate:n=1e3,refreshOptions:s,handleWidth:a=!0,handleHeight:i=!0,targetRef:c,observerOptions:l,onResize:m}={}){const u=p.useRef(e),f=xn(m),[_,j]=p.useState({width:void 0,height:void 0}),{refProxy:y,refElement:g}=Sn(c),{box:S}=l||{},v=p.useCallback(b=>{if(!a&&!i)return;if(u.current){u.current=!1;return}const T=(C,E)=>a&&C.width!==E.width||i&&C.height!==E.height;b.forEach(C=>{const E=En(C,S);j(Y=>T(Y,E)?(f==null||f({width:E.width,height:E.height,entry:C}),E):Y)})},[a,i,u,S]),h=p.useCallback(yn(v,t,n,s),[v,t,n,s]);return p.useEffect(()=>{let b;return g?(b=new window.ResizeObserver(h),b.observe(g,l)):(_.width||_.height)&&(f==null||f({width:null,height:null,entry:null}),j({width:void 0,height:void 0})),()=>{var T,C,E;(T=b==null?void 0:b.disconnect)===null||T===void 0||T.call(b),(E=(C=h).cancel)===null||E===void 0||E.call(C)}},[h,g]),Object.assign({ref:y},_)}function xt(e){var t,n,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=xt(e[t]))&&(s&&(s+=" "),s+=n)}else for(n in e)e[n]&&(s&&(s+=" "),s+=n);return s}function R(){for(var e,t,n=0,s="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=xt(e))&&(s&&(s+=" "),s+=t);return s}const wn="_headerContainer_1cubo_1",zn="_navigationTabList_1cubo_8",Pn="_navigationTab_1cubo_8",kn="_headerContent_1cubo_34",In="_staticEnabled_1cubo_50",q={headerContainer:wn,navigationTabList:zn,navigationTab:Pn,headerContent:kn,staticEnabled:In},Rn=77,G=({sticky:e,children:t})=>{const{ref:n,height:s}=Cn({refreshMode:"debounce",refreshRate:0}),[a,i]=p.useState(!1),c=()=>a?!e:!0;p.useEffect(()=>{const m=()=>{i(window.scrollY>0)};return window.addEventListener("scroll",m),()=>window.removeEventListener("scroll",m)},[]);const l=`${s||Rn}px`;return o.jsx("div",{style:{minHeight:l},children:o.jsx("div",{children:o.jsxs("div",{ref:n,className:R(q.headerContent,{[q.staticEnabled]:c()}),children:[o.jsx(G.Header,{}),o.jsx(G.Tabs,{}),t]})})})};G.Header=({children:e})=>o.jsx("div",{className:q.headerContainer,children:e});G.Tabs=({children:e})=>o.jsx("div",{className:"flex justify-between gap-2 nowrap",children:e});const An="_sidebarContainer_bmdti_1",Nn={sidebarContainer:An},Ln="_logoLink_1baxb_1",On={logoLink:Ln},Mn=({src:e,href:t="/",ariaLabel:n="Home",alt:s="Lokalise"})=>o.jsx("a",{className:On.logoLink,href:t,"aria-label":n,children:o.jsx("img",{src:e,alt:s})}),Un="_link_18vhx_1",qn="_active_18vhx_18",ot={link:Un,active:qn},Bn=({label:e,to:t,icon:n})=>o.jsx(d.Tooltip,{placement:"right",tooltip:e,children:o.jsx(d.Link,{className:R(ot.link,{[ot.active]:window.location.pathname.startsWith(t)}),href:t,children:o.jsx(n,{size:"25px"})})}),Hn="_dropdownButton_13l5r_1",Dn="_dropdownButtonActive_13l5r_18",at={dropdownButton:Hn,dropdownButtonActive:Dn},$n=({children:e,icon:t})=>o.jsx(d.Menu,{menuButton:({opened:n})=>o.jsx(d.Tooltip,{placement:"right",tooltip:"Help",children:o.jsx("button",{type:"button",className:R(at.dropdownButton,{[at.dropdownButtonActive]:n}),children:o.jsx(t,{size:"25px"})})}),children:o.jsx(d.MenuList,{placement:"right-start",children:e})}),Fn="_iconContainer_nz34m_1",Gn={iconContainer:Fn},St=({className:e=""})=>o.jsx("div",{"aria-label":"Upgrade Icon",className:R(Gn.iconContainer,"flex-row","items-center","justify-center",e),children:o.jsx(d.CaretUpIcon,{})}),Kn="_menuContainer_ywskt_5",Qn="_profileButton_ywskt_15",Jn="_profileImage_ywskt_28",Wn="_profileImageHighlight_ywskt_36",Xn="_profileImageUpgradeIcon_ywskt_40",Yn="_userIconWrapper_ywskt_46",L={menuContainer:Kn,profileButton:Qn,profileImage:Jn,profileImageHighlight:Wn,profileImageUpgradeIcon:Xn,userIconWrapper:Yn},Et=p.createContext({}),W=()=>p.useContext(Et),Vn=({children:e})=>{const{currentTeam:t,otherTeams:n,showUpgradeCta:s,showBillingButton:a,allowTeamCreation:i,isProviderAlpha:c,canAccessTeamSettings:l,isEndOfTrialActive:m,isTeamSuspended:u,isFullyAuthenticated:f}=W();return o.jsx(d.Menu,{menuButton:()=>o.jsxs("button",{className:L.profileButton,"aria-label":"Profile menu",type:"button",children:[t!=null&&t.logoUrl?o.jsx("img",{src:t.logoUrl,className:R(L.profileImage,{[L.profileImageHighlight]:s}),alt:"Team Logo"}):o.jsx("div",{className:R(L.userIconWrapper,"flex-row","align-center","items-center",{[L.profileImageHighlight]:s}),children:o.jsx(d.UserIcon,{size:"25px"})}),s&&o.jsx(St,{className:L.profileImageUpgradeIcon})]}),children:o.jsx(d.MenuList,{placement:"right-end",className:L.menuContainer,children:e({allowTeamCreation:i,otherTeams:n,canAccessTeamSettings:l,isEndOfTrialActive:m,isTeamSuspended:u,showBillingButton:a,isProviderAlpha:c,isFullyAuthenticated:f})})})},Ne=0,Ct=9999,wt=[150,151,250,251],zt=[152,153,252,253],Pt=[154,155,157,158,254,255,258,354,355,358],kt=[156,159,160,256,259,260],Le=9998,se=e=>e===Ne,Oe=e=>e===Ct,Zn=e=>wt.includes(e),er=e=>zt.includes(e),tr=e=>Pt.includes(e),nr=e=>kt.includes(e),rr=e=>e>Ne&&e<Le,sr=e=>e===Le,or=/\n/,it=(e,t,n)=>e.split(t).flatMap((s,a)=>a!==0?[p.cloneElement(n,{key:Math.random().toString(32).slice(0,10)}),s]:s),ar=(e,t,n)=>typeof e=="string"?it(e,t,n):e.flatMap(s=>typeof s=="string"?it(s,t,n):s),It=e=>ar(e,or,o.jsx("br",{})),ir=/(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi,cr=e=>e.match(ir)??[],ct=(e,t,n)=>{const s=e.split(t);if(s.length===1)return e;const a=[];return s[0]!==""&&a.push(s[0]),s.shift(),s[s.length-1]===""&&s.pop(),a.push(o.jsx("a",{href:t,target:"_blank",rel:"noreferrer noopener",children:t},t+n)),a.push(s.join(t)),a.filter(i=>i!=="")},lt=e=>{const t=cr(e);return t!=null&&t.length?t.reduce((n,s,a)=>typeof n=="string"?ct(n,s,a):n.flatMap(i=>typeof i=="string"?ct(i,s,a):i),e):e},Rt=e=>typeof e=="string"?lt(e):e.flatMap(t=>typeof t=="string"?lt(t):t,e),At=(e,t="PP")=>re.format(e,t),lr=(e,t,n="PP")=>re.format(sn.toZonedTime(e,t),n),oe=e=>{p.useEffect(e,[])},ut={biller:"biller",owner:"owner"},dt=[ut.biller,ut.owner],ur=({children:e,config:t})=>{const{teams:n,currentTeamId:s,planId:a,isEndOfTrialActive:i,isFullyAuthenticated:c,userTeamRole:l}=t,m=n.find(h=>h.id===s),u=n.filter(h=>h.id!==s),f=dt.includes(l),_=dt.includes(l),j=se(a)||Oe(a),v={...t,currentTeam:m,otherTeams:u,canChangeBilling:f,canAccessTeamSettings:_,isOnFreeOrTrialPlan:j,showUpgradeCta:c&&j&&f,showBillingButton:c&&_&&f,allowTeamCreation:c&&!i};return o.jsx(Et.Provider,{value:v,children:e})},dr=({config:e,children:t})=>o.jsx(ur,{config:e,children:o.jsx(Vn,{children:t})}),mr="_container_q5pot_1",fr="_profileEmail_q5pot_5",mt={container:mr,profileEmail:fr},gr=({href:e,onClick:t,userEmail:n,hideBottomDivider:s})=>{const{isEndOfTrialActive:a,isTeamSuspended:i}=W();return a||i?null:o.jsxs(o.Fragment,{children:[o.jsx(d.MenuItem,{href:e,onClick:()=>{t==null||t()},children:o.jsxs("div",{className:`flex-col ${mt.container}`,children:[o.jsx("span",{children:"Profile Settings"}),o.jsx("span",{className:mt.profileEmail,children:n})]})}),!s&&o.jsx(d.MenuDivider,{})]})},_r="_wrapper_15d85_1",hr="_profileImage_15d85_14",pr="_teamName_15d85_22",br="_planLabel_15d85_29",vr="_membership_15d85_38",Tr="_defaultProfileImage_15d85_44",M={wrapper:_r,profileImage:hr,teamName:pr,planLabel:br,membership:vr,defaultProfileImage:Tr},Nt=({team:e,onClick:t,hidePlanLabel:n})=>{const{currentTeam:s,planId:a}=W(),i=e||s;if(!i)return null;const c=se(a)?"Free":Oe(a)?"Trial":void 0,l=t?d.MenuItem:"div";return o.jsxs(l,{className:`flex-row gap-2 flex-nowrap items-center ${M.wrapper}`,...t&&{onClick:()=>t(i)},children:[i.logoUrl?o.jsx("img",{className:M.profileImage,src:i.logoUrl,alt:"Team Logo"}):o.jsx("span",{className:`flex-row justify-center items-center ${M.defaultProfileImage}`,children:o.jsx(d.UserIcon,{size:"25px"})}),o.jsxs("div",{className:"flex-col items-start",children:[o.jsxs("div",{className:"flex-row items-center flex-nowrap gap-2",children:[o.jsx("span",{title:i.name,className:M.teamName,children:i.name}),c&&!n&&o.jsx("span",{className:`flex-row justify-center items-center ${M.planLabel}`,children:c})]}),o.jsx("span",{className:M.membership,children:i.role})]})]})},jr="_teamsContainer_1t68g_1",yr={teamsContainer:jr},xr=({onSwitchTeam:e})=>{const{otherTeams:t}=W();return t.length===0?null:o.jsx("div",{className:`flex-col items-stretch ${yr.teamsContainer}`,children:t.map(n=>o.jsx(Nt,{team:n,onClick:e,hidePlanLabel:!0},n.id))})},Sr="_container_1u995_1",Er="_planCta_1u995_15",Cr="_upgradeIconWrapper_1u995_19",we={container:Sr,planCta:Er,upgradeIconWrapper:Cr},wr=({upgradeOptionHref:e})=>{const{planId:t,trialDaysLeft:n,showUpgradeCta:s}=W();if(!s)return null;const c=se(t)?"Your team is currently on the Free plan":`Free trial ends in ${n} ${n===1?"day":"days"}`;return o.jsxs(d.MenuItem,{href:e,className:`flex-col gap-1 items-start ${we.container}`,children:[o.jsx("span",{className:we.planCta,children:c}),o.jsxs("div",{className:`flex-row items-center gap-1 ${we.upgradeIconWrapper}`,children:[o.jsx(St,{}),o.jsx("span",{children:"See upgrade options"})]})]})},zr=Math.min,Pr=Math.max;function ft(e,t,n){return Pr(e,zr(t,n))}function Lt(e,t){return typeof e=="function"?e(t):e}function Ot(e){return e.split("-")[0]}function kr(e){return e==="x"?"y":"x"}function Ir(e){return["top","bottom"].includes(Ot(e))?"y":"x"}function Rr(e){return{top:0,right:0,bottom:0,left:0,...e}}function Ar(e){return typeof e!="number"?Rr(e):{top:e,right:e,bottom:e,left:e}}function gt(e){const{x:t,y:n,width:s,height:a}=e;return{width:s,height:a,top:n,left:t,right:t+s,bottom:n+a,x:t,y:n}}async function Nr(e,t){var n;t===void 0&&(t={});const{x:s,y:a,platform:i,rects:c,elements:l,strategy:m}=e,{boundary:u="clippingAncestors",rootBoundary:f="viewport",elementContext:_="floating",altBoundary:j=!1,padding:y=0}=Lt(t,e),g=Ar(y),v=l[j?_==="floating"?"reference":"floating":_],h=gt(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(v)))==null||n?v:v.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(l.floating)),boundary:u,rootBoundary:f,strategy:m})),b=_==="floating"?{x:s,y:a,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},E=gt(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:b,offsetParent:T,strategy:m}):b);return{top:(h.top-E.top+g.top)/C.y,bottom:(E.bottom-h.bottom+g.bottom)/C.y,left:(h.left-E.left+g.left)/C.x,right:(E.right-h.right+g.right)/C.x}}const Lr=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:s,placement:a}=t,{mainAxis:i=!0,crossAxis:c=!1,limiter:l={fn:v=>{let{x:h,y:b}=v;return{x:h,y:b}}},...m}=Lt(e,t),u={x:n,y:s},f=await Nr(t,m),_=Ir(Ot(a)),j=kr(_);let y=u[j],g=u[_];if(i){const v=j==="y"?"top":"left",h=j==="y"?"bottom":"right",b=y+f[v],T=y-f[h];y=ft(b,y,T)}if(c){const v=_==="y"?"top":"left",h=_==="y"?"bottom":"right",b=g+f[v],T=g-f[h];g=ft(b,g,T)}const S=l.fn({...t,[j]:y,[_]:g});return{...S,data:{x:S.x-n,y:S.y-s,enabled:{[j]:i,[_]:c}}}}}},Or="_navItem_1dudv_1",Mr="_activeNavItem_1dudv_18",Ur="_badge_1dudv_23",ze={navItem:Or,activeNavItem:Mr,badge:Ur},Mt=p.createContext({}),X=()=>p.useContext(Mt),qr=e=>{const t=e.lastIndexOf("."),n=e.slice(0,t),s=e.slice(t+1);return{name:n,extension:s}},Br=(e,t)=>{switch(e){case z.Completed:return t<100?"Closed":"Completed";case z.Created:return t>0?"In progress":"Not started";case z.InProgress:return"In progress";case z.Queued:return"Queued";case z.NotStarted:return"Not started";default:return"-"}},Hr=e=>{const t=e.progress??0;return e.status===z.Created&&t>0?z.InProgress:e.status},Dr={[$.translation]:"#0891B2",[$.review]:"#16922D",[$.lqa_by_ai]:"#8B5CF6",[$.automatic_translation]:"#60A5FA"},$r=e=>{const t=[z.InProgress,z.Created,z.Completed];return e.filter(n=>n.status!=="queued").map(n=>({...n,status:Hr(n)})).sort((n,s)=>n.status===z.InProgress&&n.progress===100?-1:s.status===z.InProgress&&s.progress===100?1:n.status===s.status?n.name<s.name?1:-1:t.indexOf(n.status)-t.indexOf(s.status))},_t=e=>e in[te.InProgress,te.Created],Fr=(e,t)=>_t(e.status)&&_t(t.status)&&(t.progress??0)>=100,Gr=({task:e,language:t})=>{const[n,s]=p.useState(!1),[a,i]=p.useState(!1),{onLanguageCompleteConfirm:c,fetchTasks:l}=X(),m=()=>{i(!1)};return o.jsxs(o.Fragment,{children:[a&&o.jsx(d.ConfirmModal,{opened:!0,loading:n,title:`Are you finished with ${t.name}?`,confirmText:"Mark as done",closeText:"Cancel",onClose:m,onConfirm:async()=>{s(!0),await c({task:e,language:t,closePrompt:m}),l()},children:o.jsxs(d.Alert,{status:"info",children:["Make sure you are finished and ",o.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."]})}),o.jsx(d.Link,{disabled:n,onClick:()=>{i(!0)},children:"Mark as done"})]})},Kr="_langRowCompleted_vpgdi_1",Qr="_langCellSecondary_vpgdi_15",Jr="_langStatus_vpgdi_20",Pe={langRowCompleted:Kr,langCellSecondary:Qr,langStatus:Jr},Wr=({language:e,task:t})=>{const{getProjectUrl:n,langNameOnClick:s,langProgressOnClick:a}=X(),i=e.progress??0,c=e.status===z.Completed,l=Fr(t,e);return o.jsxs("tr",{className:R({[Pe.langRowCompleted]:l}),children:[o.jsx("td",{children:o.jsx(d.Tooltip,{tooltip:"Open in bilingual view",children:o.jsx(d.Link,{href:n({task:t,language:e}),onClick:()=>{s==null||s({task:t,language:e})},children:e.name})})}),o.jsx("td",{className:Pe.langCellSecondary,children:l||c?"0":o.jsx(d.Tooltip,{tooltip:"Open uncompleted items",children:o.jsx(d.Link,{href:n({task:t,language:e,taskUncompleted:!0}),onClick:()=>{a==null||a({task:t,language:e})},children:e.base_words_total-e.base_words_done})})}),o.jsxs("td",{children:[i,"%"]}),o.jsx("td",{children:l?o.jsx(Gr,{task:t,language:e}):o.jsx("span",{className:`${Pe.langStatus} flex-row items-center justify-start`,"data-status":e.status,children:Br(e.status,i)})})]})},Xr="_taskContainer_mt2or_1",Yr="_taskTitle_mt2or_21",Vr="_taskDescription_mt2or_28",Zr="_languagesTable_mt2or_35",es="_metadata_mt2or_87",U={taskContainer:Xr,taskTitle:Yr,taskDescription:Vr,languagesTable:Zr,metadata:es},ts=({task:e})=>{const{tasks:t,getProjectUrl:n,taskTitleOnClick:s}=X(),a=$r(e.langs),i=c=>{c!==void 0&&window.open(`/style-guide/${e.team_id}/download/${c.id}/link`,"_blank","noopener,noreferrer")};return t?o.jsxs("div",{className:U.taskContainer,children:[o.jsxs("div",{className:"flex-row gap-1 items-center",children:[o.jsxs("div",{className:"flex-row gap-1 items-start flex-wrap",children:[o.jsx(d.Tag,{color:Dr[e.task_type],variant:"solid",children:e.task_type.toLocaleUpperCase()}),e.due_date&&o.jsxs(d.Tag,{color:"#EAB308",children:["DUE ",At(re.parseISO(e.due_date),"yyyy-MM-dd")]})]}),e.style_guides.length>0&&o.jsx("div",{className:"flex-row",children:e.style_guides.length===1?o.jsx(d.Button,{size:"sm",variant:"secondary",onClick:()=>i(e.style_guides[0]),children:"Download style guide"}):o.jsx(d.Menu,{menuButton:o.jsx(d.Button,{variant:"secondary",size:"sm",children:"Download style guide"}),children:o.jsx(d.MenuList,{children:e.style_guides.map(c=>o.jsx(d.MenuItem,{onClick:()=>i(c),children:qr(c.name).name},c.id))})})})]}),o.jsx("h4",{className:U.taskTitle,children:o.jsx(d.Link,{href:n({task:e,view:"multi"}),onClick:()=>{s==null||s({task:e})},children:e.title})}),e.description&&o.jsx("div",{className:U.taskDescription,children:It(Rt(e.description))}),o.jsxs("table",{className:U.languagesTable,children:[o.jsx("thead",{children:o.jsxs("tr",{children:[o.jsx("th",{children:"Languages"}),o.jsx("th",{children:"Words to do"}),o.jsx("th",{children:"Progress"}),o.jsx("th",{children:"Status"})]})}),o.jsx("tbody",{children:a.map(c=>o.jsx(Wr,{language:c,task:e},c.lang_id))})]}),o.jsxs("div",{className:U.metadata,children:[o.jsxs("span",{children:["Source: ",e.source_lang_name]}),o.jsx("span",{children:e.created_by_fullname}),o.jsxs("span",{children:["In ",e.project_name,e.master_branching_enabled==="1"&&o.jsx("div",{className:U.tag,children:e.branch_name?e.branch_name:"master"})]})]})]}):null},w={TaskCompleted:"task_completed",TaskClosed:"task_closed",Refresh:"refresh",ShowDialog:"show_dialog"},ns="_loadingContainer_19d6m_1",rs="_noTasksContainer_19d6m_7",ss="_noTasksHeading_19d6m_14",os="_noTasksText_19d6m_18",as="_tasksContainer_19d6m_23",D={loadingContainer:ns,noTasksContainer:rs,noTasksHeading:ss,noTasksText:os,tasksContainer:as},is=()=>{const{tasks:e,onTasksWidgetOpen:t,loadingTasks:n,fetchTasks:s}=X();return oe(()=>(s(),t==null||t({tasks:e}),document.addEventListener(w.TaskCompleted,s),document.addEventListener(w.TaskClosed,s),document.addEventListener(w.Refresh,s),()=>{document.removeEventListener(w.TaskCompleted,s),document.removeEventListener(w.TaskClosed,s),document.removeEventListener(w.Refresh,s)})),n?o.jsx("div",{"data-testid":"sidebar-tasks-loading-popover",className:D.loadingContainer,children:o.jsx(d.Loading,{})}):e.length===0?o.jsxs("div",{"data-testid":"sidebar-no-tasks-popover",className:D.noTasksContainer,children:[o.jsx("h3",{className:D.noTasksHeading,children:"No tasks"}),o.jsxs("div",{className:D.noTasksText,children:["Your incoming tasks will appear here.",o.jsx("br",{}),o.jsx(d.Link,{href:"https://docs.lokalise.com/translation-workflow/tasks",target:"_new",children:"Learn more"})]})]}):o.jsx("div",{"data-testid":"sidebar-tasks-popover",className:D.tasksContainer,children:e.map(a=>o.jsx(ts,{task:a},a.id))})},cs=({children:e,config:t})=>{const[n,s]=p.useState([]),[a,i]=p.useState(!0),[c,l]=p.useState(0),{getProjectUrl:m,onLanguageCompleteConfirm:u,onTasksWidgetOpen:f,langNameOnClick:_,langProgressOnClick:j,taskTitleOnClick:y}=t,{getTasks:g,getTasksCount:S}=t,v=async()=>{i(!0);const T=await g();s(T),i(!1)},h=async()=>{const T=await S();l(T)};oe(()=>(h(),document.addEventListener(w.TaskCompleted,h),document.addEventListener(w.TaskClosed,h),document.addEventListener(w.Refresh,h),()=>{document.removeEventListener(w.TaskCompleted,h),document.removeEventListener(w.TaskClosed,h),document.removeEventListener(w.Refresh,h)}));const b={fetchTasks:v,tasks:n,tasksCount:c,loadingTasks:a,getProjectUrl:m,onLanguageCompleteConfirm:u,onTasksWidgetOpen:f,langNameOnClick:_,langProgressOnClick:j,taskTitleOnClick:y};return o.jsx(Mt.Provider,{value:b,children:e})},ls=e=>function(n){const{config:s,...a}=n;return o.jsx(cs,{config:s,children:o.jsx(e,{...a})})},us=ls(()=>{const[e,t]=p.useState(!1),{tasksCount:n}=X();return oe(()=>{const s=()=>{t(!0)};return document.addEventListener(w.ShowDialog,s),()=>{document.removeEventListener(w.ShowDialog,s)}}),o.jsx(d.Tooltip,{tooltip:"Tasks",placement:"right",children:o.jsx(d.Popover,{content:o.jsx(is,{}),placement:"right",open:e,onOpenChange:t,middlewares:[Lr({padding:{top:32,bottom:32}})],children:s=>o.jsxs(d.Button,{type:"button","data-testid":"sidebar-tasks-widget-button","aria-label":"Tasks",className:R(ze.navItem,{[ze.activeNavItem]:s}),children:[o.jsx(d.JobIcon,{size:"25px"}),n>0&&o.jsx("div",{className:ze.badge,"aria-label":`${n} items requiring attention`,children:n>9?"9+":n})]})})})}),P=({children:e,...t})=>o.jsx("nav",{...t,className:Nn.sidebarContainer,children:e}),ds=({children:e})=>o.jsx("div",{children:e});P.Top=ds;const ms=({children:e})=>o.jsx("div",{children:e});P.Bottom=ms;P.Avatar=Mn;P.IconLink=Bn;P.Menu=$n;P.ProfileMenu=dr;P.TeamSwitch=xr;P.TeamMenuItem=Nt;P.UpgradeMenuItem=wr;P.ProfileSettingsMenuItem=gr;P.Tasks=us;const fs="_breadcrumbsItem_1hm6a_1",gs="_breadcrumbs_1hm6a_1",ht={breadcrumbsItem:fs,breadcrumbs:gs},_s=({items:e})=>o.jsx("nav",{"aria-label":"breadcrumb",className:ht.breadcrumbs,children:e.map((t,n)=>o.jsxs(p.Fragment,{children:[o.jsx(d.Link,{className:ht.breadcrumbsItem,href:t.link,rel:"noreferrer",children:t.name}),n<e.length-1&&o.jsx("span",{children:" — "})]},`${t.link}-${t.name}`))}),hs=({items:e})=>o.jsx(o.Fragment,{children:e.map((t,n)=>o.jsxs(p.Fragment,{children:[!!n&&t.some(s=>s.visible)&&o.jsx(d.MenuDivider,{}),t.filter(({visible:s})=>s).map(({link:s,label:a,onClick:i})=>o.jsx(d.MenuItem,{href:s||"#","aria-label":a,onClick:i,children:a},a))]},t[0].label))}),ps="_badge_1pc1v_1",bs="_tag_1pc1v_15",vs="_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21",Ts="_disabled_1pc1v_57",js="_projectNavigationItem_1pc1v_61",ys="_projectNavigationItemDisabled_1pc1v_67",O={badge:ps,tag:bs,withNavLinkStyle:vs,disabled:Ts,projectNavigationItem:js,projectNavigationItemDisabled:ys},pt=({label:e,badge:t,novel:n})=>o.jsxs("div",{className:"flex gap-1",children:[o.jsxs("div",{children:[o.jsx("span",{children:e}),!!t&&o.jsx("div",{className:O.badge,"aria-label":`${t} items requiring attention`,children:t>9?"9+":t})]}),!!n&&o.jsx(d.Tag,{className:O.tag,children:n})]}),ke=p.forwardRef(({label:e,href:t="",disabled:n=!1,badge:s,onClick:a,novel:i},c)=>o.jsx(d.Tooltip,{tooltip:"You do not have access to this function",show:n,children:o.jsx("div",{className:n?O.projectNavigationItemDisabled:O.projectNavigationItem,children:a||n||!t?o.jsx("button",{type:"button",ref:c,className:R(O.withNavLinkStyle,{[O.disabled]:n}),disabled:n,onClick:a,children:o.jsx(pt,{label:e,badge:s,novel:i})}):o.jsx("a",{href:t,className:O.withNavLinkStyle,children:o.jsx(pt,{label:e,badge:s,novel:i})})})}));ke.displayName="NavigationTabsItem";const xs=e=>(e==null?void 0:e.some(t=>t.some(n=>n.visible)))??!1,Ss=e=>e.visible&&(!e.dropdown||xs(e.dropdown)),Es=({navigation:e,activeItem:t})=>o.jsx("nav",{"aria-label":"Project",children:o.jsx("ul",{className:q.navigationTabList,"aria-orientation":"horizontal",children:e.filter(Ss).map(n=>{var s,a,i;return n.dropdown?o.jsx("li",{className:q.navigationTab,"data-testid":n.key,"aria-selected":(s=n.isActive)==null?void 0:s.call(n,t),children:o.jsx(d.Menu,{menuButton:({opened:c})=>o.jsx(ke,{label:n.label,disabled:n.disabled,active:c}),children:o.jsx(d.MenuList,{children:o.jsx(hs,{items:n.dropdown})})})},n.key):o.jsx("li",{className:q.navigationTab,"data-testid":n.key,"aria-selected":(a=n.isActive)==null?void 0:a.call(n,t),children:o.jsx(ke,{label:n.label,href:n.link,onClick:n.onClick,disabled:n.disabled,badge:n.badge,novel:n.novel,active:(i=n.isActive)==null?void 0:i.call(n,t)})},n.key)})})});class k{constructor(t){this.factories=t}static create(t={}){return new k([()=>t])}add(t,n){return new k([...this.factories,()=>({[t]:n})])}and(t){return new k([...this.factories,()=>t])}from(t){return new k([...this.factories,t])}with(t){return t.apply(this)}merge(t){return new k([...this.factories,...t.factories])}async resolve(){const t=this.factories.map(s=>s()),n=await Promise.all(t);return Object.assign({},...n)}}function Me(e){return new Cs(e)}class Cs{constructor(t){this.middleware=t}apply(t){return t.from(async()=>{const n=this.middleware(k.create());return n instanceof Promise?n.then(s=>s.resolve()):n.resolve()})}}const Ut=r.z.union([r.z.literal("owner"),r.z.literal("admin"),r.z.literal("biller"),r.z.literal("member")]),ws=r.z.object({userId:r.z.number(),userUuid:r.z.string(),teamId:r.z.number(),userTeamRole:Ut,userEmail:r.z.string().email(),userName:r.z.string(),userCurrentTeamId:r.z.number(),planId:r.z.number(),planName:r.z.string(),isProviderAlpha:r.z.boolean(),isFullyAuthenticated:r.z.boolean(),exp:r.z.number()});function B(e){try{const t=e.split(".")[1],n=atob(t);return ws.parse(JSON.parse(n))}catch{return}}class K extends Error{constructor(){super(...arguments);Z(this,"name","UnauthorizedError");Z(this,"status",401)}}function zs(e){return Me(async t=>{var i,c;const n=e.getCurrentToken()??await((i=e.generateNewToken)==null?void 0:i.call(e));if(!n)throw new K;const{exp:s}=B(n.accessToken)??{exp:0};if(!re.isThisSecond(new Date(s)))return t.add("Authorization",`Bearer ${n.accessToken}`);const a=await e.refreshToken(n);if(!a)throw new K;return(c=e.onNewTokenIssued)==null||c.call(e,a),t.add("Authorization",`Bearer ${a.accessToken}`)})}const Ps=Me(e=>e.and({"x-lokalise-plugin":"true"}));function Ue(){const e=Ie(document.cookie,"accessToken"),t=Ie(document.cookie,"refreshToken");return!e||!t?null:{accessToken:e,refreshToken:t}}function qt(){return Ie(document.cookie,"csrf_token")??null}function Ie(e,t){var n,s;return(s=(n=e.split(";").find(a=>a.trim().startsWith(`${t}=`)))==null?void 0:n.trim())==null?void 0:s.substring(t.length+1)}function ks(){const e=Ue();if(!e)return;const t=B(e.accessToken);if(t)return{...e,payload:t}}const Bt=r.z.union([r.z.object({Authorization:r.z.string()}),r.z.object({authorization:r.z.string()}),r.z.object({AUTHORIZATION:r.z.string()})]),Is=r.z.union([r.z.object({"X-API-Token":r.z.string()}),r.z.object({"X-Api-Token":r.z.string()}),r.z.object({"x-api-token":r.z.string()}),r.z.object({"X-API-TOKEN":r.z.string()})]),Rs=r.z.union([Bt,Is]),As=r.z.union([r.z.object({"X-Lokalise-Plugin":r.z.string()}),r.z.object({"x-lokalise-plugin":r.z.string()}),r.z.object({"X-LOKALISE-PLUGIN":r.z.string()})]),ae=Rs.and(As),Ns=r.z.object({accessToken:r.z.string(),refreshToken:r.z.string()}),Ls=r.z.union([r.z.object({"X-Csrf-Token":r.z.string()}),r.z.object({"X-CSRF-Token":r.z.string()}),r.z.object({"x-csrf-token":r.z.string()}),r.z.object({"X-CSRF-TOKEN":r.z.string()})]),Os=r.z.union([Bt,Ls]),ie=Re.buildPayloadRoute({description:"Takes a teamId and returns a JWT token access and refresh token for the user",method:"post",requestPathParamsSchema:r.z.object({teamId:r.z.number()}),pathResolver:e=>`/team/${e.teamId}/actions/get-user-token`,requestHeaderSchema:Os,requestBodySchema:r.z.undefined(),isEmptyResponseExpected:!0,successResponseBodySchema:Ns});function Ms(e,t,n){return async()=>{const s=t();if(!s)throw new K;return I.sendByPayloadRoute(e,ie,{pathParams:{teamId:Number(await n())},headers:await k.create().add("x-csrf-token",s).resolve()})}}function Us(e){return async({accessToken:t,refreshToken:n})=>{const s=B(t);if(!s)throw new K;return I.sendByPayloadRoute(e,ie,{pathParams:{teamId:s.teamId},headers:await k.create().add("Authorization",`Bearer ${n}`).resolve()})}}const Ht={teamKey:e=>["getUserToken",e]},Dt=(e,t,n)=>N.useQuery({...n,queryFn:async({queryKey:[s,a]})=>I.sendByPayloadRoute(e,ie,{headers:await t.resolve(),pathParams:{teamId:a}})}),ne=class ne extends CustomEvent{constructor(t){super(ne.eventName,{detail:{token:t,payload:B(t.accessToken)}})}};Z(ne,"eventName","new-jwt-issued");let Q=ne;function qs(e,t,n){const s=qt(),a=Dt(e,t.add("x-csrf-token",s??""),{queryKey:Ht.teamKey(n),enabled:s!==void 0}),i=p.useRef();return p.useEffect(()=>{a.data&&a.data.accessToken!==i.current&&(window.dispatchEvent(new Q(a.data)),i.current=a.data.accessToken)},[a.data]),a}function qe(){const[e,t]=p.useState();return p.useEffect(()=>{const n=a=>{t(a.detail.payload)},s=Ue();return t(s?B(s.accessToken):void 0),window.addEventListener(Q.eventName,n),()=>{window.removeEventListener(Q.eventName,n)}},[]),e}const Bs=ae,Hs=r.z.object({user_id:r.z.number(),email:r.z.string().email(),fullname:r.z.string(),created_at:r.z.string(),created_at_timestamp:r.z.number(),role:Ut}),Ds=r.z.object({team_id:r.z.number(),team_user:Hs}),$t=J.buildGetRoute({description:"Get the details of a team user",requestHeaderSchema:Bs,requestPathParamsSchema:r.z.object({teamId:r.z.number(),userId:r.z.number()}),pathResolver:({teamId:e,userId:t})=>`/teams/${e}/users/${t}`,successResponseBodySchema:Ds}),Ft={teamUserKey:(e,t)=>["GetTeamUsers",e,t]},Gt=(e,t,n)=>N.useQuery({...n,queryFn:async({queryKey:[s,a,i]})=>I.sendByGetRoute(e,$t,{headers:await t.resolve(),pathParams:{teamId:a,userId:i}})});function $s(e,t){const n=qe();return Gt(e,t,{queryKey:Ft.teamUserKey((n==null?void 0:n.teamId)??0,(n==null?void 0:n.userId)??0),enabled:(n==null?void 0:n.userId)!==void 0&&n.teamId!==void 0})}const Fs=r.z.object({lang_id:r.z.number(),lang_iso:r.z.string(),lang_name:r.z.string(),is_writable:r.z.union([r.z.literal(0),r.z.literal(1)])}),Gs=r.z.object({user_id:r.z.number(),email:r.z.string().email(),fullname:r.z.string(),created_at:r.z.string(),created_at_timestamp:r.z.number(),admin_rights:r.z.array(r.z.string()),languages:r.z.array(Fs),is_admin:r.z.boolean(),is_reviewer:r.z.boolean()}),Ks=r.z.object({project_id:r.z.string(),contributors:r.z.array(Gs)}),Kt=J.buildGetRoute({description:"Get the details of a project contributor",requestHeaderSchema:ae,requestPathParamsSchema:r.z.object({projectId:r.z.string(),contributorId:r.z.number()}),pathResolver:({projectId:e,contributorId:t})=>`/projects/${e}/contributors/${t}`,successResponseBodySchema:Ks}),Qt={projectUserKey:(e,t)=>["RetrieveContributor",e,t]},Jt=(e,t,n)=>N.useQuery({...n,queryFn:async({queryKey:[s,a,i]})=>I.sendByGetRoute(e,Kt,{pathParams:{projectId:a,contributorId:i},headers:await t.resolve()})});function Qs(e,t,n){const s=qe();return Jt(e,t,{queryKey:Qt.projectUserKey(n,(s==null?void 0:s.userId)??0),enabled:s!==void 0})}const Js=r.z.object({lang_iso:r.z.string(),custom_iso:r.z.string().optional()}),Ws=r.z.object({language_id:r.z.number(),language_iso:r.z.string(),progress:r.z.number(),words_to_do:r.z.number()}),Xs=r.z.object({projectId:r.z.string()}),Ys=r.z.object({lang_id:r.z.number(),lang_iso:r.z.string(),lang_name:r.z.string(),is_rtl:r.z.boolean(),plural_forms:r.z.array(r.z.string().optional())}),Vs=r.z.object({project_id:r.z.string(),project_uuid:r.z.string().uuid(),languages:r.z.array(Ys)}),Wt=J.buildGetRoute({description:"List of project languages",requestHeaderSchema:ae,requestPathParamsSchema:Xs,pathResolver:({projectId:e})=>`/projects/${e}/languages`,successResponseBodySchema:Vs}),ce=ae,Be=r.z.union([r.z.literal("localization_files"),r.z.literal("paged_documents"),r.z.literal("marketing")]),Zs=r.z.object({per_platform_key_names:r.z.boolean(),reviewing:r.z.boolean(),auto_toggle_unverified:r.z.boolean(),offline_translation:r.z.boolean(),key_editing:r.z.boolean(),inline_machine_translations:r.z.boolean(),custom_translation_statuses:r.z.boolean(),custom_translation_statuses_allow_multiple:r.z.boolean(),segmentation:r.z.boolean(),contributor_preview_download_enabled:r.z.boolean()}),eo=r.z.object({not_reviewed:r.z.number(),unverified:r.z.number(),spelling_grammar:r.z.number(),inconsistent_placeholders:r.z.number(),inconsistent_html:r.z.number(),different_number_of_urls:r.z.number(),different_urls:r.z.number(),leading_whitespace:r.z.number(),trailing_whitespace:r.z.number(),different_number_of_email_address:r.z.number(),different_email_address:r.z.number(),different_brackets:r.z.number(),different_numbers:r.z.number(),double_space:r.z.number(),special_placeholder:r.z.number(),unbalanced_brackets:r.z.number()}),to=r.z.object({progress_total:r.z.number(),keys_total:r.z.number(),team:r.z.number(),base_words:r.z.number(),qa_issues_total:r.z.number(),qa_issues:eo,languages:r.z.array(Ws)}),le=r.z.object({project_id:r.z.string(),uuid:r.z.string().uuid(),project_type:Be,name:r.z.string(),description:r.z.string(),created_at:r.z.string(),created_at_timestamp:r.z.number(),created_by:r.z.number(),created_by_email:r.z.string(),team_id:r.z.number(),base_language_id:r.z.number(),base_language_iso:r.z.string(),settings:Zs.optional(),statistics:to.optional()}),no=r.z.object({name:r.z.string(),team_id:r.z.string(),base_lang_iso:r.z.string(),languages:r.z.array(Js),project_type:Be,is_segmentation_enabled:r.z.boolean()}),bt=r.z.union([r.z.literal(0),r.z.literal(1)]),ro=r.z.object({filter_type:Be.optional(),filter_team_id:r.z.number().optional(),filter_names:r.z.string().optional(),include_statistics:bt.optional(),include_settings:bt.optional(),limit:r.z.number().optional(),page:r.z.number().optional()}),so=r.z.object({projects:r.z.array(le)}),oo=r.z.object({project_id:r.z.string()}),ao=r.z.object({project_id:r.z.string()}),io=r.z.object({name:r.z.string().min(1),description:r.z.string().optional()}),ue=()=>"/projects",Xt=Re.buildPayloadRoute({description:"Create a new project",requestHeaderSchema:ce,method:"post",pathResolver:ue,requestBodySchema:no,successResponseBodySchema:le}),Yt=J.buildGetRoute({description:"List all projects",requestHeaderSchema:ce,pathResolver:ue,requestQuerySchema:ro,successResponseBodySchema:so}),Vt=J.buildGetRoute({description:"Retrieve a project",requestHeaderSchema:ce,requestPathParamsSchema:oo,pathResolver:({project_id:e})=>`${ue()}/${e}`,successResponseBodySchema:le}),Zt=Re.buildPayloadRoute({description:"Update a project",requestHeaderSchema:ce,method:"put",requestPathParamsSchema:ao,pathResolver:({project_id:e})=>`${ue()}/${e}`,requestBodySchema:io,successResponseBodySchema:le});function co(e,t,n={}){return N.useMutation({...n,mutationFn:async s=>I.sendByPayloadRoute(e,Xt,{headers:await t.resolve(),body:s})})}const lo={projectIdKey:e=>["listProjectLanguages",e]};function uo(e,t,n){return N.useQuery({...n,queryFn:async({queryKey:[s,a]})=>I.sendByGetRoute(e,Wt,{headers:await t.resolve(),pathParams:{projectId:a}})})}const mo={paramsKey:e=>["listProjects",e]};function fo(e,t,n){return N.useQuery({...n,queryFn:async({queryKey:[s,a]})=>I.sendByGetRoute(e,Yt,{headers:await t.resolve(),queryParams:a})})}const go={projectIdKey:e=>["retrieveProject",e]};function _o(e,t,n){return N.useQuery({...n,queryFn:async({queryKey:[s,a]})=>I.sendByGetRoute(e,Vt,{headers:await t.resolve(),pathParams:{project_id:a}})})}function ho(e,t,n,s={}){return N.useMutation({...s,mutationFn:async a=>I.sendByPayloadRoute(e,Zt,{headers:await t.resolve(),body:a,pathParams:n})})}exports.Breadcrumbs=_s;exports.ENTERPRISE_OPENSOURCE_PLAN_ID=Le;exports.ENTERPRISE_PLAN_IDS=kt;exports.ESSENTIAL_PLAN_IDS=zt;exports.FREE_PLAN_ID=Ne;exports.HeaderBuilder=k;exports.JwtAuthHeaderBuilderMiddleware=zs;exports.NavigationPanel=G;exports.NavigationTabs=Es;exports.PRO_PLAN_IDS=Pt;exports.PublicApiHeaderBuilderMiddleware=Ps;exports.START_PLAN_IDS=wt;exports.Sidebar=P;exports.SidebarTaskLanguageStatuses=z;exports.SidebarTaskStatuses=te;exports.SidebarTaskTypeOptions=$;exports.TRIAL_PLAN_ID=Ct;exports.UnauthorizedError=K;exports.convertNewLineToBreakTag=It;exports.createHeaderBuilderMiddleware=Me;exports.createProject=Xt;exports.formatDate=At;exports.formatDateTz=lr;exports.generateTokenFromClassicSession=Ms;exports.getAuthenticatedSessionDetailFromRequest=ks;exports.getCsrfTokenFromCookie=qt;exports.getJwtTokenFromCookie=Ue;exports.getTeamUser=$t;exports.getTeamUsersQueryKey=Ft;exports.getUserToken=ie;exports.getUserTokenKey=Ht;exports.isEnterpriseOpenSourcePlan=sr;exports.isEnterprisePlan=nr;exports.isEssentialPlan=er;exports.isFreePlan=se;exports.isPaidPlan=rr;exports.isProPlan=tr;exports.isStartPlan=Zn;exports.isTrialPlan=Oe;exports.listProjectLanguages=Wt;exports.listProjectLanguagesKey=lo;exports.listProjects=Yt;exports.listProjectsKey=mo;exports.makeUrlClickable=Rt;exports.parseJwtTokenPayload=B;exports.refreshExpiredToken=Us;exports.retrieveContributor=Kt;exports.retrieveContributorKeys=Qt;exports.retrieveProject=Vt;exports.retrieveProjectQueryKey=go;exports.updateProject=Zt;exports.useAuthenticatedProjectContributor=Qs;exports.useAuthenticatedSessionPayload=qe;exports.useAuthenticatedUser=$s;exports.useCreateProjectMutation=co;exports.useEffectOnce=oe;exports.useGetPromotedClassicSessionJwtQuery=qs;exports.useGetTeamUsersQuery=Gt;exports.useGetUserTokenQuery=Dt;exports.useListProjectLanguagesQuery=uo;exports.useListProjectsQuery=fo;exports.useRetrieveContributorQuery=Jt;exports.useRetrieveProjectQuery=_o;exports.useUpdateProjectMutation=ho;
package/dist/harmony.mjs CHANGED
@@ -1,10 +1,10 @@
1
1
  var Vt = Object.defineProperty;
2
2
  var Zt = (e, t, n) => t in e ? Vt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
- var ee = (e, t, n) => Zt(e, typeof t != "symbol" ? t + "" : t, n);
3
+ var te = (e, t, n) => Zt(e, typeof t != "symbol" ? t + "" : t, n);
4
4
  import { jsx as s, jsxs as h, Fragment as Ue } from "react/jsx-runtime";
5
5
  import * as F from "react";
6
6
  import { useRef as Et, useState as R, useCallback as We, useEffect as G, useContext as wt, createContext as Ct, cloneElement as en, Fragment as kt, forwardRef as tn } from "react";
7
- import { Tooltip as H, Link as L, Menu as ae, MenuList as se, CaretUpIcon as nn, UserIcon as It, MenuItem as K, MenuDivider as Pt, ConfirmModal as rn, Alert as on, Tag as Ne, Button as je, Loading as an, Popover as sn, JobIcon as cn } from "@lokalise/louis";
7
+ import { Tooltip as H, Link as L, Menu as ie, MenuList as ce, CaretUpIcon as nn, UserIcon as It, MenuItem as K, MenuDivider as Pt, ConfirmModal as rn, Alert as on, Tag as je, Button as xe, Loading as an, Popover as sn, JobIcon as cn } from "@lokalise/louis";
8
8
  import { format as At, parseISO as ln, isThisSecond as dn } from "date-fns";
9
9
  import { toZonedTime as un } from "date-fns-tz";
10
10
  import { z as r } from "zod";
@@ -12,60 +12,60 @@ import { buildPayloadRoute as qe } from "@lokalise/universal-ts-utils/api-contra
12
12
  import { sendByPayloadRoute as W, sendByGetRoute as J } from "@lokalise/frontend-http-client";
13
13
  import { useQuery as B, useMutation as Rt } from "@tanstack/react-query";
14
14
  import { buildGetRoute as Q } from "@lokalise/universal-ts-utils/node";
15
- const xe = {
15
+ const Oe = {
16
16
  Completed: "completed",
17
17
  InProgress: "in_progress",
18
18
  Created: "created",
19
19
  Queued: "queued"
20
20
  }, I = {
21
- ...xe,
21
+ ...Oe,
22
22
  NotStarted: "not_started"
23
- }, te = {
23
+ }, ne = {
24
24
  translation: "translation",
25
25
  review: "review",
26
26
  lqa_by_ai: "lqa_by_ai",
27
27
  automatic_translation: "automatic_translation"
28
28
  };
29
- var ne = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
29
+ var re = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
30
30
  function Nt(e) {
31
31
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
32
32
  }
33
- var fe, Je;
33
+ var _e, Je;
34
34
  function He() {
35
- if (Je) return fe;
35
+ if (Je) return _e;
36
36
  Je = 1;
37
37
  function e(t) {
38
38
  var n = typeof t;
39
39
  return t != null && (n == "object" || n == "function");
40
40
  }
41
- return fe = e, fe;
41
+ return _e = e, _e;
42
42
  }
43
- var _e, Qe;
43
+ var ge, Qe;
44
44
  function mn() {
45
- if (Qe) return _e;
45
+ if (Qe) return ge;
46
46
  Qe = 1;
47
- var e = typeof ne == "object" && ne && ne.Object === Object && ne;
48
- return _e = e, _e;
47
+ var e = typeof re == "object" && re && re.Object === Object && re;
48
+ return ge = e, ge;
49
49
  }
50
- var ge, Xe;
50
+ var he, Xe;
51
51
  function jt() {
52
- if (Xe) return ge;
52
+ if (Xe) return he;
53
53
  Xe = 1;
54
54
  var e = mn(), t = typeof self == "object" && self && self.Object === Object && self, n = e || t || Function("return this")();
55
- return ge = n, ge;
55
+ return he = n, he;
56
56
  }
57
- var he, Ye;
57
+ var pe, Ye;
58
58
  function fn() {
59
- if (Ye) return he;
59
+ if (Ye) return pe;
60
60
  Ye = 1;
61
61
  var e = jt(), t = function() {
62
62
  return e.Date.now();
63
63
  };
64
- return he = t, he;
64
+ return pe = t, pe;
65
65
  }
66
- var pe, Ve;
66
+ var be, Ve;
67
67
  function _n() {
68
- if (Ve) return pe;
68
+ if (Ve) return be;
69
69
  Ve = 1;
70
70
  var e = /\s/;
71
71
  function t(n) {
@@ -73,28 +73,28 @@ function _n() {
73
73
  ;
74
74
  return o;
75
75
  }
76
- return pe = t, pe;
76
+ return be = t, be;
77
77
  }
78
- var be, Ze;
78
+ var ve, Ze;
79
79
  function gn() {
80
- if (Ze) return be;
80
+ if (Ze) return ve;
81
81
  Ze = 1;
82
82
  var e = _n(), t = /^\s+/;
83
83
  function n(o) {
84
84
  return o && o.slice(0, e(o) + 1).replace(t, "");
85
85
  }
86
- return be = n, be;
86
+ return ve = n, ve;
87
87
  }
88
- var ve, et;
88
+ var Te, et;
89
89
  function xt() {
90
- if (et) return ve;
90
+ if (et) return Te;
91
91
  et = 1;
92
92
  var e = jt(), t = e.Symbol;
93
- return ve = t, ve;
93
+ return Te = t, Te;
94
94
  }
95
- var Te, tt;
95
+ var ye, tt;
96
96
  function hn() {
97
- if (tt) return Te;
97
+ if (tt) return ye;
98
98
  tt = 1;
99
99
  var e = xt(), t = Object.prototype, n = t.hasOwnProperty, o = t.toString, a = e ? e.toStringTag : void 0;
100
100
  function i(c) {
@@ -107,50 +107,50 @@ function hn() {
107
107
  var m = o.call(c);
108
108
  return l && (d ? c[a] = u : delete c[a]), m;
109
109
  }
110
- return Te = i, Te;
110
+ return ye = i, ye;
111
111
  }
112
- var ye, nt;
112
+ var Se, nt;
113
113
  function pn() {
114
- if (nt) return ye;
114
+ if (nt) return Se;
115
115
  nt = 1;
116
116
  var e = Object.prototype, t = e.toString;
117
117
  function n(o) {
118
118
  return t.call(o);
119
119
  }
120
- return ye = n, ye;
120
+ return Se = n, Se;
121
121
  }
122
- var Se, rt;
122
+ var Ee, rt;
123
123
  function bn() {
124
- if (rt) return Se;
124
+ if (rt) return Ee;
125
125
  rt = 1;
126
126
  var e = xt(), t = hn(), n = pn(), o = "[object Null]", a = "[object Undefined]", i = e ? e.toStringTag : void 0;
127
127
  function c(d) {
128
128
  return d == null ? d === void 0 ? a : o : i && i in Object(d) ? t(d) : n(d);
129
129
  }
130
- return Se = c, Se;
130
+ return Ee = c, Ee;
131
131
  }
132
- var Ee, ot;
132
+ var we, ot;
133
133
  function vn() {
134
- if (ot) return Ee;
134
+ if (ot) return we;
135
135
  ot = 1;
136
136
  function e(t) {
137
137
  return t != null && typeof t == "object";
138
138
  }
139
- return Ee = e, Ee;
139
+ return we = e, we;
140
140
  }
141
- var we, at;
141
+ var Ce, at;
142
142
  function Tn() {
143
- if (at) return we;
143
+ if (at) return Ce;
144
144
  at = 1;
145
145
  var e = bn(), t = vn(), n = "[object Symbol]";
146
146
  function o(a) {
147
147
  return typeof a == "symbol" || t(a) && e(a) == n;
148
148
  }
149
- return we = o, we;
149
+ return Ce = o, Ce;
150
150
  }
151
- var Ce, st;
151
+ var ke, st;
152
152
  function yn() {
153
- if (st) return Ce;
153
+ if (st) return ke;
154
154
  st = 1;
155
155
  var e = gn(), t = He(), n = Tn(), o = NaN, a = /^[-+]0x[0-9a-f]+$/i, i = /^0b[01]+$/i, c = /^0o[0-7]+$/i, d = parseInt;
156
156
  function u(l) {
@@ -168,11 +168,11 @@ function yn() {
168
168
  var _ = i.test(l);
169
169
  return _ || c.test(l) ? d(l.slice(2), _ ? 2 : 8) : a.test(l) ? o : +l;
170
170
  }
171
- return Ce = u, Ce;
171
+ return ke = u, ke;
172
172
  }
173
- var ke, it;
173
+ var Ie, it;
174
174
  function Ot() {
175
- if (it) return ke;
175
+ if (it) return Ie;
176
176
  it = 1;
177
177
  var e = He(), t = fn(), n = yn(), o = "Expected a function", a = Math.max, i = Math.min;
178
178
  function c(d, u, l) {
@@ -185,9 +185,9 @@ function Ot() {
185
185
  return m = _ = void 0, b = S, y = d.apply(D, j), y;
186
186
  }
187
187
  function w(S) {
188
- return b = S, f = setTimeout(Z, u), g ? C(S) : y;
188
+ return b = S, f = setTimeout(ee, u), g ? C(S) : y;
189
189
  }
190
- function V(S) {
190
+ function Z(S) {
191
191
  var j = S - E, D = S - b, Ke = u - j;
192
192
  return p ? i(Ke, T - D) : Ke;
193
193
  }
@@ -195,11 +195,11 @@ function Ot() {
195
195
  var j = S - E, D = S - b;
196
196
  return E === void 0 || j >= u || j < 0 || p && D >= T;
197
197
  }
198
- function Z() {
198
+ function ee() {
199
199
  var S = t();
200
200
  if (ze(S))
201
201
  return Ge(S);
202
- f = setTimeout(Z, V(S));
202
+ f = setTimeout(ee, Z(S));
203
203
  }
204
204
  function Ge(S) {
205
205
  return f = void 0, v && m ? C(S) : (m = _ = void 0, y);
@@ -210,25 +210,25 @@ function Ot() {
210
210
  function Yt() {
211
211
  return f === void 0 ? y : Ge(t());
212
212
  }
213
- function me() {
213
+ function fe() {
214
214
  var S = t(), j = ze(S);
215
215
  if (m = arguments, _ = this, E = S, j) {
216
216
  if (f === void 0)
217
217
  return w(E);
218
218
  if (p)
219
- return clearTimeout(f), f = setTimeout(Z, u), C(E);
219
+ return clearTimeout(f), f = setTimeout(ee, u), C(E);
220
220
  }
221
- return f === void 0 && (f = setTimeout(Z, u)), y;
221
+ return f === void 0 && (f = setTimeout(ee, u)), y;
222
222
  }
223
- return me.cancel = Xt, me.flush = Yt, me;
223
+ return fe.cancel = Xt, fe.flush = Yt, fe;
224
224
  }
225
- return ke = c, ke;
225
+ return Ie = c, Ie;
226
226
  }
227
227
  var Sn = Ot();
228
228
  const En = /* @__PURE__ */ Nt(Sn);
229
- var Ie, ct;
229
+ var Pe, ct;
230
230
  function wn() {
231
- if (ct) return Ie;
231
+ if (ct) return Pe;
232
232
  ct = 1;
233
233
  var e = Ot(), t = He(), n = "Expected a function";
234
234
  function o(a, i, c) {
@@ -241,7 +241,7 @@ function wn() {
241
241
  trailing: u
242
242
  });
243
243
  }
244
- return Ie = o, Ie;
244
+ return Pe = o, Pe;
245
245
  }
246
246
  var Cn = wn();
247
247
  const kn = /* @__PURE__ */ Nt(Cn), In = (e, t, n, o) => {
@@ -305,11 +305,11 @@ function Nn({ skipOnMount: e = !1, refreshMode: t, refreshRate: n = 1e3, refresh
305
305
  const v = (C, w) => a && C.width !== w.width || i && C.height !== w.height;
306
306
  p.forEach((C) => {
307
307
  const w = Rn(C, E);
308
- T((V) => v(V, w) ? (m == null || m({
308
+ T((Z) => v(Z, w) ? (m == null || m({
309
309
  width: w.width,
310
310
  height: w.height,
311
311
  entry: C
312
- }), w) : V);
312
+ }), w) : Z);
313
313
  });
314
314
  }, [a, i, l, E]), g = We(In(b, t, n, o), [
315
315
  b,
@@ -348,7 +348,7 @@ const jn = "_headerContainer_1cubo_1", xn = "_navigationTabList_1cubo_8", On = "
348
348
  navigationTab: On,
349
349
  headerContent: Ln,
350
350
  staticEnabled: Mn
351
- }, Un = 77, re = ({ sticky: e, children: t }) => {
351
+ }, Un = 77, oe = ({ sticky: e, children: t }) => {
352
352
  const { ref: n, height: o } = Nn({
353
353
  refreshMode: "debounce",
354
354
  refreshRate: 0
@@ -368,15 +368,15 @@ const jn = "_headerContainer_1cubo_1", xn = "_navigationTabList_1cubo_8", On = "
368
368
  [q.staticEnabled]: c()
369
369
  }),
370
370
  children: [
371
- /* @__PURE__ */ s(re.Header, {}),
372
- /* @__PURE__ */ s(re.Tabs, {}),
371
+ /* @__PURE__ */ s(oe.Header, {}),
372
+ /* @__PURE__ */ s(oe.Tabs, {}),
373
373
  t
374
374
  ]
375
375
  }
376
376
  ) }) });
377
377
  };
378
- re.Header = ({ children: e }) => /* @__PURE__ */ s("div", { className: q.headerContainer, children: e });
379
- re.Tabs = ({ children: e }) => /* @__PURE__ */ s("div", { className: "flex justify-between gap-2 nowrap", children: e });
378
+ oe.Header = ({ children: e }) => /* @__PURE__ */ s("div", { className: q.headerContainer, children: e });
379
+ oe.Tabs = ({ children: e }) => /* @__PURE__ */ s("div", { className: "flex justify-between gap-2 nowrap", children: e });
380
380
  const qn = "_sidebarContainer_bmdti_1", Hn = {
381
381
  sidebarContainer: qn
382
382
  }, Bn = "_logoLink_1baxb_1", Dn = {
@@ -397,7 +397,7 @@ const qn = "_sidebarContainer_bmdti_1", Hn = {
397
397
  dropdownButton: Kn,
398
398
  dropdownButtonActive: Wn
399
399
  }, Jn = ({ children: e, icon: t }) => /* @__PURE__ */ s(
400
- ae,
400
+ ie,
401
401
  {
402
402
  menuButton: ({ opened: n }) => /* @__PURE__ */ s(H, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ s(
403
403
  "button",
@@ -409,7 +409,7 @@ const qn = "_sidebarContainer_bmdti_1", Hn = {
409
409
  children: /* @__PURE__ */ s(t, { size: "25px" })
410
410
  }
411
411
  ) }),
412
- children: /* @__PURE__ */ s(se, { placement: "right-start", children: e })
412
+ children: /* @__PURE__ */ s(ce, { placement: "right-start", children: e })
413
413
  }
414
414
  ), Qn = "_iconContainer_nz34m_1", Xn = {
415
415
  iconContainer: Qn
@@ -447,7 +447,7 @@ const qn = "_sidebarContainer_bmdti_1", Hn = {
447
447
  isFullyAuthenticated: m
448
448
  } = X();
449
449
  return /* @__PURE__ */ s(
450
- ae,
450
+ ie,
451
451
  {
452
452
  menuButton: () => /* @__PURE__ */ h("button", { className: x.profileButton, "aria-label": "Profile menu", type: "button", children: [
453
453
  t != null && t.logoUrl ? /* @__PURE__ */ s(
@@ -470,7 +470,7 @@ const qn = "_sidebarContainer_bmdti_1", Hn = {
470
470
  ),
471
471
  o && /* @__PURE__ */ s(Mt, { className: x.profileImageUpgradeIcon })
472
472
  ] }),
473
- children: /* @__PURE__ */ s(se, { placement: "right-end", className: x.menuContainer, children: e({
473
+ children: /* @__PURE__ */ s(ce, { placement: "right-end", className: x.menuContainer, children: e({
474
474
  allowTeamCreation: i,
475
475
  otherTeams: n,
476
476
  canAccessTeamSettings: d,
@@ -574,7 +574,7 @@ const qn = "_sidebarContainer_bmdti_1", Hn = {
574
574
  }, Ar = ({ onSwitchTeam: e }) => {
575
575
  const { otherTeams: t } = X();
576
576
  return t.length === 0 ? null : /* @__PURE__ */ s("div", { className: `flex-col items-stretch ${Pr.teamsContainer}`, children: t.map((n) => /* @__PURE__ */ s(Dt, { team: n, onClick: e, hidePlanLabel: !0 }, n.id)) });
577
- }, Rr = "_container_1u995_1", Nr = "_planCta_1u995_15", jr = "_upgradeIconWrapper_1u995_19", Pe = {
577
+ }, Rr = "_container_1u995_1", Nr = "_planCta_1u995_15", jr = "_upgradeIconWrapper_1u995_19", Ae = {
578
578
  container: Rr,
579
579
  planCta: Nr,
580
580
  upgradeIconWrapper: jr
@@ -583,9 +583,9 @@ const qn = "_sidebarContainer_bmdti_1", Hn = {
583
583
  if (!o)
584
584
  return null;
585
585
  const c = Be(t) ? "Your team is currently on the Free plan" : `Free trial ends in ${n} ${n === 1 ? "day" : "days"}`;
586
- return /* @__PURE__ */ h(K, { href: e, className: `flex-col gap-1 items-start ${Pe.container}`, children: [
587
- /* @__PURE__ */ s("span", { className: Pe.planCta, children: c }),
588
- /* @__PURE__ */ h("div", { className: `flex-row items-center gap-1 ${Pe.upgradeIconWrapper}`, children: [
586
+ return /* @__PURE__ */ h(K, { href: e, className: `flex-col gap-1 items-start ${Ae.container}`, children: [
587
+ /* @__PURE__ */ s("span", { className: Ae.planCta, children: c }),
588
+ /* @__PURE__ */ h("div", { className: `flex-row items-center gap-1 ${Ae.upgradeIconWrapper}`, children: [
589
589
  /* @__PURE__ */ s(Mt, {}),
590
590
  /* @__PURE__ */ s("span", { children: "See upgrade options" })
591
591
  ] })
@@ -742,7 +742,7 @@ const Dr = function(e) {
742
742
  };
743
743
  }
744
744
  };
745
- }, $r = "_navItem_1dudv_1", Fr = "_activeNavItem_1dudv_18", zr = "_badge_1dudv_23", Ae = {
745
+ }, $r = "_navItem_1dudv_1", Fr = "_activeNavItem_1dudv_18", zr = "_badge_1dudv_23", Re = {
746
746
  navItem: $r,
747
747
  activeNavItem: Fr,
748
748
  badge: zr
@@ -768,10 +768,10 @@ const Dr = function(e) {
768
768
  const t = e.progress ?? 0;
769
769
  return e.status === I.Created && t > 0 ? I.InProgress : e.status;
770
770
  }, Jr = {
771
- [te.translation]: "#0891B2",
772
- [te.review]: "#16922D",
773
- [te.lqa_by_ai]: "#8B5CF6",
774
- [te.automatic_translation]: "#60A5FA"
771
+ [ne.translation]: "#0891B2",
772
+ [ne.review]: "#16922D",
773
+ [ne.lqa_by_ai]: "#8B5CF6",
774
+ [ne.automatic_translation]: "#60A5FA"
775
775
  }, Qr = (e) => {
776
776
  const t = [
777
777
  I.InProgress,
@@ -779,7 +779,7 @@ const Dr = function(e) {
779
779
  I.Completed
780
780
  ];
781
781
  return e.filter((n) => n.status !== "queued").map((n) => ({ ...n, status: Wr(n) })).sort((n, o) => n.status === I.InProgress && n.progress === 100 ? -1 : o.status === I.InProgress && o.progress === 100 ? 1 : n.status === o.status ? n.name < o.name ? 1 : -1 : t.indexOf(n.status) - t.indexOf(o.status));
782
- }, vt = (e) => e in [xe.InProgress, xe.Created], Xr = (e, t) => vt(e.status) && vt(t.status) && (t.progress ?? 0) >= 100, Yr = ({ task: e, language: t }) => {
782
+ }, vt = (e) => e in [Oe.InProgress, Oe.Created], Xr = (e, t) => vt(e.status) && vt(t.status) && (t.progress ?? 0) >= 100, Yr = ({ task: e, language: t }) => {
783
783
  const [n, o] = R(!1), [a, i] = R(!1), { onLanguageCompleteConfirm: c, fetchTasks: d } = Y(), u = () => {
784
784
  i(!1);
785
785
  };
@@ -814,7 +814,7 @@ const Dr = function(e) {
814
814
  }
815
815
  )
816
816
  ] });
817
- }, Vr = "_langRowCompleted_vpgdi_1", Zr = "_langCellSecondary_vpgdi_15", eo = "_langStatus_vpgdi_20", Re = {
817
+ }, Vr = "_langRowCompleted_vpgdi_1", Zr = "_langCellSecondary_vpgdi_15", eo = "_langStatus_vpgdi_20", Ne = {
818
818
  langRowCompleted: Vr,
819
819
  langCellSecondary: Zr,
820
820
  langStatus: eo
@@ -824,7 +824,7 @@ const Dr = function(e) {
824
824
  "tr",
825
825
  {
826
826
  className: N({
827
- [Re.langRowCompleted]: d
827
+ [Ne.langRowCompleted]: d
828
828
  }),
829
829
  children: [
830
830
  /* @__PURE__ */ s("td", { children: /* @__PURE__ */ s(H, { tooltip: "Open in bilingual view", children: /* @__PURE__ */ s(
@@ -837,7 +837,7 @@ const Dr = function(e) {
837
837
  children: e.name
838
838
  }
839
839
  ) }) }),
840
- /* @__PURE__ */ s("td", { className: Re.langCellSecondary, children: d || c ? "0" : /* @__PURE__ */ s(H, { tooltip: "Open uncompleted items", children: /* @__PURE__ */ s(
840
+ /* @__PURE__ */ s("td", { className: Ne.langCellSecondary, children: d || c ? "0" : /* @__PURE__ */ s(H, { tooltip: "Open uncompleted items", children: /* @__PURE__ */ s(
841
841
  L,
842
842
  {
843
843
  href: n({ task: t, language: e, taskUncompleted: !0 }),
@@ -854,7 +854,7 @@ const Dr = function(e) {
854
854
  /* @__PURE__ */ s("td", { children: d ? /* @__PURE__ */ s(Yr, { task: t, language: e }) : /* @__PURE__ */ s(
855
855
  "span",
856
856
  {
857
- className: `${Re.langStatus} flex-row items-center justify-start`,
857
+ className: `${Ne.langStatus} flex-row items-center justify-start`,
858
858
  "data-status": e.status,
859
859
  children: Kr(e.status, i)
860
860
  }
@@ -879,14 +879,14 @@ const Dr = function(e) {
879
879
  return t ? /* @__PURE__ */ h("div", { className: U.taskContainer, children: [
880
880
  /* @__PURE__ */ h("div", { className: "flex-row gap-1 items-center", children: [
881
881
  /* @__PURE__ */ h("div", { className: "flex-row gap-1 items-start flex-wrap", children: [
882
- /* @__PURE__ */ s(Ne, { color: Jr[e.task_type], variant: "solid", children: e.task_type.toLocaleUpperCase() }),
883
- e.due_date && /* @__PURE__ */ h(Ne, { color: "#EAB308", children: [
882
+ /* @__PURE__ */ s(je, { color: Jr[e.task_type], variant: "solid", children: e.task_type.toLocaleUpperCase() }),
883
+ e.due_date && /* @__PURE__ */ h(je, { color: "#EAB308", children: [
884
884
  "DUE ",
885
885
  gr(ln(e.due_date), "yyyy-MM-dd")
886
886
  ] })
887
887
  ] }),
888
888
  e.style_guides.length > 0 && /* @__PURE__ */ s("div", { className: "flex-row", children: e.style_guides.length === 1 ? /* @__PURE__ */ s(
889
- je,
889
+ xe,
890
890
  {
891
891
  size: "sm",
892
892
  variant: "secondary",
@@ -894,10 +894,10 @@ const Dr = function(e) {
894
894
  children: "Download style guide"
895
895
  }
896
896
  ) : /* @__PURE__ */ s(
897
- ae,
897
+ ie,
898
898
  {
899
- menuButton: /* @__PURE__ */ s(je, { variant: "secondary", size: "sm", children: "Download style guide" }),
900
- children: /* @__PURE__ */ s(se, { children: e.style_guides.map((c) => /* @__PURE__ */ s(
899
+ menuButton: /* @__PURE__ */ s(xe, { variant: "secondary", size: "sm", children: "Download style guide" }),
900
+ children: /* @__PURE__ */ s(ce, { children: e.style_guides.map((c) => /* @__PURE__ */ s(
901
901
  K,
902
902
  {
903
903
  onClick: () => i(c),
@@ -1026,17 +1026,17 @@ const Dr = function(e) {
1026
1026
  })
1027
1027
  ],
1028
1028
  children: (o) => /* @__PURE__ */ h(
1029
- je,
1029
+ xe,
1030
1030
  {
1031
1031
  type: "button",
1032
1032
  "data-testid": "sidebar-tasks-widget-button",
1033
1033
  "aria-label": "Tasks",
1034
- className: N(Ae.navItem, {
1035
- [Ae.activeNavItem]: o
1034
+ className: N(Re.navItem, {
1035
+ [Re.activeNavItem]: o
1036
1036
  }),
1037
1037
  children: [
1038
1038
  /* @__PURE__ */ s(cn, { size: "25px" }),
1039
- n > 0 && /* @__PURE__ */ s("div", { className: Ae.badge, "aria-label": `${n} items requiring attention`, children: n > 9 ? "9+" : n })
1039
+ n > 0 && /* @__PURE__ */ s("div", { className: Re.badge, "aria-label": `${n} items requiring attention`, children: n > 9 ? "9+" : n })
1040
1040
  ]
1041
1041
  }
1042
1042
  )
@@ -1076,8 +1076,8 @@ const To = "_breadcrumbsItem_1hm6a_1", yo = "_breadcrumbs_1hm6a_1", Tt = {
1076
1076
  /* @__PURE__ */ s("span", { children: e }),
1077
1077
  !!t && /* @__PURE__ */ s("div", { className: O.badge, "aria-label": `${t} items requiring attention`, children: t > 9 ? "9+" : t })
1078
1078
  ] }),
1079
- !!n && /* @__PURE__ */ s(Ne, { className: O.tag, children: n })
1080
- ] }), Oe = tn(
1079
+ !!n && /* @__PURE__ */ s(je, { className: O.tag, children: n })
1080
+ ] }), Le = tn(
1081
1081
  ({ label: e, href: t = "", disabled: n = !1, badge: o, onClick: a, novel: i }, c) => /* @__PURE__ */ s(H, { tooltip: "You do not have access to this function", show: n, children: /* @__PURE__ */ s(
1082
1082
  "div",
1083
1083
  {
@@ -1098,7 +1098,7 @@ const To = "_breadcrumbsItem_1hm6a_1", yo = "_breadcrumbs_1hm6a_1", Tt = {
1098
1098
  }
1099
1099
  ) })
1100
1100
  );
1101
- Oe.displayName = "NavigationTabsItem";
1101
+ Le.displayName = "NavigationTabsItem";
1102
1102
  const Ao = (e) => (e == null ? void 0 : e.some((t) => t.some((n) => n.visible))) ?? !1, Ro = (e) => e.visible && (!e.dropdown || Ao(e.dropdown)), qa = ({ navigation: e, activeItem: t }) => /* @__PURE__ */ s("nav", { "aria-label": "Project", children: /* @__PURE__ */ s("ul", { className: q.navigationTabList, "aria-orientation": "horizontal", children: e.filter(Ro).map((n) => {
1103
1103
  var o, a, i;
1104
1104
  return n.dropdown ? /* @__PURE__ */ s(
@@ -1108,10 +1108,10 @@ const Ao = (e) => (e == null ? void 0 : e.some((t) => t.some((n) => n.visible)))
1108
1108
  "data-testid": n.key,
1109
1109
  "aria-selected": (o = n.isActive) == null ? void 0 : o.call(n, t),
1110
1110
  children: /* @__PURE__ */ s(
1111
- ae,
1111
+ ie,
1112
1112
  {
1113
- menuButton: ({ opened: c }) => /* @__PURE__ */ s(Oe, { label: n.label, disabled: n.disabled, active: c }),
1114
- children: /* @__PURE__ */ s(se, { children: /* @__PURE__ */ s(So, { items: n.dropdown }) })
1113
+ menuButton: ({ opened: c }) => /* @__PURE__ */ s(Le, { label: n.label, disabled: n.disabled, active: c }),
1114
+ children: /* @__PURE__ */ s(ce, { children: /* @__PURE__ */ s(So, { items: n.dropdown }) })
1115
1115
  }
1116
1116
  )
1117
1117
  },
@@ -1123,7 +1123,7 @@ const Ao = (e) => (e == null ? void 0 : e.some((t) => t.some((n) => n.visible)))
1123
1123
  "data-testid": n.key,
1124
1124
  "aria-selected": (a = n.isActive) == null ? void 0 : a.call(n, t),
1125
1125
  children: /* @__PURE__ */ s(
1126
- Oe,
1126
+ Le,
1127
1127
  {
1128
1128
  label: n.label,
1129
1129
  href: n.link,
@@ -1311,7 +1311,7 @@ const Kt = r.union([
1311
1311
  isFullyAuthenticated: r.boolean(),
1312
1312
  exp: r.number()
1313
1313
  });
1314
- function ie(e) {
1314
+ function V(e) {
1315
1315
  try {
1316
1316
  const t = e.split(".")[1], n = atob(t);
1317
1317
  return jo.parse(JSON.parse(n));
@@ -1319,11 +1319,11 @@ function ie(e) {
1319
1319
  return;
1320
1320
  }
1321
1321
  }
1322
- class Le extends Error {
1322
+ class ae extends Error {
1323
1323
  constructor() {
1324
1324
  super(...arguments);
1325
- ee(this, "name", "UnauthorizedError");
1326
- ee(this, "status", 401);
1325
+ te(this, "name", "UnauthorizedError");
1326
+ te(this, "status", 401);
1327
1327
  }
1328
1328
  }
1329
1329
  function Ha(e) {
@@ -1331,13 +1331,13 @@ function Ha(e) {
1331
1331
  var i, c;
1332
1332
  const n = e.getCurrentToken() ?? await ((i = e.generateNewToken) == null ? void 0 : i.call(e));
1333
1333
  if (!n)
1334
- throw new Le();
1335
- const { exp: o } = ie(n.accessToken) ?? { exp: 0 };
1334
+ throw new ae();
1335
+ const { exp: o } = V(n.accessToken) ?? { exp: 0 };
1336
1336
  if (!dn(new Date(o)))
1337
1337
  return t.add("Authorization", `Bearer ${n.accessToken}`);
1338
1338
  const a = await e.refreshToken(n);
1339
1339
  if (!a)
1340
- throw new Le();
1340
+ throw new ae();
1341
1341
  return (c = e.onNewTokenIssued) == null || c.call(e, a), t.add("Authorization", `Bearer ${a.accessToken}`);
1342
1342
  });
1343
1343
  }
@@ -1359,7 +1359,7 @@ function Da() {
1359
1359
  const e = Wt();
1360
1360
  if (!e)
1361
1361
  return;
1362
- const t = ie(e.accessToken);
1362
+ const t = V(e.accessToken);
1363
1363
  if (t)
1364
1364
  return { ...e, payload: t };
1365
1365
  }
@@ -1379,7 +1379,7 @@ const Jt = r.union([
1379
1379
  r.object({ "X-Lokalise-Plugin": r.string() }),
1380
1380
  r.object({ "x-lokalise-plugin": r.string() }),
1381
1381
  r.object({ "X-LOKALISE-PLUGIN": r.string() })
1382
- ]), ce = Lo.and(Mo), Uo = r.object({
1382
+ ]), le = Lo.and(Mo), Uo = r.object({
1383
1383
  accessToken: r.string(),
1384
1384
  refreshToken: r.string()
1385
1385
  }), qo = r.union([
@@ -1404,18 +1404,23 @@ function $a(e, t, n) {
1404
1404
  return async () => {
1405
1405
  const o = t();
1406
1406
  if (!o)
1407
- throw new Le();
1407
+ throw new ae();
1408
1408
  return W(e, $e, {
1409
1409
  pathParams: { teamId: Number(await n()) },
1410
1410
  headers: await A.create().add("x-csrf-token", o).resolve()
1411
1411
  });
1412
1412
  };
1413
1413
  }
1414
- function Fa(e, t) {
1415
- return async ({ refreshToken: n }) => W(e, $e, {
1416
- pathParams: { teamId: Number(await t()) },
1417
- headers: await A.create().add("Authorization", `Bearer ${n}`).resolve()
1418
- });
1414
+ function Fa(e) {
1415
+ return async ({ accessToken: t, refreshToken: n }) => {
1416
+ const o = V(t);
1417
+ if (!o)
1418
+ throw new ae();
1419
+ return W(e, $e, {
1420
+ pathParams: { teamId: o.teamId },
1421
+ headers: await A.create().add("Authorization", `Bearer ${n}`).resolve()
1422
+ });
1423
+ };
1419
1424
  }
1420
1425
  const Bo = {
1421
1426
  teamKey: (e) => ["getUserToken", e]
@@ -1425,15 +1430,15 @@ const Bo = {
1425
1430
  headers: await t.resolve(),
1426
1431
  pathParams: { teamId: a }
1427
1432
  })
1428
- }), oe = class oe extends CustomEvent {
1433
+ }), se = class se extends CustomEvent {
1429
1434
  constructor(t) {
1430
- super(oe.eventName, {
1431
- detail: { token: t, payload: ie(t.accessToken) }
1435
+ super(se.eventName, {
1436
+ detail: { token: t, payload: V(t.accessToken) }
1432
1437
  });
1433
1438
  }
1434
1439
  };
1435
- ee(oe, "eventName", "new-jwt-issued");
1436
- let z = oe;
1440
+ te(se, "eventName", "new-jwt-issued");
1441
+ let z = se;
1437
1442
  function za(e, t, n) {
1438
1443
  const o = xo(), a = Do(e, t.add("x-csrf-token", o ?? ""), {
1439
1444
  queryKey: Bo.teamKey(n),
@@ -1449,12 +1454,12 @@ function Qt() {
1449
1454
  const n = (a) => {
1450
1455
  t(a.detail.payload);
1451
1456
  }, o = Wt();
1452
- return t(o ? ie(o.accessToken) : void 0), window.addEventListener(z.eventName, n), () => {
1457
+ return t(o ? V(o.accessToken) : void 0), window.addEventListener(z.eventName, n), () => {
1453
1458
  window.removeEventListener(z.eventName, n);
1454
1459
  };
1455
1460
  }, []), e;
1456
1461
  }
1457
- const $o = ce, Fo = r.object({
1462
+ const $o = le, Fo = r.object({
1458
1463
  user_id: r.number(),
1459
1464
  email: r.string().email(),
1460
1465
  fullname: r.string(),
@@ -1506,7 +1511,7 @@ const Jo = r.object({
1506
1511
  contributors: r.array(Qo)
1507
1512
  }), Yo = Q({
1508
1513
  description: "Get the details of a project contributor",
1509
- requestHeaderSchema: ce,
1514
+ requestHeaderSchema: le,
1510
1515
  requestPathParamsSchema: r.object({ projectId: r.string(), contributorId: r.number() }),
1511
1516
  pathResolver: ({ projectId: e, contributorId: t }) => `/projects/${e}/contributors/${t}`,
1512
1517
  successResponseBodySchema: Xo
@@ -1548,11 +1553,11 @@ const ea = r.object({
1548
1553
  languages: r.array(ra)
1549
1554
  }), aa = Q({
1550
1555
  description: "List of project languages",
1551
- requestHeaderSchema: ce,
1556
+ requestHeaderSchema: le,
1552
1557
  requestPathParamsSchema: na,
1553
1558
  pathResolver: ({ projectId: e }) => `/projects/${e}/languages`,
1554
1559
  successResponseBodySchema: oa
1555
- }), le = ce, Fe = r.union([
1560
+ }), de = le, Fe = r.union([
1556
1561
  r.literal("localization_files"),
1557
1562
  r.literal("paged_documents"),
1558
1563
  r.literal("marketing")
@@ -1592,7 +1597,7 @@ const ea = r.object({
1592
1597
  qa_issues_total: r.number(),
1593
1598
  qa_issues: ia,
1594
1599
  languages: r.array(ta)
1595
- }), de = r.object({
1600
+ }), ue = r.object({
1596
1601
  project_id: r.string(),
1597
1602
  uuid: r.string().uuid(),
1598
1603
  project_type: Fe,
@@ -1623,7 +1628,7 @@ const ea = r.object({
1623
1628
  limit: r.number().optional(),
1624
1629
  page: r.number().optional()
1625
1630
  }), ua = r.object({
1626
- projects: r.array(de)
1631
+ projects: r.array(ue)
1627
1632
  }), ma = r.object({
1628
1633
  project_id: r.string()
1629
1634
  }), fa = r.object({
@@ -1631,33 +1636,33 @@ const ea = r.object({
1631
1636
  }), _a = r.object({
1632
1637
  name: r.string().min(1),
1633
1638
  description: r.string().optional()
1634
- }), ue = () => "/projects", ga = qe({
1639
+ }), me = () => "/projects", ga = qe({
1635
1640
  description: "Create a new project",
1636
- requestHeaderSchema: le,
1641
+ requestHeaderSchema: de,
1637
1642
  method: "post",
1638
- pathResolver: ue,
1643
+ pathResolver: me,
1639
1644
  requestBodySchema: la,
1640
- successResponseBodySchema: de
1645
+ successResponseBodySchema: ue
1641
1646
  }), ha = Q({
1642
1647
  description: "List all projects",
1643
- requestHeaderSchema: le,
1644
- pathResolver: ue,
1648
+ requestHeaderSchema: de,
1649
+ pathResolver: me,
1645
1650
  requestQuerySchema: da,
1646
1651
  successResponseBodySchema: ua
1647
1652
  }), pa = Q({
1648
1653
  description: "Retrieve a project",
1649
- requestHeaderSchema: le,
1654
+ requestHeaderSchema: de,
1650
1655
  requestPathParamsSchema: ma,
1651
- pathResolver: ({ project_id: e }) => `${ue()}/${e}`,
1652
- successResponseBodySchema: de
1656
+ pathResolver: ({ project_id: e }) => `${me()}/${e}`,
1657
+ successResponseBodySchema: ue
1653
1658
  }), ba = qe({
1654
1659
  description: "Update a project",
1655
- requestHeaderSchema: le,
1660
+ requestHeaderSchema: de,
1656
1661
  method: "put",
1657
1662
  requestPathParamsSchema: fa,
1658
- pathResolver: ({ project_id: e }) => `${ue()}/${e}`,
1663
+ pathResolver: ({ project_id: e }) => `${me()}/${e}`,
1659
1664
  requestBodySchema: _a,
1660
- successResponseBodySchema: de
1665
+ successResponseBodySchema: ue
1661
1666
  });
1662
1667
  function Wa(e, t, n = {}) {
1663
1668
  return Rt({
@@ -1722,17 +1727,17 @@ export {
1722
1727
  qt as FREE_PLAN_ID,
1723
1728
  A as HeaderBuilder,
1724
1729
  Ha as JwtAuthHeaderBuilderMiddleware,
1725
- re as NavigationPanel,
1730
+ oe as NavigationPanel,
1726
1731
  qa as NavigationTabs,
1727
1732
  ir as PRO_PLAN_IDS,
1728
1733
  Ba as PublicApiHeaderBuilderMiddleware,
1729
1734
  ar as START_PLAN_IDS,
1730
1735
  P as Sidebar,
1731
1736
  I as SidebarTaskLanguageStatuses,
1732
- xe as SidebarTaskStatuses,
1733
- te as SidebarTaskTypeOptions,
1737
+ Oe as SidebarTaskStatuses,
1738
+ ne as SidebarTaskTypeOptions,
1734
1739
  or as TRIAL_PLAN_ID,
1735
- Le as UnauthorizedError,
1740
+ ae as UnauthorizedError,
1736
1741
  ur as convertNewLineToBreakTag,
1737
1742
  Gt as createHeaderBuilderMiddleware,
1738
1743
  ga as createProject,
@@ -1759,7 +1764,7 @@ export {
1759
1764
  ha as listProjects,
1760
1765
  Xa as listProjectsKey,
1761
1766
  _r as makeUrlClickable,
1762
- ie as parseJwtTokenPayload,
1767
+ V as parseJwtTokenPayload,
1763
1768
  Fa as refreshExpiredToken,
1764
1769
  Yo as retrieveContributor,
1765
1770
  Vo as retrieveContributorKeys,
@@ -1,6 +1,6 @@
1
1
  import { JwtToken } from '../../../publicApi/types/userTokenTypes';
2
2
  import { Wretch } from 'wretch';
3
- export declare function refreshExpiredToken<T>(authenticationProvider: Wretch<T>, getTeamId: () => Promise<string>): ({ refreshToken }: JwtToken) => Promise<{
3
+ export declare function refreshExpiredToken<T>(authenticationProvider: Wretch<T>): ({ accessToken, refreshToken }: JwtToken) => Promise<{
4
4
  accessToken: string;
5
5
  refreshToken: string;
6
6
  } | null>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lokalise/harmony",
3
- "version": "1.17.2",
3
+ "version": "1.17.3",
4
4
  "author": {
5
5
  "name": "Lokalise",
6
6
  "url": "https://lokalise.com/"