@lokalise/harmony 1.14.0 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/harmony.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var Nt=Object.defineProperty;var kt=(e,t,n)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ie=(e,t,n)=>kt(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),b=require("react"),f=require("@lokalise/louis"),nt=require("date-fns"),Lt=require("date-fns-tz"),r=require("zod"),E=require("@lokalise/frontend-http-client"),he=require("@lokalise/universal-ts-utils/api-contracts/apiContracts"),x=require("@tanstack/react-query"),B=require("@lokalise/universal-ts-utils/node");function Ot(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 U=Ot(b);var F=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var X,Re;function pe(){if(Re)return X;Re=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return X=e,X}var ee,xe;function Mt(){if(xe)return ee;xe=1;var e=typeof F=="object"&&F&&F.Object===Object&&F;return ee=e,ee}var te,Ae;function st(){if(Ae)return te;Ae=1;var e=Mt(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return te=n,te}var ne,Ce;function Ut(){if(Ce)return ne;Ce=1;var e=st(),t=function(){return e.Date.now()};return ne=t,ne}var re,Ne;function qt(){if(Ne)return re;Ne=1;var e=/\s/;function t(n){for(var s=n.length;s--&&e.test(n.charAt(s)););return s}return re=t,re}var se,ke;function Bt(){if(ke)return se;ke=1;var e=qt(),t=/^\s+/;function n(s){return s&&s.slice(0,e(s)+1).replace(t,"")}return se=n,se}var ae,Le;function at(){if(Le)return ae;Le=1;var e=st(),t=e.Symbol;return ae=t,ae}var oe,Oe;function Ht(){if(Oe)return oe;Oe=1;var e=at(),t=Object.prototype,n=t.hasOwnProperty,s=t.toString,a=e?e.toStringTag:void 0;function i(c){var l=n.call(c,a),d=c[a];try{c[a]=void 0;var u=!0}catch{}var m=s.call(c);return u&&(l?c[a]=d:delete c[a]),m}return oe=i,oe}var ie,Me;function Dt(){if(Me)return ie;Me=1;var e=Object.prototype,t=e.toString;function n(s){return t.call(s)}return ie=n,ie}var ce,Ue;function Gt(){if(Ue)return ce;Ue=1;var e=at(),t=Ht(),n=Dt(),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 ce=c,ce}var ue,qe;function $t(){if(qe)return ue;qe=1;function e(t){return t!=null&&typeof t=="object"}return ue=e,ue}var le,Be;function Ft(){if(Be)return le;Be=1;var e=Gt(),t=$t(),n="[object Symbol]";function s(a){return typeof a=="symbol"||t(a)&&e(a)==n}return le=s,le}var de,He;function Qt(){if(He)return de;He=1;var e=Bt(),t=pe(),n=Ft(),s=NaN,a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function d(u){if(typeof u=="number")return u;if(n(u))return s;if(t(u)){var m=typeof u.valueOf=="function"?u.valueOf():u;u=t(m)?m+"":m}if(typeof u!="string")return u===0?u:+u;u=e(u);var h=i.test(u);return h||c.test(u)?l(u.slice(2),h?2:8):a.test(u)?s:+u}return de=d,de}var me,De;function ot(){if(De)return me;De=1;var e=pe(),t=Ut(),n=Qt(),s="Expected a function",a=Math.max,i=Math.min;function c(l,d,u){var m,h,z,w,g,j,S=0,P=!1,p=!1,I=!0;if(typeof l!="function")throw new TypeError(s);d=n(d)||0,e(u)&&(P=!!u.leading,p="maxWait"in u,z=p?a(n(u.maxWait)||0,d):z,I="trailing"in u?!!u.trailing:I);function y(_){var R=m,M=h;return m=h=void 0,S=_,w=l.apply(M,R),w}function T(_){return S=_,g=setTimeout($,d),P?y(_):w}function G(_){var R=_-j,M=_-S,we=d-R;return p?i(we,z-M):we}function Pe(_){var R=_-j,M=_-S;return j===void 0||R>=d||R<0||p&&M>=z}function $(){var _=t();if(Pe(_))return Ee(_);g=setTimeout($,G(_))}function Ee(_){return g=void 0,I&&m?y(_):(m=h=void 0,w)}function At(){g!==void 0&&clearTimeout(g),S=0,m=j=h=g=void 0}function Ct(){return g===void 0?w:Ee(t())}function Z(){var _=t(),R=Pe(_);if(m=arguments,h=this,j=_,R){if(g===void 0)return T(j);if(p)return clearTimeout(g),g=setTimeout($,d),y(j)}return g===void 0&&(g=setTimeout($,d)),w}return Z.cancel=At,Z.flush=Ct,Z}return me=c,me}var Kt=ot();const Jt=rt(Kt);var fe,Ge;function Wt(){if(Ge)return fe;Ge=1;var e=ot(),t=pe(),n="Expected a function";function s(a,i,c){var l=!0,d=!0;if(typeof a!="function")throw new TypeError(n);return t(c)&&(l="leading"in c?!!c.leading:l,d="trailing"in c?!!c.trailing:d),e(a,i,{leading:l,maxWait:i,trailing:d})}return fe=s,fe}var Yt=Wt();const Vt=rt(Yt),Zt=(e,t,n,s)=>{switch(t){case"debounce":return Jt(e,n,s);case"throttle":return Vt(e,n,s);default:return e}},Xt=e=>{const t=U.useRef(e);return U.useEffect(()=>{t.current=e}),U.useMemo(()=>(...n)=>{var s;return(s=t.current)===null||s===void 0?void 0:s.call(t,...n)},[])},en=e=>{const[t,n]=U.useState((e==null?void 0:e.current)||null);return e&&setTimeout(()=>{e.current!==t&&n(e.current)},0),{refProxy:U.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}},tn=(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 nn({skipOnMount:e=!1,refreshMode:t,refreshRate:n=1e3,refreshOptions:s,handleWidth:a=!0,handleHeight:i=!0,targetRef:c,observerOptions:l,onResize:d}={}){const u=b.useRef(e),m=Xt(d),[h,z]=b.useState({width:void 0,height:void 0}),{refProxy:w,refElement:g}=en(c),{box:j}=l||{},S=b.useCallback(p=>{if(!a&&!i)return;if(u.current){u.current=!1;return}const I=(y,T)=>a&&y.width!==T.width||i&&y.height!==T.height;p.forEach(y=>{const T=tn(y,j);z(G=>I(G,T)?(m==null||m({width:T.width,height:T.height,entry:y}),T):G)})},[a,i,u,j]),P=b.useCallback(Zt(S,t,n,s),[S,t,n,s]);return b.useEffect(()=>{let p;return g?(p=new window.ResizeObserver(P),p.observe(g,l)):(h.width||h.height)&&(m==null||m({width:null,height:null,entry:null}),z({width:void 0,height:void 0})),()=>{var I,y,T;(I=p==null?void 0:p.disconnect)===null||I===void 0||I.call(p),(T=(y=P).cancel)===null||T===void 0||T.call(y)}},[P,g]),Object.assign({ref:w},h)}function it(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=it(e[t]))&&(s&&(s+=" "),s+=n)}else for(n in e)e[n]&&(s&&(s+=" "),s+=n);return s}function N(){for(var e,t,n=0,s="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=it(e))&&(s&&(s+=" "),s+=t);return s}const rn="_headerContainer_1cubo_1",sn="_navigationTabList_1cubo_8",an="_navigationTab_1cubo_8",on="_headerContent_1cubo_34",cn="_staticEnabled_1cubo_50",L={headerContainer:rn,navigationTabList:sn,navigationTab:an,headerContent:on,staticEnabled:cn},un=77,q=({sticky:e,children:t})=>{const{ref:n,height:s}=nn({refreshMode:"debounce",refreshRate:0}),[a,i]=b.useState(!1),c=()=>a?!e:!0;b.useEffect(()=>{const d=()=>{i(window.scrollY>0)};return window.addEventListener("scroll",d),()=>window.removeEventListener("scroll",d)},[]);const l=`${s||un}px`;return o.jsx("div",{style:{minHeight:l},children:o.jsx("div",{children:o.jsxs("div",{ref:n,className:N(L.headerContent,{[L.staticEnabled]:c()}),children:[o.jsx(q.Header,{}),o.jsx(q.Tabs,{}),t]})})})};q.Header=({children:e})=>o.jsx("div",{className:L.headerContainer,children:e});q.Tabs=({children:e})=>o.jsx("div",{className:"flex justify-between gap-2 nowrap",children:e});const ln="_sidebarContainer_bmdti_1",dn={sidebarContainer:ln},mn="_logoLink_1baxb_1",fn={logoLink:mn},_n=({src:e,href:t="/",ariaLabel:n="Home",alt:s="Lokalise"})=>o.jsx("a",{className:fn.logoLink,href:t,"aria-label":n,children:o.jsx("img",{src:e,alt:s})}),bn="_link_18vhx_1",gn="_active_18vhx_18",$e={link:bn,active:gn},hn=({label:e,to:t,icon:n})=>o.jsx(f.Tooltip,{placement:"right",tooltip:e,children:o.jsx(f.Link,{className:N($e.link,{[$e.active]:window.location.pathname.startsWith(t)}),href:t,children:o.jsx(n,{size:"25px"})})}),pn="_dropdownButton_13l5r_1",Tn="_dropdownButtonActive_13l5r_18",Fe={dropdownButton:pn,dropdownButtonActive:Tn},yn=({children:e,icon:t})=>o.jsx(f.Menu,{menuButton:({opened:n})=>o.jsx(f.Tooltip,{placement:"right",tooltip:"Help",children:o.jsx("button",{type:"button",className:N(Fe.dropdownButton,{[Fe.dropdownButtonActive]:n}),children:o.jsx(t,{size:"25px"})})}),children:o.jsx(f.MenuList,{placement:"right-start",children:e})}),jn="_iconContainer_nz34m_1",vn={iconContainer:jn},ct=({className:e=""})=>o.jsx("div",{"aria-label":"Upgrade Icon",className:N(vn.iconContainer,"flex-row","items-center","justify-center",e),children:o.jsx(f.CaretUpIcon,{})}),zn="_menuContainer_wbu3u_5",Sn="_profileButton_wbu3u_16",Pn="_profileImage_wbu3u_29",En="_profileImageHighlight_wbu3u_37",wn="_profileImageUpgradeIcon_wbu3u_41",In="_userIconWrapper_wbu3u_47",A={menuContainer:zn,profileButton:Sn,profileImage:Pn,profileImageHighlight:En,profileImageUpgradeIcon:wn,userIconWrapper:In},ut=b.createContext({}),H=()=>b.useContext(ut),Rn=({children:e})=>{const{currentTeam:t,otherTeams:n,showUpgradeCta:s,showBillingButton:a,allowTeamCreation:i,isProviderAlpha:c,canAccessTeamSettings:l,isEndOfTrialActive:d,isTeamSuspended:u,isFullyAuthenticated:m}=H();return o.jsx(f.Menu,{menuButton:()=>o.jsxs("button",{className:A.profileButton,"aria-label":"Profile menu",type:"button",children:[t!=null&&t.logoUrl?o.jsx("img",{src:t.logoUrl,className:N(A.profileImage,{[A.profileImageHighlight]:s}),alt:"Team Logo"}):o.jsx("div",{className:N(A.userIconWrapper,"flex-row","align-center","items-center",{[A.profileImageHighlight]:s}),children:o.jsx(f.UserIcon,{size:"25px"})}),s&&o.jsx(ct,{className:A.profileImageUpgradeIcon})]}),children:o.jsx(f.MenuList,{placement:"right-end",className:A.menuContainer,children:e({allowTeamCreation:i,otherTeams:n,canAccessTeamSettings:l,isEndOfTrialActive:d,isTeamSuspended:u,showBillingButton:a,isProviderAlpha:c,isFullyAuthenticated:m})})})},Te=0,lt=9999,dt=[150,151,250,251],mt=[152,153,252,253],ft=[154,155,157,158,254,255,258,354,355,358],_t=[156,159,160,256,259,260],ye=9998,J=e=>e===Te,je=e=>e===lt,xn=e=>dt.includes(e),An=e=>mt.includes(e),Cn=e=>ft.includes(e),Nn=e=>_t.includes(e),kn=e=>e>Te&&e<ye,Ln=e=>e===ye,On=/\n/,Qe=(e,t,n)=>e.split(t).flatMap((s,a)=>a!==0?[b.cloneElement(n,{key:Math.random().toString(32).slice(0,10)}),s]:s),Mn=(e,t,n)=>typeof e=="string"?Qe(e,t,n):e.flatMap(s=>typeof s=="string"?Qe(s,t,n):s),Un=e=>Mn(e,On,o.jsx("br",{})),qn=/(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi,Bn=e=>e.match(qn)??[],Ke=(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!=="")},Je=e=>{const t=Bn(e);return t!=null&&t.length?t.reduce((n,s,a)=>typeof n=="string"?Ke(n,s,a):n.flatMap(i=>typeof i=="string"?Ke(i,s,a):i),e):e},Hn=e=>typeof e=="string"?Je(e):e.flatMap(t=>typeof t=="string"?Je(t):t,e),Dn=(e,t="PP")=>nt.format(e,t),Gn=(e,t,n="PP")=>nt.format(Lt.toZonedTime(e,t),n),$n=e=>{b.useEffect(e,[])},We={biller:"biller",owner:"owner"},Ye=[We.biller,We.owner],Fn=({children:e,config:t})=>{const{teams:n,currentTeamId:s,planId:a,isEndOfTrialActive:i,isFullyAuthenticated:c,userTeamRole:l}=t,d=n.find(P=>P.id===s),u=n.filter(P=>P.id!==s),m=Ye.includes(l),h=Ye.includes(l),z=J(a)||je(a),S={...t,currentTeam:d,otherTeams:u,canChangeBilling:m,canAccessTeamSettings:h,isOnFreeOrTrialPlan:z,showUpgradeCta:c&&z&&m,showBillingButton:c&&h&&m,allowTeamCreation:c&&!i};return o.jsx(ut.Provider,{value:S,children:e})},Qn=({config:e,children:t})=>o.jsx(Fn,{config:e,children:o.jsx(Rn,{children:t})}),Kn="_container_q5pot_1",Jn="_profileEmail_q5pot_5",Ve={container:Kn,profileEmail:Jn},Wn=({href:e,onClick:t,userEmail:n,hideBottomDivider:s})=>{const{isEndOfTrialActive:a,isTeamSuspended:i}=H();return a||i?null:o.jsxs(o.Fragment,{children:[o.jsx(f.MenuItem,{href:e,onClick:()=>{t==null||t()},children:o.jsxs("div",{className:`flex-col ${Ve.container}`,children:[o.jsx("span",{children:"Profile Settings"}),o.jsx("span",{className:Ve.profileEmail,children:n})]})}),!s&&o.jsx(f.MenuDivider,{})]})},Yn="_wrapper_15d85_1",Vn="_profileImage_15d85_14",Zn="_teamName_15d85_22",Xn="_planLabel_15d85_29",er="_membership_15d85_38",tr="_defaultProfileImage_15d85_44",k={wrapper:Yn,profileImage:Vn,teamName:Zn,planLabel:Xn,membership:er,defaultProfileImage:tr},bt=({team:e,onClick:t,hidePlanLabel:n})=>{const{currentTeam:s,planId:a}=H(),i=e||s;if(!i)return null;const c=J(a)?"Free":je(a)?"Trial":void 0,l=t?f.MenuItem:"div";return o.jsxs(l,{className:`flex-row gap-2 flex-nowrap items-center ${k.wrapper}`,...t&&{onClick:()=>t(i)},children:[i.logoUrl?o.jsx("img",{className:k.profileImage,src:i.logoUrl,alt:"Team Logo"}):o.jsx("span",{className:`flex-row justify-center items-center ${k.defaultProfileImage}`,children:o.jsx(f.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:k.teamName,children:i.name}),c&&!n&&o.jsx("span",{className:`flex-row justify-center items-center ${k.planLabel}`,children:c})]}),o.jsx("span",{className:k.membership,children:i.role})]})]})},nr="_teamsContainer_1t68g_1",rr={teamsContainer:nr},sr=({onSwitchTeam:e})=>{const{otherTeams:t}=H();return t.length===0?null:o.jsx("div",{className:`flex-col items-stretch ${rr.teamsContainer}`,children:t.map(n=>o.jsx(bt,{team:n,onClick:e,hidePlanLabel:!0},n.id))})},ar="_container_1u995_1",or="_planCta_1u995_15",ir="_upgradeIconWrapper_1u995_19",_e={container:ar,planCta:or,upgradeIconWrapper:ir},cr=({upgradeOptionHref:e})=>{const{planId:t,trialDaysLeft:n,showUpgradeCta:s}=H();if(!s)return null;const c=J(t)?"Your team is currently on the Free plan":`Free trial ends in ${n} ${n===1?"day":"days"}`;return o.jsxs(f.MenuItem,{href:e,className:`flex-col gap-1 items-start ${_e.container}`,children:[o.jsx("span",{className:_e.planCta,children:c}),o.jsxs("div",{className:`flex-row items-center gap-1 ${_e.upgradeIconWrapper}`,children:[o.jsx(ct,{}),o.jsx("span",{children:"See upgrade options"})]})]})},v=({children:e,...t})=>o.jsx("nav",{...t,className:dn.sidebarContainer,children:e}),ur=({children:e})=>o.jsx("div",{children:e});v.Top=ur;const lr=({children:e})=>o.jsx("div",{children:e});v.Bottom=lr;v.Avatar=_n;v.IconLink=hn;v.Menu=yn;v.ProfileMenu=Qn;v.TeamSwitch=sr;v.TeamMenuItem=bt;v.UpgradeMenuItem=cr;v.ProfileSettingsMenuItem=Wn;const dr="_breadcrumbsItem_1hm6a_1",mr="_breadcrumbs_1hm6a_1",Ze={breadcrumbsItem:dr,breadcrumbs:mr},fr=({items:e})=>o.jsx("nav",{"aria-label":"breadcrumb",className:Ze.breadcrumbs,children:e.map((t,n)=>o.jsxs(b.Fragment,{children:[o.jsx(f.Link,{className:Ze.breadcrumbsItem,href:t.link,rel:"noreferrer",children:t.name}),n<e.length-1&&o.jsx("span",{children:" — "})]},`${t.link}-${t.name}`))}),_r=({items:e})=>o.jsx(o.Fragment,{children:e.map((t,n)=>o.jsxs(b.Fragment,{children:[!!n&&t.some(s=>s.visible)&&o.jsx(f.MenuDivider,{}),t.filter(({visible:s})=>s).map(({link:s,label:a,onClick:i})=>o.jsx(f.MenuItem,{href:s||"#","aria-label":a,onClick:i,children:a},a))]},t[0].label))}),br="_badge_1pc1v_1",gr="_tag_1pc1v_15",hr="_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21",pr="_disabled_1pc1v_57",Tr="_projectNavigationItem_1pc1v_61",yr="_projectNavigationItemDisabled_1pc1v_67",C={badge:br,tag:gr,withNavLinkStyle:hr,disabled:pr,projectNavigationItem:Tr,projectNavigationItemDisabled:yr},Xe=({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:C.badge,"aria-label":`${t} items requiring attention`,children:t>9?"9+":t})]}),!!n&&o.jsx(f.Tag,{className:C.tag,children:n})]}),be=b.forwardRef(({label:e,href:t="",disabled:n=!1,badge:s,onClick:a,novel:i},c)=>o.jsx(f.Tooltip,{tooltip:"You do not have access to this function",show:n,children:o.jsx("div",{className:n?C.projectNavigationItemDisabled:C.projectNavigationItem,children:a||n||!t?o.jsx("button",{type:"button",ref:c,className:N(C.withNavLinkStyle,{[C.disabled]:n}),disabled:n,onClick:a,children:o.jsx(Xe,{label:e,badge:s,novel:i})}):o.jsx("a",{href:t,className:C.withNavLinkStyle,children:o.jsx(Xe,{label:e,badge:s,novel:i})})})}));be.displayName="NavigationTabsItem";const jr=e=>(e==null?void 0:e.some(t=>t.some(n=>n.visible)))??!1,vr=e=>e.visible&&(!e.dropdown||jr(e.dropdown)),zr=({navigation:e,activeItem:t})=>o.jsx("nav",{"aria-label":"Project",children:o.jsx("ul",{className:L.navigationTabList,"aria-orientation":"horizontal",children:e.filter(vr).map(n=>{var s,a,i;return n.dropdown?o.jsx("li",{className:L.navigationTab,"data-testid":n.key,"aria-selected":(s=n.isActive)==null?void 0:s.call(n,t),children:o.jsx(f.Menu,{menuButton:({opened:c})=>o.jsx(be,{label:n.label,disabled:n.disabled,active:c}),children:o.jsx(f.MenuList,{children:o.jsx(_r,{items:n.dropdown})})})},n.key):o.jsx("li",{className:L.navigationTab,"data-testid":n.key,"aria-selected":(a=n.isActive)==null?void 0:a.call(n,t),children:o.jsx(be,{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)})})}),Sr=r.z.object({accessToken:r.z.string(),refreshToken:r.z.string()}),Pr=r.z.union([r.z.object({Authorization:r.z.string().startsWith("Bearer ")}),r.z.object({"x-csrf-token":r.z.string()})]),W=he.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:Pr,requestBodySchema:r.z.undefined(),successResponseBodySchema:Sr}),gt={teamKeyCsrf:(e,t)=>["getUserToken","x-csrf-token",t,e],teamKeyJwt:(e,t)=>["getUserToken","Authorization",`Bearer ${t}`,e]},ht=(e,t)=>x.useQuery({...t,queryFn:({queryKey:[n,s,a,i]})=>E.sendByPayloadRoute(e,W,{pathParams:{teamId:i},headers:s==="x-csrf-token"?{"x-csrf-token":a}:{Authorization:a}})}),pt=r.z.union([r.z.literal("owner"),r.z.literal("admin"),r.z.literal("biller"),r.z.literal("member")]),Er=r.z.object({userId:r.z.number(),userUuid:r.z.string(),teamId:r.z.number(),userTeamRole:pt,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 D(e){try{const t=e.split(".")[1],n=atob(t);return Er.parse(JSON.parse(n))}catch{return}}const K=class K extends CustomEvent{constructor(t){super(K.eventName,{detail:{token:t,payload:D(t.accessToken)}})}};Ie(K,"eventName","new-jwt-issued");let O=K;function ve(){const e=ge(document.cookie,"accessToken"),t=ge(document.cookie,"refreshToken");if(!(!e||!t))return{accessToken:e,refreshToken:t}}function Tt(){return ge(document.cookie,"csrf_token")}function ge(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 wr(e,t){const n=Tt(),s=ht(e,{queryKey:gt.teamKeyCsrf(t,n??""),enabled:n!==void 0}),a=b.useRef();return b.useEffect(()=>{s.data&&s.data.accessToken!==a.current&&(window.dispatchEvent(new O(s.data)),a.current=s.data.accessToken)},[s.data]),s}function ze(){const[e,t]=b.useState();return b.useEffect(()=>{const n=a=>{t(a.detail.payload)},s=ve();return t(s&&D(s.accessToken)),window.addEventListener(O.eventName,n),()=>{window.removeEventListener(O.eventName,n)}},[]),e}const Ir=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:pt}),Rr=r.z.object({team_id:r.z.number(),team_user:Ir}),yt=B.buildGetRoute({description:"Get the details of a team user",requestPathParamsSchema:r.z.object({teamId:r.z.number(),userId:r.z.number()}),pathResolver:({teamId:e,userId:t})=>`/teams/${e}/users/${t}`,successResponseBodySchema:Rr}),jt={teamUserKey:(e,t)=>["GetTeamUsers",e,t]},vt=(e,t)=>x.useQuery({...t,queryFn:({queryKey:[n,s,a]})=>E.sendByGetRoute(e,yt,{pathParams:{teamId:s,userId:a}})});function xr(e){const t=ze();return vt(e,{queryKey:jt.teamUserKey((t==null?void 0:t.teamId)??0,(t==null?void 0:t.userId)??0),enabled:(t==null?void 0:t.userId)!==void 0&&t.teamId!==void 0})}const Ar=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)])}),Cr=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(Ar),is_admin:r.z.boolean(),is_reviewer:r.z.boolean()}),Nr=r.z.object({project_id:r.z.string(),contributors:r.z.array(Cr)}),zt=B.buildGetRoute({description:"Get the details of a project contributor",requestPathParamsSchema:r.z.object({projectId:r.z.string(),contributorId:r.z.number()}),pathResolver:({projectId:e,contributorId:t})=>`/projects/${e}/contributors/${t}`,successResponseBodySchema:Nr}),St={projectUserKey:(e,t)=>["RetrieveContributor",e,t]},Pt=(e,t)=>x.useQuery({...t,queryFn:({queryKey:[n,s,a]})=>E.sendByGetRoute(e,zt,{pathParams:{projectId:s,contributorId:a}})});function kr(e,t){const n=ze();return Pt(e,{queryKey:St.projectUserKey(t,(n==null?void 0:n.userId)??0),enabled:n!==void 0})}function Lr(){const e=ve();if(!e)return;const t=D(e.accessToken);if(t)return{...e,payload:t}}function Or(){return e=>(t,n)=>e(t,{...n,headers:{...n.headers,"x-lokalise-plugin":"true"},credentials:"omit"})}function Q(e){return{Authorization:`Bearer ${e}`}}function Mr(e,t){return n=>async(s,a)=>{var l;const i=await t.getCachedJwtToken();if(i===void 0)return n(s,a);const c=await n(s,{...a,headers:{...a.headers,...Q(i.accessToken)}});if(i&&(c.status===401||c.status===403)){const d=D(i.accessToken);if(!d)return c;const u=await E.sendByPayloadRoute(e,W,{pathParams:{teamId:d.teamId},headers:Q(i.refreshToken)});return await((l=t.onNewJwtTokenIssued)==null?void 0:l.call(t,u)),n(s,{...a,headers:{...a.headers,...Q(u.accessToken)}})}return c}}const Et={wretch:{lokaliseAuth(e){return this.middlewares([Mr(this,e)])}}};function Ur(e,t){return n=>async(s,a)=>{var d;if(await t.getCachedJwtToken()!==void 0)return n(s,a);const c=await t.getCsrfToken();if(c===void 0)return n(s,a);const l=await E.sendByPayloadRoute(e,W,{pathParams:{teamId:await t.getTeamId()},headers:{"x-csrf-token":c}});return await((d=t.onNewJwtTokenIssued)==null?void 0:d.call(t,l)),n(s,{...a,headers:{...a.headers,...Q(l.accessToken)}})}}const qr={wretch:{lokaliseAuth(e={}){return this.addon(Et).lokaliseAuth(et(e))},promoteClassicSession(e){const t=et(e);return this.middlewares([Ur(this,t)])}}};function et(e){return{...e,getCachedJwtToken:e.getCachedJwtToken??(async()=>ve()),getCsrfToken:"getCsrfToken"in e?e.getCsrfToken:async()=>Tt(),onNewJwtTokenIssued:t=>{var n;return window.dispatchEvent(new O(t)),((n=e.onNewJwtTokenIssued)==null?void 0:n.call(e,t))??Promise.resolve()}}}const Br=r.z.object({lang_iso:r.z.string(),custom_iso:r.z.string().optional()}),Hr=r.z.object({language_id:r.z.number(),language_iso:r.z.string(),progress:r.z.number(),words_to_do:r.z.number()}),Dr=r.z.object({projectId:r.z.string()}),Gr=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())}),$r=r.z.object({project_id:r.z.string(),project_uuid:r.z.string().uuid(),languages:r.z.array(Gr)}),Se=r.z.union([r.z.literal("localization_files"),r.z.literal("paged_documents"),r.z.literal("marketing")]),Fr=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()}),Qr=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()}),Kr=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:Qr,languages:r.z.array(Hr)}),Y=r.z.object({project_id:r.z.string(),uuid:r.z.string().uuid(),project_type:Se,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:Fr.optional(),statistics:Kr.optional()}),Jr=r.z.object({name:r.z.string(),team_id:r.z.string(),base_lang_iso:r.z.string(),languages:r.z.array(Br),project_type:Se,is_segmentation_enabled:r.z.boolean()}),tt=r.z.union([r.z.literal(0),r.z.literal(1)]),Wr=r.z.object({filter_type:Se.optional(),filter_team_id:r.z.number().optional(),filter_names:r.z.string().optional(),include_statistics:tt.optional(),include_settings:tt.optional(),limit:r.z.number().optional(),page:r.z.number().optional()}),Yr=r.z.object({projects:r.z.array(Y)}),Vr=r.z.object({project_id:r.z.string()}),Zr=r.z.object({project_id:r.z.string()}),Xr=r.z.object({name:r.z.string().min(1),description:r.z.string().optional()}),V=()=>"/projects",wt=he.buildPayloadRoute({description:"Create a new project",method:"post",pathResolver:V,requestBodySchema:Jr,successResponseBodySchema:Y}),It=B.buildGetRoute({description:"List all projects",pathResolver:V,requestQuerySchema:Wr,successResponseBodySchema:Yr}),Rt=B.buildGetRoute({description:"Retrieve a project",pathResolver:V,requestQuerySchema:Vr,successResponseBodySchema:Y}),xt=he.buildPayloadRoute({description:"Update a project",method:"put",requestPathParamsSchema:Zr,pathResolver:({project_id:e})=>`${V()}/${e}`,requestBodySchema:Xr,successResponseBodySchema:Y});function es(e,t={}){return x.useMutation({...t,mutationFn:n=>E.sendByPayloadRoute(e,wt,{body:n})})}const ts=B.buildGetRoute({description:"List of project languages",requestPathParamsSchema:Dr,pathResolver:({projectId:e})=>`/projects/${e}/languages`,successResponseBodySchema:$r}),ns={projectIdKey:e=>["listProjectLanguages",e]};function rs(e,t){return x.useQuery({...t,queryFn:({queryKey:[n,s]})=>E.sendByGetRoute(e,ts,{pathParams:{projectId:s}})})}const ss={paramsKey:e=>["listProjects",e]};function as(e,t){return x.useQuery({...t,queryFn:({queryKey:[n,s]})=>E.sendByGetRoute(e,It,{queryParams:s})})}const os={projectIdKey:e=>["retrieveProject",e]};function is(e,t){return x.useQuery({...t,queryFn:({queryKey:[n,s]})=>E.sendByGetRoute(e,Rt,{queryParams:{project_id:s}})})}function cs(e,t,n={}){return x.useMutation({...n,mutationFn:s=>E.sendByPayloadRoute(e,xt,{body:s,pathParams:t})})}exports.Breadcrumbs=fr;exports.ENTERPRISE_OPENSOURCE_PLAN_ID=ye;exports.ENTERPRISE_PLAN_IDS=_t;exports.ESSENTIAL_PLAN_IDS=mt;exports.FREE_PLAN_ID=Te;exports.LokaliseAuthAddon=Et;exports.LokaliseAuthBrowserAddon=qr;exports.NavigationPanel=q;exports.NavigationTabs=zr;exports.PRO_PLAN_IDS=ft;exports.START_PLAN_IDS=dt;exports.Sidebar=v;exports.TRIAL_PLAN_ID=lt;exports.convertNewLineToBreakTag=Un;exports.createProject=wt;exports.formatDate=Dn;exports.formatDateTz=Gn;exports.getAuthenticatedSessionDetailFromRequest=Lr;exports.getTeamUser=yt;exports.getTeamUsersQueryKey=jt;exports.getUserToken=W;exports.getUserTokenKey=gt;exports.isEnterpriseOpenSourcePlan=Ln;exports.isEnterprisePlan=Nn;exports.isEssentialPlan=An;exports.isFreePlan=J;exports.isPaidPlan=kn;exports.isProPlan=Cn;exports.isStartPlan=xn;exports.isTrialPlan=je;exports.listProjectLanguagesKey=ns;exports.listProjects=It;exports.listProjectsKey=ss;exports.makeUrlClickable=Hn;exports.parseJwtTokenPayload=D;exports.publicApiHeadersMiddleware=Or;exports.retrieveContributor=zt;exports.retrieveContributorKeys=St;exports.retrieveProject=Rt;exports.retrieveProjectQueryKey=os;exports.updateProject=xt;exports.useAuthenticatedProjectContributor=kr;exports.useAuthenticatedSessionPayload=ze;exports.useAuthenticatedUser=xr;exports.useCreateProjectMutation=es;exports.useEffectOnce=$n;exports.useGetPromotedClassicSessionJwtQuery=wr;exports.useGetTeamUsersQuery=vt;exports.useGetUserTokenQuery=ht;exports.useListProjectLanguagesQuery=rs;exports.useListProjectsQuery=as;exports.useRetrieveContributorQuery=Pt;exports.useRetrieveProjectQuery=is;exports.useUpdateProjectMutation=cs;
1
+ "use strict";var Nt=Object.defineProperty;var kt=(e,t,n)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ie=(e,t,n)=>kt(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),b=require("react"),f=require("@lokalise/louis"),nt=require("date-fns"),Lt=require("date-fns-tz"),r=require("zod"),E=require("@lokalise/frontend-http-client"),he=require("@lokalise/universal-ts-utils/api-contracts/apiContracts"),x=require("@tanstack/react-query"),B=require("@lokalise/universal-ts-utils/node");function Ot(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 U=Ot(b);var F=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var X,Re;function pe(){if(Re)return X;Re=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return X=e,X}var ee,xe;function Mt(){if(xe)return ee;xe=1;var e=typeof F=="object"&&F&&F.Object===Object&&F;return ee=e,ee}var te,Ae;function st(){if(Ae)return te;Ae=1;var e=Mt(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return te=n,te}var ne,Ce;function Ut(){if(Ce)return ne;Ce=1;var e=st(),t=function(){return e.Date.now()};return ne=t,ne}var re,Ne;function qt(){if(Ne)return re;Ne=1;var e=/\s/;function t(n){for(var s=n.length;s--&&e.test(n.charAt(s)););return s}return re=t,re}var se,ke;function Bt(){if(ke)return se;ke=1;var e=qt(),t=/^\s+/;function n(s){return s&&s.slice(0,e(s)+1).replace(t,"")}return se=n,se}var ae,Le;function at(){if(Le)return ae;Le=1;var e=st(),t=e.Symbol;return ae=t,ae}var oe,Oe;function Ht(){if(Oe)return oe;Oe=1;var e=at(),t=Object.prototype,n=t.hasOwnProperty,s=t.toString,a=e?e.toStringTag:void 0;function i(c){var l=n.call(c,a),d=c[a];try{c[a]=void 0;var u=!0}catch{}var m=s.call(c);return u&&(l?c[a]=d:delete c[a]),m}return oe=i,oe}var ie,Me;function Dt(){if(Me)return ie;Me=1;var e=Object.prototype,t=e.toString;function n(s){return t.call(s)}return ie=n,ie}var ce,Ue;function Gt(){if(Ue)return ce;Ue=1;var e=at(),t=Ht(),n=Dt(),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 ce=c,ce}var ue,qe;function $t(){if(qe)return ue;qe=1;function e(t){return t!=null&&typeof t=="object"}return ue=e,ue}var le,Be;function Ft(){if(Be)return le;Be=1;var e=Gt(),t=$t(),n="[object Symbol]";function s(a){return typeof a=="symbol"||t(a)&&e(a)==n}return le=s,le}var de,He;function Kt(){if(He)return de;He=1;var e=Bt(),t=pe(),n=Ft(),s=NaN,a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function d(u){if(typeof u=="number")return u;if(n(u))return s;if(t(u)){var m=typeof u.valueOf=="function"?u.valueOf():u;u=t(m)?m+"":m}if(typeof u!="string")return u===0?u:+u;u=e(u);var h=i.test(u);return h||c.test(u)?l(u.slice(2),h?2:8):a.test(u)?s:+u}return de=d,de}var me,De;function ot(){if(De)return me;De=1;var e=pe(),t=Ut(),n=Kt(),s="Expected a function",a=Math.max,i=Math.min;function c(l,d,u){var m,h,z,w,g,j,S=0,P=!1,p=!1,I=!0;if(typeof l!="function")throw new TypeError(s);d=n(d)||0,e(u)&&(P=!!u.leading,p="maxWait"in u,z=p?a(n(u.maxWait)||0,d):z,I="trailing"in u?!!u.trailing:I);function y(_){var R=m,M=h;return m=h=void 0,S=_,w=l.apply(M,R),w}function T(_){return S=_,g=setTimeout($,d),P?y(_):w}function G(_){var R=_-j,M=_-S,we=d-R;return p?i(we,z-M):we}function Pe(_){var R=_-j,M=_-S;return j===void 0||R>=d||R<0||p&&M>=z}function $(){var _=t();if(Pe(_))return Ee(_);g=setTimeout($,G(_))}function Ee(_){return g=void 0,I&&m?y(_):(m=h=void 0,w)}function At(){g!==void 0&&clearTimeout(g),S=0,m=j=h=g=void 0}function Ct(){return g===void 0?w:Ee(t())}function Z(){var _=t(),R=Pe(_);if(m=arguments,h=this,j=_,R){if(g===void 0)return T(j);if(p)return clearTimeout(g),g=setTimeout($,d),y(j)}return g===void 0&&(g=setTimeout($,d)),w}return Z.cancel=At,Z.flush=Ct,Z}return me=c,me}var Qt=ot();const Jt=rt(Qt);var fe,Ge;function Wt(){if(Ge)return fe;Ge=1;var e=ot(),t=pe(),n="Expected a function";function s(a,i,c){var l=!0,d=!0;if(typeof a!="function")throw new TypeError(n);return t(c)&&(l="leading"in c?!!c.leading:l,d="trailing"in c?!!c.trailing:d),e(a,i,{leading:l,maxWait:i,trailing:d})}return fe=s,fe}var Yt=Wt();const Vt=rt(Yt),Zt=(e,t,n,s)=>{switch(t){case"debounce":return Jt(e,n,s);case"throttle":return Vt(e,n,s);default:return e}},Xt=e=>{const t=U.useRef(e);return U.useEffect(()=>{t.current=e}),U.useMemo(()=>(...n)=>{var s;return(s=t.current)===null||s===void 0?void 0:s.call(t,...n)},[])},en=e=>{const[t,n]=U.useState((e==null?void 0:e.current)||null);return e&&setTimeout(()=>{e.current!==t&&n(e.current)},0),{refProxy:U.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}},tn=(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 nn({skipOnMount:e=!1,refreshMode:t,refreshRate:n=1e3,refreshOptions:s,handleWidth:a=!0,handleHeight:i=!0,targetRef:c,observerOptions:l,onResize:d}={}){const u=b.useRef(e),m=Xt(d),[h,z]=b.useState({width:void 0,height:void 0}),{refProxy:w,refElement:g}=en(c),{box:j}=l||{},S=b.useCallback(p=>{if(!a&&!i)return;if(u.current){u.current=!1;return}const I=(y,T)=>a&&y.width!==T.width||i&&y.height!==T.height;p.forEach(y=>{const T=tn(y,j);z(G=>I(G,T)?(m==null||m({width:T.width,height:T.height,entry:y}),T):G)})},[a,i,u,j]),P=b.useCallback(Zt(S,t,n,s),[S,t,n,s]);return b.useEffect(()=>{let p;return g?(p=new window.ResizeObserver(P),p.observe(g,l)):(h.width||h.height)&&(m==null||m({width:null,height:null,entry:null}),z({width:void 0,height:void 0})),()=>{var I,y,T;(I=p==null?void 0:p.disconnect)===null||I===void 0||I.call(p),(T=(y=P).cancel)===null||T===void 0||T.call(y)}},[P,g]),Object.assign({ref:w},h)}function it(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=it(e[t]))&&(s&&(s+=" "),s+=n)}else for(n in e)e[n]&&(s&&(s+=" "),s+=n);return s}function N(){for(var e,t,n=0,s="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=it(e))&&(s&&(s+=" "),s+=t);return s}const rn="_headerContainer_1cubo_1",sn="_navigationTabList_1cubo_8",an="_navigationTab_1cubo_8",on="_headerContent_1cubo_34",cn="_staticEnabled_1cubo_50",L={headerContainer:rn,navigationTabList:sn,navigationTab:an,headerContent:on,staticEnabled:cn},un=77,q=({sticky:e,children:t})=>{const{ref:n,height:s}=nn({refreshMode:"debounce",refreshRate:0}),[a,i]=b.useState(!1),c=()=>a?!e:!0;b.useEffect(()=>{const d=()=>{i(window.scrollY>0)};return window.addEventListener("scroll",d),()=>window.removeEventListener("scroll",d)},[]);const l=`${s||un}px`;return o.jsx("div",{style:{minHeight:l},children:o.jsx("div",{children:o.jsxs("div",{ref:n,className:N(L.headerContent,{[L.staticEnabled]:c()}),children:[o.jsx(q.Header,{}),o.jsx(q.Tabs,{}),t]})})})};q.Header=({children:e})=>o.jsx("div",{className:L.headerContainer,children:e});q.Tabs=({children:e})=>o.jsx("div",{className:"flex justify-between gap-2 nowrap",children:e});const ln="_sidebarContainer_bmdti_1",dn={sidebarContainer:ln},mn="_logoLink_1baxb_1",fn={logoLink:mn},_n=({src:e,href:t="/",ariaLabel:n="Home",alt:s="Lokalise"})=>o.jsx("a",{className:fn.logoLink,href:t,"aria-label":n,children:o.jsx("img",{src:e,alt:s})}),bn="_link_18vhx_1",gn="_active_18vhx_18",$e={link:bn,active:gn},hn=({label:e,to:t,icon:n})=>o.jsx(f.Tooltip,{placement:"right",tooltip:e,children:o.jsx(f.Link,{className:N($e.link,{[$e.active]:window.location.pathname.startsWith(t)}),href:t,children:o.jsx(n,{size:"25px"})})}),pn="_dropdownButton_13l5r_1",Tn="_dropdownButtonActive_13l5r_18",Fe={dropdownButton:pn,dropdownButtonActive:Tn},yn=({children:e,icon:t})=>o.jsx(f.Menu,{menuButton:({opened:n})=>o.jsx(f.Tooltip,{placement:"right",tooltip:"Help",children:o.jsx("button",{type:"button",className:N(Fe.dropdownButton,{[Fe.dropdownButtonActive]:n}),children:o.jsx(t,{size:"25px"})})}),children:o.jsx(f.MenuList,{placement:"right-start",children:e})}),jn="_iconContainer_nz34m_1",vn={iconContainer:jn},ct=({className:e=""})=>o.jsx("div",{"aria-label":"Upgrade Icon",className:N(vn.iconContainer,"flex-row","items-center","justify-center",e),children:o.jsx(f.CaretUpIcon,{})}),zn="_menuContainer_wbu3u_5",Sn="_profileButton_wbu3u_16",Pn="_profileImage_wbu3u_29",En="_profileImageHighlight_wbu3u_37",wn="_profileImageUpgradeIcon_wbu3u_41",In="_userIconWrapper_wbu3u_47",A={menuContainer:zn,profileButton:Sn,profileImage:Pn,profileImageHighlight:En,profileImageUpgradeIcon:wn,userIconWrapper:In},ut=b.createContext({}),H=()=>b.useContext(ut),Rn=({children:e})=>{const{currentTeam:t,otherTeams:n,showUpgradeCta:s,showBillingButton:a,allowTeamCreation:i,isProviderAlpha:c,canAccessTeamSettings:l,isEndOfTrialActive:d,isTeamSuspended:u,isFullyAuthenticated:m}=H();return o.jsx(f.Menu,{menuButton:()=>o.jsxs("button",{className:A.profileButton,"aria-label":"Profile menu",type:"button",children:[t!=null&&t.logoUrl?o.jsx("img",{src:t.logoUrl,className:N(A.profileImage,{[A.profileImageHighlight]:s}),alt:"Team Logo"}):o.jsx("div",{className:N(A.userIconWrapper,"flex-row","align-center","items-center",{[A.profileImageHighlight]:s}),children:o.jsx(f.UserIcon,{size:"25px"})}),s&&o.jsx(ct,{className:A.profileImageUpgradeIcon})]}),children:o.jsx(f.MenuList,{placement:"right-end",className:A.menuContainer,children:e({allowTeamCreation:i,otherTeams:n,canAccessTeamSettings:l,isEndOfTrialActive:d,isTeamSuspended:u,showBillingButton:a,isProviderAlpha:c,isFullyAuthenticated:m})})})},Te=0,lt=9999,dt=[150,151,250,251],mt=[152,153,252,253],ft=[154,155,157,158,254,255,258,354,355,358],_t=[156,159,160,256,259,260],ye=9998,J=e=>e===Te,je=e=>e===lt,xn=e=>dt.includes(e),An=e=>mt.includes(e),Cn=e=>ft.includes(e),Nn=e=>_t.includes(e),kn=e=>e>Te&&e<ye,Ln=e=>e===ye,On=/\n/,Ke=(e,t,n)=>e.split(t).flatMap((s,a)=>a!==0?[b.cloneElement(n,{key:Math.random().toString(32).slice(0,10)}),s]:s),Mn=(e,t,n)=>typeof e=="string"?Ke(e,t,n):e.flatMap(s=>typeof s=="string"?Ke(s,t,n):s),Un=e=>Mn(e,On,o.jsx("br",{})),qn=/(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi,Bn=e=>e.match(qn)??[],Qe=(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!=="")},Je=e=>{const t=Bn(e);return t!=null&&t.length?t.reduce((n,s,a)=>typeof n=="string"?Qe(n,s,a):n.flatMap(i=>typeof i=="string"?Qe(i,s,a):i),e):e},Hn=e=>typeof e=="string"?Je(e):e.flatMap(t=>typeof t=="string"?Je(t):t,e),Dn=(e,t="PP")=>nt.format(e,t),Gn=(e,t,n="PP")=>nt.format(Lt.toZonedTime(e,t),n),$n=e=>{b.useEffect(e,[])},We={biller:"biller",owner:"owner"},Ye=[We.biller,We.owner],Fn=({children:e,config:t})=>{const{teams:n,currentTeamId:s,planId:a,isEndOfTrialActive:i,isFullyAuthenticated:c,userTeamRole:l}=t,d=n.find(P=>P.id===s),u=n.filter(P=>P.id!==s),m=Ye.includes(l),h=Ye.includes(l),z=J(a)||je(a),S={...t,currentTeam:d,otherTeams:u,canChangeBilling:m,canAccessTeamSettings:h,isOnFreeOrTrialPlan:z,showUpgradeCta:c&&z&&m,showBillingButton:c&&h&&m,allowTeamCreation:c&&!i};return o.jsx(ut.Provider,{value:S,children:e})},Kn=({config:e,children:t})=>o.jsx(Fn,{config:e,children:o.jsx(Rn,{children:t})}),Qn="_container_q5pot_1",Jn="_profileEmail_q5pot_5",Ve={container:Qn,profileEmail:Jn},Wn=({href:e,onClick:t,userEmail:n,hideBottomDivider:s})=>{const{isEndOfTrialActive:a,isTeamSuspended:i}=H();return a||i?null:o.jsxs(o.Fragment,{children:[o.jsx(f.MenuItem,{href:e,onClick:()=>{t==null||t()},children:o.jsxs("div",{className:`flex-col ${Ve.container}`,children:[o.jsx("span",{children:"Profile Settings"}),o.jsx("span",{className:Ve.profileEmail,children:n})]})}),!s&&o.jsx(f.MenuDivider,{})]})},Yn="_wrapper_15d85_1",Vn="_profileImage_15d85_14",Zn="_teamName_15d85_22",Xn="_planLabel_15d85_29",er="_membership_15d85_38",tr="_defaultProfileImage_15d85_44",k={wrapper:Yn,profileImage:Vn,teamName:Zn,planLabel:Xn,membership:er,defaultProfileImage:tr},bt=({team:e,onClick:t,hidePlanLabel:n})=>{const{currentTeam:s,planId:a}=H(),i=e||s;if(!i)return null;const c=J(a)?"Free":je(a)?"Trial":void 0,l=t?f.MenuItem:"div";return o.jsxs(l,{className:`flex-row gap-2 flex-nowrap items-center ${k.wrapper}`,...t&&{onClick:()=>t(i)},children:[i.logoUrl?o.jsx("img",{className:k.profileImage,src:i.logoUrl,alt:"Team Logo"}):o.jsx("span",{className:`flex-row justify-center items-center ${k.defaultProfileImage}`,children:o.jsx(f.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:k.teamName,children:i.name}),c&&!n&&o.jsx("span",{className:`flex-row justify-center items-center ${k.planLabel}`,children:c})]}),o.jsx("span",{className:k.membership,children:i.role})]})]})},nr="_teamsContainer_1t68g_1",rr={teamsContainer:nr},sr=({onSwitchTeam:e})=>{const{otherTeams:t}=H();return t.length===0?null:o.jsx("div",{className:`flex-col items-stretch ${rr.teamsContainer}`,children:t.map(n=>o.jsx(bt,{team:n,onClick:e,hidePlanLabel:!0},n.id))})},ar="_container_1u995_1",or="_planCta_1u995_15",ir="_upgradeIconWrapper_1u995_19",_e={container:ar,planCta:or,upgradeIconWrapper:ir},cr=({upgradeOptionHref:e})=>{const{planId:t,trialDaysLeft:n,showUpgradeCta:s}=H();if(!s)return null;const c=J(t)?"Your team is currently on the Free plan":`Free trial ends in ${n} ${n===1?"day":"days"}`;return o.jsxs(f.MenuItem,{href:e,className:`flex-col gap-1 items-start ${_e.container}`,children:[o.jsx("span",{className:_e.planCta,children:c}),o.jsxs("div",{className:`flex-row items-center gap-1 ${_e.upgradeIconWrapper}`,children:[o.jsx(ct,{}),o.jsx("span",{children:"See upgrade options"})]})]})},v=({children:e,...t})=>o.jsx("nav",{...t,className:dn.sidebarContainer,children:e}),ur=({children:e})=>o.jsx("div",{children:e});v.Top=ur;const lr=({children:e})=>o.jsx("div",{children:e});v.Bottom=lr;v.Avatar=_n;v.IconLink=hn;v.Menu=yn;v.ProfileMenu=Kn;v.TeamSwitch=sr;v.TeamMenuItem=bt;v.UpgradeMenuItem=cr;v.ProfileSettingsMenuItem=Wn;const dr="_breadcrumbsItem_1hm6a_1",mr="_breadcrumbs_1hm6a_1",Ze={breadcrumbsItem:dr,breadcrumbs:mr},fr=({items:e})=>o.jsx("nav",{"aria-label":"breadcrumb",className:Ze.breadcrumbs,children:e.map((t,n)=>o.jsxs(b.Fragment,{children:[o.jsx(f.Link,{className:Ze.breadcrumbsItem,href:t.link,rel:"noreferrer",children:t.name}),n<e.length-1&&o.jsx("span",{children:" — "})]},`${t.link}-${t.name}`))}),_r=({items:e})=>o.jsx(o.Fragment,{children:e.map((t,n)=>o.jsxs(b.Fragment,{children:[!!n&&t.some(s=>s.visible)&&o.jsx(f.MenuDivider,{}),t.filter(({visible:s})=>s).map(({link:s,label:a,onClick:i})=>o.jsx(f.MenuItem,{href:s||"#","aria-label":a,onClick:i,children:a},a))]},t[0].label))}),br="_badge_1pc1v_1",gr="_tag_1pc1v_15",hr="_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21",pr="_disabled_1pc1v_57",Tr="_projectNavigationItem_1pc1v_61",yr="_projectNavigationItemDisabled_1pc1v_67",C={badge:br,tag:gr,withNavLinkStyle:hr,disabled:pr,projectNavigationItem:Tr,projectNavigationItemDisabled:yr},Xe=({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:C.badge,"aria-label":`${t} items requiring attention`,children:t>9?"9+":t})]}),!!n&&o.jsx(f.Tag,{className:C.tag,children:n})]}),be=b.forwardRef(({label:e,href:t="",disabled:n=!1,badge:s,onClick:a,novel:i},c)=>o.jsx(f.Tooltip,{tooltip:"You do not have access to this function",show:n,children:o.jsx("div",{className:n?C.projectNavigationItemDisabled:C.projectNavigationItem,children:a||n||!t?o.jsx("button",{type:"button",ref:c,className:N(C.withNavLinkStyle,{[C.disabled]:n}),disabled:n,onClick:a,children:o.jsx(Xe,{label:e,badge:s,novel:i})}):o.jsx("a",{href:t,className:C.withNavLinkStyle,children:o.jsx(Xe,{label:e,badge:s,novel:i})})})}));be.displayName="NavigationTabsItem";const jr=e=>(e==null?void 0:e.some(t=>t.some(n=>n.visible)))??!1,vr=e=>e.visible&&(!e.dropdown||jr(e.dropdown)),zr=({navigation:e,activeItem:t})=>o.jsx("nav",{"aria-label":"Project",children:o.jsx("ul",{className:L.navigationTabList,"aria-orientation":"horizontal",children:e.filter(vr).map(n=>{var s,a,i;return n.dropdown?o.jsx("li",{className:L.navigationTab,"data-testid":n.key,"aria-selected":(s=n.isActive)==null?void 0:s.call(n,t),children:o.jsx(f.Menu,{menuButton:({opened:c})=>o.jsx(be,{label:n.label,disabled:n.disabled,active:c}),children:o.jsx(f.MenuList,{children:o.jsx(_r,{items:n.dropdown})})})},n.key):o.jsx("li",{className:L.navigationTab,"data-testid":n.key,"aria-selected":(a=n.isActive)==null?void 0:a.call(n,t),children:o.jsx(be,{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)})})}),Sr=r.z.object({accessToken:r.z.string(),refreshToken:r.z.string()}),Pr=r.z.union([r.z.object({Authorization:r.z.string().startsWith("Bearer ")}),r.z.object({"x-csrf-token":r.z.string()})]),W=he.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:Pr,requestBodySchema:r.z.undefined(),successResponseBodySchema:Sr}),gt={teamKeyCsrf:(e,t)=>["getUserToken","x-csrf-token",t,e],teamKeyJwt:(e,t)=>["getUserToken","Authorization",`Bearer ${t}`,e]},ht=(e,t)=>x.useQuery({...t,queryFn:({queryKey:[n,s,a,i]})=>E.sendByPayloadRoute(e,W,{pathParams:{teamId:i},headers:s==="x-csrf-token"?{"x-csrf-token":a}:{Authorization:a}})}),pt=r.z.union([r.z.literal("owner"),r.z.literal("admin"),r.z.literal("biller"),r.z.literal("member")]),Er=r.z.object({userId:r.z.number(),userUuid:r.z.string(),teamId:r.z.number(),userTeamRole:pt,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 D(e){try{const t=e.split(".")[1],n=atob(t);return Er.parse(JSON.parse(n))}catch{return}}const Q=class Q extends CustomEvent{constructor(t){super(Q.eventName,{detail:{token:t,payload:D(t.accessToken)}})}};Ie(Q,"eventName","new-jwt-issued");let O=Q;function ve(){const e=ge(document.cookie,"accessToken"),t=ge(document.cookie,"refreshToken");if(!(!e||!t))return{accessToken:e,refreshToken:t}}function Tt(){return ge(document.cookie,"csrf_token")}function ge(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 wr(e,t){const n=Tt(),s=ht(e,{queryKey:gt.teamKeyCsrf(t,n??""),enabled:n!==void 0}),a=b.useRef();return b.useEffect(()=>{s.data&&s.data.accessToken!==a.current&&(window.dispatchEvent(new O(s.data)),a.current=s.data.accessToken)},[s.data]),s}function ze(){const[e,t]=b.useState();return b.useEffect(()=>{const n=a=>{t(a.detail.payload)},s=ve();return t(s&&D(s.accessToken)),window.addEventListener(O.eventName,n),()=>{window.removeEventListener(O.eventName,n)}},[]),e}const Ir=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:pt}),Rr=r.z.object({team_id:r.z.number(),team_user:Ir}),yt=B.buildGetRoute({description:"Get the details of a team user",requestPathParamsSchema:r.z.object({teamId:r.z.number(),userId:r.z.number()}),pathResolver:({teamId:e,userId:t})=>`/teams/${e}/users/${t}`,successResponseBodySchema:Rr}),jt={teamUserKey:(e,t)=>["GetTeamUsers",e,t]},vt=(e,t)=>x.useQuery({...t,queryFn:({queryKey:[n,s,a]})=>E.sendByGetRoute(e,yt,{pathParams:{teamId:s,userId:a}})});function xr(e){const t=ze();return vt(e,{queryKey:jt.teamUserKey((t==null?void 0:t.teamId)??0,(t==null?void 0:t.userId)??0),enabled:(t==null?void 0:t.userId)!==void 0&&t.teamId!==void 0})}const Ar=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)])}),Cr=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(Ar),is_admin:r.z.boolean(),is_reviewer:r.z.boolean()}),Nr=r.z.object({project_id:r.z.string(),contributors:r.z.array(Cr)}),zt=B.buildGetRoute({description:"Get the details of a project contributor",requestPathParamsSchema:r.z.object({projectId:r.z.string(),contributorId:r.z.number()}),pathResolver:({projectId:e,contributorId:t})=>`/projects/${e}/contributors/${t}`,successResponseBodySchema:Nr}),St={projectUserKey:(e,t)=>["RetrieveContributor",e,t]},Pt=(e,t)=>x.useQuery({...t,queryFn:({queryKey:[n,s,a]})=>E.sendByGetRoute(e,zt,{pathParams:{projectId:s,contributorId:a}})});function kr(e,t){const n=ze();return Pt(e,{queryKey:St.projectUserKey(t,(n==null?void 0:n.userId)??0),enabled:n!==void 0})}function Lr(){const e=ve();if(!e)return;const t=D(e.accessToken);if(t)return{...e,payload:t}}function Or(){return e=>(t,n)=>e(t,{...n,headers:{...n.headers,"x-lokalise-plugin":"true"},credentials:"omit"})}function K(e){return{Authorization:`Bearer ${e}`}}function Mr(e,t){return n=>async(s,a)=>{var l;const i=await t.getCachedJwtToken();if(i===void 0)return n(s,a);const c=await n(s,{...a,headers:{...a.headers,...K(i.accessToken)}});if(i&&(c.status===401||c.status===403)){const d=D(i.accessToken);if(!d)return c;const u=await E.sendByPayloadRoute(e,W,{pathParams:{teamId:d.teamId},headers:K(i.refreshToken)});return await((l=t.onNewJwtTokenIssued)==null?void 0:l.call(t,u)),n(s,{...a,headers:{...a.headers,...K(u.accessToken)}})}return c}}const Et={wretch:{lokaliseAuth(e){return this.middlewares([Mr(this,e)])}}};function Ur(e,t){return n=>async(s,a)=>{var d;if(await t.getCachedJwtToken()!==void 0)return n(s,a);const c=await t.getCsrfToken();if(c===void 0)return n(s,a);const l=await E.sendByPayloadRoute(e,W,{pathParams:{teamId:await t.getTeamId()},headers:{"x-csrf-token":c}});return await((d=t.onNewJwtTokenIssued)==null?void 0:d.call(t,l)),n(s,{...a,headers:{...a.headers,...K(l.accessToken)}})}}const qr={wretch:{lokaliseAuth(e={}){return this.addon(Et).lokaliseAuth(et(e))},promoteClassicSession(e){const t=et(e);return this.middlewares([Ur(this,t)])}}};function et(e){return{...e,getCachedJwtToken:e.getCachedJwtToken??(async()=>ve()),getCsrfToken:"getCsrfToken"in e?e.getCsrfToken:async()=>Tt(),onNewJwtTokenIssued:t=>{var n;return window.dispatchEvent(new O(t)),((n=e.onNewJwtTokenIssued)==null?void 0:n.call(e,t))??Promise.resolve()}}}const Br=r.z.object({lang_iso:r.z.string(),custom_iso:r.z.string().optional()}),Hr=r.z.object({language_id:r.z.number(),language_iso:r.z.string(),progress:r.z.number(),words_to_do:r.z.number()}),Dr=r.z.object({projectId:r.z.string()}),Gr=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())}),$r=r.z.object({project_id:r.z.string(),project_uuid:r.z.string().uuid(),languages:r.z.array(Gr)}),Se=r.z.union([r.z.literal("localization_files"),r.z.literal("paged_documents"),r.z.literal("marketing")]),Fr=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()}),Kr=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()}),Qr=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:Kr,languages:r.z.array(Hr)}),Y=r.z.object({project_id:r.z.string(),uuid:r.z.string().uuid(),project_type:Se,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:Fr.optional(),statistics:Qr.optional()}),Jr=r.z.object({name:r.z.string(),team_id:r.z.string(),base_lang_iso:r.z.string(),languages:r.z.array(Br),project_type:Se,is_segmentation_enabled:r.z.boolean()}),tt=r.z.union([r.z.literal(0),r.z.literal(1)]),Wr=r.z.object({filter_type:Se.optional(),filter_team_id:r.z.number().optional(),filter_names:r.z.string().optional(),include_statistics:tt.optional(),include_settings:tt.optional(),limit:r.z.number().optional(),page:r.z.number().optional()}),Yr=r.z.object({projects:r.z.array(Y)}),Vr=r.z.object({project_id:r.z.string()}),Zr=r.z.object({project_id:r.z.string()}),Xr=r.z.object({name:r.z.string().min(1),description:r.z.string().optional()}),V=()=>"/projects",wt=he.buildPayloadRoute({description:"Create a new project",method:"post",pathResolver:V,requestBodySchema:Jr,successResponseBodySchema:Y}),It=B.buildGetRoute({description:"List all projects",pathResolver:V,requestQuerySchema:Wr,successResponseBodySchema:Yr}),Rt=B.buildGetRoute({description:"Retrieve a project",requestPathParamsSchema:Vr,pathResolver:({project_id:e})=>`${V()}/${e}`,successResponseBodySchema:Y}),xt=he.buildPayloadRoute({description:"Update a project",method:"put",requestPathParamsSchema:Zr,pathResolver:({project_id:e})=>`${V()}/${e}`,requestBodySchema:Xr,successResponseBodySchema:Y});function es(e,t={}){return x.useMutation({...t,mutationFn:n=>E.sendByPayloadRoute(e,wt,{body:n})})}const ts=B.buildGetRoute({description:"List of project languages",requestPathParamsSchema:Dr,pathResolver:({projectId:e})=>`/projects/${e}/languages`,successResponseBodySchema:$r}),ns={projectIdKey:e=>["listProjectLanguages",e]};function rs(e,t){return x.useQuery({...t,queryFn:({queryKey:[n,s]})=>E.sendByGetRoute(e,ts,{pathParams:{projectId:s}})})}const ss={paramsKey:e=>["listProjects",e]};function as(e,t){return x.useQuery({...t,queryFn:({queryKey:[n,s]})=>E.sendByGetRoute(e,It,{queryParams:s})})}const os={projectIdKey:e=>["retrieveProject",e]};function is(e,t){return x.useQuery({...t,queryFn:({queryKey:[n,s]})=>E.sendByGetRoute(e,Rt,{pathParams:{project_id:s}})})}function cs(e,t,n={}){return x.useMutation({...n,mutationFn:s=>E.sendByPayloadRoute(e,xt,{body:s,pathParams:t})})}exports.Breadcrumbs=fr;exports.ENTERPRISE_OPENSOURCE_PLAN_ID=ye;exports.ENTERPRISE_PLAN_IDS=_t;exports.ESSENTIAL_PLAN_IDS=mt;exports.FREE_PLAN_ID=Te;exports.LokaliseAuthAddon=Et;exports.LokaliseAuthBrowserAddon=qr;exports.NavigationPanel=q;exports.NavigationTabs=zr;exports.PRO_PLAN_IDS=ft;exports.START_PLAN_IDS=dt;exports.Sidebar=v;exports.TRIAL_PLAN_ID=lt;exports.convertNewLineToBreakTag=Un;exports.createProject=wt;exports.formatDate=Dn;exports.formatDateTz=Gn;exports.getAuthenticatedSessionDetailFromRequest=Lr;exports.getTeamUser=yt;exports.getTeamUsersQueryKey=jt;exports.getUserToken=W;exports.getUserTokenKey=gt;exports.isEnterpriseOpenSourcePlan=Ln;exports.isEnterprisePlan=Nn;exports.isEssentialPlan=An;exports.isFreePlan=J;exports.isPaidPlan=kn;exports.isProPlan=Cn;exports.isStartPlan=xn;exports.isTrialPlan=je;exports.listProjectLanguagesKey=ns;exports.listProjects=It;exports.listProjectsKey=ss;exports.makeUrlClickable=Hn;exports.parseJwtTokenPayload=D;exports.publicApiHeadersMiddleware=Or;exports.retrieveContributor=zt;exports.retrieveContributorKeys=St;exports.retrieveProject=Rt;exports.retrieveProjectQueryKey=os;exports.updateProject=xt;exports.useAuthenticatedProjectContributor=kr;exports.useAuthenticatedSessionPayload=ze;exports.useAuthenticatedUser=xr;exports.useCreateProjectMutation=es;exports.useEffectOnce=$n;exports.useGetPromotedClassicSessionJwtQuery=wr;exports.useGetTeamUsersQuery=vt;exports.useGetUserTokenQuery=ht;exports.useListProjectLanguagesQuery=rs;exports.useListProjectsQuery=as;exports.useRetrieveContributorQuery=Pt;exports.useRetrieveProjectQuery=is;exports.useUpdateProjectMutation=cs;
package/dist/harmony.mjs CHANGED
@@ -1033,8 +1033,8 @@ const Ur = r.object({
1033
1033
  successResponseBodySchema: Jr
1034
1034
  }), Zr = H({
1035
1035
  description: "Retrieve a project",
1036
- pathResolver: V,
1037
- requestQuerySchema: Kr,
1036
+ requestPathParamsSchema: Kr,
1037
+ pathResolver: ({ project_id: e }) => `${V()}/${e}`,
1038
1038
  successResponseBodySchema: Y
1039
1039
  }), Xr = ye({
1040
1040
  description: "Update a project",
@@ -1086,7 +1086,7 @@ function qa(e, t) {
1086
1086
  return L({
1087
1087
  ...t,
1088
1088
  queryFn: ({ queryKey: [n, a] }) => B(e, Zr, {
1089
- queryParams: { project_id: a }
1089
+ pathParams: { project_id: a }
1090
1090
  })
1091
1091
  });
1092
1092
  }
@@ -775,7 +775,9 @@ export declare const listProjects: import('@lokalise/universal-ts-utils/node').G
775
775
  /**
776
776
  * Public API router definition for retrieving a project
777
777
  */
778
- export declare const retrieveProject: import('@lokalise/universal-ts-utils/node').GetRouteDefinition<never, import('zod').ZodObject<{
778
+ export declare const retrieveProject: import('@lokalise/universal-ts-utils/node').GetRouteDefinition<{
779
+ project_id: string;
780
+ }, import('zod').ZodObject<{
779
781
  project_id: import('zod').ZodString;
780
782
  uuid: import('zod').ZodString;
781
783
  project_type: import('zod').ZodUnion<[import('zod').ZodLiteral<"localization_files">, import('zod').ZodLiteral<"paged_documents">, import('zod').ZodLiteral<"marketing">]>;
@@ -1069,13 +1071,13 @@ export declare const retrieveProject: import('@lokalise/universal-ts-utils/node'
1069
1071
  unbalanced_brackets: number;
1070
1072
  };
1071
1073
  } | undefined;
1072
- }>, undefined, import('zod').ZodObject<{
1074
+ }>, import('zod').ZodObject<{
1073
1075
  project_id: import('zod').ZodString;
1074
1076
  }, "strip", import('zod').ZodTypeAny, {
1075
1077
  project_id: string;
1076
1078
  }, {
1077
1079
  project_id: string;
1078
- }>, undefined, false, false>;
1080
+ }>, undefined, undefined, false, false>;
1079
1081
  /**
1080
1082
  * Public API router definition for updating a project
1081
1083
  */
@@ -998,7 +998,7 @@ export declare const LIST_PROJECTS_SUCCESS_RESPONSE_BODY: z.ZodObject<{
998
998
  }[];
999
999
  }>;
1000
1000
  export type ListProjectsSuccessResponseBody = z.infer<typeof LIST_PROJECTS_SUCCESS_RESPONSE_BODY>;
1001
- export declare const RETRIEVE_PROJECT_REQUEST_QUERY_SCHEMA: z.ZodObject<{
1001
+ export declare const RETRIEVE_PROJECT_PATH_PARAM_SCHEMA: z.ZodObject<{
1002
1002
  project_id: z.ZodString;
1003
1003
  }, "strip", z.ZodTypeAny, {
1004
1004
  project_id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lokalise/harmony",
3
- "version": "1.14.0",
3
+ "version": "1.14.1",
4
4
  "author": {
5
5
  "name": "Lokalise",
6
6
  "url": "https://lokalise.com/"