@lokalise/harmony 1.5.6 → 1.6.0-exp-jwtutils.2

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