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

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