@lokalise/harmony 1.6.0-exp-jwtutils.12 → 1.6.0-exp-jwtutils.14

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 wt=Object.defineProperty;var It=(e,t,n)=>t in e?wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var xe=(e,t,n)=>It(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),g=require("react"),m=require("@lokalise/louis"),o=require("zod"),U=require("@lokalise/frontend-http-client"),xt=require("@lokalise/universal-ts-utils/api-contracts/apiContracts"),me=require("@tanstack/react-query"),Ve=require("@lokalise/universal-ts-utils/node"),Ye=require("date-fns"),St=require("date-fns-tz");function Pt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const O=Pt(g);var F=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ze(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var V,Se;function he(){if(Se)return V;Se=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return V=e,V}var Y,Pe;function Nt(){if(Pe)return Y;Pe=1;var e=typeof F=="object"&&F&&F.Object===Object&&F;return Y=e,Y}var Z,Ne;function Xe(){if(Ne)return Z;Ne=1;var e=Nt(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return Z=n,Z}var X,ke;function kt(){if(ke)return X;ke=1;var e=Xe(),t=function(){return e.Date.now()};return X=t,X}var ee,Ee;function Et(){if(Ee)return ee;Ee=1;var e=/\s/;function t(n){for(var r=n.length;r--&&e.test(n.charAt(r)););return r}return ee=t,ee}var te,Ce;function Ct(){if(Ce)return te;Ce=1;var e=Et(),t=/^\s+/;function n(r){return r&&r.slice(0,e(r)+1).replace(t,"")}return te=n,te}var ne,Re;function et(){if(Re)return ne;Re=1;var e=Xe(),t=e.Symbol;return ne=t,ne}var re,Ae;function Rt(){if(Ae)return re;Ae=1;var e=et(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,s=e?e.toStringTag:void 0;function i(c){var u=n.call(c,s),d=c[s];try{c[s]=void 0;var l=!0}catch{}var f=r.call(c);return l&&(u?c[s]=d:delete c[s]),f}return re=i,re}var se,ze;function At(){if(ze)return se;ze=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return se=n,se}var ae,Le;function zt(){if(Le)return ae;Le=1;var e=et(),t=Rt(),n=At(),r="[object Null]",s="[object Undefined]",i=e?e.toStringTag:void 0;function c(u){return u==null?u===void 0?s:r:i&&i in Object(u)?t(u):n(u)}return ae=c,ae}var ie,Oe;function Lt(){if(Oe)return ie;Oe=1;function e(t){return t!=null&&typeof t=="object"}return ie=e,ie}var oe,qe;function Ot(){if(qe)return oe;qe=1;var e=zt(),t=Lt(),n="[object Symbol]";function r(s){return typeof s=="symbol"||t(s)&&e(s)==n}return oe=r,oe}var ce,Ue;function qt(){if(Ue)return ce;Ue=1;var e=Ct(),t=he(),n=Ot(),r=NaN,s=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;function d(l){if(typeof l=="number")return l;if(n(l))return r;if(t(l)){var f=typeof l.valueOf=="function"?l.valueOf():l;l=t(f)?f+"":f}if(typeof l!="string")return l===0?l:+l;l=e(l);var p=i.test(l);return p||c.test(l)?u(l.slice(2),p?2:8):s.test(l)?r:+l}return ce=d,ce}var le,Me;function tt(){if(Me)return le;Me=1;var e=he(),t=kt(),n=qt(),r="Expected a function",s=Math.max,i=Math.min;function c(u,d,l){var f,p,y,j,_,w,x=0,P=!1,b=!1,S=!0;if(typeof u!="function")throw new TypeError(r);d=n(d)||0,e(l)&&(P=!!l.leading,b="maxWait"in l,y=b?s(n(l.maxWait)||0,d):y,S="trailing"in l?!!l.trailing:S);function T(h){var N=f,L=p;return f=p=void 0,x=h,j=u.apply(L,N),j}function v(h){return x=h,_=setTimeout($,d),P?T(h):j}function D(h){var N=h-w,L=h-x,Ie=d-N;return b?i(Ie,y-L):Ie}function je(h){var N=h-w,L=h-x;return w===void 0||N>=d||N<0||b&&L>=y}function $(){var h=t();if(je(h))return we(h);_=setTimeout($,D(h))}function we(h){return _=void 0,S&&f?T(h):(f=p=void 0,j)}function yt(){_!==void 0&&clearTimeout(_),x=0,f=w=p=_=void 0}function jt(){return _===void 0?j:we(t())}function Q(){var h=t(),N=je(h);if(f=arguments,p=this,w=h,N){if(_===void 0)return v(w);if(b)return clearTimeout(_),_=setTimeout($,d),T(w)}return _===void 0&&(_=setTimeout($,d)),j}return Q.cancel=yt,Q.flush=jt,Q}return le=c,le}var Ut=tt();const Mt=Ze(Ut);var ue,Be;function Bt(){if(Be)return ue;Be=1;var e=tt(),t=he(),n="Expected a function";function r(s,i,c){var u=!0,d=!0;if(typeof s!="function")throw new TypeError(n);return t(c)&&(u="leading"in c?!!c.leading:u,d="trailing"in c?!!c.trailing:d),e(s,i,{leading:u,maxWait:i,trailing:d})}return ue=r,ue}var Dt=Bt();const $t=Ze(Dt),Ft=(e,t,n,r)=>{switch(t){case"debounce":return Mt(e,n,r);case"throttle":return $t(e,n,r);default:return e}},Gt=e=>{const t=O.useRef(e);return O.useEffect(()=>{t.current=e}),O.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])},Ht=e=>{const[t,n]=O.useState((e==null?void 0:e.current)||null);return e&&setTimeout(()=>{e.current!==t&&n(e.current)},0),{refProxy:O.useMemo(()=>new Proxy(s=>{s!==t&&n(s)},{get(s,i){return i==="current"?t:s[i]},set(s,i,c){return i==="current"?n(c):s[i]=c,!0}}),[t]),refElement:t,setRefElement:n}},Kt=(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 Wt({skipOnMount:e=!1,refreshMode:t,refreshRate:n=1e3,refreshOptions:r,handleWidth:s=!0,handleHeight:i=!0,targetRef:c,observerOptions:u,onResize:d}={}){const l=g.useRef(e),f=Gt(d),[p,y]=g.useState({width:void 0,height:void 0}),{refProxy:j,refElement:_}=Ht(c),{box:w}=u||{},x=g.useCallback(b=>{if(!s&&!i)return;if(l.current){l.current=!1;return}const S=(T,v)=>s&&T.width!==v.width||i&&T.height!==v.height;b.forEach(T=>{const v=Kt(T,w);y(D=>S(D,v)?(f==null||f({width:v.width,height:v.height,entry:T}),v):D)})},[s,i,l,w]),P=g.useCallback(Ft(x,t,n,r),[x,t,n,r]);return g.useEffect(()=>{let b;return _?(b=new window.ResizeObserver(P),b.observe(_,u)):(p.width||p.height)&&(f==null||f({width:null,height:null,entry:null}),y({width:void 0,height:void 0})),()=>{var S,T,v;(S=b==null?void 0:b.disconnect)===null||S===void 0||S.call(b),(v=(T=P).cancel)===null||v===void 0||v.call(T)}},[P,_]),Object.assign({ref:j},p)}function nt(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=nt(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function C(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=nt(e))&&(r&&(r+=" "),r+=t);return r}const Jt="_headerContainer_1cubo_1",Qt="_navigationTabList_1cubo_8",Vt="_navigationTab_1cubo_8",Yt="_headerContent_1cubo_34",Zt="_staticEnabled_1cubo_50",A={headerContainer:Jt,navigationTabList:Qt,navigationTab:Vt,headerContent:Yt,staticEnabled:Zt},Xt=77,q=({sticky:e,children:t})=>{const{ref:n,height:r}=Wt({refreshMode:"debounce",refreshRate:0}),[s,i]=g.useState(!1),c=()=>s?!e:!0;g.useEffect(()=>{const d=()=>{i(window.scrollY>0)};return window.addEventListener("scroll",d),()=>window.removeEventListener("scroll",d)},[]);const u=`${r||Xt}px`;return a.jsx("div",{style:{minHeight:u},children:a.jsx("div",{children:a.jsxs("div",{ref:n,className:C(A.headerContent,{[A.staticEnabled]:c()}),children:[a.jsx(q.Header,{}),a.jsx(q.Tabs,{}),t]})})})};q.Header=({children:e})=>a.jsx("div",{className:A.headerContainer,children:e});q.Tabs=({children:e})=>a.jsx("div",{className:"flex justify-between gap-2 nowrap",children:e});const en="_sidebarContainer_bmdti_1",tn={sidebarContainer:en},nn="_logoLink_1baxb_1",rn={logoLink:nn},sn=({src:e,href:t="/",ariaLabel:n="Home",alt:r="Lokalise"})=>a.jsx("a",{className:rn.logoLink,href:t,"aria-label":n,children:a.jsx("img",{src:e,alt:r})}),an="_link_1weq1_1",on="_active_1weq1_18",De={link:an,active:on},cn=({label:e,to:t,icon:n})=>a.jsx(m.Tooltip,{placement:"right",tooltip:e,children:a.jsx(m.Link,{className:C(De.link,{[De.active]:window.location.pathname.startsWith(t)}),href:t,children:a.jsx(n,{size:"25px"})})}),ln="_dropdownButton_hwh0c_1",un="_dropdownButtonActive_hwh0c_18",$e={dropdownButton:ln,dropdownButtonActive:un},dn=({children:e,icon:t})=>a.jsx(m.Menu,{menuButton:({opened:n})=>a.jsx(m.Tooltip,{placement:"right",tooltip:"Help",children:a.jsx("button",{type:"button",className:C($e.dropdownButton,{[$e.dropdownButtonActive]:n}),children:a.jsx(t,{size:"25px"})})}),children:a.jsx(m.MenuList,{placement:"right-start",children:e})}),fn="_iconContainer_nz34m_1",mn={iconContainer:fn},rt=({className:e=""})=>a.jsx("div",{"aria-label":"Upgrade Icon",className:C(mn.iconContainer,"flex-row","items-center","justify-center",e),children:a.jsx(m.CaretUpIcon,{})}),hn="_menuContainer_wbu3u_5",gn="_profileButton_wbu3u_16",bn="_profileImage_wbu3u_29",_n="_profileImageHighlight_wbu3u_37",pn="_profileImageUpgradeIcon_wbu3u_41",vn="_userIconWrapper_wbu3u_47",k={menuContainer:hn,profileButton:gn,profileImage:bn,profileImageHighlight:_n,profileImageUpgradeIcon:pn,userIconWrapper:vn},st=g.createContext({}),M=()=>g.useContext(st),Tn=({children:e})=>{const{currentTeam:t,otherTeams:n,showUpgradeCta:r,showBillingButton:s,allowTeamCreation:i,isLimitedView:c,isProviderAlpha:u,canAccessTeamSettings:d,isEndOfTrialActive:l,isTeamSuspended:f}=M();return a.jsx(m.Menu,{menuButton:()=>a.jsxs("button",{className:k.profileButton,"aria-label":"Profile menu",type:"button",children:[t!=null&&t.logoUrl?a.jsx("img",{src:t.logoUrl,className:C(k.profileImage,{[k.profileImageHighlight]:r}),alt:"Team Logo"}):a.jsx("div",{className:C(k.userIconWrapper,"flex-row","align-center","items-center",{[k.profileImageHighlight]:r}),children:a.jsx(m.UserIcon,{size:"25px"})}),r&&a.jsx(rt,{className:k.profileImageUpgradeIcon})]}),children:a.jsx(m.MenuList,{placement:"right-end",className:k.menuContainer,children:e({allowTeamCreation:i,otherTeams:n,isLimitedView:c,canAccessTeamSettings:d,isEndOfTrialActive:l,isTeamSuspended:f,showBillingButton:s,isProviderAlpha:u})})})},ge=0,at=9999,it=[150,151,250,251],ot=[152,153,252,253],ct=[154,155,157,158,254,255,258,354,355,358],lt=[156,159,160,256,259,260],be=9998,W=e=>e===ge,_e=e=>e===at,yn=e=>it.includes(e),jn=e=>ot.includes(e),wn=e=>ct.includes(e),In=e=>lt.includes(e),xn=e=>e>ge&&e<be,Sn=e=>e===be,Pn=/\n/,Fe=(e,t,n)=>e.split(t).flatMap((r,s)=>s!==0?[g.cloneElement(n,{key:Math.random().toString(32).slice(0,10)}),r]:r),Nn=(e,t,n)=>typeof e=="string"?Fe(e,t,n):e.flatMap(r=>typeof r=="string"?Fe(r,t,n):r),kn=e=>Nn(e,Pn,a.jsx("br",{})),En=/(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi,Cn=e=>e.match(En)??[],Ge=(e,t,n)=>{const r=e.split(t);if(r.length===1)return e;const s=[];return r[0]!==""&&s.push(r[0]),r.shift(),r[r.length-1]===""&&r.pop(),s.push(a.jsx("a",{href:t,target:"_blank",rel:"noreferrer noopener",children:t},t+n)),s.push(r.join(t)),s.filter(i=>i!=="")},He=e=>{const t=Cn(e);return t!=null&&t.length?t.reduce((n,r,s)=>typeof n=="string"?Ge(n,r,s):n.flatMap(i=>typeof i=="string"?Ge(i,r,s):i),e):e},Rn=e=>typeof e=="string"?He(e):e.flatMap(t=>typeof t=="string"?He(t):t,e),An=(e,t="PP")=>Ye.format(e,t),zn=(e,t,n="PP")=>Ye.format(St.toZonedTime(e,t),n),Ln=e=>{g.useEffect(e,[])},On=({children:e,config:t})=>{const{teams:n,currentTeamId:r,planId:s,isLimitedView:i,isTeamSuspended:c,canAccessTeamSettings:u,isEndOfTrialActive:d}=t,l=n.find(b=>b.id===r),f=n.filter(b=>b.id!==r),p=(l==null?void 0:l.role)??"",y=["biller","owner"].includes(p),j=W(s)||_e(s),P={...t,currentTeam:l,otherTeams:f,canChangeBilling:y,isOnFreeOrTrialPlan:j,showUpgradeCta:!i&&j&&y&&!c,showBillingButton:!i&&u&&y,allowTeamCreation:!i&&!d};return a.jsx(st.Provider,{value:P,children:e})},qn=({config:e,children:t})=>a.jsx(On,{config:e,children:a.jsx(Tn,{children:t})}),Un="_container_q5pot_1",Mn="_profileEmail_q5pot_5",Ke={container:Un,profileEmail:Mn},Bn=({href:e,onClick:t,userEmail:n,hideBottomDivider:r})=>{const{isEndOfTrialActive:s,isTeamSuspended:i}=M();return s||i?null:a.jsxs(a.Fragment,{children:[a.jsx(m.MenuItem,{href:e,onClick:()=>{t==null||t()},children:a.jsxs("div",{className:`flex-col ${Ke.container}`,children:[a.jsx("span",{children:"Profile Settings"}),a.jsx("span",{className:Ke.profileEmail,children:n})]})}),!r&&a.jsx(m.MenuDivider,{})]})},Dn="_wrapper_15d85_1",$n="_profileImage_15d85_14",Fn="_teamName_15d85_22",Gn="_planLabel_15d85_29",Hn="_membership_15d85_38",Kn="_defaultProfileImage_15d85_44",R={wrapper:Dn,profileImage:$n,teamName:Fn,planLabel:Gn,membership:Hn,defaultProfileImage:Kn},ut=({team:e,onClick:t,hidePlanLabel:n})=>{const{currentTeam:r,planId:s}=M(),i=e||r;if(!i)return null;const c=W(s)?"Free":_e(s)?"Trial":void 0,u=t?m.MenuItem:"div";return a.jsxs(u,{className:`flex-row gap-2 flex-nowrap items-center ${R.wrapper}`,...t&&{onClick:()=>t(i)},children:[i.logoUrl?a.jsx("img",{className:R.profileImage,src:i.logoUrl,alt:"Team Logo"}):a.jsx("span",{className:`flex-row justify-center items-center ${R.defaultProfileImage}`,children:a.jsx(m.UserIcon,{size:"25px"})}),a.jsxs("div",{className:"flex-col items-start",children:[a.jsxs("div",{className:"flex-row items-center flex-nowrap gap-2",children:[a.jsx("span",{title:i.name,className:R.teamName,children:i.name}),c&&!n&&a.jsx("span",{className:`flex-row justify-center items-center ${R.planLabel}`,children:c})]}),a.jsx("span",{className:R.membership,children:i.role})]})]})},Wn="_teamsContainer_1t68g_1",Jn={teamsContainer:Wn},Qn=({onSwitchTeam:e})=>{const{otherTeams:t}=M();return t.length===0?null:a.jsx("div",{className:`flex-col items-stretch ${Jn.teamsContainer}`,children:t.map(n=>a.jsx(ut,{team:n,onClick:e,hidePlanLabel:!0},n.id))})},Vn="_container_1u995_1",Yn="_planCta_1u995_15",Zn="_upgradeIconWrapper_1u995_19",de={container:Vn,planCta:Yn,upgradeIconWrapper:Zn},Xn=({upgradeOptionHref:e})=>{const{planId:t,trialDaysLeft:n,showUpgradeCta:r}=M();if(!r)return null;const c=W(t)?"Your team is currently on the Free plan":`Free trial ends in ${n} ${n===1?"day":"days"}`;return a.jsxs(m.MenuItem,{href:e,className:`flex-col gap-1 items-start ${de.container}`,children:[a.jsx("span",{className:de.planCta,children:c}),a.jsxs("div",{className:`flex-row items-center gap-1 ${de.upgradeIconWrapper}`,children:[a.jsx(rt,{}),a.jsx("span",{children:"See upgrade options"})]})]})},I=({children:e,...t})=>a.jsx("nav",{...t,className:tn.sidebarContainer,children:e});I.Top=({children:e})=>a.jsx("div",{children:e});I.Bottom=({children:e})=>a.jsx("div",{children:e});I.Avatar=sn;I.IconLink=cn;I.Menu=dn;I.ProfileMenu=qn;I.TeamSwitch=Qn;I.TeamMenuItem=ut;I.UpgradeMenuItem=Xn;I.ProfileSettingsMenuItem=Bn;const er="_breadcrumbsItem_1hm6a_1",tr="_breadcrumbs_1hm6a_1",We={breadcrumbsItem:er,breadcrumbs:tr},nr=({items:e})=>a.jsx("nav",{"aria-label":"breadcrumb",className:We.breadcrumbs,children:e.map((t,n)=>a.jsxs(g.Fragment,{children:[a.jsx(m.Link,{className:We.breadcrumbsItem,href:t.link,rel:"noreferrer",children:t.name}),n<e.length-1&&a.jsx("span",{children:" — "})]},`${t.link}-${t.name}`))}),rr=({items:e})=>a.jsx(a.Fragment,{children:e.map((t,n)=>a.jsxs(g.Fragment,{children:[!!n&&t.some(r=>r.visible)&&a.jsx(m.MenuDivider,{}),t.filter(({visible:r})=>r).map(({link:r,label:s,onClick:i})=>a.jsx(m.MenuItem,{href:r||"#","aria-label":s,onClick:i,children:s},s))]},t[0].label))}),sr="_badge_1pc1v_1",ar="_tag_1pc1v_15",ir="_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21",or="_disabled_1pc1v_57",cr="_projectNavigationItem_1pc1v_61",lr="_projectNavigationItemDisabled_1pc1v_67",E={badge:sr,tag:ar,withNavLinkStyle:ir,disabled:or,projectNavigationItem:cr,projectNavigationItemDisabled:lr},Je=({label:e,badge:t,novel:n})=>a.jsxs("div",{className:"flex gap-1",children:[a.jsxs("div",{children:[a.jsx("span",{children:e}),!!t&&a.jsx("div",{className:E.badge,"aria-label":`${t} items requiring attention`,children:t>9?"9+":t})]}),!!n&&a.jsx(m.Tag,{className:E.tag,children:n})]}),fe=g.forwardRef(({label:e,href:t="",disabled:n=!1,badge:r,onClick:s,novel:i},c)=>a.jsx(m.Tooltip,{tooltip:"You do not have access to this function",show:n,children:a.jsx("div",{className:n?E.projectNavigationItemDisabled:E.projectNavigationItem,children:s||n||!t?a.jsx("button",{type:"button",ref:c,className:C(E.withNavLinkStyle,{[E.disabled]:n}),disabled:n,onClick:s,children:a.jsx(Je,{label:e,badge:r,novel:i})}):a.jsx("a",{href:t,className:E.withNavLinkStyle,children:a.jsx(Je,{label:e,badge:r,novel:i})})})}));fe.displayName="NavigationTabsItem";const ur=e=>(e==null?void 0:e.some(t=>t.some(n=>n.visible)))??!1,dr=e=>e.visible&&(!e.dropdown||ur(e.dropdown)),fr=({navigation:e,activeItem:t})=>a.jsx("nav",{"aria-label":"Project",children:a.jsx("ul",{className:A.navigationTabList,"aria-orientation":"horizontal",children:e.filter(dr).map(n=>{var r,s,i;return n.dropdown?a.jsx("li",{className:A.navigationTab,"data-testid":n.key,"aria-selected":(r=n.isActive)==null?void 0:r.call(n,t),children:a.jsx(m.Menu,{menuButton:({opened:c})=>a.jsx(fe,{label:n.label,disabled:n.disabled,active:c}),children:a.jsx(m.MenuList,{children:a.jsx(rr,{items:n.dropdown})})})},n.key):a.jsx("li",{className:A.navigationTab,"data-testid":n.key,"aria-selected":(s=n.isActive)==null?void 0:s.call(n,t),children:a.jsx(fe,{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)})})}),dt=o.z.object({accessToken:o.z.string(),refreshToken:o.z.string()}),J=xt.buildPayloadRoute({description:"Takes a teamId and returns a JWT token access and refresh token for the user",method:"post",requestPathParamsSchema:o.z.object({teamId:o.z.number()}),pathResolver:e=>`/team/${e.teamId}/actions/get-user-token`,requestHeaderSchema:o.z.object({Authorization:o.z.string().optional(),"x-csrf-token":o.z.string().optional()}),requestBodySchema:o.z.undefined(),successResponseBodySchema:dt}),pe={teamKey:e=>["getUserToken",e]},ft=(e,t,n)=>me.useQuery({...n,queryFn:({queryKey:[r,s]})=>U.sendByPayloadRoute(e,J,{pathParams:{teamId:s},headers:{}}),queryKey:pe.teamKey(t)}),mt=o.z.union([o.z.literal("owner"),o.z.literal("admin"),o.z.literal("biller"),o.z.literal("member")]),mr=o.z.object({userId:o.z.number(),userUuid:o.z.string(),teamId:o.z.number(),userTeamRole:mt,userEmail:o.z.string().email(),userName:o.z.string(),userCurrentTeamId:o.z.number(),planId:o.z.number(),planName:o.z.string(),isProviderAlpha:o.z.boolean(),isFullyAuthenticated:o.z.boolean(),exp:o.z.number()});function B(e){try{const t=e.split(".")[1],n=atob(t);return mr.parse(JSON.parse(n))}catch{return}}const K=class K extends CustomEvent{constructor(t){super(K.eventName,{detail:{token:t,payload:B(t.accessToken)}})}};xe(K,"eventName","new-jwt-issued");let z=K;const hr=pe;function gr(e,t){const n=ft(e,t),r=g.useRef();return g.useEffect(()=>{n.data&&n.data.accessToken!==r.current&&(window.dispatchEvent(new z(n.data)),r.current=n.data.accessToken)},[n.data]),n}function ht(){const e=H(document.cookie,"accessToken"),t=H(document.cookie,"refreshToken");return!e||!t?Promise.resolve(void 0):Promise.resolve({accessToken:e,refreshToken:t})}function br(){return Promise.resolve(H(document.cookie,"csrf_token"))}function H(e,t){var n;return(n=e.split(";").find(r=>r.trim().startsWith(t)))==null?void 0:n.substring(t.length+1)}function ve(){const[e,t]=g.useState();return g.useEffect(()=>{let n=!1;const r=s=>{t(s.detail.payload),n=!0};return ht().then(s=>s&&B(s.accessToken)).then(s=>{n||t(s)}),window.addEventListener(z.eventName,r),()=>{window.removeEventListener(z.eventName,r)}},[]),e}const gt=o.z.object({user_id:o.z.number(),email:o.z.string().email(),fullname:o.z.string(),created_at:o.z.string(),created_at_timestamp:o.z.number(),role:mt}),_r=o.z.object({team_id:o.z.number(),team_user:gt}),bt=Ve.buildGetRoute({description:"Get the details of a team user",requestPathParamsSchema:o.z.object({teamId:o.z.number(),userId:o.z.number()}),pathResolver:({teamId:e,userId:t})=>`/teams/${e}/users/${t}`,successResponseBodySchema:_r}),Te={teamUserKey:(e,t)=>["GetTeamUsers",e,t]},_t=(e,t,n,r)=>me.useQuery({...r,queryKey:Te.teamUserKey(t,n),queryFn:({queryKey:[s,i,c]})=>U.sendByGetRoute(e,bt,{pathParams:{teamId:i,userId:c}})}),pr=Te;function vr(e){const t=ve();return _t(e,(t==null?void 0:t.teamId)??0,(t==null?void 0:t.userId)??0,{enabled:t!==void 0})}const Tr=o.z.object({lang_id:o.z.number(),lang_iso:o.z.string(),lang_name:o.z.string(),is_writable:o.z.union([o.z.literal(0),o.z.literal(1)])}),yr=o.z.object({user_id:o.z.number(),email:o.z.string().email(),fullname:o.z.string(),created_at:o.z.string(),created_at_timestamp:o.z.number(),admin_rights:o.z.array(o.z.string()),languages:o.z.array(Tr),is_admin:o.z.boolean(),is_reviewer:o.z.boolean()}),jr=o.z.object({project_id:o.z.string(),contributors:o.z.array(yr)}),pt=Ve.buildGetRoute({description:"Get the details of a project contributor",requestPathParamsSchema:o.z.object({projectId:o.z.string(),contributorId:o.z.number()}),pathResolver:({projectId:e,contributorId:t})=>`/projects/${e}/contributors/${t}`,successResponseBodySchema:jr}),ye={projectUserKey:(e,t)=>["RetrieveContributor",e,t]},vt=(e,t,n,r)=>me.useQuery({...r,queryKey:ye.projectUserKey(n,t),queryFn:({queryKey:[s,i,c]})=>U.sendByGetRoute(e,pt,{pathParams:{projectId:i,contributorId:c}})}),wr=ye;function Ir(e,t){const n=ve();return vt(e,(n==null?void 0:n.userId)??0,t,{enabled:n!==void 0})}function xr(e){const t=e.headers.get("Cookie");if(!t)return Promise.resolve(void 0);const n=H(t,"accessToken");if(!n)return Promise.resolve(void 0);const r=B(n);return r?{token:n,payload:r}:Promise.resolve(void 0)}function G(e){return{Authorization:`Bearer ${e}`}}function Sr(e,t){return n=>async(r,s)=>{var u;const i=await t.getCachedJwtToken();if(i===void 0)return n(r,s);const c=await n(r,{...s,headers:{...s.headers,...G(i.accessToken)}});if(i&&(c.status===401||c.status===403)){const d=B(i.accessToken);if(!d)return c;const l=await U.sendByPayloadRoute(e,J,{pathParams:{teamId:d.teamId},headers:G(i.refreshToken)});return await((u=t.onNewJwtTokenIssued)==null?void 0:u.call(t,l)),n(r,{...s,headers:{...s.headers,...G(l.accessToken)}})}return c}}const Tt={wretch:{lokaliseAuth(e){return this.middlewares([Sr(this,e)])}}};function Pr(e,t){return n=>async(r,s)=>{var d;if(await t.getCachedJwtToken()!==void 0)return n(r,s);const c=await t.getCsrfToken();if(c===void 0)return n(r,s);const u=await U.sendByPayloadRoute(e,J,{pathParams:{teamId:await t.getTeamId()},headers:{"x-csrf-token":c}});return await((d=t.onNewJwtTokenIssued)==null?void 0:d.call(t,u)),n(r,{...s,headers:{...s.headers,...G(u.accessToken)}})}}const Nr={wretch:{lokaliseAuth(e={}){return this.addon(Tt).lokaliseAuth(Qe(e))},promoteClassicSession(e){const t=Qe(e);return this.middlewares([Pr(this,t)])}}};function Qe(e){return{...e,getCachedJwtToken:e.getCachedJwtToken??ht,getCsrfToken:"getCsrfToken"in e?e.getCsrfToken:br,onNewJwtTokenIssued:t=>{var n;return window.dispatchEvent(new z(t)),((n=e.onNewJwtTokenIssued)==null?void 0:n.call(e,t))??Promise.resolve()}}}exports.Breadcrumbs=nr;exports.ENTERPRISE_OPENSOURCE_PLAN_ID=be;exports.ENTERPRISE_PLAN_IDS=lt;exports.ESSENTIAL_PLAN_IDS=ot;exports.FREE_PLAN_ID=ge;exports.JWT_TOKEN_SCHEMA=dt;exports.LokaliseAuthAddon=Tt;exports.LokaliseAuthBrowserAddon=Nr;exports.NavigationPanel=q;exports.NavigationTabs=fr;exports.PRO_PLAN_IDS=ct;exports.START_PLAN_IDS=it;exports.Sidebar=I;exports.TEAM_USER_SCHEMA=gt;exports.TRIAL_PLAN_ID=at;exports.authenticatedContributorKeys=wr;exports.authenticatedUserKeys=pr;exports.convertNewLineToBreakTag=kn;exports.formatDate=An;exports.formatDateTz=zn;exports.getAuthenticatedSessionDetailFromRequest=xr;exports.getPromotedClassicSessionJwtKey=hr;exports.getTeamUser=bt;exports.getTeamUsersQueryKey=Te;exports.getUserToken=J;exports.getUserTokenKey=pe;exports.isEnterpriseOpenSourcePlan=Sn;exports.isEnterprisePlan=In;exports.isEssentialPlan=jn;exports.isFreePlan=W;exports.isPaidPlan=xn;exports.isProPlan=wn;exports.isStartPlan=yn;exports.isTrialPlan=_e;exports.makeUrlClickable=Rn;exports.parseJwtTokenPayload=B;exports.retrieveContributor=pt;exports.retrieveContributorKeys=ye;exports.useAuthenticatedProjectContributor=Ir;exports.useAuthenticatedSessionPayload=ve;exports.useAuthenticatedUser=vr;exports.useEffectOnce=Ln;exports.useGetPromotedClassicSessionJwtQuery=gr;exports.useGetUserTokenQuery=ft;exports.useRetrieveContributorQuery=vt;exports.userGetTeamUsersQuery=_t;
1
+ "use strict";var wt=Object.defineProperty;var It=(e,t,n)=>t in e?wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var xe=(e,t,n)=>It(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),g=require("react"),m=require("@lokalise/louis"),o=require("zod"),U=require("@lokalise/frontend-http-client"),xt=require("@lokalise/universal-ts-utils/api-contracts/apiContracts"),me=require("@tanstack/react-query"),Ve=require("@lokalise/universal-ts-utils/node"),Ye=require("date-fns"),St=require("date-fns-tz");function Pt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const O=Pt(g);var F=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ze(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var V,Se;function he(){if(Se)return V;Se=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return V=e,V}var Y,Pe;function Nt(){if(Pe)return Y;Pe=1;var e=typeof F=="object"&&F&&F.Object===Object&&F;return Y=e,Y}var Z,Ne;function Xe(){if(Ne)return Z;Ne=1;var e=Nt(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return Z=n,Z}var X,ke;function kt(){if(ke)return X;ke=1;var e=Xe(),t=function(){return e.Date.now()};return X=t,X}var ee,Ee;function Et(){if(Ee)return ee;Ee=1;var e=/\s/;function t(n){for(var r=n.length;r--&&e.test(n.charAt(r)););return r}return ee=t,ee}var te,Ce;function Ct(){if(Ce)return te;Ce=1;var e=Et(),t=/^\s+/;function n(r){return r&&r.slice(0,e(r)+1).replace(t,"")}return te=n,te}var ne,Re;function et(){if(Re)return ne;Re=1;var e=Xe(),t=e.Symbol;return ne=t,ne}var re,Ae;function Rt(){if(Ae)return re;Ae=1;var e=et(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,s=e?e.toStringTag:void 0;function i(c){var u=n.call(c,s),d=c[s];try{c[s]=void 0;var l=!0}catch{}var f=r.call(c);return l&&(u?c[s]=d:delete c[s]),f}return re=i,re}var se,ze;function At(){if(ze)return se;ze=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return se=n,se}var ae,Le;function zt(){if(Le)return ae;Le=1;var e=et(),t=Rt(),n=At(),r="[object Null]",s="[object Undefined]",i=e?e.toStringTag:void 0;function c(u){return u==null?u===void 0?s:r:i&&i in Object(u)?t(u):n(u)}return ae=c,ae}var ie,Oe;function Lt(){if(Oe)return ie;Oe=1;function e(t){return t!=null&&typeof t=="object"}return ie=e,ie}var oe,qe;function Ot(){if(qe)return oe;qe=1;var e=zt(),t=Lt(),n="[object Symbol]";function r(s){return typeof s=="symbol"||t(s)&&e(s)==n}return oe=r,oe}var ce,Ue;function qt(){if(Ue)return ce;Ue=1;var e=Ct(),t=he(),n=Ot(),r=NaN,s=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;function d(l){if(typeof l=="number")return l;if(n(l))return r;if(t(l)){var f=typeof l.valueOf=="function"?l.valueOf():l;l=t(f)?f+"":f}if(typeof l!="string")return l===0?l:+l;l=e(l);var p=i.test(l);return p||c.test(l)?u(l.slice(2),p?2:8):s.test(l)?r:+l}return ce=d,ce}var le,Me;function tt(){if(Me)return le;Me=1;var e=he(),t=kt(),n=qt(),r="Expected a function",s=Math.max,i=Math.min;function c(u,d,l){var f,p,y,j,_,w,x=0,P=!1,b=!1,S=!0;if(typeof u!="function")throw new TypeError(r);d=n(d)||0,e(l)&&(P=!!l.leading,b="maxWait"in l,y=b?s(n(l.maxWait)||0,d):y,S="trailing"in l?!!l.trailing:S);function T(h){var N=f,L=p;return f=p=void 0,x=h,j=u.apply(L,N),j}function v(h){return x=h,_=setTimeout($,d),P?T(h):j}function D(h){var N=h-w,L=h-x,Ie=d-N;return b?i(Ie,y-L):Ie}function je(h){var N=h-w,L=h-x;return w===void 0||N>=d||N<0||b&&L>=y}function $(){var h=t();if(je(h))return we(h);_=setTimeout($,D(h))}function we(h){return _=void 0,S&&f?T(h):(f=p=void 0,j)}function yt(){_!==void 0&&clearTimeout(_),x=0,f=w=p=_=void 0}function jt(){return _===void 0?j:we(t())}function Q(){var h=t(),N=je(h);if(f=arguments,p=this,w=h,N){if(_===void 0)return v(w);if(b)return clearTimeout(_),_=setTimeout($,d),T(w)}return _===void 0&&(_=setTimeout($,d)),j}return Q.cancel=yt,Q.flush=jt,Q}return le=c,le}var Ut=tt();const Mt=Ze(Ut);var ue,Be;function Bt(){if(Be)return ue;Be=1;var e=tt(),t=he(),n="Expected a function";function r(s,i,c){var u=!0,d=!0;if(typeof s!="function")throw new TypeError(n);return t(c)&&(u="leading"in c?!!c.leading:u,d="trailing"in c?!!c.trailing:d),e(s,i,{leading:u,maxWait:i,trailing:d})}return ue=r,ue}var Dt=Bt();const $t=Ze(Dt),Ft=(e,t,n,r)=>{switch(t){case"debounce":return Mt(e,n,r);case"throttle":return $t(e,n,r);default:return e}},Gt=e=>{const t=O.useRef(e);return O.useEffect(()=>{t.current=e}),O.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])},Ht=e=>{const[t,n]=O.useState((e==null?void 0:e.current)||null);return e&&setTimeout(()=>{e.current!==t&&n(e.current)},0),{refProxy:O.useMemo(()=>new Proxy(s=>{s!==t&&n(s)},{get(s,i){return i==="current"?t:s[i]},set(s,i,c){return i==="current"?n(c):s[i]=c,!0}}),[t]),refElement:t,setRefElement:n}},Kt=(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 Wt({skipOnMount:e=!1,refreshMode:t,refreshRate:n=1e3,refreshOptions:r,handleWidth:s=!0,handleHeight:i=!0,targetRef:c,observerOptions:u,onResize:d}={}){const l=g.useRef(e),f=Gt(d),[p,y]=g.useState({width:void 0,height:void 0}),{refProxy:j,refElement:_}=Ht(c),{box:w}=u||{},x=g.useCallback(b=>{if(!s&&!i)return;if(l.current){l.current=!1;return}const S=(T,v)=>s&&T.width!==v.width||i&&T.height!==v.height;b.forEach(T=>{const v=Kt(T,w);y(D=>S(D,v)?(f==null||f({width:v.width,height:v.height,entry:T}),v):D)})},[s,i,l,w]),P=g.useCallback(Ft(x,t,n,r),[x,t,n,r]);return g.useEffect(()=>{let b;return _?(b=new window.ResizeObserver(P),b.observe(_,u)):(p.width||p.height)&&(f==null||f({width:null,height:null,entry:null}),y({width:void 0,height:void 0})),()=>{var S,T,v;(S=b==null?void 0:b.disconnect)===null||S===void 0||S.call(b),(v=(T=P).cancel)===null||v===void 0||v.call(T)}},[P,_]),Object.assign({ref:j},p)}function nt(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=nt(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function C(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=nt(e))&&(r&&(r+=" "),r+=t);return r}const Jt="_headerContainer_1cubo_1",Qt="_navigationTabList_1cubo_8",Vt="_navigationTab_1cubo_8",Yt="_headerContent_1cubo_34",Zt="_staticEnabled_1cubo_50",A={headerContainer:Jt,navigationTabList:Qt,navigationTab:Vt,headerContent:Yt,staticEnabled:Zt},Xt=77,q=({sticky:e,children:t})=>{const{ref:n,height:r}=Wt({refreshMode:"debounce",refreshRate:0}),[s,i]=g.useState(!1),c=()=>s?!e:!0;g.useEffect(()=>{const d=()=>{i(window.scrollY>0)};return window.addEventListener("scroll",d),()=>window.removeEventListener("scroll",d)},[]);const u=`${r||Xt}px`;return a.jsx("div",{style:{minHeight:u},children:a.jsx("div",{children:a.jsxs("div",{ref:n,className:C(A.headerContent,{[A.staticEnabled]:c()}),children:[a.jsx(q.Header,{}),a.jsx(q.Tabs,{}),t]})})})};q.Header=({children:e})=>a.jsx("div",{className:A.headerContainer,children:e});q.Tabs=({children:e})=>a.jsx("div",{className:"flex justify-between gap-2 nowrap",children:e});const en="_sidebarContainer_bmdti_1",tn={sidebarContainer:en},nn="_logoLink_1baxb_1",rn={logoLink:nn},sn=({src:e,href:t="/",ariaLabel:n="Home",alt:r="Lokalise"})=>a.jsx("a",{className:rn.logoLink,href:t,"aria-label":n,children:a.jsx("img",{src:e,alt:r})}),an="_link_1weq1_1",on="_active_1weq1_18",De={link:an,active:on},cn=({label:e,to:t,icon:n})=>a.jsx(m.Tooltip,{placement:"right",tooltip:e,children:a.jsx(m.Link,{className:C(De.link,{[De.active]:window.location.pathname.startsWith(t)}),href:t,children:a.jsx(n,{size:"25px"})})}),ln="_dropdownButton_hwh0c_1",un="_dropdownButtonActive_hwh0c_18",$e={dropdownButton:ln,dropdownButtonActive:un},dn=({children:e,icon:t})=>a.jsx(m.Menu,{menuButton:({opened:n})=>a.jsx(m.Tooltip,{placement:"right",tooltip:"Help",children:a.jsx("button",{type:"button",className:C($e.dropdownButton,{[$e.dropdownButtonActive]:n}),children:a.jsx(t,{size:"25px"})})}),children:a.jsx(m.MenuList,{placement:"right-start",children:e})}),fn="_iconContainer_nz34m_1",mn={iconContainer:fn},rt=({className:e=""})=>a.jsx("div",{"aria-label":"Upgrade Icon",className:C(mn.iconContainer,"flex-row","items-center","justify-center",e),children:a.jsx(m.CaretUpIcon,{})}),hn="_menuContainer_wbu3u_5",gn="_profileButton_wbu3u_16",bn="_profileImage_wbu3u_29",_n="_profileImageHighlight_wbu3u_37",pn="_profileImageUpgradeIcon_wbu3u_41",vn="_userIconWrapper_wbu3u_47",k={menuContainer:hn,profileButton:gn,profileImage:bn,profileImageHighlight:_n,profileImageUpgradeIcon:pn,userIconWrapper:vn},st=g.createContext({}),M=()=>g.useContext(st),Tn=({children:e})=>{const{currentTeam:t,otherTeams:n,showUpgradeCta:r,showBillingButton:s,allowTeamCreation:i,isLimitedView:c,isProviderAlpha:u,canAccessTeamSettings:d,isEndOfTrialActive:l,isTeamSuspended:f}=M();return a.jsx(m.Menu,{menuButton:()=>a.jsxs("button",{className:k.profileButton,"aria-label":"Profile menu",type:"button",children:[t!=null&&t.logoUrl?a.jsx("img",{src:t.logoUrl,className:C(k.profileImage,{[k.profileImageHighlight]:r}),alt:"Team Logo"}):a.jsx("div",{className:C(k.userIconWrapper,"flex-row","align-center","items-center",{[k.profileImageHighlight]:r}),children:a.jsx(m.UserIcon,{size:"25px"})}),r&&a.jsx(rt,{className:k.profileImageUpgradeIcon})]}),children:a.jsx(m.MenuList,{placement:"right-end",className:k.menuContainer,children:e({allowTeamCreation:i,otherTeams:n,isLimitedView:c,canAccessTeamSettings:d,isEndOfTrialActive:l,isTeamSuspended:f,showBillingButton:s,isProviderAlpha:u})})})},ge=0,at=9999,it=[150,151,250,251],ot=[152,153,252,253],ct=[154,155,157,158,254,255,258,354,355,358],lt=[156,159,160,256,259,260],be=9998,W=e=>e===ge,_e=e=>e===at,yn=e=>it.includes(e),jn=e=>ot.includes(e),wn=e=>ct.includes(e),In=e=>lt.includes(e),xn=e=>e>ge&&e<be,Sn=e=>e===be,Pn=/\n/,Fe=(e,t,n)=>e.split(t).flatMap((r,s)=>s!==0?[g.cloneElement(n,{key:Math.random().toString(32).slice(0,10)}),r]:r),Nn=(e,t,n)=>typeof e=="string"?Fe(e,t,n):e.flatMap(r=>typeof r=="string"?Fe(r,t,n):r),kn=e=>Nn(e,Pn,a.jsx("br",{})),En=/(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi,Cn=e=>e.match(En)??[],Ge=(e,t,n)=>{const r=e.split(t);if(r.length===1)return e;const s=[];return r[0]!==""&&s.push(r[0]),r.shift(),r[r.length-1]===""&&r.pop(),s.push(a.jsx("a",{href:t,target:"_blank",rel:"noreferrer noopener",children:t},t+n)),s.push(r.join(t)),s.filter(i=>i!=="")},He=e=>{const t=Cn(e);return t!=null&&t.length?t.reduce((n,r,s)=>typeof n=="string"?Ge(n,r,s):n.flatMap(i=>typeof i=="string"?Ge(i,r,s):i),e):e},Rn=e=>typeof e=="string"?He(e):e.flatMap(t=>typeof t=="string"?He(t):t,e),An=(e,t="PP")=>Ye.format(e,t),zn=(e,t,n="PP")=>Ye.format(St.toZonedTime(e,t),n),Ln=e=>{g.useEffect(e,[])},On=({children:e,config:t})=>{const{teams:n,currentTeamId:r,planId:s,isLimitedView:i,isTeamSuspended:c,canAccessTeamSettings:u,isEndOfTrialActive:d}=t,l=n.find(b=>b.id===r),f=n.filter(b=>b.id!==r),p=(l==null?void 0:l.role)??"",y=["biller","owner"].includes(p),j=W(s)||_e(s),P={...t,currentTeam:l,otherTeams:f,canChangeBilling:y,isOnFreeOrTrialPlan:j,showUpgradeCta:!i&&j&&y&&!c,showBillingButton:!i&&u&&y,allowTeamCreation:!i&&!d};return a.jsx(st.Provider,{value:P,children:e})},qn=({config:e,children:t})=>a.jsx(On,{config:e,children:a.jsx(Tn,{children:t})}),Un="_container_q5pot_1",Mn="_profileEmail_q5pot_5",Ke={container:Un,profileEmail:Mn},Bn=({href:e,onClick:t,userEmail:n,hideBottomDivider:r})=>{const{isEndOfTrialActive:s,isTeamSuspended:i}=M();return s||i?null:a.jsxs(a.Fragment,{children:[a.jsx(m.MenuItem,{href:e,onClick:()=>{t==null||t()},children:a.jsxs("div",{className:`flex-col ${Ke.container}`,children:[a.jsx("span",{children:"Profile Settings"}),a.jsx("span",{className:Ke.profileEmail,children:n})]})}),!r&&a.jsx(m.MenuDivider,{})]})},Dn="_wrapper_15d85_1",$n="_profileImage_15d85_14",Fn="_teamName_15d85_22",Gn="_planLabel_15d85_29",Hn="_membership_15d85_38",Kn="_defaultProfileImage_15d85_44",R={wrapper:Dn,profileImage:$n,teamName:Fn,planLabel:Gn,membership:Hn,defaultProfileImage:Kn},ut=({team:e,onClick:t,hidePlanLabel:n})=>{const{currentTeam:r,planId:s}=M(),i=e||r;if(!i)return null;const c=W(s)?"Free":_e(s)?"Trial":void 0,u=t?m.MenuItem:"div";return a.jsxs(u,{className:`flex-row gap-2 flex-nowrap items-center ${R.wrapper}`,...t&&{onClick:()=>t(i)},children:[i.logoUrl?a.jsx("img",{className:R.profileImage,src:i.logoUrl,alt:"Team Logo"}):a.jsx("span",{className:`flex-row justify-center items-center ${R.defaultProfileImage}`,children:a.jsx(m.UserIcon,{size:"25px"})}),a.jsxs("div",{className:"flex-col items-start",children:[a.jsxs("div",{className:"flex-row items-center flex-nowrap gap-2",children:[a.jsx("span",{title:i.name,className:R.teamName,children:i.name}),c&&!n&&a.jsx("span",{className:`flex-row justify-center items-center ${R.planLabel}`,children:c})]}),a.jsx("span",{className:R.membership,children:i.role})]})]})},Wn="_teamsContainer_1t68g_1",Jn={teamsContainer:Wn},Qn=({onSwitchTeam:e})=>{const{otherTeams:t}=M();return t.length===0?null:a.jsx("div",{className:`flex-col items-stretch ${Jn.teamsContainer}`,children:t.map(n=>a.jsx(ut,{team:n,onClick:e,hidePlanLabel:!0},n.id))})},Vn="_container_1u995_1",Yn="_planCta_1u995_15",Zn="_upgradeIconWrapper_1u995_19",de={container:Vn,planCta:Yn,upgradeIconWrapper:Zn},Xn=({upgradeOptionHref:e})=>{const{planId:t,trialDaysLeft:n,showUpgradeCta:r}=M();if(!r)return null;const c=W(t)?"Your team is currently on the Free plan":`Free trial ends in ${n} ${n===1?"day":"days"}`;return a.jsxs(m.MenuItem,{href:e,className:`flex-col gap-1 items-start ${de.container}`,children:[a.jsx("span",{className:de.planCta,children:c}),a.jsxs("div",{className:`flex-row items-center gap-1 ${de.upgradeIconWrapper}`,children:[a.jsx(rt,{}),a.jsx("span",{children:"See upgrade options"})]})]})},I=({children:e,...t})=>a.jsx("nav",{...t,className:tn.sidebarContainer,children:e});I.Top=({children:e})=>a.jsx("div",{children:e});I.Bottom=({children:e})=>a.jsx("div",{children:e});I.Avatar=sn;I.IconLink=cn;I.Menu=dn;I.ProfileMenu=qn;I.TeamSwitch=Qn;I.TeamMenuItem=ut;I.UpgradeMenuItem=Xn;I.ProfileSettingsMenuItem=Bn;const er="_breadcrumbsItem_1hm6a_1",tr="_breadcrumbs_1hm6a_1",We={breadcrumbsItem:er,breadcrumbs:tr},nr=({items:e})=>a.jsx("nav",{"aria-label":"breadcrumb",className:We.breadcrumbs,children:e.map((t,n)=>a.jsxs(g.Fragment,{children:[a.jsx(m.Link,{className:We.breadcrumbsItem,href:t.link,rel:"noreferrer",children:t.name}),n<e.length-1&&a.jsx("span",{children:" — "})]},`${t.link}-${t.name}`))}),rr=({items:e})=>a.jsx(a.Fragment,{children:e.map((t,n)=>a.jsxs(g.Fragment,{children:[!!n&&t.some(r=>r.visible)&&a.jsx(m.MenuDivider,{}),t.filter(({visible:r})=>r).map(({link:r,label:s,onClick:i})=>a.jsx(m.MenuItem,{href:r||"#","aria-label":s,onClick:i,children:s},s))]},t[0].label))}),sr="_badge_1pc1v_1",ar="_tag_1pc1v_15",ir="_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21",or="_disabled_1pc1v_57",cr="_projectNavigationItem_1pc1v_61",lr="_projectNavigationItemDisabled_1pc1v_67",E={badge:sr,tag:ar,withNavLinkStyle:ir,disabled:or,projectNavigationItem:cr,projectNavigationItemDisabled:lr},Je=({label:e,badge:t,novel:n})=>a.jsxs("div",{className:"flex gap-1",children:[a.jsxs("div",{children:[a.jsx("span",{children:e}),!!t&&a.jsx("div",{className:E.badge,"aria-label":`${t} items requiring attention`,children:t>9?"9+":t})]}),!!n&&a.jsx(m.Tag,{className:E.tag,children:n})]}),fe=g.forwardRef(({label:e,href:t="",disabled:n=!1,badge:r,onClick:s,novel:i},c)=>a.jsx(m.Tooltip,{tooltip:"You do not have access to this function",show:n,children:a.jsx("div",{className:n?E.projectNavigationItemDisabled:E.projectNavigationItem,children:s||n||!t?a.jsx("button",{type:"button",ref:c,className:C(E.withNavLinkStyle,{[E.disabled]:n}),disabled:n,onClick:s,children:a.jsx(Je,{label:e,badge:r,novel:i})}):a.jsx("a",{href:t,className:E.withNavLinkStyle,children:a.jsx(Je,{label:e,badge:r,novel:i})})})}));fe.displayName="NavigationTabsItem";const ur=e=>(e==null?void 0:e.some(t=>t.some(n=>n.visible)))??!1,dr=e=>e.visible&&(!e.dropdown||ur(e.dropdown)),fr=({navigation:e,activeItem:t})=>a.jsx("nav",{"aria-label":"Project",children:a.jsx("ul",{className:A.navigationTabList,"aria-orientation":"horizontal",children:e.filter(dr).map(n=>{var r,s,i;return n.dropdown?a.jsx("li",{className:A.navigationTab,"data-testid":n.key,"aria-selected":(r=n.isActive)==null?void 0:r.call(n,t),children:a.jsx(m.Menu,{menuButton:({opened:c})=>a.jsx(fe,{label:n.label,disabled:n.disabled,active:c}),children:a.jsx(m.MenuList,{children:a.jsx(rr,{items:n.dropdown})})})},n.key):a.jsx("li",{className:A.navigationTab,"data-testid":n.key,"aria-selected":(s=n.isActive)==null?void 0:s.call(n,t),children:a.jsx(fe,{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)})})}),dt=o.z.object({accessToken:o.z.string(),refreshToken:o.z.string()}),J=xt.buildPayloadRoute({description:"Takes a teamId and returns a JWT token access and refresh token for the user",method:"post",requestPathParamsSchema:o.z.object({teamId:o.z.number()}),pathResolver:e=>`/team/${e.teamId}/actions/get-user-token`,requestHeaderSchema:o.z.object({Authorization:o.z.string().optional(),"x-csrf-token":o.z.string().optional()}),requestBodySchema:o.z.undefined(),successResponseBodySchema:dt}),pe={teamKey:e=>["getUserToken",e]},ft=(e,t,n)=>me.useQuery({...n,queryFn:({queryKey:[r,s]})=>U.sendByPayloadRoute(e,J,{pathParams:{teamId:s},headers:{}}),queryKey:pe.teamKey(t)}),mt=o.z.union([o.z.literal("owner"),o.z.literal("admin"),o.z.literal("biller"),o.z.literal("member")]),mr=o.z.object({userId:o.z.number(),userUuid:o.z.string(),teamId:o.z.number(),userTeamRole:mt,userEmail:o.z.string().email(),userName:o.z.string(),userCurrentTeamId:o.z.number(),planId:o.z.number(),planName:o.z.string(),isProviderAlpha:o.z.boolean(),isFullyAuthenticated:o.z.boolean(),exp:o.z.number()});function B(e){try{const t=e.split(".")[1],n=atob(t);return mr.parse(JSON.parse(n))}catch{return}}const K=class K extends CustomEvent{constructor(t){super(K.eventName,{detail:{token:t,payload:B(t.accessToken)}})}};xe(K,"eventName","new-jwt-issued");let z=K;const hr=pe;function gr(e,t){const n=ft(e,t),r=g.useRef();return g.useEffect(()=>{n.data&&n.data.accessToken!==r.current&&(window.dispatchEvent(new z(n.data)),r.current=n.data.accessToken)},[n.data]),n}function ht(){const e=H(document.cookie,"accessToken"),t=H(document.cookie,"refreshToken");return!e||!t?Promise.resolve(void 0):Promise.resolve({accessToken:e,refreshToken:t})}function br(){return Promise.resolve(H(document.cookie,"csrf_token"))}function H(e,t){var n,r;return(r=(n=e.split(";").find(s=>s.trim().startsWith(`${t}=`)))==null?void 0:n.trim())==null?void 0:r.substring(t.length+1)}function ve(){const[e,t]=g.useState();return g.useEffect(()=>{let n=!1;const r=s=>{t(s.detail.payload),n=!0};return ht().then(s=>s&&B(s.accessToken)).then(s=>{n||t(s)}),window.addEventListener(z.eventName,r),()=>{window.removeEventListener(z.eventName,r)}},[]),e}const gt=o.z.object({user_id:o.z.number(),email:o.z.string().email(),fullname:o.z.string(),created_at:o.z.string(),created_at_timestamp:o.z.number(),role:mt}),_r=o.z.object({team_id:o.z.number(),team_user:gt}),bt=Ve.buildGetRoute({description:"Get the details of a team user",requestPathParamsSchema:o.z.object({teamId:o.z.number(),userId:o.z.number()}),pathResolver:({teamId:e,userId:t})=>`/teams/${e}/users/${t}`,successResponseBodySchema:_r}),Te={teamUserKey:(e,t)=>["GetTeamUsers",e,t]},_t=(e,t,n,r)=>me.useQuery({...r,queryKey:Te.teamUserKey(t,n),queryFn:({queryKey:[s,i,c]})=>U.sendByGetRoute(e,bt,{pathParams:{teamId:i,userId:c}})}),pr=Te;function vr(e){const t=ve();return _t(e,(t==null?void 0:t.teamId)??0,(t==null?void 0:t.userId)??0,{enabled:t!==void 0})}const Tr=o.z.object({lang_id:o.z.number(),lang_iso:o.z.string(),lang_name:o.z.string(),is_writable:o.z.union([o.z.literal(0),o.z.literal(1)])}),yr=o.z.object({user_id:o.z.number(),email:o.z.string().email(),fullname:o.z.string(),created_at:o.z.string(),created_at_timestamp:o.z.number(),admin_rights:o.z.array(o.z.string()),languages:o.z.array(Tr),is_admin:o.z.boolean(),is_reviewer:o.z.boolean()}),jr=o.z.object({project_id:o.z.string(),contributors:o.z.array(yr)}),pt=Ve.buildGetRoute({description:"Get the details of a project contributor",requestPathParamsSchema:o.z.object({projectId:o.z.string(),contributorId:o.z.number()}),pathResolver:({projectId:e,contributorId:t})=>`/projects/${e}/contributors/${t}`,successResponseBodySchema:jr}),ye={projectUserKey:(e,t)=>["RetrieveContributor",e,t]},vt=(e,t,n,r)=>me.useQuery({...r,queryKey:ye.projectUserKey(n,t),queryFn:({queryKey:[s,i,c]})=>U.sendByGetRoute(e,pt,{pathParams:{projectId:i,contributorId:c}})}),wr=ye;function Ir(e,t){const n=ve();return vt(e,(n==null?void 0:n.userId)??0,t,{enabled:n!==void 0})}function xr(e){const t=e.headers.get("Cookie");if(!t)return Promise.resolve(void 0);const n=H(t,"accessToken");if(!n)return Promise.resolve(void 0);const r=B(n);return r?{token:n,payload:r}:Promise.resolve(void 0)}function G(e){return{Authorization:`Bearer ${e}`}}function Sr(e,t){return n=>async(r,s)=>{var u;const i=await t.getCachedJwtToken();if(i===void 0)return n(r,s);const c=await n(r,{...s,headers:{...s.headers,...G(i.accessToken)}});if(i&&(c.status===401||c.status===403)){const d=B(i.accessToken);if(!d)return c;const l=await U.sendByPayloadRoute(e,J,{pathParams:{teamId:d.teamId},headers:G(i.refreshToken)});return await((u=t.onNewJwtTokenIssued)==null?void 0:u.call(t,l)),n(r,{...s,headers:{...s.headers,...G(l.accessToken)}})}return c}}const Tt={wretch:{lokaliseAuth(e){return this.middlewares([Sr(this,e)])}}};function Pr(e,t){return n=>async(r,s)=>{var d;if(await t.getCachedJwtToken()!==void 0)return n(r,s);const c=await t.getCsrfToken();if(c===void 0)return n(r,s);const u=await U.sendByPayloadRoute(e,J,{pathParams:{teamId:await t.getTeamId()},headers:{"x-csrf-token":c}});return await((d=t.onNewJwtTokenIssued)==null?void 0:d.call(t,u)),n(r,{...s,headers:{...s.headers,...G(u.accessToken)}})}}const Nr={wretch:{lokaliseAuth(e={}){return this.addon(Tt).lokaliseAuth(Qe(e))},promoteClassicSession(e){const t=Qe(e);return this.middlewares([Pr(this,t)])}}};function Qe(e){return{...e,getCachedJwtToken:e.getCachedJwtToken??ht,getCsrfToken:"getCsrfToken"in e?e.getCsrfToken:br,onNewJwtTokenIssued:t=>{var n;return window.dispatchEvent(new z(t)),((n=e.onNewJwtTokenIssued)==null?void 0:n.call(e,t))??Promise.resolve()}}}exports.Breadcrumbs=nr;exports.ENTERPRISE_OPENSOURCE_PLAN_ID=be;exports.ENTERPRISE_PLAN_IDS=lt;exports.ESSENTIAL_PLAN_IDS=ot;exports.FREE_PLAN_ID=ge;exports.JWT_TOKEN_SCHEMA=dt;exports.LokaliseAuthAddon=Tt;exports.LokaliseAuthBrowserAddon=Nr;exports.NavigationPanel=q;exports.NavigationTabs=fr;exports.PRO_PLAN_IDS=ct;exports.START_PLAN_IDS=it;exports.Sidebar=I;exports.TEAM_USER_SCHEMA=gt;exports.TRIAL_PLAN_ID=at;exports.authenticatedContributorKeys=wr;exports.authenticatedUserKeys=pr;exports.convertNewLineToBreakTag=kn;exports.formatDate=An;exports.formatDateTz=zn;exports.getAuthenticatedSessionDetailFromRequest=xr;exports.getPromotedClassicSessionJwtKey=hr;exports.getTeamUser=bt;exports.getTeamUsersQueryKey=Te;exports.getUserToken=J;exports.getUserTokenKey=pe;exports.isEnterpriseOpenSourcePlan=Sn;exports.isEnterprisePlan=In;exports.isEssentialPlan=jn;exports.isFreePlan=W;exports.isPaidPlan=xn;exports.isProPlan=wn;exports.isStartPlan=yn;exports.isTrialPlan=_e;exports.makeUrlClickable=Rn;exports.parseJwtTokenPayload=B;exports.retrieveContributor=pt;exports.retrieveContributorKeys=ye;exports.useAuthenticatedProjectContributor=Ir;exports.useAuthenticatedSessionPayload=ve;exports.useAuthenticatedUser=vr;exports.useEffectOnce=Ln;exports.useGetPromotedClassicSessionJwtQuery=gr;exports.useGetUserTokenQuery=ft;exports.useRetrieveContributorQuery=vt;exports.userGetTeamUsersQuery=_t;
package/dist/harmony.mjs CHANGED
@@ -744,8 +744,8 @@ function fr() {
744
744
  return Promise.resolve(F(document.cookie, "csrf_token"));
745
745
  }
746
746
  function F(e, t) {
747
- var n;
748
- return (n = e.split(";").find((r) => r.trim().startsWith(t))) == null ? void 0 : n.substring(t.length + 1);
747
+ var n, r;
748
+ return (r = (n = e.split(";").find((a) => a.trim().startsWith(`${t}=`))) == null ? void 0 : n.trim()) == null ? void 0 : r.substring(t.length + 1);
749
749
  }
750
750
  function _t() {
751
751
  const [e, t] = de();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lokalise/harmony",
3
- "version": "1.6.0-exp-jwtutils.12",
3
+ "version": "1.6.0-exp-jwtutils.14",
4
4
  "author": {
5
5
  "name": "Lokalise",
6
6
  "url": "https://lokalise.com/"