@lokalise/harmony 1.18.0 → 1.18.2

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.
Files changed (25) hide show
  1. package/README.md +1 -1
  2. package/dist/harmony.cjs +1 -1
  3. package/dist/harmony.mjs +493 -471
  4. package/dist/types/src/components/Sidebar/Sidebar.d.ts +1 -1
  5. package/dist/types/src/components/Sidebar/Sidebar.test.d.ts +1 -0
  6. package/dist/types/src/components/Sidebar/Widgets/Avatar/Avatar.d.ts +1 -1
  7. package/dist/types/src/components/Sidebar/Widgets/Tasks/TaskOverview/TaskOverview.d.ts +1 -1
  8. package/dist/types/src/components/Sidebar/Widgets/Tasks/types.d.ts +1 -1
  9. package/dist/types/src/components/Sidebar/Widgets/Tasks/utils/content.test.d.ts +1 -0
  10. package/dist/types/src/components/Sidebar/Widgets/Tasks/utils/taskEvents.test.d.ts +1 -0
  11. package/dist/types/src/features/auth/core/headers/createHeaderBuilderMiddleware.d.ts +3 -3
  12. package/dist/types/src/features/auth/core/headers/headerBuilder.d.ts +13 -13
  13. package/dist/types/src/features/auth/core/middleware/jwtAuthHeaderBuilderMiddleware.d.ts +1 -1
  14. package/dist/types/src/features/publicApi/contributors.d.ts +0 -6
  15. package/dist/types/src/features/publicApi/languages.d.ts +0 -12
  16. package/dist/types/src/features/publicApi/projects.d.ts +0 -24
  17. package/dist/types/src/features/publicApi/teamUsers.d.ts +0 -6
  18. package/dist/types/src/features/publicApi/types/contributorTypes.d.ts +0 -6
  19. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +0 -6
  20. package/dist/types/src/features/publicApi/types/sharedTypes.d.ts +0 -18
  21. package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +0 -6
  22. package/dist/types/src/features/publicApi/types/userTokenTypes.d.ts +0 -6
  23. package/dist/types/src/features/publicApi/userToken.d.ts +0 -6
  24. package/dist/types/tests/mocks/sidebar/tasks.d.ts +3 -1
  25. package/package.json +1 -1
package/README.md CHANGED
@@ -80,7 +80,7 @@ import { Client } from 'undici'
80
80
  const result: TeamUserResponse = async (client: Client) => {
81
81
  return sendByGetRoute(client, getTeamUser, {
82
82
  pathParams: { teamId, userId },
83
- headers: { 'Authorization': `Bearer token` }
83
+ headers: { 'authorization': `Bearer token` }
84
84
  });
85
85
  }
86
86
  ```
package/dist/harmony.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var rn=Object.defineProperty;var sn=(e,t,n)=>t in e?rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ee=(e,t,n)=>sn(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),p=require("react"),d=require("@lokalise/louis"),se=require("date-fns"),an=require("date-fns-tz"),r=require("zod"),Ae=require("@lokalise/universal-ts-utils/api-contracts/apiContracts"),k=require("@lokalise/frontend-http-client"),I=require("@tanstack/react-query"),q=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 G=on(p),ne={Completed:"completed",InProgress:"in_progress",Created:"created",Queued:"queued"},z={...ne,NotStarted:"not_started"},F={translation:"translation",review:"review",lqa_by_ai:"lqa_by_ai",automatic_translation:"automatic_translation"};var te=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Tt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var me,Fe;function Ie(){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 ge,Ge;function cn(){if(Ge)return ge;Ge=1;var e=typeof te=="object"&&te&&te.Object===Object&&te;return ge=e,ge}var fe,Ke;function vt(){if(Ke)return fe;Ke=1;var e=cn(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return fe=n,fe}var _e,Qe;function ln(){if(Qe)return _e;Qe=1;var e=vt(),t=function(){return e.Date.now()};return _e=t,_e}var he,Je;function un(){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 dn(){if(We)return pe;We=1;var e=un(),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=vt(),t=e.Symbol;return be=t,be}var Te,Ye;function mn(){if(Ye)return Te;Ye=1;var e=jt(),t=Object.prototype,n=t.hasOwnProperty,s=t.toString,o=e?e.toStringTag:void 0;function i(c){var l=n.call(c,o),m=c[o];try{c[o]=void 0;var u=!0}catch{}var g=s.call(c);return u&&(l?c[o]=m:delete c[o]),g}return Te=i,Te}var ve,Ve;function gn(){if(Ve)return ve;Ve=1;var e=Object.prototype,t=e.toString;function n(s){return t.call(s)}return ve=n,ve}var je,Ze;function fn(){if(Ze)return je;Ze=1;var e=jt(),t=mn(),n=gn(),s="[object Null]",o="[object Undefined]",i=e?e.toStringTag:void 0;function c(l){return l==null?l===void 0?o:s:i&&i in Object(l)?t(l):n(l)}return je=c,je}var ye,et;function _n(){if(et)return ye;et=1;function e(t){return t!=null&&typeof t=="object"}return ye=e,ye}var Se,tt;function hn(){if(tt)return Se;tt=1;var e=fn(),t=_n(),n="[object Symbol]";function s(o){return typeof o=="symbol"||t(o)&&e(o)==n}return Se=s,Se}var xe,nt;function pn(){if(nt)return xe;nt=1;var e=dn(),t=Ie(),n=hn(),s=NaN,o=/^[-+]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 g=typeof u.valueOf=="function"?u.valueOf():u;u=t(g)?g+"":g}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):o.test(u)?s:+u}return xe=m,xe}var Ee,rt;function yt(){if(rt)return Ee;rt=1;var e=Ie(),t=ln(),n=pn(),s="Expected a function",o=Math.max,i=Math.min;function c(l,m,u){var g,_,j,y,f,x,T=0,h=!1,b=!1,v=!0;if(typeof l!="function")throw new TypeError(s);m=n(m)||0,e(u)&&(h=!!u.leading,b="maxWait"in u,j=b?o(n(u.maxWait)||0,m):j,v="trailing"in u?!!u.trailing:v);function P(S){var N=g,D=_;return g=_=void 0,T=S,y=l.apply(D,N),y}function E(S){return T=S,f=setTimeout(Z,m),h?P(S):y}function V(S){var N=S-x,D=S-T,$e=m-N;return b?i($e,j-D):$e}function He(S){var N=S-x,D=S-T;return x===void 0||N>=m||N<0||b&&D>=j}function Z(){var S=t();if(He(S))return De(S);f=setTimeout(Z,V(S))}function De(S){return f=void 0,v&&g?P(S):(g=_=void 0,y)}function tn(){f!==void 0&&clearTimeout(f),T=0,g=x=_=f=void 0}function nn(){return f===void 0?y:De(t())}function de(){var S=t(),N=He(S);if(g=arguments,_=this,x=S,N){if(f===void 0)return E(x);if(b)return clearTimeout(f),f=setTimeout(Z,m),P(x)}return f===void 0&&(f=setTimeout(Z,m)),y}return de.cancel=tn,de.flush=nn,de}return Ee=c,Ee}var bn=yt();const Tn=Tt(bn);var Pe,st;function vn(){if(st)return Pe;st=1;var e=yt(),t=Ie(),n="Expected a function";function s(o,i,c){var l=!0,m=!0;if(typeof o!="function")throw new TypeError(n);return t(c)&&(l="leading"in c?!!c.leading:l,m="trailing"in c?!!c.trailing:m),e(o,i,{leading:l,maxWait:i,trailing:m})}return Pe=s,Pe}var jn=vn();const yn=Tt(jn),Sn=(e,t,n,s)=>{switch(t){case"debounce":return Tn(e,n,s);case"throttle":return yn(e,n,s);default:return e}},xn=e=>{const t=G.useRef(e);return G.useEffect(()=>{t.current=e}),G.useMemo(()=>(...n)=>{var s;return(s=t.current)===null||s===void 0?void 0:s.call(t,...n)},[])},En=e=>{const[t,n]=G.useState((e==null?void 0:e.current)||null);return e&&setTimeout(()=>{e.current!==t&&n(e.current)},0),{refProxy:G.useMemo(()=>new Proxy(o=>{o!==t&&n(o)},{get(o,i){return i==="current"?t:o[i]},set(o,i,c){return i==="current"?n(c):o[i]=c,!0}}),[t]),refElement:t,setRefElement:n}},Pn=(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:o=!0,handleHeight:i=!0,targetRef:c,observerOptions:l,onResize:m}={}){const u=p.useRef(e),g=xn(m),[_,j]=p.useState({width:void 0,height:void 0}),{refProxy:y,refElement:f}=En(c),{box:x}=l||{},T=p.useCallback(b=>{if(!o&&!i)return;if(u.current){u.current=!1;return}const v=(P,E)=>o&&P.width!==E.width||i&&P.height!==E.height;b.forEach(P=>{const E=Pn(P,x);j(V=>v(V,E)?(g==null||g({width:E.width,height:E.height,entry:P}),E):V)})},[o,i,u,x]),h=p.useCallback(Sn(T,t,n,s),[T,t,n,s]);return p.useEffect(()=>{let b;return f?(b=new window.ResizeObserver(h),b.observe(f,l)):(_.width||_.height)&&(g==null||g({width:null,height:null,entry:null}),j({width:void 0,height:void 0})),()=>{var v,P,E;(v=b==null?void 0:b.disconnect)===null||v===void 0||v.call(b),(E=(P=h).cancel)===null||E===void 0||E.call(P)}},[h,f]),Object.assign({ref:y},_)}function St(e){var t,n,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=St(e[t]))&&(s&&(s+=" "),s+=n)}else for(n in e)e[n]&&(s&&(s+=" "),s+=n);return s}function A(){for(var e,t,n=0,s="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=St(e))&&(s&&(s+=" "),s+=t);return s}const zn="_headerContainer_1cubo_1",wn="_navigationTabList_1cubo_8",kn="_navigationTab_1cubo_8",Rn="_headerContent_1cubo_34",An="_staticEnabled_1cubo_50",B={headerContainer:zn,navigationTabList:wn,navigationTab:kn,headerContent:Rn,staticEnabled:An},In=77,K=({sticky:e,children:t})=>{const{ref:n,height:s}=Cn({refreshMode:"debounce",refreshRate:0}),[o,i]=p.useState(!1),c=()=>o?!e:!0;p.useEffect(()=>{const m=()=>{i(window.scrollY>0)};return window.addEventListener("scroll",m),()=>window.removeEventListener("scroll",m)},[]);const l=`${s||In}px`;return a.jsx("div",{style:{minHeight:l},children:a.jsx("div",{children:a.jsxs("div",{ref:n,className:A(B.headerContent,{[B.staticEnabled]:c()}),children:[a.jsx(K.Header,{}),a.jsx(K.Tabs,{}),t]})})})};K.Header=({children:e})=>a.jsx("div",{className:B.headerContainer,children:e});K.Tabs=({children:e})=>a.jsx("div",{className:"flex justify-between gap-2 nowrap",children:e});const Nn="_sidebarContainer_bmdti_1",Ln={sidebarContainer:Nn},On="_logoLink_1baxb_1",Mn={logoLink:On},Un=({src:e,href:t="/",ariaLabel:n="Home",alt:s="Lokalise"})=>a.jsx("a",{className:Mn.logoLink,href:t,"aria-label":n,children:a.jsx("img",{src:e,alt:s})}),Bn="_link_18vhx_1",qn="_active_18vhx_18",at={link:Bn,active:qn},Hn=({label:e,to:t,icon:n})=>a.jsx(d.Tooltip,{placement:"right",tooltip:e,children:a.jsx(d.Link,{className:A(at.link,{[at.active]:window.location.pathname.startsWith(t)}),href:t,children:a.jsx(n,{size:"25px"})})}),Dn="_dropdownButton_13l5r_1",$n="_dropdownButtonActive_13l5r_18",ot={dropdownButton:Dn,dropdownButtonActive:$n},Fn=({children:e,icon:t})=>a.jsx(d.Menu,{menuButton:({opened:n})=>a.jsx(d.Tooltip,{placement:"right",tooltip:"Help",children:a.jsx("button",{type:"button",className:A(ot.dropdownButton,{[ot.dropdownButtonActive]:n}),children:a.jsx(t,{size:"25px"})})}),children:a.jsx(d.MenuList,{placement:"right-start",children:e})}),Gn="_iconContainer_nz34m_1",Kn={iconContainer:Gn},xt=({className:e=""})=>a.jsx("div",{"aria-label":"Upgrade Icon",className:A(Kn.iconContainer,"flex-row","items-center","justify-center",e),children:a.jsx(d.CaretUpIcon,{})}),Qn="_menuContainer_ywskt_5",Jn="_profileButton_ywskt_15",Wn="_profileImage_ywskt_28",Xn="_profileImageHighlight_ywskt_36",Yn="_profileImageUpgradeIcon_ywskt_40",Vn="_userIconWrapper_ywskt_46",L={menuContainer:Qn,profileButton:Jn,profileImage:Wn,profileImageHighlight:Xn,profileImageUpgradeIcon:Yn,userIconWrapper:Vn},Et=p.createContext({}),W=()=>p.useContext(Et),Zn=({children:e})=>{const{currentTeam:t,otherTeams:n,showUpgradeCta:s,showBillingButton:o,allowTeamCreation:i,isProviderAlpha:c,canAccessTeamSettings:l,isEndOfTrialActive:m,isTeamSuspended:u,isFullyAuthenticated:g}=W();return a.jsx(d.Menu,{menuButton:()=>a.jsxs("button",{className:L.profileButton,"aria-label":"Profile menu",type:"button",children:[t!=null&&t.logoUrl?a.jsx("img",{src:t.logoUrl,className:A(L.profileImage,{[L.profileImageHighlight]:s}),alt:"Team Logo"}):a.jsx("div",{className:A(L.userIconWrapper,"flex-row","align-center","items-center",{[L.profileImageHighlight]:s}),children:a.jsx(d.UserIcon,{size:"25px"})}),s&&a.jsx(xt,{className:L.profileImageUpgradeIcon})]}),children:a.jsx(d.MenuList,{placement:"right-end",className:L.menuContainer,children:e({allowTeamCreation:i,otherTeams:n,canAccessTeamSettings:l,isEndOfTrialActive:m,isTeamSuspended:u,showBillingButton:o,isProviderAlpha:c,isFullyAuthenticated:g})})})},Ne=0,Pt=9999,Ct=[150,151,250,251],zt=[152,153,252,253],wt=[154,155,157,158,254,255,258,354,355,358],kt=[156,159,160,256,259,260],Le=9998,ae=e=>e===Ne,Oe=e=>e===Pt,er=e=>Ct.includes(e),tr=e=>zt.includes(e),nr=e=>wt.includes(e),rr=e=>kt.includes(e),sr=e=>e>Ne&&e<Le,ar=e=>e===Le,or=/\n/,it=(e,t,n)=>e.split(t).flatMap((s,o)=>o!==0?[p.cloneElement(n,{key:Math.random().toString(32).slice(0,10)}),s]:s),ir=(e,t,n)=>typeof e=="string"?it(e,t,n):e.flatMap(s=>typeof s=="string"?it(s,t,n):s),Rt=e=>ir(e,or,a.jsx("br",{})),cr=/(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi,lr=e=>e.match(cr)??[],ct=(e,t,n)=>{const s=e.split(t);if(s.length===1)return e;const o=[];return s[0]!==""&&o.push(s[0]),s.shift(),s[s.length-1]===""&&s.pop(),o.push(a.jsx("a",{href:t,target:"_blank",rel:"noreferrer noopener",children:t},t+n)),o.push(s.join(t)),o.filter(i=>i!=="")},lt=e=>{const t=lr(e);return t!=null&&t.length?t.reduce((n,s,o)=>typeof n=="string"?ct(n,s,o):n.flatMap(i=>typeof i=="string"?ct(i,s,o):i),e):e},At=e=>typeof e=="string"?lt(e):e.flatMap(t=>typeof t=="string"?lt(t):t,e),It=(e,t="PP")=>se.format(e,t),ur=(e,t,n="PP")=>se.format(an.toZonedTime(e,t),n),oe=e=>{p.useEffect(e,[])},ut={biller:"biller",owner:"owner"},dt=[ut.biller,ut.owner],dr=({children:e,config:t})=>{const{teams:n,currentTeamId:s,planId:o,isEndOfTrialActive:i,isFullyAuthenticated:c,userTeamRole:l}=t,m=n.find(h=>h.id===s),u=n.filter(h=>h.id!==s),g=dt.includes(l),_=dt.includes(l),j=ae(o)||Oe(o),T={...t,currentTeam:m,otherTeams:u,canChangeBilling:g,canAccessTeamSettings:_,isOnFreeOrTrialPlan:j,showUpgradeCta:c&&j&&g,showBillingButton:c&&_&&g,allowTeamCreation:c&&!i};return a.jsx(Et.Provider,{value:T,children:e})},mr=({config:e,children:t})=>a.jsx(dr,{config:e,children:a.jsx(Zn,{children:t})}),gr="_container_q5pot_1",fr="_profileEmail_q5pot_5",mt={container:gr,profileEmail:fr},_r=({href:e,onClick:t,userEmail:n,hideBottomDivider:s})=>{const{isEndOfTrialActive:o,isTeamSuspended:i}=W();return o||i?null:a.jsxs(a.Fragment,{children:[a.jsx(d.MenuItem,{href:e,onClick:()=>{t==null||t()},children:a.jsxs("div",{className:`flex-col ${mt.container}`,children:[a.jsx("span",{children:"Profile Settings"}),a.jsx("span",{className:mt.profileEmail,children:n})]})}),!s&&a.jsx(d.MenuDivider,{})]})},hr="_wrapper_15d85_1",pr="_profileImage_15d85_14",br="_teamName_15d85_22",Tr="_planLabel_15d85_29",vr="_membership_15d85_38",jr="_defaultProfileImage_15d85_44",M={wrapper:hr,profileImage:pr,teamName:br,planLabel:Tr,membership:vr,defaultProfileImage:jr},Nt=({team:e,onClick:t,hidePlanLabel:n})=>{const{currentTeam:s,planId:o}=W(),i=e||s;if(!i)return null;const c=ae(o)?"Free":Oe(o)?"Trial":void 0,l=t?d.MenuItem:"div";return a.jsxs(l,{className:`flex-row gap-2 flex-nowrap items-center ${M.wrapper}`,...t&&{onClick:()=>t(i)},children:[i.logoUrl?a.jsx("img",{className:M.profileImage,src:i.logoUrl,alt:"Team Logo"}):a.jsx("span",{className:`flex-row justify-center items-center ${M.defaultProfileImage}`,children:a.jsx(d.UserIcon,{size:"25px"})}),a.jsxs("div",{className:"flex-col items-start",children:[a.jsxs("div",{className:"flex-row items-center flex-nowrap gap-2",children:[a.jsx("span",{title:i.name,className:M.teamName,children:i.name}),c&&!n&&a.jsx("span",{className:`flex-row justify-center items-center ${M.planLabel}`,children:c})]}),a.jsx("span",{className:M.membership,children:i.role})]})]})},yr="_teamsContainer_1t68g_1",Sr={teamsContainer:yr},xr=({onSwitchTeam:e})=>{const{otherTeams:t}=W();return t.length===0?null:a.jsx("div",{className:`flex-col items-stretch ${Sr.teamsContainer}`,children:t.map(n=>a.jsx(Nt,{team:n,onClick:e,hidePlanLabel:!0},n.id))})},Er="_container_1u995_1",Pr="_planCta_1u995_15",Cr="_upgradeIconWrapper_1u995_19",Ce={container:Er,planCta:Pr,upgradeIconWrapper:Cr},zr=({upgradeOptionHref:e})=>{const{planId:t,trialDaysLeft:n,showUpgradeCta:s}=W();if(!s)return null;const c=ae(t)?"Your team is currently on the Free plan":`Free trial ends in ${n} ${n===1?"day":"days"}`;return a.jsxs(d.MenuItem,{href:e,className:`flex-col gap-1 items-start ${Ce.container}`,children:[a.jsx("span",{className:Ce.planCta,children:c}),a.jsxs("div",{className:`flex-row items-center gap-1 ${Ce.upgradeIconWrapper}`,children:[a.jsx(xt,{}),a.jsx("span",{children:"See upgrade options"})]})]})},wr=Math.min,kr=Math.max;function gt(e,t,n){return kr(e,wr(t,n))}function Lt(e,t){return typeof e=="function"?e(t):e}function Ot(e){return e.split("-")[0]}function Rr(e){return e==="x"?"y":"x"}function Ar(e){return["top","bottom"].includes(Ot(e))?"y":"x"}function Ir(e){return{top:0,right:0,bottom:0,left:0,...e}}function Nr(e){return typeof e!="number"?Ir(e):{top:e,right:e,bottom:e,left:e}}function ft(e){const{x:t,y:n,width:s,height:o}=e;return{width:s,height:o,top:n,left:t,right:t+s,bottom:n+o,x:t,y:n}}async function Lr(e,t){var n;t===void 0&&(t={});const{x:s,y:o,platform:i,rects:c,elements:l,strategy:m}=e,{boundary:u="clippingAncestors",rootBoundary:g="viewport",elementContext:_="floating",altBoundary:j=!1,padding:y=0}=Lt(t,e),f=Nr(y),T=l[j?_==="floating"?"reference":"floating":_],h=ft(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(T)))==null||n?T:T.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(l.floating)),boundary:u,rootBoundary:g,strategy:m})),b=_==="floating"?{x:s,y:o,width:c.floating.width,height:c.floating.height}:c.reference,v=await(i.getOffsetParent==null?void 0:i.getOffsetParent(l.floating)),P=await(i.isElement==null?void 0:i.isElement(v))?await(i.getScale==null?void 0:i.getScale(v))||{x:1,y:1}:{x:1,y:1},E=ft(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:b,offsetParent:v,strategy:m}):b);return{top:(h.top-E.top+f.top)/P.y,bottom:(E.bottom-h.bottom+f.bottom)/P.y,left:(h.left-E.left+f.left)/P.x,right:(E.right-h.right+f.right)/P.x}}const Or=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:s,placement:o}=t,{mainAxis:i=!0,crossAxis:c=!1,limiter:l={fn:T=>{let{x:h,y:b}=T;return{x:h,y:b}}},...m}=Lt(e,t),u={x:n,y:s},g=await Lr(t,m),_=Ar(Ot(o)),j=Rr(_);let y=u[j],f=u[_];if(i){const T=j==="y"?"top":"left",h=j==="y"?"bottom":"right",b=y+g[T],v=y-g[h];y=gt(b,y,v)}if(c){const T=_==="y"?"top":"left",h=_==="y"?"bottom":"right",b=f+g[T],v=f-g[h];f=gt(b,f,v)}const x=l.fn({...t,[j]:y,[_]:f});return{...x,data:{x:x.x-n,y:x.y-s,enabled:{[j]:i,[_]:c}}}}}},Mr="_navItem_1dudv_1",Ur="_activeNavItem_1dudv_18",Br="_badge_1dudv_23",ze={navItem:Mr,activeNavItem:Ur,badge:Br},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}},Hr=(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"-"}},Dr=e=>{const t=e.progress??0;return e.status===z.Created&&t>0?z.InProgress:e.status},$r={[F.translation]:"#0891B2",[F.review]:"#16922D",[F.lqa_by_ai]:"#8B5CF6",[F.automatic_translation]:"#60A5FA"},Fr=e=>{const t=[z.InProgress,z.Created,z.Completed];return e.filter(n=>n.status!=="queued").map(n=>({...n,status:Dr(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[ne.InProgress,ne.Created],Gr=(e,t)=>_t(e.status)&&_t(t.status)&&(t.progress??0)>=100,Kr=({task:e,language:t})=>{const[n,s]=p.useState(!1),[o,i]=p.useState(!1),{onLanguageCompleteConfirm:c,fetchTasks:l}=X(),m=()=>{i(!1)};return a.jsxs(a.Fragment,{children:[o&&a.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:a.jsxs(d.Alert,{status:"info",children:["Make sure you are finished and ",a.jsx("strong",{children:"mark it as done"})," to notify your team admin. This action cannot be undone, and the language might no longer be available for you to edit."]})}),a.jsx(d.Link,{disabled:n,onClick:()=>{i(!0)},children:"Mark as done"})]})},Qr="_langRowCompleted_vpgdi_1",Jr="_langCellSecondary_vpgdi_15",Wr="_langStatus_vpgdi_20",we={langRowCompleted:Qr,langCellSecondary:Jr,langStatus:Wr},Xr=({language:e,task:t})=>{const{getProjectUrl:n,langNameOnClick:s,langProgressOnClick:o}=X(),i=e.progress??0,c=e.status===z.Completed,l=Gr(t,e);return a.jsxs("tr",{className:A({[we.langRowCompleted]:l}),children:[a.jsx("td",{children:a.jsx(d.Tooltip,{tooltip:"Open in bilingual view",children:a.jsx(d.Link,{href:n({task:t,language:e}),onClick:()=>{s==null||s({task:t,language:e})},children:e.name})})}),a.jsx("td",{className:we.langCellSecondary,children:l||c?"0":a.jsx(d.Tooltip,{tooltip:"Open uncompleted items",children:a.jsx(d.Link,{href:n({task:t,language:e,taskUncompleted:!0}),onClick:()=>{o==null||o({task:t,language:e})},children:e.base_words_total-e.base_words_done})})}),a.jsxs("td",{children:[i,"%"]}),a.jsx("td",{children:l?a.jsx(Kr,{task:t,language:e}):a.jsx("span",{className:`${we.langStatus} flex-row items-center justify-start`,"data-status":e.status,children:Hr(e.status,i)})})]})},Yr="_taskContainer_mt2or_1",Vr="_taskTitle_mt2or_21",Zr="_taskDescription_mt2or_28",es="_languagesTable_mt2or_35",ts="_metadata_mt2or_87",U={taskContainer:Yr,taskTitle:Vr,taskDescription:Zr,languagesTable:es,metadata:ts},ns=({task:e})=>{const{tasks:t,getProjectUrl:n,taskTitleOnClick:s}=X(),o=Fr(e.langs),i=c=>{c!==void 0&&window.open(`/style-guide/${e.team_id}/download/${c.id}/link`,"_blank","noopener,noreferrer")};return t?a.jsxs("div",{className:U.taskContainer,children:[a.jsxs("div",{className:"flex-row gap-1 items-center",children:[a.jsxs("div",{className:"flex-row gap-1 items-start flex-wrap",children:[a.jsx(d.Tag,{color:$r[e.task_type],variant:"solid",children:e.task_type.toLocaleUpperCase()}),e.due_date&&a.jsxs(d.Tag,{color:"#EAB308",children:["DUE ",It(se.parseISO(e.due_date),"yyyy-MM-dd")]})]}),e.style_guides.length>0&&a.jsx("div",{className:"flex-row",children:e.style_guides.length===1?a.jsx(d.Button,{size:"sm",variant:"secondary",onClick:()=>i(e.style_guides[0]),children:"Download style guide"}):a.jsx(d.Menu,{menuButton:a.jsx(d.Button,{variant:"secondary",size:"sm",children:"Download style guide"}),children:a.jsx(d.MenuList,{children:e.style_guides.map(c=>a.jsx(d.MenuItem,{onClick:()=>i(c),children:qr(c.name).name},c.id))})})})]}),a.jsx("h4",{className:U.taskTitle,children:a.jsx(d.Link,{href:n({task:e,view:"multi"}),onClick:()=>{s==null||s({task:e})},children:e.title})}),e.description&&a.jsx("div",{className:U.taskDescription,children:Rt(At(e.description))}),a.jsxs("table",{className:U.languagesTable,children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:"Languages"}),a.jsx("th",{children:"Words to do"}),a.jsx("th",{children:"Progress"}),a.jsx("th",{children:"Status"})]})}),a.jsx("tbody",{children:o.map(c=>a.jsx(Xr,{language:c,task:e},c.lang_id))})]}),a.jsxs("div",{className:U.metadata,children:[a.jsxs("span",{children:["Source: ",e.source_lang_name]}),a.jsx("span",{children:e.created_by_fullname}),a.jsxs("span",{children:["In ",e.project_name,e.master_branching_enabled==="1"&&a.jsx("div",{className:U.tag,children:e.branch_name?e.branch_name:"master"})]})]})]}):null},C={TaskCompleted:"task_completed",TaskClosed:"task_closed",Refresh:"refresh",ShowDialog:"show_dialog"},rs="_loadingContainer_19d6m_1",ss="_noTasksContainer_19d6m_7",as="_noTasksHeading_19d6m_14",os="_noTasksText_19d6m_18",is="_tasksContainer_19d6m_23",$={loadingContainer:rs,noTasksContainer:ss,noTasksHeading:as,noTasksText:os,tasksContainer:is},cs=()=>{const{tasks:e,onTasksWidgetOpen:t,loadingTasks:n,fetchTasks:s}=X();return oe(()=>(s(),t==null||t({tasks:e}),document.addEventListener(C.TaskCompleted,s),document.addEventListener(C.TaskClosed,s),document.addEventListener(C.Refresh,s),()=>{document.removeEventListener(C.TaskCompleted,s),document.removeEventListener(C.TaskClosed,s),document.removeEventListener(C.Refresh,s)})),n?a.jsx("div",{"data-testid":"sidebar-tasks-loading-popover",className:$.loadingContainer,children:a.jsx(d.Loading,{})}):e.length===0?a.jsxs("div",{"data-testid":"sidebar-no-tasks-popover",className:$.noTasksContainer,children:[a.jsx("h3",{className:$.noTasksHeading,children:"No tasks"}),a.jsxs("div",{className:$.noTasksText,children:["Your incoming tasks will appear here.",a.jsx("br",{}),a.jsx(d.Link,{href:"https://docs.lokalise.com/translation-workflow/tasks",target:"_new",children:"Learn more"})]})]}):a.jsx("div",{"data-testid":"sidebar-tasks-popover",className:$.tasksContainer,children:e.map(o=>a.jsx(ns,{task:o},o.id))})},ls=({children:e,config:t})=>{const[n,s]=p.useState([]),[o,i]=p.useState(!0),[c,l]=p.useState(0),{getProjectUrl:m,onLanguageCompleteConfirm:u,onTasksWidgetOpen:g,langNameOnClick:_,langProgressOnClick:j,taskTitleOnClick:y}=t,{getTasks:f,getTasksCount:x}=t,T=async()=>{i(!0);const v=await f();s(v),i(!1)},h=async()=>{const v=await x();l(v)};oe(()=>(h(),document.addEventListener(C.TaskCompleted,h),document.addEventListener(C.TaskClosed,h),document.addEventListener(C.Refresh,h),()=>{document.removeEventListener(C.TaskCompleted,h),document.removeEventListener(C.TaskClosed,h),document.removeEventListener(C.Refresh,h)}));const b={fetchTasks:T,tasks:n,tasksCount:c,loadingTasks:o,getProjectUrl:m,onLanguageCompleteConfirm:u,onTasksWidgetOpen:g,langNameOnClick:_,langProgressOnClick:j,taskTitleOnClick:y};return a.jsx(Mt.Provider,{value:b,children:e})},us=e=>function(n){const{config:s,...o}=n;return a.jsx(ls,{config:s,children:a.jsx(e,{...o})})},ds=us(()=>{const[e,t]=p.useState(!1),{tasksCount:n}=X();return oe(()=>{const s=()=>{t(!0)};return document.addEventListener(C.ShowDialog,s),()=>{document.removeEventListener(C.ShowDialog,s)}}),a.jsx(d.Tooltip,{tooltip:"Tasks",placement:"right",children:a.jsx(d.Popover,{content:a.jsx(cs,{}),placement:"right",open:e,onOpenChange:t,middlewares:[Or({padding:{top:32,bottom:32}})],children:s=>a.jsxs(d.Button,{type:"button","data-testid":"sidebar-tasks-widget-button","aria-label":"Tasks",className:A(ze.navItem,{[ze.activeNavItem]:s}),children:[a.jsx(d.JobIcon,{size:"25px"}),n>0&&a.jsx("div",{className:ze.badge,"aria-label":`${n} items requiring attention`,children:n>9?"9+":n})]})})})}),w=({children:e,...t})=>a.jsx("nav",{...t,className:Ln.sidebarContainer,children:e}),ms=({children:e})=>a.jsx("div",{children:e});w.Top=ms;const gs=({children:e})=>a.jsx("div",{children:e});w.Bottom=gs;w.Avatar=Un;w.IconLink=Hn;w.Menu=Fn;w.ProfileMenu=mr;w.TeamSwitch=xr;w.TeamMenuItem=Nt;w.UpgradeMenuItem=zr;w.ProfileSettingsMenuItem=_r;w.Tasks=ds;const fs="_breadcrumbsItem_1hm6a_1",_s="_breadcrumbs_1hm6a_1",ht={breadcrumbsItem:fs,breadcrumbs:_s},hs=({items:e})=>a.jsx("nav",{"aria-label":"breadcrumb",className:ht.breadcrumbs,children:e.map((t,n)=>a.jsxs(p.Fragment,{children:[a.jsx(d.Link,{className:ht.breadcrumbsItem,href:t.link,rel:"noreferrer",children:t.name}),n<e.length-1&&a.jsx("span",{children:" — "})]},`${t.link}-${t.name}`))}),ps=({items:e})=>a.jsx(a.Fragment,{children:e.map((t,n)=>a.jsxs(p.Fragment,{children:[!!n&&t.some(s=>s.visible)&&a.jsx(d.MenuDivider,{}),t.filter(({visible:s})=>s).map(({link:s,label:o,onClick:i})=>a.jsx(d.MenuItem,{href:s||"#","aria-label":o,onClick:i,children:o},o))]},t[0].label))}),bs="_badge_1pc1v_1",Ts="_tag_1pc1v_15",vs="_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21",js="_disabled_1pc1v_57",ys="_projectNavigationItem_1pc1v_61",Ss="_projectNavigationItemDisabled_1pc1v_67",O={badge:bs,tag:Ts,withNavLinkStyle:vs,disabled:js,projectNavigationItem:ys,projectNavigationItemDisabled:Ss},pt=({label:e,badge:t,novel:n})=>a.jsxs("div",{className:"flex gap-1",children:[a.jsxs("div",{children:[a.jsx("span",{children:e}),!!t&&a.jsx("div",{className:O.badge,"aria-label":`${t} items requiring attention`,children:t>9?"9+":t})]}),!!n&&a.jsx(d.Tag,{className:O.tag,children:n})]}),ke=p.forwardRef(({label:e,href:t="",disabled:n=!1,badge:s,onClick:o,novel:i},c)=>a.jsx(d.Tooltip,{tooltip:"You do not have access to this function",show:n,children:a.jsx("div",{className:n?O.projectNavigationItemDisabled:O.projectNavigationItem,children:o||n||!t?a.jsx("button",{type:"button",ref:c,className:A(O.withNavLinkStyle,{[O.disabled]:n}),disabled:n,onClick:o,children:a.jsx(pt,{label:e,badge:s,novel:i})}):a.jsx("a",{href:t,className:O.withNavLinkStyle,children:a.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,Es=e=>e.visible&&(!e.dropdown||xs(e.dropdown)),Ps=({navigation:e,activeItem:t})=>a.jsx("nav",{"aria-label":"Project",children:a.jsx("ul",{className:B.navigationTabList,"aria-orientation":"horizontal",children:e.filter(Es).map(n=>{var s,o,i;return n.dropdown?a.jsx("li",{className:B.navigationTab,"data-testid":n.key,"aria-selected":(s=n.isActive)==null?void 0:s.call(n,t),children:a.jsx(d.Menu,{menuButton:({opened:c})=>a.jsx(ke,{label:n.label,disabled:n.disabled,active:c}),children:a.jsx(d.MenuList,{children:a.jsx(ps,{items:n.dropdown})})})},n.key):a.jsx("li",{className:B.navigationTab,"data-testid":n.key,"aria-selected":(o=n.isActive)==null?void 0:o.call(n,t),children:a.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 R{constructor(t){this.factories=t}static create(t={}){return new R([()=>t])}add(t,n){return new R([...this.factories,()=>({[t]:n})])}and(t){return new R([...this.factories,()=>t])}from(t){return new R([...this.factories,t])}with(t){return t.apply(this)}merge(t){return new R([...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(R.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")]),zs=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 H(e){try{const t=e.split(".")[1],n=atob(t);return zs.parse(JSON.parse(n))}catch{return}}class Q extends Error{constructor(){super(...arguments);ee(this,"name","UnauthorizedError");ee(this,"status",401)}}function ws(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 Q;const{exp:s}=H(n.accessToken)??{exp:0};if(!se.isThisSecond(new Date(s)))return t.add("Authorization",`Bearer ${n.accessToken}`);const o=await e.refreshToken(n);if(!o)throw new Q;return(c=e.onNewTokenIssued)==null||c.call(e,o),t.add("Authorization",`Bearer ${o.accessToken}`)})}const ks=Me(e=>e.and({"x-lokalise-plugin":"true"}));function Ue(){const e=Re(document.cookie,"accessToken"),t=Re(document.cookie,"refreshToken");return!e||!t?null:{accessToken:e,refreshToken:t}}function Bt(){return Re(document.cookie,"csrf_token")??null}function Re(e,t){var n,s;return(s=(n=e.split(";").find(o=>o.trim().startsWith(`${t}=`)))==null?void 0:n.trim())==null?void 0:s.substring(t.length+1)}function Rs(){const e=Ue();if(!e)return;const t=H(e.accessToken);if(t)return{...e,payload:t}}const qt=r.z.union([r.z.object({Authorization:r.z.string()}),r.z.object({authorization:r.z.string()}),r.z.object({AUTHORIZATION:r.z.string()})]),As=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()})]),Is=r.z.union([qt,As]),Ns=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()})]),Y=Is.and(Ns),Ls=r.z.object({accessToken:r.z.string(),refreshToken:r.z.string()}),Os=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()})]),Ms=r.z.union([qt,Os]),ie=Ae.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:Ms,requestBodySchema:r.z.undefined(),isEmptyResponseExpected:!0,successResponseBodySchema:Ls});function Us(e,t,n){return async()=>{const s=t();if(!s)throw new Q;return k.sendByPayloadRoute(e,ie,{pathParams:{teamId:Number(await n())},headers:await R.create().add("x-csrf-token",s).resolve()})}}function Bs(e){return async({accessToken:t,refreshToken:n})=>{const s=H(t);if(!s)throw new Q;return k.sendByPayloadRoute(e,ie,{pathParams:{teamId:s.teamId},headers:await R.create().add("Authorization",`Bearer ${n}`).resolve()})}}const Ht={teamKey:e=>["getUserToken",e]},Dt=(e,t,n)=>I.useQuery({...n,queryFn:async({queryKey:[s,o]})=>k.sendByPayloadRoute(e,ie,{headers:await t.resolve(),pathParams:{teamId:o}})}),re=class re extends CustomEvent{constructor(t){super(re.eventName,{detail:{token:t,payload:H(t.accessToken)}})}};ee(re,"eventName","new-jwt-issued");let J=re;function qs(e,t,n){const s=Bt(),o=Dt(e,t.add("x-csrf-token",s??""),{queryKey:Ht.teamKey(n),enabled:s!==void 0}),i=p.useRef();return p.useEffect(()=>{o.data&&o.data.accessToken!==i.current&&(window.dispatchEvent(new J(o.data)),i.current=o.data.accessToken)},[o.data]),o}function Be(){const[e,t]=p.useState();return p.useEffect(()=>{const n=o=>{t(o.detail.payload)},s=Ue();return t(s?H(s.accessToken):void 0),window.addEventListener(J.eventName,n),()=>{window.removeEventListener(J.eventName,n)}},[]),e}const Hs=Y,Ds=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}),$s=r.z.object({team_id:r.z.number(),team_user:Ds}),$t=q.buildGetRoute({description:"Get the details of a team user",requestHeaderSchema:Hs,requestPathParamsSchema:r.z.object({teamId:r.z.number(),userId:r.z.number()}),pathResolver:({teamId:e,userId:t})=>`/teams/${e}/users/${t}`,successResponseBodySchema:$s}),Ft={teamUserKey:(e,t)=>["GetTeamUsers",e,t]},Gt=(e,t,n)=>I.useQuery({...n,queryFn:async({queryKey:[s,o,i]})=>k.sendByGetRoute(e,$t,{headers:await t.resolve(),pathParams:{teamId:o,userId:i}})});function Fs(e,t){const n=Be();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 Gs=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)])}),Ks=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(Gs),is_admin:r.z.boolean(),is_reviewer:r.z.boolean()}),Qs=r.z.object({project_id:r.z.string(),contributors:r.z.array(Ks)}),Kt=q.buildGetRoute({description:"Get the details of a project contributor",requestHeaderSchema:Y,requestPathParamsSchema:r.z.object({projectId:r.z.string(),contributorId:r.z.number()}),pathResolver:({projectId:e,contributorId:t})=>`/projects/${e}/contributors/${t}`,successResponseBodySchema:Qs}),Qt={projectUserKey:(e,t)=>["RetrieveContributor",e,t]},Jt=(e,t,n)=>I.useQuery({...n,queryFn:async({queryKey:[s,o,i]})=>k.sendByGetRoute(e,Kt,{pathParams:{projectId:o,contributorId:i},headers:await t.resolve()})});function Js(e,t,n){const s=Be();return Jt(e,t,{queryKey:Qt.projectUserKey(n,(s==null?void 0:s.userId)??0),enabled:s!==void 0})}const Ws=r.z.object({lang_iso:r.z.string(),custom_iso:r.z.string().optional()}),Xs=r.z.object({language_id:r.z.number(),language_iso:r.z.string(),progress:r.z.number(),words_to_do:r.z.number()}),Ys=r.z.object({projectId:r.z.string()}),Vs=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())}),Zs=r.z.object({project_id:r.z.string(),project_uuid:r.z.string().uuid(),languages:r.z.array(Vs)}),ea=r.z.object({projectId:r.z.string()}),ta=r.z.object({langs:r.z.array(r.z.object({lang_iso:r.z.string(),base_lang:r.z.boolean()}))}),na=r.z.object({success:r.z.boolean()}),Wt=q.buildGetRoute({description:"List of project languages",requestHeaderSchema:Y,requestPathParamsSchema:Ys,pathResolver:({projectId:e})=>`/projects/${e}/languages`,successResponseBodySchema:Zs}),Xt=q.buildPayloadRoute({description:"Bulk update project languages",requestHeaderSchema:Y,method:"put",requestPathParamsSchema:ea,pathResolver:({projectId:e})=>`/projects/${e}/languages/bulk-update`,requestBodySchema:ta,successResponseBodySchema:na}),ce=Y,qe=r.z.union([r.z.literal("localization_files"),r.z.literal("paged_documents"),r.z.literal("marketing")]),ra=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()}),sa=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()}),aa=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:sa,languages:r.z.array(Xs)}),le=r.z.object({project_id:r.z.string(),uuid:r.z.string().uuid(),project_type:qe,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:ra.optional(),statistics:aa.optional()}),oa=r.z.object({name:r.z.string(),team_id:r.z.string(),base_lang_iso:r.z.string(),languages:r.z.array(Ws),project_type:qe,is_segmentation_enabled:r.z.boolean()}),bt=r.z.union([r.z.literal(0),r.z.literal(1)]),ia=r.z.object({filter_type:qe.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()}),ca=r.z.object({projects:r.z.array(le)}),la=r.z.object({project_id:r.z.string()}),ua=r.z.object({project_id:r.z.string()}),da=r.z.object({name:r.z.string().min(1),description:r.z.string().optional()}),ue=()=>"/projects",Yt=Ae.buildPayloadRoute({description:"Create a new project",requestHeaderSchema:ce,method:"post",pathResolver:ue,requestBodySchema:oa,successResponseBodySchema:le}),Vt=q.buildGetRoute({description:"List all projects",requestHeaderSchema:ce,pathResolver:ue,requestQuerySchema:ia,successResponseBodySchema:ca}),Zt=q.buildGetRoute({description:"Retrieve a project",requestHeaderSchema:ce,requestPathParamsSchema:la,pathResolver:({project_id:e})=>`${ue()}/${e}`,successResponseBodySchema:le}),en=Ae.buildPayloadRoute({description:"Update a project",requestHeaderSchema:ce,method:"put",requestPathParamsSchema:ua,pathResolver:({project_id:e})=>`${ue()}/${e}`,requestBodySchema:da,successResponseBodySchema:le});function ma(e,t,n={}){return I.useMutation({...n,mutationFn:async s=>k.sendByPayloadRoute(e,Yt,{headers:await t.resolve(),body:s})})}const ga={projectIdKey:e=>["listProjectLanguages",e]};function fa(e,t,n){return I.useQuery({...n,queryFn:async({queryKey:[s,o]})=>k.sendByGetRoute(e,Wt,{headers:await t.resolve(),pathParams:{projectId:o}})})}const _a={paramsKey:e=>["listProjects",e]};function ha(e,t,n){return I.useQuery({...n,queryFn:async({queryKey:[s,o]})=>k.sendByGetRoute(e,Vt,{headers:await t.resolve(),queryParams:o})})}const pa={projectIdKey:e=>["retrieveProject",e]};function ba(e,t,n){return I.useQuery({...n,queryFn:async({queryKey:[s,o]})=>k.sendByGetRoute(e,Zt,{headers:await t.resolve(),pathParams:{project_id:o}})})}function Ta(e,t,n,s={}){return I.useMutation({...s,mutationFn:async o=>k.sendByPayloadRoute(e,en,{headers:await t.resolve(),body:o,pathParams:n})})}function va(e,t,n,s={}){return I.useMutation({...s,mutationFn:async o=>k.sendByPayloadRoute(e,Xt,{pathParams:t,headers:await n.resolve(),body:o})})}exports.Breadcrumbs=hs;exports.ENTERPRISE_OPENSOURCE_PLAN_ID=Le;exports.ENTERPRISE_PLAN_IDS=kt;exports.ESSENTIAL_PLAN_IDS=zt;exports.FREE_PLAN_ID=Ne;exports.HeaderBuilder=R;exports.JwtAuthHeaderBuilderMiddleware=ws;exports.NavigationPanel=K;exports.NavigationTabs=Ps;exports.PRO_PLAN_IDS=wt;exports.PublicApiHeaderBuilderMiddleware=ks;exports.START_PLAN_IDS=Ct;exports.Sidebar=w;exports.SidebarTaskLanguageStatuses=z;exports.SidebarTaskStatuses=ne;exports.SidebarTaskTypeOptions=F;exports.TRIAL_PLAN_ID=Pt;exports.UnauthorizedError=Q;exports.bulkUpdateProjectLanguages=Xt;exports.convertNewLineToBreakTag=Rt;exports.createHeaderBuilderMiddleware=Me;exports.createProject=Yt;exports.formatDate=It;exports.formatDateTz=ur;exports.generateTokenFromClassicSession=Us;exports.getAuthenticatedSessionDetailFromRequest=Rs;exports.getCsrfTokenFromCookie=Bt;exports.getJwtTokenFromCookie=Ue;exports.getTeamUser=$t;exports.getTeamUsersQueryKey=Ft;exports.getUserToken=ie;exports.getUserTokenKey=Ht;exports.isEnterpriseOpenSourcePlan=ar;exports.isEnterprisePlan=rr;exports.isEssentialPlan=tr;exports.isFreePlan=ae;exports.isPaidPlan=sr;exports.isProPlan=nr;exports.isStartPlan=er;exports.isTrialPlan=Oe;exports.listProjectLanguages=Wt;exports.listProjectLanguagesKey=ga;exports.listProjects=Vt;exports.listProjectsKey=_a;exports.makeUrlClickable=At;exports.parseJwtTokenPayload=H;exports.refreshExpiredToken=Bs;exports.retrieveContributor=Kt;exports.retrieveContributorKeys=Qt;exports.retrieveProject=Zt;exports.retrieveProjectQueryKey=pa;exports.updateProject=en;exports.useAuthenticatedProjectContributor=Js;exports.useAuthenticatedSessionPayload=Be;exports.useAuthenticatedUser=Fs;exports.useBulkUpdateProjectLanguagesMutation=va;exports.useCreateProjectMutation=ma;exports.useEffectOnce=oe;exports.useGetPromotedClassicSessionJwtQuery=qs;exports.useGetTeamUsersQuery=Gt;exports.useGetUserTokenQuery=Dt;exports.useListProjectLanguagesQuery=fa;exports.useListProjectsQuery=ha;exports.useRetrieveContributorQuery=Jt;exports.useRetrieveProjectQuery=ba;exports.useUpdateProjectMutation=Ta;
1
+ "use strict";var rn=Object.defineProperty;var sn=(e,t,n)=>t in e?rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ee=(e,t,n)=>sn(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),h=require("react"),d=require("@lokalise/louis"),se=require("date-fns"),an=require("date-fns-tz"),r=require("zod"),Ie=require("@lokalise/universal-ts-utils/api-contracts/apiContracts"),k=require("@lokalise/frontend-http-client"),A=require("@tanstack/react-query"),q=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(h),ne={Completed:"completed",InProgress:"in_progress",Created:"created",Queued:"queued"},w={...ne,NotStarted:"not_started"},G={translation:"translation",review:"review",lqa_by_ai:"lqa_by_ai",automatic_translation:"automatic_translation"};var te=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Tt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var me,Ge;function Ae(){if(Ge)return me;Ge=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return me=e,me}var ge,Fe;function cn(){if(Fe)return ge;Fe=1;var e=typeof te=="object"&&te&&te.Object===Object&&te;return ge=e,ge}var fe,Ke;function vt(){if(Ke)return fe;Ke=1;var e=cn(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return fe=n,fe}var _e,Qe;function ln(){if(Qe)return _e;Qe=1;var e=vt(),t=function(){return e.Date.now()};return _e=t,_e}var pe,Je;function un(){if(Je)return pe;Je=1;var e=/\s/;function t(n){for(var s=n.length;s--&&e.test(n.charAt(s)););return s}return pe=t,pe}var he,We;function dn(){if(We)return he;We=1;var e=un(),t=/^\s+/;function n(s){return s&&s.slice(0,e(s)+1).replace(t,"")}return he=n,he}var be,Xe;function jt(){if(Xe)return be;Xe=1;var e=vt(),t=e.Symbol;return be=t,be}var Te,Ye;function mn(){if(Ye)return Te;Ye=1;var e=jt(),t=Object.prototype,n=t.hasOwnProperty,s=t.toString,o=e?e.toStringTag:void 0;function i(c){var l=n.call(c,o),m=c[o];try{c[o]=void 0;var u=!0}catch{}var g=s.call(c);return u&&(l?c[o]=m:delete c[o]),g}return Te=i,Te}var ve,Ve;function gn(){if(Ve)return ve;Ve=1;var e=Object.prototype,t=e.toString;function n(s){return t.call(s)}return ve=n,ve}var je,Ze;function fn(){if(Ze)return je;Ze=1;var e=jt(),t=mn(),n=gn(),s="[object Null]",o="[object Undefined]",i=e?e.toStringTag:void 0;function c(l){return l==null?l===void 0?o:s:i&&i in Object(l)?t(l):n(l)}return je=c,je}var ye,et;function _n(){if(et)return ye;et=1;function e(t){return t!=null&&typeof t=="object"}return ye=e,ye}var Se,tt;function pn(){if(tt)return Se;tt=1;var e=fn(),t=_n(),n="[object Symbol]";function s(o){return typeof o=="symbol"||t(o)&&e(o)==n}return Se=s,Se}var xe,nt;function hn(){if(nt)return xe;nt=1;var e=dn(),t=Ae(),n=pn(),s=NaN,o=/^[-+]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 g=typeof u.valueOf=="function"?u.valueOf():u;u=t(g)?g+"":g}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):o.test(u)?s:+u}return xe=m,xe}var Ee,rt;function yt(){if(rt)return Ee;rt=1;var e=Ae(),t=ln(),n=hn(),s="Expected a function",o=Math.max,i=Math.min;function c(l,m,u){var g,_,j,y,f,x,T=0,p=!1,b=!1,v=!0;if(typeof l!="function")throw new TypeError(s);m=n(m)||0,e(u)&&(p=!!u.leading,b="maxWait"in u,j=b?o(n(u.maxWait)||0,m):j,v="trailing"in u?!!u.trailing:v);function P(S){var N=g,D=_;return g=_=void 0,T=S,y=l.apply(D,N),y}function E(S){return T=S,f=setTimeout(Z,m),p?P(S):y}function V(S){var N=S-x,D=S-T,$e=m-N;return b?i($e,j-D):$e}function He(S){var N=S-x,D=S-T;return x===void 0||N>=m||N<0||b&&D>=j}function Z(){var S=t();if(He(S))return De(S);f=setTimeout(Z,V(S))}function De(S){return f=void 0,v&&g?P(S):(g=_=void 0,y)}function tn(){f!==void 0&&clearTimeout(f),T=0,g=x=_=f=void 0}function nn(){return f===void 0?y:De(t())}function de(){var S=t(),N=He(S);if(g=arguments,_=this,x=S,N){if(f===void 0)return E(x);if(b)return clearTimeout(f),f=setTimeout(Z,m),P(x)}return f===void 0&&(f=setTimeout(Z,m)),y}return de.cancel=tn,de.flush=nn,de}return Ee=c,Ee}var bn=yt();const Tn=Tt(bn);var Pe,st;function vn(){if(st)return Pe;st=1;var e=yt(),t=Ae(),n="Expected a function";function s(o,i,c){var l=!0,m=!0;if(typeof o!="function")throw new TypeError(n);return t(c)&&(l="leading"in c?!!c.leading:l,m="trailing"in c?!!c.trailing:m),e(o,i,{leading:l,maxWait:i,trailing:m})}return Pe=s,Pe}var jn=vn();const yn=Tt(jn),Sn=(e,t,n,s)=>{switch(t){case"debounce":return Tn(e,n,s);case"throttle":return yn(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)},[])},En=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(o=>{o!==t&&n(o)},{get(o,i){return i==="current"?t:o[i]},set(o,i,c){return i==="current"?n(c):o[i]=c,!0}}),[t]),refElement:t,setRefElement:n}},Pn=(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:o=!0,handleHeight:i=!0,targetRef:c,observerOptions:l,onResize:m}={}){const u=h.useRef(e),g=xn(m),[_,j]=h.useState({width:void 0,height:void 0}),{refProxy:y,refElement:f}=En(c),{box:x}=l||{},T=h.useCallback(b=>{if(!o&&!i)return;if(u.current){u.current=!1;return}const v=(P,E)=>o&&P.width!==E.width||i&&P.height!==E.height;b.forEach(P=>{const E=Pn(P,x);j(V=>v(V,E)?(g==null||g({width:E.width,height:E.height,entry:P}),E):V)})},[o,i,u,x]),p=h.useCallback(Sn(T,t,n,s),[T,t,n,s]);return h.useEffect(()=>{let b;return f?(b=new window.ResizeObserver(p),b.observe(f,l)):(_.width||_.height)&&(g==null||g({width:null,height:null,entry:null}),j({width:void 0,height:void 0})),()=>{var v,P,E;(v=b==null?void 0:b.disconnect)===null||v===void 0||v.call(b),(E=(P=p).cancel)===null||E===void 0||E.call(P)}},[p,f]),Object.assign({ref:y},_)}function St(e){var t,n,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=St(e[t]))&&(s&&(s+=" "),s+=n)}else for(n in e)e[n]&&(s&&(s+=" "),s+=n);return s}function I(){for(var e,t,n=0,s="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=St(e))&&(s&&(s+=" "),s+=t);return s}const wn="_headerContainer_1cubo_1",zn="_navigationTabList_1cubo_8",kn="_navigationTab_1cubo_8",Rn="_headerContent_1cubo_34",In="_staticEnabled_1cubo_50",B={headerContainer:wn,navigationTabList:zn,navigationTab:kn,headerContent:Rn,staticEnabled:In},An=77,K=({sticky:e,children:t})=>{const{ref:n,height:s}=Cn({refreshMode:"debounce",refreshRate:0}),[o,i]=h.useState(!1),c=()=>o?!e:!0;h.useEffect(()=>{const m=()=>{i(window.scrollY>0)};return window.addEventListener("scroll",m),()=>window.removeEventListener("scroll",m)},[]);const l=`${s||An}px`;return a.jsx("div",{style:{minHeight:l},children:a.jsx("div",{children:a.jsxs("div",{ref:n,className:I(B.headerContent,{[B.staticEnabled]:c()}),children:[a.jsx(K.Header,{}),a.jsx(K.Tabs,{}),t]})})})};K.Header=({children:e})=>a.jsx("div",{className:B.headerContainer,children:e});K.Tabs=({children:e})=>a.jsx("div",{className:"flex justify-between gap-2 nowrap",children:e});const Nn="_sidebarContainer_bmdti_1",Ln={sidebarContainer:Nn},On="_logoLink_1baxb_1",Mn={logoLink:On},Un=({src:e,href:t="/",ariaLabel:n="Lokalise App Home",alt:s="Lokalise Logo"})=>a.jsx("a",{className:Mn.logoLink,href:t,"aria-label":n,children:a.jsx("img",{src:e,alt:s})}),Bn="_link_18vhx_1",qn="_active_18vhx_18",at={link:Bn,active:qn},Hn=({label:e,to:t,icon:n})=>a.jsx(d.Tooltip,{placement:"right",tooltip:e,children:a.jsx(d.Link,{className:I(at.link,{[at.active]:window.location.pathname.startsWith(t)}),href:t,children:a.jsx(n,{size:"25px"})})}),Dn="_dropdownButton_13l5r_1",$n="_dropdownButtonActive_13l5r_18",ot={dropdownButton:Dn,dropdownButtonActive:$n},Gn=({children:e,icon:t})=>a.jsx(d.Menu,{menuButton:({opened:n})=>a.jsx(d.Tooltip,{placement:"right",tooltip:"Help",children:a.jsx("button",{type:"button",className:I(ot.dropdownButton,{[ot.dropdownButtonActive]:n}),children:a.jsx(t,{size:"25px"})})}),children:a.jsx(d.MenuList,{placement:"right-start",children:e})}),Fn="_iconContainer_nz34m_1",Kn={iconContainer:Fn},xt=({className:e=""})=>a.jsx("div",{"aria-label":"Upgrade Icon",className:I(Kn.iconContainer,"flex-row","items-center","justify-center",e),children:a.jsx(d.CaretUpIcon,{})}),Qn="_menuContainer_ywskt_5",Jn="_profileButton_ywskt_15",Wn="_profileImage_ywskt_28",Xn="_profileImageHighlight_ywskt_36",Yn="_profileImageUpgradeIcon_ywskt_40",Vn="_userIconWrapper_ywskt_46",L={menuContainer:Qn,profileButton:Jn,profileImage:Wn,profileImageHighlight:Xn,profileImageUpgradeIcon:Yn,userIconWrapper:Vn},Et=h.createContext({}),W=()=>h.useContext(Et),Zn=({children:e})=>{const{currentTeam:t,otherTeams:n,showUpgradeCta:s,showBillingButton:o,allowTeamCreation:i,isProviderAlpha:c,canAccessTeamSettings:l,isEndOfTrialActive:m,isTeamSuspended:u,isFullyAuthenticated:g}=W();return a.jsx(d.Menu,{menuButton:()=>a.jsxs("button",{className:L.profileButton,"aria-label":"Profile menu",type:"button",children:[t!=null&&t.logoUrl?a.jsx("img",{src:t.logoUrl,className:I(L.profileImage,{[L.profileImageHighlight]:s}),alt:"Team Logo"}):a.jsx("div",{className:I(L.userIconWrapper,"flex-row","align-center","items-center",{[L.profileImageHighlight]:s}),children:a.jsx(d.UserIcon,{size:"25px"})}),s&&a.jsx(xt,{className:L.profileImageUpgradeIcon})]}),children:a.jsx(d.MenuList,{placement:"right-end",className:L.menuContainer,children:e({allowTeamCreation:i,otherTeams:n,canAccessTeamSettings:l,isEndOfTrialActive:m,isTeamSuspended:u,showBillingButton:o,isProviderAlpha:c,isFullyAuthenticated:g})})})},Ne=0,Pt=9999,Ct=[150,151,250,251],wt=[152,153,252,253],zt=[154,155,157,158,254,255,258,354,355,358],kt=[156,159,160,256,259,260],Le=9998,ae=e=>e===Ne,Oe=e=>e===Pt,er=e=>Ct.includes(e),tr=e=>wt.includes(e),nr=e=>zt.includes(e),rr=e=>kt.includes(e),sr=e=>e>Ne&&e<Le,ar=e=>e===Le,or=/\n/,it=(e,t,n)=>e.split(t).flatMap((s,o)=>o!==0?[h.cloneElement(n,{key:Math.random().toString(32).slice(0,10)}),s]:s),ir=(e,t,n)=>typeof e=="string"?it(e,t,n):e.flatMap(s=>typeof s=="string"?it(s,t,n):s),Rt=e=>ir(e,or,a.jsx("br",{})),cr=/(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi,lr=e=>e.match(cr)??[],ct=(e,t,n)=>{const s=e.split(t);if(s.length===1)return e;const o=[];return s[0]!==""&&o.push(s[0]),s.shift(),s[s.length-1]===""&&s.pop(),o.push(a.jsx("a",{href:t,target:"_blank",rel:"noreferrer noopener",children:t},t+n)),o.push(s.join(t)),o.filter(i=>i!=="")},lt=e=>{const t=lr(e);return t!=null&&t.length?t.reduce((n,s,o)=>typeof n=="string"?ct(n,s,o):n.flatMap(i=>typeof i=="string"?ct(i,s,o):i),e):e},It=e=>typeof e=="string"?lt(e):e.flatMap(t=>typeof t=="string"?lt(t):t,e),At=(e,t="PP")=>se.format(e,t),ur=(e,t,n="PP")=>se.format(an.toZonedTime(e,t),n),oe=e=>{h.useEffect(e,[])},ut={biller:"biller",owner:"owner"},dt=[ut.biller,ut.owner],dr=({children:e,config:t})=>{const{teams:n,currentTeamId:s,planId:o,isEndOfTrialActive:i,isFullyAuthenticated:c,userTeamRole:l}=t,m=n.find(p=>p.id===s),u=n.filter(p=>p.id!==s),g=dt.includes(l),_=dt.includes(l),j=ae(o)||Oe(o),T={...t,currentTeam:m,otherTeams:u,canChangeBilling:g,canAccessTeamSettings:_,isOnFreeOrTrialPlan:j,showUpgradeCta:c&&j&&g,showBillingButton:c&&_&&g,allowTeamCreation:c&&!i};return a.jsx(Et.Provider,{value:T,children:e})},mr=({config:e,children:t})=>a.jsx(dr,{config:e,children:a.jsx(Zn,{children:t})}),gr="_container_q5pot_1",fr="_profileEmail_q5pot_5",mt={container:gr,profileEmail:fr},_r=({href:e,onClick:t,userEmail:n,hideBottomDivider:s})=>{const{isEndOfTrialActive:o,isTeamSuspended:i}=W();return o||i?null:a.jsxs(a.Fragment,{children:[a.jsx(d.MenuItem,{href:e,onClick:()=>{t==null||t()},children:a.jsxs("div",{className:`flex-col ${mt.container}`,children:[a.jsx("span",{children:"Profile Settings"}),a.jsx("span",{className:mt.profileEmail,children:n})]})}),!s&&a.jsx(d.MenuDivider,{})]})},pr="_wrapper_15d85_1",hr="_profileImage_15d85_14",br="_teamName_15d85_22",Tr="_planLabel_15d85_29",vr="_membership_15d85_38",jr="_defaultProfileImage_15d85_44",M={wrapper:pr,profileImage:hr,teamName:br,planLabel:Tr,membership:vr,defaultProfileImage:jr},Nt=({team:e,onClick:t,hidePlanLabel:n})=>{const{currentTeam:s,planId:o}=W(),i=e||s;if(!i)return null;const c=ae(o)?"Free":Oe(o)?"Trial":void 0,l=t?d.MenuItem:"div";return a.jsxs(l,{className:`flex-row gap-2 flex-nowrap items-center ${M.wrapper}`,...t&&{onClick:()=>t(i)},children:[i.logoUrl?a.jsx("img",{className:M.profileImage,src:i.logoUrl,alt:"Team Logo"}):a.jsx("span",{className:`flex-row justify-center items-center ${M.defaultProfileImage}`,children:a.jsx(d.UserIcon,{size:"25px"})}),a.jsxs("div",{className:"flex-col items-start",children:[a.jsxs("div",{className:"flex-row items-center flex-nowrap gap-2",children:[a.jsx("span",{title:i.name,className:M.teamName,children:i.name}),c&&!n&&a.jsx("span",{className:`flex-row justify-center items-center ${M.planLabel}`,children:c})]}),a.jsx("span",{className:M.membership,children:i.role})]})]})},yr="_teamsContainer_1t68g_1",Sr={teamsContainer:yr},xr=({onSwitchTeam:e})=>{const{otherTeams:t}=W();return t.length===0?null:a.jsx("div",{"data-testid":"sidebar-team-switch",className:`flex-col items-stretch ${Sr.teamsContainer}`,children:t.map(n=>a.jsx(Nt,{team:n,onClick:e,hidePlanLabel:!0},n.id))})},Er="_container_1u995_1",Pr="_planCta_1u995_15",Cr="_upgradeIconWrapper_1u995_19",Ce={container:Er,planCta:Pr,upgradeIconWrapper:Cr},wr=({upgradeOptionHref:e})=>{const{planId:t,trialDaysLeft:n,showUpgradeCta:s}=W();if(!s)return null;const c=ae(t)?"Your team is currently on the Free plan":`Free trial ends in ${n} ${n===1?"day":"days"}`;return a.jsxs(d.MenuItem,{"data-testid":"sidebar-upgrade-menu-item",href:e,className:`flex-col gap-1 items-start ${Ce.container}`,children:[a.jsx("span",{className:Ce.planCta,children:c}),a.jsxs("div",{className:`flex-row items-center gap-1 ${Ce.upgradeIconWrapper}`,children:[a.jsx(xt,{}),a.jsx("span",{children:"See upgrade options"})]})]})},zr=Math.min,kr=Math.max;function gt(e,t,n){return kr(e,zr(t,n))}function Lt(e,t){return typeof e=="function"?e(t):e}function Ot(e){return e.split("-")[0]}function Rr(e){return e==="x"?"y":"x"}function Ir(e){return["top","bottom"].includes(Ot(e))?"y":"x"}function Ar(e){return{top:0,right:0,bottom:0,left:0,...e}}function Nr(e){return typeof e!="number"?Ar(e):{top:e,right:e,bottom:e,left:e}}function ft(e){const{x:t,y:n,width:s,height:o}=e;return{width:s,height:o,top:n,left:t,right:t+s,bottom:n+o,x:t,y:n}}async function Lr(e,t){var n;t===void 0&&(t={});const{x:s,y:o,platform:i,rects:c,elements:l,strategy:m}=e,{boundary:u="clippingAncestors",rootBoundary:g="viewport",elementContext:_="floating",altBoundary:j=!1,padding:y=0}=Lt(t,e),f=Nr(y),T=l[j?_==="floating"?"reference":"floating":_],p=ft(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(T)))==null||n?T:T.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(l.floating)),boundary:u,rootBoundary:g,strategy:m})),b=_==="floating"?{x:s,y:o,width:c.floating.width,height:c.floating.height}:c.reference,v=await(i.getOffsetParent==null?void 0:i.getOffsetParent(l.floating)),P=await(i.isElement==null?void 0:i.isElement(v))?await(i.getScale==null?void 0:i.getScale(v))||{x:1,y:1}:{x:1,y:1},E=ft(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:b,offsetParent:v,strategy:m}):b);return{top:(p.top-E.top+f.top)/P.y,bottom:(E.bottom-p.bottom+f.bottom)/P.y,left:(p.left-E.left+f.left)/P.x,right:(E.right-p.right+f.right)/P.x}}const Or=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:s,placement:o}=t,{mainAxis:i=!0,crossAxis:c=!1,limiter:l={fn:T=>{let{x:p,y:b}=T;return{x:p,y:b}}},...m}=Lt(e,t),u={x:n,y:s},g=await Lr(t,m),_=Ir(Ot(o)),j=Rr(_);let y=u[j],f=u[_];if(i){const T=j==="y"?"top":"left",p=j==="y"?"bottom":"right",b=y+g[T],v=y-g[p];y=gt(b,y,v)}if(c){const T=_==="y"?"top":"left",p=_==="y"?"bottom":"right",b=f+g[T],v=f-g[p];f=gt(b,f,v)}const x=l.fn({...t,[j]:y,[_]:f});return{...x,data:{x:x.x-n,y:x.y-s,enabled:{[j]:i,[_]:c}}}}}},Mr="_navItem_1dudv_1",Ur="_activeNavItem_1dudv_18",Br="_badge_1dudv_23",we={navItem:Mr,activeNavItem:Ur,badge:Br},Mt=h.createContext({}),X=()=>h.useContext(Mt),qr=e=>{const t=e.lastIndexOf("."),n=e.slice(0,t),s=e.slice(t+1);return{name:n,extension:s}},Hr=(e,t)=>{switch(e){case w.Completed:return t<100?"Closed":"Completed";case w.Created:return t>0?"In progress":"Not started";case w.InProgress:return"In progress";case w.Queued:return"Queued";case w.NotStarted:return"Not started";default:return"-"}},Dr=e=>{const t=e.progress??0;return e.status===w.Created&&t>0?w.InProgress:e.status},$r={[G.translation]:"#0891B2",[G.review]:"#16922D",[G.lqa_by_ai]:"#8B5CF6",[G.automatic_translation]:"#60A5FA"},Gr=e=>{const t=[w.InProgress,w.Created,w.Completed];return e.filter(n=>n.status!=="queued").map(n=>({...n,status:Dr(n)})).sort((n,s)=>n.status===w.InProgress&&n.progress===100?-1:s.status===w.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=>[ne.InProgress,ne.Created].includes(e),Fr=(e,t)=>_t(e.status)&&_t(t.status)&&(t.progress??0)>=100,Kr=({task:e,language:t})=>{const[n,s]=h.useState(!1),[o,i]=h.useState(!1),{onLanguageCompleteConfirm:c,fetchTasks:l}=X(),m=()=>{i(!1)};return a.jsxs(a.Fragment,{children:[o&&a.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:a.jsxs(d.Alert,{status:"info",children:["Make sure you are finished and ",a.jsx("strong",{children:"mark it as done"})," to notify your team admin. This action cannot be undone, and the language might no longer be available for you to edit."]})}),a.jsx(d.Link,{disabled:n,onClick:()=>{i(!0)},children:"Mark as done"})]})},Qr="_langRowCompleted_vpgdi_1",Jr="_langCellSecondary_vpgdi_15",Wr="_langStatus_vpgdi_20",ze={langRowCompleted:Qr,langCellSecondary:Jr,langStatus:Wr},Xr=({language:e,task:t})=>{const{getProjectUrl:n,langNameOnClick:s,langProgressOnClick:o}=X(),i=e.progress??0,c=e.status===w.Completed,l=Fr(t,e);return a.jsxs("tr",{className:I({[ze.langRowCompleted]:l}),children:[a.jsx("td",{children:a.jsx(d.Tooltip,{tooltip:"Open in bilingual view",children:a.jsx(d.Link,{href:n({task:t,language:e}),onClick:()=>{s==null||s({task:t,language:e})},children:e.name})})}),a.jsx("td",{className:ze.langCellSecondary,children:l||c?"0":a.jsx(d.Tooltip,{tooltip:"Open uncompleted items",children:a.jsx(d.Link,{href:n({task:t,language:e,taskUncompleted:!0}),onClick:()=>{o==null||o({task:t,language:e})},children:e.base_words_total-e.base_words_done})})}),a.jsxs("td",{children:[i,"%"]}),a.jsx("td",{children:l?a.jsx(Kr,{task:t,language:e}):a.jsx("span",{className:`${ze.langStatus} flex-row items-center justify-start`,"data-status":e.status,children:Hr(e.status,i)})})]})},Yr="_taskContainer_mt2or_1",Vr="_taskTitle_mt2or_21",Zr="_taskDescription_mt2or_28",es="_languagesTable_mt2or_35",ts="_metadata_mt2or_87",U={taskContainer:Yr,taskTitle:Vr,taskDescription:Zr,languagesTable:es,metadata:ts},ns=({task:e})=>{const{getProjectUrl:t,taskTitleOnClick:n}=X(),s=Gr(e.langs),o=i=>{window.open(`/style-guide/${e.team_id}/download/${i.id}/link`,"_blank","noopener,noreferrer")};return a.jsxs("div",{className:U.taskContainer,children:[a.jsxs("div",{className:"flex-row gap-1 items-center",children:[a.jsxs("div",{className:"flex-row gap-1 items-start flex-wrap",children:[a.jsx(d.Tag,{color:$r[e.task_type],variant:"solid",children:e.task_type.toLocaleUpperCase()}),e.due_date&&a.jsxs(d.Tag,{color:"#EAB308",children:["DUE ",At(se.parseISO(e.due_date),"yyyy-MM-dd")]})]}),e.style_guides.length>0&&a.jsx("div",{className:"flex-row",children:e.style_guides.length===1?a.jsx(d.Button,{size:"sm",variant:"secondary",onClick:()=>o(e.style_guides[0]),children:"Download style guide"}):a.jsx(d.Menu,{menuButton:a.jsx(d.Button,{variant:"secondary",size:"sm",children:"Download style guide"}),children:a.jsx(d.MenuList,{children:e.style_guides.map(i=>a.jsx(d.MenuItem,{onClick:()=>o(i),children:qr(i.name).name},i.id))})})})]}),a.jsx("h4",{className:U.taskTitle,children:a.jsx(d.Link,{href:t({task:e,view:"multi"}),onClick:()=>{n==null||n({task:e})},children:e.title})}),e.description&&a.jsx("div",{className:U.taskDescription,children:Rt(It(e.description))}),a.jsxs("table",{className:U.languagesTable,children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:"Languages"}),a.jsx("th",{children:"Words to do"}),a.jsx("th",{children:"Progress"}),a.jsx("th",{children:"Status"})]})}),a.jsx("tbody",{children:s.map(i=>a.jsx(Xr,{language:i,task:e},i.lang_id))})]}),a.jsxs("div",{"data-testid":"sidebar-task-overview-metadata",className:U.metadata,children:[a.jsxs("span",{children:["Source: ",e.source_lang_name]}),a.jsx("span",{children:e.created_by_fullname}),a.jsxs("span",{children:["In ",e.project_name,e.master_branching_enabled==="1"&&a.jsx("div",{className:U.tag,children:e.branch_name?e.branch_name:"master"})]})]})]})},C={TaskCompleted:"task_completed",TaskClosed:"task_closed",Refresh:"refresh",ShowDialog:"show_dialog"},rs="_loadingContainer_19d6m_1",ss="_noTasksContainer_19d6m_7",as="_noTasksHeading_19d6m_14",os="_noTasksText_19d6m_18",is="_tasksContainer_19d6m_23",$={loadingContainer:rs,noTasksContainer:ss,noTasksHeading:as,noTasksText:os,tasksContainer:is},cs=()=>{const{tasks:e,onTasksWidgetOpen:t,loadingTasks:n,fetchTasks:s}=X();return oe(()=>((async()=>{const i=await s();t==null||t({tasks:i})})(),document.addEventListener(C.TaskCompleted,s),document.addEventListener(C.TaskClosed,s),document.addEventListener(C.Refresh,s),()=>{document.removeEventListener(C.TaskCompleted,s),document.removeEventListener(C.TaskClosed,s),document.removeEventListener(C.Refresh,s)})),n?a.jsx("div",{"data-testid":"sidebar-tasks-loading-popover",className:$.loadingContainer,children:a.jsx(d.Loading,{})}):e.length===0?a.jsxs("div",{"data-testid":"sidebar-no-tasks-popover",className:$.noTasksContainer,children:[a.jsx("h3",{className:$.noTasksHeading,children:"No tasks"}),a.jsxs("div",{className:$.noTasksText,children:["Your incoming tasks will appear here.",a.jsx("br",{}),a.jsx(d.Link,{href:"https://docs.lokalise.com/translation-workflow/tasks",target:"_new",children:"Learn more"})]})]}):a.jsx("div",{"data-testid":"sidebar-tasks-popover",className:$.tasksContainer,children:e.map(o=>a.jsx(ns,{task:o},o.id))})},ls=({children:e,config:t})=>{const[n,s]=h.useState([]),[o,i]=h.useState(!0),[c,l]=h.useState(0),{getProjectUrl:m,onLanguageCompleteConfirm:u,onTasksWidgetOpen:g,langNameOnClick:_,langProgressOnClick:j,taskTitleOnClick:y}=t,{getTasks:f,getTasksCount:x}=t,T=async()=>{i(!0);const v=await f();return s(v),i(!1),v},p=async()=>{const v=await x();l(v)};oe(()=>(p(),document.addEventListener(C.TaskCompleted,p),document.addEventListener(C.TaskClosed,p),document.addEventListener(C.Refresh,p),()=>{document.removeEventListener(C.TaskCompleted,p),document.removeEventListener(C.TaskClosed,p),document.removeEventListener(C.Refresh,p)}));const b={fetchTasks:T,tasks:n,tasksCount:c,loadingTasks:o,getProjectUrl:m,onLanguageCompleteConfirm:u,onTasksWidgetOpen:g,langNameOnClick:_,langProgressOnClick:j,taskTitleOnClick:y};return a.jsx(Mt.Provider,{value:b,children:e})},us=e=>function(n){const{config:s,...o}=n;return a.jsx(ls,{config:s,children:a.jsx(e,{...o})})},ds=us(()=>{const[e,t]=h.useState(!1),{tasksCount:n}=X();return oe(()=>{const s=()=>{t(!0)};return document.addEventListener(C.ShowDialog,s),()=>{document.removeEventListener(C.ShowDialog,s)}}),a.jsx(d.Tooltip,{tooltip:"Tasks",placement:"right",children:a.jsx(d.Popover,{content:a.jsx(cs,{}),placement:"right",open:e,onOpenChange:t,middlewares:[Or({padding:{top:32,bottom:32}})],children:s=>a.jsxs(d.Button,{type:"button","data-testid":"sidebar-tasks-widget-button","aria-label":"Tasks",className:I(we.navItem,{[we.activeNavItem]:s}),children:[a.jsx(d.JobIcon,{size:"25px"}),n>0&&a.jsx("div",{className:we.badge,"aria-label":`${n} items requiring attention`,children:n>9?"9+":n})]})})})}),z=({children:e,...t})=>a.jsx("nav",{...t,className:Ln.sidebarContainer,children:e}),ms=({children:e})=>a.jsx("div",{children:e});z.Top=ms;const gs=({children:e})=>a.jsx("div",{children:e});z.Bottom=gs;z.Avatar=Un;z.IconLink=Hn;z.Menu=Gn;z.ProfileMenu=mr;z.TeamSwitch=xr;z.TeamMenuItem=Nt;z.UpgradeMenuItem=wr;z.ProfileSettingsMenuItem=_r;z.Tasks=ds;const fs="_breadcrumbsItem_1hm6a_1",_s="_breadcrumbs_1hm6a_1",pt={breadcrumbsItem:fs,breadcrumbs:_s},ps=({items:e})=>a.jsx("nav",{"aria-label":"breadcrumb",className:pt.breadcrumbs,children:e.map((t,n)=>a.jsxs(h.Fragment,{children:[a.jsx(d.Link,{className:pt.breadcrumbsItem,href:t.link,rel:"noreferrer",children:t.name}),n<e.length-1&&a.jsx("span",{children:" — "})]},`${t.link}-${t.name}`))}),hs=({items:e})=>a.jsx(a.Fragment,{children:e.map((t,n)=>a.jsxs(h.Fragment,{children:[!!n&&t.some(s=>s.visible)&&a.jsx(d.MenuDivider,{}),t.filter(({visible:s})=>s).map(({link:s,label:o,onClick:i})=>a.jsx(d.MenuItem,{href:s||"#","aria-label":o,onClick:i,children:o},o))]},t[0].label))}),bs="_badge_1pc1v_1",Ts="_tag_1pc1v_15",vs="_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21",js="_disabled_1pc1v_57",ys="_projectNavigationItem_1pc1v_61",Ss="_projectNavigationItemDisabled_1pc1v_67",O={badge:bs,tag:Ts,withNavLinkStyle:vs,disabled:js,projectNavigationItem:ys,projectNavigationItemDisabled:Ss},ht=({label:e,badge:t,novel:n})=>a.jsxs("div",{className:"flex gap-1",children:[a.jsxs("div",{children:[a.jsx("span",{children:e}),!!t&&a.jsx("div",{className:O.badge,"aria-label":`${t} items requiring attention`,children:t>9?"9+":t})]}),!!n&&a.jsx(d.Tag,{className:O.tag,children:n})]}),ke=h.forwardRef(({label:e,href:t="",disabled:n=!1,badge:s,onClick:o,novel:i},c)=>a.jsx(d.Tooltip,{tooltip:"You do not have access to this function",show:n,children:a.jsx("div",{className:n?O.projectNavigationItemDisabled:O.projectNavigationItem,children:o||n||!t?a.jsx("button",{type:"button",ref:c,className:I(O.withNavLinkStyle,{[O.disabled]:n}),disabled:n,onClick:o,children:a.jsx(ht,{label:e,badge:s,novel:i})}):a.jsx("a",{href:t,className:O.withNavLinkStyle,children:a.jsx(ht,{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,Es=e=>e.visible&&(!e.dropdown||xs(e.dropdown)),Ps=({navigation:e,activeItem:t})=>a.jsx("nav",{"aria-label":"Project",children:a.jsx("ul",{className:B.navigationTabList,"aria-orientation":"horizontal",children:e.filter(Es).map(n=>{var s,o,i;return n.dropdown?a.jsx("li",{className:B.navigationTab,"data-testid":n.key,"aria-selected":(s=n.isActive)==null?void 0:s.call(n,t),children:a.jsx(d.Menu,{menuButton:({opened:c})=>a.jsx(ke,{label:n.label,disabled:n.disabled,active:c}),children:a.jsx(d.MenuList,{children:a.jsx(hs,{items:n.dropdown})})})},n.key):a.jsx("li",{className:B.navigationTab,"data-testid":n.key,"aria-selected":(o=n.isActive)==null?void 0:o.call(n,t),children:a.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 R{constructor(t){this.factories=t}static create(t={}){return new R([()=>t])}add(t,n){return new R([...this.factories,()=>({[t]:n})])}and(t){return new R([...this.factories,()=>t])}from(t){return new R([...this.factories,t])}with(t){return t.apply(this)}merge(t){return new R([...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(R.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 H(e){try{const t=e.split(".")[1],n=atob(t);return ws.parse(JSON.parse(n))}catch{return}}class Q extends Error{constructor(){super(...arguments);ee(this,"name","UnauthorizedError");ee(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 Q;const{exp:s}=H(n.accessToken)??{exp:0};if(!se.isThisSecond(new Date(s)))return t.add("authorization",`Bearer ${n.accessToken}`);const o=await e.refreshToken(n);if(!o)throw new Q;return(c=e.onNewTokenIssued)==null||c.call(e,o),t.add("authorization",`Bearer ${o.accessToken}`)})}const ks=Me(e=>e.and({"x-lokalise-plugin":"true"}));function Ue(){const e=Re(document.cookie,"accessToken"),t=Re(document.cookie,"refreshToken");return!e||!t?null:{accessToken:e,refreshToken:t}}function Bt(){return Re(document.cookie,"csrf_token")??null}function Re(e,t){var n,s;return(s=(n=e.split(";").find(o=>o.trim().startsWith(`${t}=`)))==null?void 0:n.trim())==null?void 0:s.substring(t.length+1)}function Rs(){const e=Ue();if(!e)return;const t=H(e.accessToken);if(t)return{...e,payload:t}}const qt=r.z.union([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()})]),As=r.z.union([qt,Is]),Ns=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()})]),Y=As.and(Ns),Ls=r.z.object({accessToken:r.z.string(),refreshToken:r.z.string()}),Os=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()})]),Ms=r.z.union([qt,Os]),ie=Ie.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:Ms,requestBodySchema:r.z.undefined(),isEmptyResponseExpected:!0,successResponseBodySchema:Ls});function Us(e,t,n){return async()=>{const s=t();if(!s)throw new Q;return k.sendByPayloadRoute(e,ie,{pathParams:{teamId:Number(await n())},headers:await R.create().add("x-csrf-token",s).resolve()})}}function Bs(e){return async({accessToken:t,refreshToken:n})=>{const s=H(t);if(!s)throw new Q;return k.sendByPayloadRoute(e,ie,{pathParams:{teamId:s.teamId},headers:await R.create().add("authorization",`Bearer ${n}`).resolve()})}}const Ht={teamKey:e=>["getUserToken",e]},Dt=(e,t,n)=>A.useQuery({...n,queryFn:async({queryKey:[s,o]})=>k.sendByPayloadRoute(e,ie,{headers:await t.resolve(),pathParams:{teamId:o}})}),re=class re extends CustomEvent{constructor(t){super(re.eventName,{detail:{token:t,payload:H(t.accessToken)}})}};ee(re,"eventName","new-jwt-issued");let J=re;function qs(e,t,n){const s=Bt(),o=Dt(e,t.add("x-csrf-token",s??""),{queryKey:Ht.teamKey(n),enabled:s!==void 0}),i=h.useRef();return h.useEffect(()=>{o.data&&o.data.accessToken!==i.current&&(window.dispatchEvent(new J(o.data)),i.current=o.data.accessToken)},[o.data]),o}function Be(){const[e,t]=h.useState();return h.useEffect(()=>{const n=o=>{t(o.detail.payload)},s=Ue();return t(s?H(s.accessToken):void 0),window.addEventListener(J.eventName,n),()=>{window.removeEventListener(J.eventName,n)}},[]),e}const Hs=Y,Ds=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}),$s=r.z.object({team_id:r.z.number(),team_user:Ds}),$t=q.buildGetRoute({description:"Get the details of a team user",requestHeaderSchema:Hs,requestPathParamsSchema:r.z.object({teamId:r.z.number(),userId:r.z.number()}),pathResolver:({teamId:e,userId:t})=>`/teams/${e}/users/${t}`,successResponseBodySchema:$s}),Gt={teamUserKey:(e,t)=>["GetTeamUsers",e,t]},Ft=(e,t,n)=>A.useQuery({...n,queryFn:async({queryKey:[s,o,i]})=>k.sendByGetRoute(e,$t,{headers:await t.resolve(),pathParams:{teamId:o,userId:i}})});function Gs(e,t){const n=Be();return Ft(e,t,{queryKey:Gt.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)])}),Ks=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()}),Qs=r.z.object({project_id:r.z.string(),contributors:r.z.array(Ks)}),Kt=q.buildGetRoute({description:"Get the details of a project contributor",requestHeaderSchema:Y,requestPathParamsSchema:r.z.object({projectId:r.z.string(),contributorId:r.z.number()}),pathResolver:({projectId:e,contributorId:t})=>`/projects/${e}/contributors/${t}`,successResponseBodySchema:Qs}),Qt={projectUserKey:(e,t)=>["RetrieveContributor",e,t]},Jt=(e,t,n)=>A.useQuery({...n,queryFn:async({queryKey:[s,o,i]})=>k.sendByGetRoute(e,Kt,{pathParams:{projectId:o,contributorId:i},headers:await t.resolve()})});function Js(e,t,n){const s=Be();return Jt(e,t,{queryKey:Qt.projectUserKey(n,(s==null?void 0:s.userId)??0),enabled:s!==void 0})}const Ws=r.z.object({lang_iso:r.z.string(),custom_iso:r.z.string().optional()}),Xs=r.z.object({language_id:r.z.number(),language_iso:r.z.string(),progress:r.z.number(),words_to_do:r.z.number()}),Ys=r.z.object({projectId:r.z.string()}),Vs=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())}),Zs=r.z.object({project_id:r.z.string(),project_uuid:r.z.string().uuid(),languages:r.z.array(Vs)}),ea=r.z.object({projectId:r.z.string()}),ta=r.z.object({langs:r.z.array(r.z.object({lang_iso:r.z.string(),base_lang:r.z.boolean()}))}),na=r.z.object({success:r.z.boolean()}),Wt=q.buildGetRoute({description:"List of project languages",requestHeaderSchema:Y,requestPathParamsSchema:Ys,pathResolver:({projectId:e})=>`/projects/${e}/languages`,successResponseBodySchema:Zs}),Xt=q.buildPayloadRoute({description:"Bulk update project languages",requestHeaderSchema:Y,method:"put",requestPathParamsSchema:ea,pathResolver:({projectId:e})=>`/projects/${e}/languages/bulk-update`,requestBodySchema:ta,successResponseBodySchema:na}),ce=Y,qe=r.z.union([r.z.literal("localization_files"),r.z.literal("paged_documents"),r.z.literal("marketing")]),ra=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()}),sa=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()}),aa=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:sa,languages:r.z.array(Xs)}),le=r.z.object({project_id:r.z.string(),uuid:r.z.string().uuid(),project_type:qe,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:ra.optional(),statistics:aa.optional()}),oa=r.z.object({name:r.z.string(),team_id:r.z.string(),base_lang_iso:r.z.string(),languages:r.z.array(Ws),project_type:qe,is_segmentation_enabled:r.z.boolean()}),bt=r.z.union([r.z.literal(0),r.z.literal(1)]),ia=r.z.object({filter_type:qe.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()}),ca=r.z.object({projects:r.z.array(le)}),la=r.z.object({project_id:r.z.string()}),ua=r.z.object({project_id:r.z.string()}),da=r.z.object({name:r.z.string().min(1),description:r.z.string().optional()}),ue=()=>"/projects",Yt=Ie.buildPayloadRoute({description:"Create a new project",requestHeaderSchema:ce,method:"post",pathResolver:ue,requestBodySchema:oa,successResponseBodySchema:le}),Vt=q.buildGetRoute({description:"List all projects",requestHeaderSchema:ce,pathResolver:ue,requestQuerySchema:ia,successResponseBodySchema:ca}),Zt=q.buildGetRoute({description:"Retrieve a project",requestHeaderSchema:ce,requestPathParamsSchema:la,pathResolver:({project_id:e})=>`${ue()}/${e}`,successResponseBodySchema:le}),en=Ie.buildPayloadRoute({description:"Update a project",requestHeaderSchema:ce,method:"put",requestPathParamsSchema:ua,pathResolver:({project_id:e})=>`${ue()}/${e}`,requestBodySchema:da,successResponseBodySchema:le});function ma(e,t,n={}){return A.useMutation({...n,mutationFn:async s=>k.sendByPayloadRoute(e,Yt,{headers:await t.resolve(),body:s})})}const ga={projectIdKey:e=>["listProjectLanguages",e]};function fa(e,t,n){return A.useQuery({...n,queryFn:async({queryKey:[s,o]})=>k.sendByGetRoute(e,Wt,{headers:await t.resolve(),pathParams:{projectId:o}})})}const _a={paramsKey:e=>["listProjects",e]};function pa(e,t,n){return A.useQuery({...n,queryFn:async({queryKey:[s,o]})=>k.sendByGetRoute(e,Vt,{headers:await t.resolve(),queryParams:o})})}const ha={projectIdKey:e=>["retrieveProject",e]};function ba(e,t,n){return A.useQuery({...n,queryFn:async({queryKey:[s,o]})=>k.sendByGetRoute(e,Zt,{headers:await t.resolve(),pathParams:{project_id:o}})})}function Ta(e,t,n,s={}){return A.useMutation({...s,mutationFn:async o=>k.sendByPayloadRoute(e,en,{headers:await t.resolve(),body:o,pathParams:n})})}function va(e,t,n,s={}){return A.useMutation({...s,mutationFn:async o=>k.sendByPayloadRoute(e,Xt,{pathParams:t,headers:await n.resolve(),body:o})})}exports.Breadcrumbs=ps;exports.ENTERPRISE_OPENSOURCE_PLAN_ID=Le;exports.ENTERPRISE_PLAN_IDS=kt;exports.ESSENTIAL_PLAN_IDS=wt;exports.FREE_PLAN_ID=Ne;exports.HeaderBuilder=R;exports.JwtAuthHeaderBuilderMiddleware=zs;exports.NavigationPanel=K;exports.NavigationTabs=Ps;exports.PRO_PLAN_IDS=zt;exports.PublicApiHeaderBuilderMiddleware=ks;exports.START_PLAN_IDS=Ct;exports.Sidebar=z;exports.SidebarTaskLanguageStatuses=w;exports.SidebarTaskStatuses=ne;exports.SidebarTaskTypeOptions=G;exports.TRIAL_PLAN_ID=Pt;exports.UnauthorizedError=Q;exports.bulkUpdateProjectLanguages=Xt;exports.convertNewLineToBreakTag=Rt;exports.createHeaderBuilderMiddleware=Me;exports.createProject=Yt;exports.formatDate=At;exports.formatDateTz=ur;exports.generateTokenFromClassicSession=Us;exports.getAuthenticatedSessionDetailFromRequest=Rs;exports.getCsrfTokenFromCookie=Bt;exports.getJwtTokenFromCookie=Ue;exports.getTeamUser=$t;exports.getTeamUsersQueryKey=Gt;exports.getUserToken=ie;exports.getUserTokenKey=Ht;exports.isEnterpriseOpenSourcePlan=ar;exports.isEnterprisePlan=rr;exports.isEssentialPlan=tr;exports.isFreePlan=ae;exports.isPaidPlan=sr;exports.isProPlan=nr;exports.isStartPlan=er;exports.isTrialPlan=Oe;exports.listProjectLanguages=Wt;exports.listProjectLanguagesKey=ga;exports.listProjects=Vt;exports.listProjectsKey=_a;exports.makeUrlClickable=It;exports.parseJwtTokenPayload=H;exports.refreshExpiredToken=Bs;exports.retrieveContributor=Kt;exports.retrieveContributorKeys=Qt;exports.retrieveProject=Zt;exports.retrieveProjectQueryKey=ha;exports.updateProject=en;exports.useAuthenticatedProjectContributor=Js;exports.useAuthenticatedSessionPayload=Be;exports.useAuthenticatedUser=Gs;exports.useBulkUpdateProjectLanguagesMutation=va;exports.useCreateProjectMutation=ma;exports.useEffectOnce=oe;exports.useGetPromotedClassicSessionJwtQuery=qs;exports.useGetTeamUsersQuery=Ft;exports.useGetUserTokenQuery=Dt;exports.useListProjectLanguagesQuery=fa;exports.useListProjectsQuery=pa;exports.useRetrieveContributorQuery=Jt;exports.useRetrieveProjectQuery=ba;exports.useUpdateProjectMutation=Ta;