@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&ⅇ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
|
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
|
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
|
15
|
+
const Oe = {
|
16
16
|
Completed: "completed",
|
17
17
|
InProgress: "in_progress",
|
18
18
|
Created: "created",
|
19
19
|
Queued: "queued"
|
20
20
|
}, I = {
|
21
|
-
...
|
21
|
+
...Oe,
|
22
22
|
NotStarted: "not_started"
|
23
|
-
},
|
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
|
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
|
33
|
+
var _e, Je;
|
34
34
|
function He() {
|
35
|
-
if (Je) return
|
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
|
41
|
+
return _e = e, _e;
|
42
42
|
}
|
43
|
-
var
|
43
|
+
var ge, Qe;
|
44
44
|
function mn() {
|
45
|
-
if (Qe) return
|
45
|
+
if (Qe) return ge;
|
46
46
|
Qe = 1;
|
47
|
-
var e = typeof
|
48
|
-
return
|
47
|
+
var e = typeof re == "object" && re && re.Object === Object && re;
|
48
|
+
return ge = e, ge;
|
49
49
|
}
|
50
|
-
var
|
50
|
+
var he, Xe;
|
51
51
|
function jt() {
|
52
|
-
if (Xe) return
|
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
|
55
|
+
return he = n, he;
|
56
56
|
}
|
57
|
-
var
|
57
|
+
var pe, Ye;
|
58
58
|
function fn() {
|
59
|
-
if (Ye) return
|
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
|
64
|
+
return pe = t, pe;
|
65
65
|
}
|
66
|
-
var
|
66
|
+
var be, Ve;
|
67
67
|
function _n() {
|
68
|
-
if (Ve) return
|
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
|
76
|
+
return be = t, be;
|
77
77
|
}
|
78
|
-
var
|
78
|
+
var ve, Ze;
|
79
79
|
function gn() {
|
80
|
-
if (Ze) return
|
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
|
86
|
+
return ve = n, ve;
|
87
87
|
}
|
88
|
-
var
|
88
|
+
var Te, et;
|
89
89
|
function xt() {
|
90
|
-
if (et) return
|
90
|
+
if (et) return Te;
|
91
91
|
et = 1;
|
92
92
|
var e = jt(), t = e.Symbol;
|
93
|
-
return
|
93
|
+
return Te = t, Te;
|
94
94
|
}
|
95
|
-
var
|
95
|
+
var ye, tt;
|
96
96
|
function hn() {
|
97
|
-
if (tt) return
|
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
|
110
|
+
return ye = i, ye;
|
111
111
|
}
|
112
|
-
var
|
112
|
+
var Se, nt;
|
113
113
|
function pn() {
|
114
|
-
if (nt) return
|
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
|
120
|
+
return Se = n, Se;
|
121
121
|
}
|
122
|
-
var
|
122
|
+
var Ee, rt;
|
123
123
|
function bn() {
|
124
|
-
if (rt) return
|
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
|
130
|
+
return Ee = c, Ee;
|
131
131
|
}
|
132
|
-
var
|
132
|
+
var we, ot;
|
133
133
|
function vn() {
|
134
|
-
if (ot) return
|
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
|
139
|
+
return we = e, we;
|
140
140
|
}
|
141
|
-
var
|
141
|
+
var Ce, at;
|
142
142
|
function Tn() {
|
143
|
-
if (at) return
|
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
|
149
|
+
return Ce = o, Ce;
|
150
150
|
}
|
151
|
-
var
|
151
|
+
var ke, st;
|
152
152
|
function yn() {
|
153
|
-
if (st) return
|
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
|
171
|
+
return ke = u, ke;
|
172
172
|
}
|
173
|
-
var
|
173
|
+
var Ie, it;
|
174
174
|
function Ot() {
|
175
|
-
if (it) return
|
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(
|
188
|
+
return b = S, f = setTimeout(ee, u), g ? C(S) : y;
|
189
189
|
}
|
190
|
-
function
|
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
|
198
|
+
function ee() {
|
199
199
|
var S = t();
|
200
200
|
if (ze(S))
|
201
201
|
return Ge(S);
|
202
|
-
f = setTimeout(
|
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
|
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(
|
219
|
+
return clearTimeout(f), f = setTimeout(ee, u), C(E);
|
220
220
|
}
|
221
|
-
return f === void 0 && (f = setTimeout(
|
221
|
+
return f === void 0 && (f = setTimeout(ee, u)), y;
|
222
222
|
}
|
223
|
-
return
|
223
|
+
return fe.cancel = Xt, fe.flush = Yt, fe;
|
224
224
|
}
|
225
|
-
return
|
225
|
+
return Ie = c, Ie;
|
226
226
|
}
|
227
227
|
var Sn = Ot();
|
228
228
|
const En = /* @__PURE__ */ Nt(Sn);
|
229
|
-
var
|
229
|
+
var Pe, ct;
|
230
230
|
function wn() {
|
231
|
-
if (ct) return
|
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
|
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((
|
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) :
|
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,
|
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(
|
372
|
-
/* @__PURE__ */ s(
|
371
|
+
/* @__PURE__ */ s(oe.Header, {}),
|
372
|
+
/* @__PURE__ */ s(oe.Tabs, {}),
|
373
373
|
t
|
374
374
|
]
|
375
375
|
}
|
376
376
|
) }) });
|
377
377
|
};
|
378
|
-
|
379
|
-
|
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
|
-
|
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(
|
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
|
-
|
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(
|
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",
|
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 ${
|
587
|
-
/* @__PURE__ */ s("span", { className:
|
588
|
-
/* @__PURE__ */ h("div", { className: `flex-row items-center gap-1 ${
|
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",
|
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
|
-
[
|
772
|
-
[
|
773
|
-
[
|
774
|
-
[
|
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 [
|
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",
|
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
|
-
[
|
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:
|
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: `${
|
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(
|
883
|
-
e.due_date && /* @__PURE__ */ h(
|
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
|
-
|
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
|
-
|
897
|
+
ie,
|
898
898
|
{
|
899
|
-
menuButton: /* @__PURE__ */ s(
|
900
|
-
children: /* @__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
|
-
|
1029
|
+
xe,
|
1030
1030
|
{
|
1031
1031
|
type: "button",
|
1032
1032
|
"data-testid": "sidebar-tasks-widget-button",
|
1033
1033
|
"aria-label": "Tasks",
|
1034
|
-
className: N(
|
1035
|
-
[
|
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:
|
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(
|
1080
|
-
] }),
|
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
|
-
|
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
|
-
|
1111
|
+
ie,
|
1112
1112
|
{
|
1113
|
-
menuButton: ({ opened: c }) => /* @__PURE__ */ s(
|
1114
|
-
children: /* @__PURE__ */ s(
|
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
|
-
|
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
|
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
|
1322
|
+
class ae extends Error {
|
1323
1323
|
constructor() {
|
1324
1324
|
super(...arguments);
|
1325
|
-
|
1326
|
-
|
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
|
1335
|
-
const { exp: o } =
|
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
|
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 =
|
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
|
-
]),
|
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
|
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
|
1415
|
-
return async ({ refreshToken: n }) =>
|
1416
|
-
|
1417
|
-
|
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
|
-
}),
|
1433
|
+
}), se = class se extends CustomEvent {
|
1429
1434
|
constructor(t) {
|
1430
|
-
super(
|
1431
|
-
detail: { token: t, payload:
|
1435
|
+
super(se.eventName, {
|
1436
|
+
detail: { token: t, payload: V(t.accessToken) }
|
1432
1437
|
});
|
1433
1438
|
}
|
1434
1439
|
};
|
1435
|
-
|
1436
|
-
let z =
|
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 ?
|
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 =
|
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:
|
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:
|
1556
|
+
requestHeaderSchema: le,
|
1552
1557
|
requestPathParamsSchema: na,
|
1553
1558
|
pathResolver: ({ projectId: e }) => `/projects/${e}/languages`,
|
1554
1559
|
successResponseBodySchema: oa
|
1555
|
-
}),
|
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
|
-
}),
|
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(
|
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
|
-
}),
|
1639
|
+
}), me = () => "/projects", ga = qe({
|
1635
1640
|
description: "Create a new project",
|
1636
|
-
requestHeaderSchema:
|
1641
|
+
requestHeaderSchema: de,
|
1637
1642
|
method: "post",
|
1638
|
-
pathResolver:
|
1643
|
+
pathResolver: me,
|
1639
1644
|
requestBodySchema: la,
|
1640
|
-
successResponseBodySchema:
|
1645
|
+
successResponseBodySchema: ue
|
1641
1646
|
}), ha = Q({
|
1642
1647
|
description: "List all projects",
|
1643
|
-
requestHeaderSchema:
|
1644
|
-
pathResolver:
|
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:
|
1654
|
+
requestHeaderSchema: de,
|
1650
1655
|
requestPathParamsSchema: ma,
|
1651
|
-
pathResolver: ({ project_id: e }) => `${
|
1652
|
-
successResponseBodySchema:
|
1656
|
+
pathResolver: ({ project_id: e }) => `${me()}/${e}`,
|
1657
|
+
successResponseBodySchema: ue
|
1653
1658
|
}), ba = qe({
|
1654
1659
|
description: "Update a project",
|
1655
|
-
requestHeaderSchema:
|
1660
|
+
requestHeaderSchema: de,
|
1656
1661
|
method: "put",
|
1657
1662
|
requestPathParamsSchema: fa,
|
1658
|
-
pathResolver: ({ project_id: e }) => `${
|
1663
|
+
pathResolver: ({ project_id: e }) => `${me()}/${e}`,
|
1659
1664
|
requestBodySchema: _a,
|
1660
|
-
successResponseBodySchema:
|
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
|
-
|
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
|
-
|
1733
|
-
|
1737
|
+
Oe as SidebarTaskStatuses,
|
1738
|
+
ne as SidebarTaskTypeOptions,
|
1734
1739
|
or as TRIAL_PLAN_ID,
|
1735
|
-
|
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
|
-
|
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
|
3
|
+
export declare function refreshExpiredToken<T>(authenticationProvider: Wretch<T>): ({ accessToken, refreshToken }: JwtToken) => Promise<{
|
4
4
|
accessToken: string;
|
5
5
|
refreshToken: string;
|
6
6
|
} | null>;
|