@lokalise/harmony 1.6.0-exp-jwtutils.4 → 1.6.0-exp-jwtutils.5
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 pt=Object.defineProperty;var vt=(e,t,n)=>t in e?pt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var xe=(e,t,n)=>vt(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),b=require("react"),m=require("@lokalise/louis"),o=require("zod"),U=require("@lokalise/frontend-http-client"),fe=require("@tanstack/react-query"),Tt=require("@lokalise/universal-ts-utils/api-contracts/apiContracts"),Ve=require("@lokalise/universal-ts-utils/node"),Xe=require("date-fns"),jt=require("date-fns-tz");function yt(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=yt(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,Se;function me(){if(Se)return J;Se=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return J=e,J}var W,Ne;function wt(){if(Ne)return W;Ne=1;var e=typeof $=="object"&&$&&$.Object===Object&&$;return W=e,W}var Q,Pe;function Ze(){if(Pe)return Q;Pe=1;var e=wt(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return Q=n,Q}var V,Ee;function It(){if(Ee)return V;Ee=1;var e=Ze(),t=function(){return e.Date.now()};return V=t,V}var X,ke;function xt(){if(ke)return X;ke=1;var e=/\s/;function t(n){for(var r=n.length;r--&&e.test(n.charAt(r)););return r}return X=t,X}var Y,Ce;function St(){if(Ce)return Y;Ce=1;var e=xt(),t=/^\s+/;function n(r){return r&&r.slice(0,e(r)+1).replace(t,"")}return Y=n,Y}var Z,Re;function et(){if(Re)return Z;Re=1;var e=Ze(),t=e.Symbol;return Z=t,Z}var ee,ze;function Nt(){if(ze)return ee;ze=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 ee=i,ee}var te,Ae;function Pt(){if(Ae)return te;Ae=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return te=n,te}var ne,Le;function Et(){if(Le)return ne;Le=1;var e=et(),t=Nt(),n=Pt(),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,Oe;function kt(){if(Oe)return re;Oe=1;function e(t){return t!=null&&typeof t=="object"}return re=e,re}var ae,qe;function Ct(){if(qe)return ae;qe=1;var e=Et(),t=kt(),n="[object Symbol]";function r(s){return typeof s=="symbol"||t(s)&&e(s)==n}return ae=r,ae}var se,Ue;function Rt(){if(Ue)return se;Ue=1;var e=St(),t=me(),n=Ct(),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 se=d,se}var ie,Me;function tt(){if(Me)return ie;Me=1;var e=me(),t=It(),n=Rt(),r="Expected a function",s=Math.max,i=Math.min;function c(u,d,l){var f,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=f,L=p;return f=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,Ie=d-P;return g?i(Ie,j-L):Ie}function ye(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(ye(h))return we(h);_=setTimeout(D,B(h))}function we(h){return _=void 0,S&&f?T(h):(f=p=void 0,y)}function gt(){_!==void 0&&clearTimeout(_),x=0,f=w=p=_=void 0}function _t(){return _===void 0?y:we(t())}function H(){var h=t(),P=ye(h);if(f=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=gt,H.flush=_t,H}return ie=c,ie}var zt=tt();const At=Ye(zt);var oe,Be;function Lt(){if(Be)return oe;Be=1;var e=tt(),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 Ot=Lt();const qt=Ye(Ot),Ut=(e,t,n,r)=>{switch(t){case"debounce":return At(e,n,r);case"throttle":return qt(e,n,r);default:return e}},Mt=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)},[])},Bt=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}},Dt=(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 $t({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),f=Mt(d),[p,j]=b.useState({width:void 0,height:void 0}),{refProxy:y,refElement:_}=Bt(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=Dt(T,w);j(B=>S(B,v)?(f==null||f({width:v.width,height:v.height,entry:T}),v):B)})},[s,i,l,w]),N=b.useCallback(Ut(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)&&(f==null||f({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 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 Ft="_headerContainer_1cubo_1",Gt="_navigationTabList_1cubo_8",Kt="_navigationTab_1cubo_8",Ht="_headerContent_1cubo_34",Jt="_staticEnabled_1cubo_50",z={headerContainer:Ft,navigationTabList:Gt,navigationTab:Kt,headerContent:Ht,staticEnabled:Jt},Wt=77,q=({sticky:e,children:t})=>{const{ref:n,height:r}=$t({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||Wt}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 Qt="_sidebarContainer_bmdti_1",Vt={sidebarContainer:Qt},Xt="_logoLink_1baxb_1",Yt={logoLink:Xt},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})}),en="_link_1weq1_1",tn="_active_1weq1_18",De={link:en,active:tn},nn=({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"})})}),rn="_dropdownButton_hwh0c_1",an="_dropdownButtonActive_hwh0c_18",$e={dropdownButton:rn,dropdownButtonActive:an},sn=({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})}),on="_iconContainer_nz34m_1",cn={iconContainer:on},rt=({className:e=""})=>a.jsx("div",{"aria-label":"Upgrade Icon",className:C(cn.iconContainer,"flex-row","items-center","justify-center",e),children:a.jsx(m.CaretUpIcon,{})}),ln="_menuContainer_wbu3u_5",un="_profileButton_wbu3u_16",dn="_profileImage_wbu3u_29",fn="_profileImageHighlight_wbu3u_37",mn="_profileImageUpgradeIcon_wbu3u_41",hn="_userIconWrapper_wbu3u_47",E={menuContainer:ln,profileButton:un,profileImage:dn,profileImageHighlight:fn,profileImageUpgradeIcon:mn,userIconWrapper:hn},at=b.createContext({}),M=()=>b.useContext(at),bn=({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: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(m.UserIcon,{size:"25px"})}),r&&a.jsx(rt,{className:E.profileImageUpgradeIcon})]}),children:a.jsx(m.MenuList,{placement:"right-end",className:E.menuContainer,children:e({allowTeamCreation:i,otherTeams:n,isLimitedView:c,canAccessTeamSettings:d,isEndOfTrialActive:l,isTeamSuspended:f,showBillingButton:s,isProviderAlpha:u})})})},he=0,st=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,K=e=>e===he,ge=e=>e===st,gn=e=>it.includes(e),_n=e=>ot.includes(e),pn=e=>ct.includes(e),vn=e=>lt.includes(e),Tn=e=>e>he&&e<be,jn=e=>e===be,yn=/\n/,Fe=(e,t,n)=>e.split(t).flatMap((r,s)=>s!==0?[b.cloneElement(n,{key:Math.random().toString(32).slice(0,10)}),r]:r),wn=(e,t,n)=>typeof e=="string"?Fe(e,t,n):e.flatMap(r=>typeof r=="string"?Fe(r,t,n):r),In=e=>wn(e,yn,a.jsx("br",{})),xn=/(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi,Sn=e=>e.match(xn)??[],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!=="")},Ke=e=>{const t=Sn(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},Nn=e=>typeof e=="string"?Ke(e):e.flatMap(t=>typeof t=="string"?Ke(t):t,e),Pn=(e,t="PP")=>Xe.format(e,t),En=(e,t,n="PP")=>Xe.format(jt.toZonedTime(e,t),n),kn=e=>{b.useEffect(e,[])},Cn=({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),f=n.filter(g=>g.id!==r),p=(l==null?void 0:l.role)??"",j=["biller","owner"].includes(p),y=K(s)||ge(s),N={...t,currentTeam:l,otherTeams:f,canChangeBilling:j,isOnFreeOrTrialPlan:y,showUpgradeCta:!i&&y&&j&&!c,showBillingButton:!i&&u&&j,allowTeamCreation:!i&&!d};return a.jsx(at.Provider,{value:N,children:e})},Rn=({config:e,children:t})=>a.jsx(Cn,{config:e,children:a.jsx(bn,{children:t})}),zn="_container_q5pot_1",An="_profileEmail_q5pot_5",He={container:zn,profileEmail:An},Ln=({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 ${He.container}`,children:[a.jsx("span",{children:"Profile Settings"}),a.jsx("span",{className:He.profileEmail,children:n})]})}),!r&&a.jsx(m.MenuDivider,{})]})},On="_wrapper_15d85_1",qn="_profileImage_15d85_14",Un="_teamName_15d85_22",Mn="_planLabel_15d85_29",Bn="_membership_15d85_38",Dn="_defaultProfileImage_15d85_44",R={wrapper:On,profileImage:qn,teamName:Un,planLabel:Mn,membership:Bn,defaultProfileImage:Dn},ut=({team:e,onClick:t,hidePlanLabel:n})=>{const{currentTeam:r,planId:s}=M(),i=e||r;if(!i)return null;const c=K(s)?"Free":ge(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})]})]})},$n="_teamsContainer_1t68g_1",Fn={teamsContainer:$n},Gn=({onSwitchTeam:e})=>{const{otherTeams:t}=M();return t.length===0?null:a.jsx("div",{className:`flex-col items-stretch ${Fn.teamsContainer}`,children:t.map(n=>a.jsx(ut,{team:n,onClick:e,hidePlanLabel:!0},n.id))})},Kn="_container_1u995_1",Hn="_planCta_1u995_15",Jn="_upgradeIconWrapper_1u995_19",ce={container:Kn,planCta:Hn,upgradeIconWrapper:Jn},Wn=({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(m.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(rt,{}),a.jsx("span",{children:"See upgrade options"})]})]})},I=({children:e,...t})=>a.jsx("nav",{...t,className:Vt.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=nn;I.Menu=sn;I.ProfileMenu=Rn;I.TeamSwitch=Gn;I.TeamMenuItem=ut;I.UpgradeMenuItem=Wn;I.ProfileSettingsMenuItem=Ln;const Qn="_breadcrumbsItem_1hm6a_1",Vn="_breadcrumbs_1hm6a_1",Je={breadcrumbsItem:Qn,breadcrumbs:Vn},Xn=({items:e})=>a.jsx("nav",{"aria-label":"breadcrumb",className:Je.breadcrumbs,children:e.map((t,n)=>a.jsxs(b.Fragment,{children:[a.jsx(m.Link,{className:Je.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(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))}),Zn="_badge_1pc1v_1",er="_tag_1pc1v_15",tr="_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21",nr="_disabled_1pc1v_57",rr="_projectNavigationItem_1pc1v_61",ar="_projectNavigationItemDisabled_1pc1v_67",k={badge:Zn,tag:er,withNavLinkStyle:tr,disabled:nr,projectNavigationItem:rr,projectNavigationItemDisabled:ar},We=({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:k.badge,"aria-label":`${t} items requiring attention`,children:t>9?"9+":t})]}),!!n&&a.jsx(m.Tag,{className:k.tag,children:n})]}),le=b.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?k.projectNavigationItemDisabled:k.projectNavigationItem,children:s||n||!t?a.jsx("button",{type:"button",ref:c,className:C(k.withNavLinkStyle,{[k.disabled]:n}),disabled:n,onClick:s,children:a.jsx(We,{label:e,badge:r,novel:i})}):a.jsx("a",{href:t,className:k.withNavLinkStyle,children:a.jsx(We,{label:e,badge:r,novel:i})})})}));le.displayName="NavigationTabsItem";const sr=e=>(e==null?void 0:e.some(t=>t.some(n=>n.visible)))??!1,ir=e=>e.visible&&(!e.dropdown||sr(e.dropdown)),or=({navigation:e,activeItem:t})=>a.jsx("nav",{"aria-label":"Project",children:a.jsx("ul",{className:z.navigationTabList,"aria-orientation":"horizontal",children:e.filter(ir).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(m.Menu,{menuButton:({opened:c})=>a.jsx(le,{label:n.label,disabled:n.disabled,active:c}),children:a.jsx(m.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)})})}),dt=o.z.union([o.z.literal("owner"),o.z.literal("admin"),o.z.literal("biller"),o.z.literal("member")]),cr=o.z.object({userId:o.z.number(),teamId:o.z.number(),userTeamRole:dt,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 ft(e){try{const t=e.split(".")[1],n=atob(t);return cr.parse(JSON.parse(n))}catch{return}}const G=class G extends CustomEvent{constructor(t){super(G.eventName,{detail:{token:t,payload:ft(t.accessToken)}})}};xe(G,"eventName","new-jwt-issued");let A=G;const lr=o.z.object({accessToken:o.z.string(),refreshToken:o.z.string()}),_e=Tt.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:lr}),pe={teamKey:e=>["getUserToken",e]},mt=(e,t,n)=>fe.useQuery({...n,queryFn:({queryKey:[r,s]})=>U.sendByPayloadRoute(e,_e,{pathParams:{teamId:s},headers:{}}),queryKey:pe.teamKey(t)}),ur=pe;function dr(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 ve(){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 fr=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:dt}),mr=o.z.object({team_id:o.z.number(),team_user:fr}),hr=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:mr}),Te={teamUserKey:(e,t)=>["GetTeamUsers",e,t]},ht=(e,t,n,r)=>fe.useQuery({...r,queryKey:Te.teamUserKey(t,n),queryFn:({queryKey:[s,i,c]})=>U.sendByGetRoute(e,hr,{pathParams:{teamId:i,userId:c}})}),br=Te;function gr(e){const t=ve();return ht(e,(t==null?void 0:t.teamId)??0,(t==null?void 0:t.userId)??0,{enabled:t!==void 0})}const _r=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)])}),pr=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(_r),is_admin:o.z.boolean(),is_reviewer:o.z.boolean()}),vr=o.z.object({project_id:o.z.string(),contributors:o.z.array(pr)}),Tr=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:vr}),je={projectUserKey:(e,t)=>["RetrieveContributor",e,t]},bt=(e,t,n,r)=>fe.useQuery({...r,queryKey:je.projectUserKey(n,t),queryFn:({queryKey:[s,i,c]})=>U.sendByGetRoute(e,Tr,{pathParams:{projectId:i,contributorId:c}})}),jr=je;function yr(e,t){const n=ve();return bt(e,(n==null?void 0:n.userId)??0,t,{enabled:n!==void 0})}function F(e){return{Authorization:`Bearer ${e}`}}function wr(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=ft(i.accessToken);if(!d)return c;const l=await U.sendByPayloadRoute(e,_e,{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([wr(this,e)])}}};function Ir(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,_e,{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,...F(u.accessToken)}})}}function xr(){const e=de("accessToken"),t=de("refreshToken");return!e||!t?Promise.resolve(void 0):Promise.resolve({accessToken:e,refreshToken:t})}function Sr(){return Promise.resolve(de("csrf_token"))}function de(e){var n;const t=document.cookie.split(";").find(r=>r.trim().startsWith(e));return(n=t==null?void 0:t.split("="))==null?void 0:n[1]}const Nr={wretch:{jwtAuth(e){return this.addon(ue).jwtAuth(Qe(e))},jwtAuthWithClassicSessionPromotion(e){const t=Qe(e);return this.addon(ue).jwtAuth(t).middlewares([Ir(this,t)])}}};function Qe(e){return{...e,getCachedJwtToken:e.getCachedJwtToken??xr,getCsrfToken:"getCsrfToken"in e?e.getCsrfToken:Sr,onNewJwtTokenIssued:t=>{var n;return window.dispatchEvent(new A(t)),((n=e.onNewJwtTokenIssued)==null?void 0:n.call(e,t))??Promise.resolve()}}}exports.Breadcrumbs=Xn;exports.BrowserJwtAuthAddon=Nr;exports.ENTERPRISE_OPENSOURCE_PLAN_ID=be;exports.ENTERPRISE_PLAN_IDS=lt;exports.ESSENTIAL_PLAN_IDS=ot;exports.FREE_PLAN_ID=he;exports.JwtAuthAddon=ue;exports.NavigationPanel=q;exports.NavigationTabs=or;exports.PRO_PLAN_IDS=ct;exports.START_PLAN_IDS=it;exports.Sidebar=I;exports.TRIAL_PLAN_ID=st;exports.authenticatedContributorKeys=jr;exports.authenticatedUserKeys=br;exports.convertNewLineToBreakTag=In;exports.formatDate=Pn;exports.formatDateTz=En;exports.getPromotedClassicSessionJwtKey=ur;exports.getTeamUsersQueryKey=Te;exports.getUserTokenKey=pe;exports.isEnterpriseOpenSourcePlan=jn;exports.isEnterprisePlan=vn;exports.isEssentialPlan=_n;exports.isFreePlan=K;exports.isPaidPlan=Tn;exports.isProPlan=pn;exports.isStartPlan=gn;exports.isTrialPlan=ge;exports.makeUrlClickable=Nn;exports.retrieveContributorKeys=je;exports.useAuthenticatedProjectContributor=yr;exports.useAuthenticatedUser=gr;exports.useEffectOnce=kn;exports.useGetPromotedClassicSessionJwtQuery=dr;exports.useGetUserTokenQuery=mt;exports.useJwtTokenPayload=ve;exports.useRetrieveContributorQuery=bt;exports.userGetTeamUsersQuery=ht;
|
1
|
+
"use strict";var pt=Object.defineProperty;var vt=(e,t,n)=>t in e?pt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var xe=(e,t,n)=>vt(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),b=require("react"),m=require("@lokalise/louis"),o=require("zod"),U=require("@lokalise/frontend-http-client"),fe=require("@tanstack/react-query"),Tt=require("@lokalise/universal-ts-utils/api-contracts/apiContracts"),Ve=require("@lokalise/universal-ts-utils/node"),Ye=require("date-fns"),jt=require("date-fns-tz");function yt(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=yt(b);var $=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 J,Se;function me(){if(Se)return J;Se=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return J=e,J}var W,Ne;function wt(){if(Ne)return W;Ne=1;var e=typeof $=="object"&&$&&$.Object===Object&&$;return W=e,W}var Q,Pe;function Xe(){if(Pe)return Q;Pe=1;var e=wt(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return Q=n,Q}var V,Ee;function It(){if(Ee)return V;Ee=1;var e=Xe(),t=function(){return e.Date.now()};return V=t,V}var Y,ke;function xt(){if(ke)return Y;ke=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,Ce;function St(){if(Ce)return Z;Ce=1;var e=xt(),t=/^\s+/;function n(r){return r&&r.slice(0,e(r)+1).replace(t,"")}return Z=n,Z}var X,Re;function et(){if(Re)return X;Re=1;var e=Xe(),t=e.Symbol;return X=t,X}var ee,ze;function Nt(){if(ze)return ee;ze=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 ee=i,ee}var te,Ae;function Pt(){if(Ae)return te;Ae=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return te=n,te}var ne,Le;function Et(){if(Le)return ne;Le=1;var e=et(),t=Nt(),n=Pt(),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,Oe;function kt(){if(Oe)return re;Oe=1;function e(t){return t!=null&&typeof t=="object"}return re=e,re}var ae,qe;function Ct(){if(qe)return ae;qe=1;var e=Et(),t=kt(),n="[object Symbol]";function r(s){return typeof s=="symbol"||t(s)&&e(s)==n}return ae=r,ae}var se,Ue;function Rt(){if(Ue)return se;Ue=1;var e=St(),t=me(),n=Ct(),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 se=d,se}var ie,Me;function tt(){if(Me)return ie;Me=1;var e=me(),t=It(),n=Rt(),r="Expected a function",s=Math.max,i=Math.min;function c(u,d,l){var f,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=f,L=p;return f=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,Ie=d-P;return g?i(Ie,j-L):Ie}function ye(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(ye(h))return we(h);_=setTimeout(D,B(h))}function we(h){return _=void 0,S&&f?T(h):(f=p=void 0,y)}function gt(){_!==void 0&&clearTimeout(_),x=0,f=w=p=_=void 0}function _t(){return _===void 0?y:we(t())}function H(){var h=t(),P=ye(h);if(f=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=gt,H.flush=_t,H}return ie=c,ie}var zt=tt();const At=Ze(zt);var oe,Be;function Lt(){if(Be)return oe;Be=1;var e=tt(),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 Ot=Lt();const qt=Ze(Ot),Ut=(e,t,n,r)=>{switch(t){case"debounce":return At(e,n,r);case"throttle":return qt(e,n,r);default:return e}},Mt=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)},[])},Bt=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}},Dt=(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 $t({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),f=Mt(d),[p,j]=b.useState({width:void 0,height:void 0}),{refProxy:y,refElement:_}=Bt(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=Dt(T,w);j(B=>S(B,v)?(f==null||f({width:v.width,height:v.height,entry:T}),v):B)})},[s,i,l,w]),N=b.useCallback(Ut(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)&&(f==null||f({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 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 Ft="_headerContainer_1cubo_1",Gt="_navigationTabList_1cubo_8",Kt="_navigationTab_1cubo_8",Ht="_headerContent_1cubo_34",Jt="_staticEnabled_1cubo_50",z={headerContainer:Ft,navigationTabList:Gt,navigationTab:Kt,headerContent:Ht,staticEnabled:Jt},Wt=77,q=({sticky:e,children:t})=>{const{ref:n,height:r}=$t({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||Wt}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 Qt="_sidebarContainer_bmdti_1",Vt={sidebarContainer:Qt},Yt="_logoLink_1baxb_1",Zt={logoLink:Yt},Xt=({src:e,href:t="/",ariaLabel:n="Home",alt:r="Lokalise"})=>a.jsx("a",{className:Zt.logoLink,href:t,"aria-label":n,children:a.jsx("img",{src:e,alt:r})}),en="_link_1weq1_1",tn="_active_1weq1_18",De={link:en,active:tn},nn=({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"})})}),rn="_dropdownButton_hwh0c_1",an="_dropdownButtonActive_hwh0c_18",$e={dropdownButton:rn,dropdownButtonActive:an},sn=({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})}),on="_iconContainer_nz34m_1",cn={iconContainer:on},rt=({className:e=""})=>a.jsx("div",{"aria-label":"Upgrade Icon",className:C(cn.iconContainer,"flex-row","items-center","justify-center",e),children:a.jsx(m.CaretUpIcon,{})}),ln="_menuContainer_wbu3u_5",un="_profileButton_wbu3u_16",dn="_profileImage_wbu3u_29",fn="_profileImageHighlight_wbu3u_37",mn="_profileImageUpgradeIcon_wbu3u_41",hn="_userIconWrapper_wbu3u_47",E={menuContainer:ln,profileButton:un,profileImage:dn,profileImageHighlight:fn,profileImageUpgradeIcon:mn,userIconWrapper:hn},at=b.createContext({}),M=()=>b.useContext(at),bn=({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: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(m.UserIcon,{size:"25px"})}),r&&a.jsx(rt,{className:E.profileImageUpgradeIcon})]}),children:a.jsx(m.MenuList,{placement:"right-end",className:E.menuContainer,children:e({allowTeamCreation:i,otherTeams:n,isLimitedView:c,canAccessTeamSettings:d,isEndOfTrialActive:l,isTeamSuspended:f,showBillingButton:s,isProviderAlpha:u})})})},he=0,st=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,K=e=>e===he,ge=e=>e===st,gn=e=>it.includes(e),_n=e=>ot.includes(e),pn=e=>ct.includes(e),vn=e=>lt.includes(e),Tn=e=>e>he&&e<be,jn=e=>e===be,yn=/\n/,Fe=(e,t,n)=>e.split(t).flatMap((r,s)=>s!==0?[b.cloneElement(n,{key:Math.random().toString(32).slice(0,10)}),r]:r),wn=(e,t,n)=>typeof e=="string"?Fe(e,t,n):e.flatMap(r=>typeof r=="string"?Fe(r,t,n):r),In=e=>wn(e,yn,a.jsx("br",{})),xn=/(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi,Sn=e=>e.match(xn)??[],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!=="")},Ke=e=>{const t=Sn(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},Nn=e=>typeof e=="string"?Ke(e):e.flatMap(t=>typeof t=="string"?Ke(t):t,e),Pn=(e,t="PP")=>Ye.format(e,t),En=(e,t,n="PP")=>Ye.format(jt.toZonedTime(e,t),n),kn=e=>{b.useEffect(e,[])},Cn=({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),f=n.filter(g=>g.id!==r),p=(l==null?void 0:l.role)??"",j=["biller","owner"].includes(p),y=K(s)||ge(s),N={...t,currentTeam:l,otherTeams:f,canChangeBilling:j,isOnFreeOrTrialPlan:y,showUpgradeCta:!i&&y&&j&&!c,showBillingButton:!i&&u&&j,allowTeamCreation:!i&&!d};return a.jsx(at.Provider,{value:N,children:e})},Rn=({config:e,children:t})=>a.jsx(Cn,{config:e,children:a.jsx(bn,{children:t})}),zn="_container_q5pot_1",An="_profileEmail_q5pot_5",He={container:zn,profileEmail:An},Ln=({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 ${He.container}`,children:[a.jsx("span",{children:"Profile Settings"}),a.jsx("span",{className:He.profileEmail,children:n})]})}),!r&&a.jsx(m.MenuDivider,{})]})},On="_wrapper_15d85_1",qn="_profileImage_15d85_14",Un="_teamName_15d85_22",Mn="_planLabel_15d85_29",Bn="_membership_15d85_38",Dn="_defaultProfileImage_15d85_44",R={wrapper:On,profileImage:qn,teamName:Un,planLabel:Mn,membership:Bn,defaultProfileImage:Dn},ut=({team:e,onClick:t,hidePlanLabel:n})=>{const{currentTeam:r,planId:s}=M(),i=e||r;if(!i)return null;const c=K(s)?"Free":ge(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})]})]})},$n="_teamsContainer_1t68g_1",Fn={teamsContainer:$n},Gn=({onSwitchTeam:e})=>{const{otherTeams:t}=M();return t.length===0?null:a.jsx("div",{className:`flex-col items-stretch ${Fn.teamsContainer}`,children:t.map(n=>a.jsx(ut,{team:n,onClick:e,hidePlanLabel:!0},n.id))})},Kn="_container_1u995_1",Hn="_planCta_1u995_15",Jn="_upgradeIconWrapper_1u995_19",ce={container:Kn,planCta:Hn,upgradeIconWrapper:Jn},Wn=({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(m.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(rt,{}),a.jsx("span",{children:"See upgrade options"})]})]})},I=({children:e,...t})=>a.jsx("nav",{...t,className:Vt.sidebarContainer,children:e});I.Top=({children:e})=>a.jsx("div",{children:e});I.Bottom=({children:e})=>a.jsx("div",{children:e});I.Avatar=Xt;I.IconLink=nn;I.Menu=sn;I.ProfileMenu=Rn;I.TeamSwitch=Gn;I.TeamMenuItem=ut;I.UpgradeMenuItem=Wn;I.ProfileSettingsMenuItem=Ln;const Qn="_breadcrumbsItem_1hm6a_1",Vn="_breadcrumbs_1hm6a_1",Je={breadcrumbsItem:Qn,breadcrumbs:Vn},Yn=({items:e})=>a.jsx("nav",{"aria-label":"breadcrumb",className:Je.breadcrumbs,children:e.map((t,n)=>a.jsxs(b.Fragment,{children:[a.jsx(m.Link,{className:Je.breadcrumbsItem,href:t.link,rel:"noreferrer",children:t.name}),n<e.length-1&&a.jsx("span",{children:" — "})]},`${t.link}-${t.name}`))}),Zn=({items:e})=>a.jsx(a.Fragment,{children:e.map((t,n)=>a.jsxs(b.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))}),Xn="_badge_1pc1v_1",er="_tag_1pc1v_15",tr="_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21",nr="_disabled_1pc1v_57",rr="_projectNavigationItem_1pc1v_61",ar="_projectNavigationItemDisabled_1pc1v_67",k={badge:Xn,tag:er,withNavLinkStyle:tr,disabled:nr,projectNavigationItem:rr,projectNavigationItemDisabled:ar},We=({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:k.badge,"aria-label":`${t} items requiring attention`,children:t>9?"9+":t})]}),!!n&&a.jsx(m.Tag,{className:k.tag,children:n})]}),le=b.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?k.projectNavigationItemDisabled:k.projectNavigationItem,children:s||n||!t?a.jsx("button",{type:"button",ref:c,className:C(k.withNavLinkStyle,{[k.disabled]:n}),disabled:n,onClick:s,children:a.jsx(We,{label:e,badge:r,novel:i})}):a.jsx("a",{href:t,className:k.withNavLinkStyle,children:a.jsx(We,{label:e,badge:r,novel:i})})})}));le.displayName="NavigationTabsItem";const sr=e=>(e==null?void 0:e.some(t=>t.some(n=>n.visible)))??!1,ir=e=>e.visible&&(!e.dropdown||sr(e.dropdown)),or=({navigation:e,activeItem:t})=>a.jsx("nav",{"aria-label":"Project",children:a.jsx("ul",{className:z.navigationTabList,"aria-orientation":"horizontal",children:e.filter(ir).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(m.Menu,{menuButton:({opened:c})=>a.jsx(le,{label:n.label,disabled:n.disabled,active:c}),children:a.jsx(m.MenuList,{children:a.jsx(Zn,{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)})})}),dt=o.z.union([o.z.literal("owner"),o.z.literal("admin"),o.z.literal("biller"),o.z.literal("member")]),cr=o.z.object({userId:o.z.number(),teamId:o.z.number(),userTeamRole:dt,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 ft(e){try{const t=e.split(".")[1],n=atob(t);return cr.parse(JSON.parse(n))}catch{return}}const G=class G extends CustomEvent{constructor(t){super(G.eventName,{detail:{token:t,payload:ft(t.accessToken)}})}};xe(G,"eventName","new-jwt-issued");let A=G;const lr=o.z.object({accessToken:o.z.string(),refreshToken:o.z.string()}),_e=Tt.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:lr}),pe={teamKey:e=>["getUserToken",e]},mt=(e,t,n)=>fe.useQuery({...n,queryFn:({queryKey:[r,s]})=>U.sendByPayloadRoute(e,_e,{pathParams:{teamId:s},headers:{}}),queryKey:pe.teamKey(t)}),ur=pe;function dr(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 ve(){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 fr=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:dt}),mr=o.z.object({team_id:o.z.number(),team_user:fr}),hr=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:mr}),Te={teamUserKey:(e,t)=>["GetTeamUsers",e,t]},ht=(e,t,n,r)=>fe.useQuery({...r,queryKey:Te.teamUserKey(t,n),queryFn:({queryKey:[s,i,c]})=>U.sendByGetRoute(e,hr,{pathParams:{teamId:i,userId:c}})}),br=Te;function gr(e){const t=ve();return ht(e,(t==null?void 0:t.teamId)??0,(t==null?void 0:t.userId)??0,{enabled:t!==void 0})}const _r=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)])}),pr=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(_r),is_admin:o.z.boolean(),is_reviewer:o.z.boolean()}),vr=o.z.object({project_id:o.z.string(),contributors:o.z.array(pr)}),Tr=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:vr}),je={projectUserKey:(e,t)=>["RetrieveContributor",e,t]},bt=(e,t,n,r)=>fe.useQuery({...r,queryKey:je.projectUserKey(n,t),queryFn:({queryKey:[s,i,c]})=>U.sendByGetRoute(e,Tr,{pathParams:{projectId:i,contributorId:c}})}),jr=je;function yr(e,t){const n=ve();return bt(e,(n==null?void 0:n.userId)??0,t,{enabled:n!==void 0})}function F(e){return{Authorization:`Bearer ${e}`}}function wr(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=ft(i.accessToken);if(!d)return c;const l=await U.sendByPayloadRoute(e,_e,{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([wr(this,e)])}}};function Ir(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,_e,{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,...F(u.accessToken)}})}}function xr(){const e=de("accessToken"),t=de("refreshToken");return!e||!t?Promise.resolve(void 0):Promise.resolve({accessToken:e,refreshToken:t})}function Sr(){return Promise.resolve(de("csrf_token"))}function de(e){var n;const t=document.cookie.split(";").find(r=>r.trim().startsWith(e));return(n=t==null?void 0:t.split("="))==null?void 0:n[1]}const Nr={wretch:{jwtAuth(e){return this.addon(ue).jwtAuth(Qe(e))},jwtAuthWithClassicSessionPromotion(e){const t=Qe(e);return this.addon(ue).jwtAuth(t).middlewares([Ir(this,t)])}}};function Qe(e){return{...e,getCachedJwtToken:e.getCachedJwtToken??xr,getCsrfToken:"getCsrfToken"in e?e.getCsrfToken:Sr,onNewJwtTokenIssued:t=>{var n;return window.dispatchEvent(new A(t)),((n=e.onNewJwtTokenIssued)==null?void 0:n.call(e,t))??Promise.resolve()}}}exports.Breadcrumbs=Yn;exports.BrowserJwtAuthAddon=Nr;exports.ENTERPRISE_OPENSOURCE_PLAN_ID=be;exports.ENTERPRISE_PLAN_IDS=lt;exports.ESSENTIAL_PLAN_IDS=ot;exports.FREE_PLAN_ID=he;exports.JwtAuthAddon=ue;exports.NavigationPanel=q;exports.NavigationTabs=or;exports.PRO_PLAN_IDS=ct;exports.START_PLAN_IDS=it;exports.Sidebar=I;exports.TRIAL_PLAN_ID=st;exports.authenticatedContributorKeys=jr;exports.authenticatedUserKeys=br;exports.convertNewLineToBreakTag=In;exports.formatDate=Pn;exports.formatDateTz=En;exports.getPromotedClassicSessionJwtKey=ur;exports.getTeamUsersQueryKey=Te;exports.getUserTokenKey=pe;exports.isEnterpriseOpenSourcePlan=jn;exports.isEnterprisePlan=vn;exports.isEssentialPlan=_n;exports.isFreePlan=K;exports.isPaidPlan=Tn;exports.isProPlan=pn;exports.isStartPlan=gn;exports.isTrialPlan=ge;exports.makeUrlClickable=Nn;exports.retrieveContributorKeys=je;exports.useAuthenticatedProjectContributor=yr;exports.useAuthenticatedUser=gr;exports.useEffectOnce=kn;exports.useGetPromotedClassicSessionJwtQuery=dr;exports.useGetUserTokenQuery=mt;exports.useJwtTokenPayload=ve;exports.useRetrieveContributorQuery=bt;exports.userGetTeamUsersQuery=ht;
|
package/dist/harmony.mjs
CHANGED
@@ -3,8 +3,8 @@ var Nt = (e, t, n) => t in e ? It(e, t, { enumerable: !0, configurable: !0, writ
|
|
3
3
|
var ye = (e, t, n) => Nt(e, typeof t != "symbol" ? t + "" : t, n);
|
4
4
|
import { jsx as o, jsxs as p, Fragment as Qe } from "react/jsx-runtime";
|
5
5
|
import * as x from "react";
|
6
|
-
import { useRef as Ve, useState as ue, useCallback as Ie, useEffect as q, useContext as St, createContext as kt, cloneElement as Et, Fragment as
|
7
|
-
import { Tooltip as de, Link as
|
6
|
+
import { useRef as Ve, useState as ue, useCallback as Ie, useEffect as q, useContext as St, createContext as kt, cloneElement as Et, Fragment as Ye, forwardRef as Pt } from "react";
|
7
|
+
import { Tooltip as de, Link as Ze, Menu as me, MenuList as fe, CaretUpIcon as Ct, UserIcon as Xe, MenuItem as F, MenuDivider as et, Tag as jt } from "@lokalise/louis";
|
8
8
|
import { z as s } from "zod";
|
9
9
|
import { sendByPayloadRoute as he, sendByGetRoute as tt } from "@lokalise/frontend-http-client";
|
10
10
|
import { useQuery as ge } from "@tanstack/react-query";
|
@@ -61,26 +61,26 @@ function xt() {
|
|
61
61
|
}
|
62
62
|
return V = t, V;
|
63
63
|
}
|
64
|
-
var
|
64
|
+
var Y, Ce;
|
65
65
|
function qt() {
|
66
|
-
if (Ce) return
|
66
|
+
if (Ce) return Y;
|
67
67
|
Ce = 1;
|
68
68
|
var e = xt(), t = /^\s+/;
|
69
69
|
function n(r) {
|
70
70
|
return r && r.slice(0, e(r) + 1).replace(t, "");
|
71
71
|
}
|
72
|
-
return
|
72
|
+
return Y = n, Y;
|
73
73
|
}
|
74
|
-
var
|
74
|
+
var Z, je;
|
75
75
|
function it() {
|
76
|
-
if (je) return
|
76
|
+
if (je) return Z;
|
77
77
|
je = 1;
|
78
78
|
var e = ot(), t = e.Symbol;
|
79
|
-
return
|
79
|
+
return Z = t, Z;
|
80
80
|
}
|
81
|
-
var
|
81
|
+
var X, Re;
|
82
82
|
function Ut() {
|
83
|
-
if (Re) return
|
83
|
+
if (Re) return X;
|
84
84
|
Re = 1;
|
85
85
|
var e = it(), t = Object.prototype, n = t.hasOwnProperty, r = t.toString, a = e ? e.toStringTag : void 0;
|
86
86
|
function i(c) {
|
@@ -93,7 +93,7 @@ function Ut() {
|
|
93
93
|
var m = r.call(c);
|
94
94
|
return l && (u ? c[a] = d : delete c[a]), m;
|
95
95
|
}
|
96
|
-
return
|
96
|
+
return X = i, X;
|
97
97
|
}
|
98
98
|
var ee, Ae;
|
99
99
|
function Mt() {
|
@@ -210,8 +210,8 @@ function st() {
|
|
210
210
|
}
|
211
211
|
return oe = c, oe;
|
212
212
|
}
|
213
|
-
var
|
214
|
-
const
|
213
|
+
var Ht = st();
|
214
|
+
const Ft = /* @__PURE__ */ at(Ht);
|
215
215
|
var ie, Me;
|
216
216
|
function Wt() {
|
217
217
|
if (Me) return ie;
|
@@ -233,7 +233,7 @@ var Gt = Wt();
|
|
233
233
|
const Kt = /* @__PURE__ */ at(Gt), Jt = (e, t, n, r) => {
|
234
234
|
switch (t) {
|
235
235
|
case "debounce":
|
236
|
-
return
|
236
|
+
return Ft(e, n, r);
|
237
237
|
case "throttle":
|
238
238
|
return Kt(e, n, r);
|
239
239
|
default:
|
@@ -267,7 +267,7 @@ const Kt = /* @__PURE__ */ at(Gt), Jt = (e, t, n, r) => {
|
|
267
267
|
}
|
268
268
|
}), [t]), refElement: t, setRefElement: n };
|
269
269
|
}
|
270
|
-
),
|
270
|
+
), Yt = (e, t) => t === "border-box" ? {
|
271
271
|
width: e.borderBoxSize[0].inlineSize,
|
272
272
|
height: e.borderBoxSize[0].blockSize
|
273
273
|
} : t === "content-box" ? {
|
@@ -277,7 +277,7 @@ const Kt = /* @__PURE__ */ at(Gt), Jt = (e, t, n, r) => {
|
|
277
277
|
width: e.contentRect.width,
|
278
278
|
height: e.contentRect.height
|
279
279
|
};
|
280
|
-
function
|
280
|
+
function Zt({ skipOnMount: e = !1, refreshMode: t, refreshRate: n = 1e3, refreshOptions: r, handleWidth: a = !0, handleHeight: i = !0, targetRef: c, observerOptions: u, onResize: d } = {}) {
|
281
281
|
const l = Ve(e), m = Qt(d), [b, T] = ue({
|
282
282
|
width: void 0,
|
283
283
|
height: void 0
|
@@ -290,7 +290,7 @@ function Yt({ skipOnMount: e = !1, refreshMode: t, refreshRate: n = 1e3, refresh
|
|
290
290
|
}
|
291
291
|
const S = (v, _) => a && v.width !== _.width || i && v.height !== _.height;
|
292
292
|
h.forEach((v) => {
|
293
|
-
const _ =
|
293
|
+
const _ = Yt(v, y);
|
294
294
|
T((M) => S(M, _) ? (m == null || m({
|
295
295
|
width: _.width,
|
296
296
|
height: _.height,
|
@@ -328,14 +328,14 @@ function j() {
|
|
328
328
|
for (var e, t, n = 0, r = "", a = arguments.length; n < a; n++) (e = arguments[n]) && (t = ct(e)) && (r && (r += " "), r += t);
|
329
329
|
return r;
|
330
330
|
}
|
331
|
-
const
|
332
|
-
headerContainer:
|
331
|
+
const Xt = "_headerContainer_1cubo_1", en = "_navigationTabList_1cubo_8", tn = "_navigationTab_1cubo_8", nn = "_headerContent_1cubo_34", rn = "_staticEnabled_1cubo_50", A = {
|
332
|
+
headerContainer: Xt,
|
333
333
|
navigationTabList: en,
|
334
334
|
navigationTab: tn,
|
335
335
|
headerContent: nn,
|
336
336
|
staticEnabled: rn
|
337
337
|
}, an = 77, D = ({ sticky: e, children: t }) => {
|
338
|
-
const { ref: n, height: r } =
|
338
|
+
const { ref: n, height: r } = Zt({
|
339
339
|
refreshMode: "debounce",
|
340
340
|
refreshRate: 0
|
341
341
|
}), [a, i] = ue(!1), c = () => a ? !e : !0;
|
@@ -371,7 +371,7 @@ const on = "_sidebarContainer_bmdti_1", sn = {
|
|
371
371
|
link: dn,
|
372
372
|
active: mn
|
373
373
|
}, fn = ({ label: e, to: t, icon: n }) => /* @__PURE__ */ o(de, { placement: "right", tooltip: e, children: /* @__PURE__ */ o(
|
374
|
-
|
374
|
+
Ze,
|
375
375
|
{
|
376
376
|
className: j(Be.link, {
|
377
377
|
[Be.active]: window.location.pathname.startsWith(t)
|
@@ -451,7 +451,7 @@ const on = "_sidebarContainer_bmdti_1", sn = {
|
|
451
451
|
className: j(P.userIconWrapper, "flex-row", "align-center", "items-center", {
|
452
452
|
[P.profileImageHighlight]: r
|
453
453
|
}),
|
454
|
-
children: /* @__PURE__ */ o(
|
454
|
+
children: /* @__PURE__ */ o(Xe, { size: "25px" })
|
455
455
|
}
|
456
456
|
),
|
457
457
|
r && /* @__PURE__ */ o(lt, { className: P.profileImageUpgradeIcon })
|
@@ -468,7 +468,7 @@ const on = "_sidebarContainer_bmdti_1", sn = {
|
|
468
468
|
}) })
|
469
469
|
}
|
470
470
|
);
|
471
|
-
}, dt = 0, kn = 9999, En = [150, 151, 250, 251], Pn = [152, 153, 252, 253], Cn = [154, 155, 157, 158, 254, 255, 258, 354, 355, 358], jn = [156, 159, 160, 256, 259, 260], mt = 9998, _e = (e) => e === dt, ft = (e) => e === kn, Ur = (e) => En.includes(e), Mr = (e) => Pn.includes(e), Br = (e) => Cn.includes(e), $r = (e) => jn.includes(e), zr = (e) => e > dt && e < mt, Dr = (e) => e === mt, Rn = /\n/, ze = (e, t, n) => e.split(t).flatMap((r, a) => a !== 0 ? [Et(n, { key: Math.random().toString(32).slice(0, 10) }), r] : r), An = (e, t, n) => typeof e == "string" ? ze(e, t, n) : e.flatMap((r) => typeof r == "string" ? ze(r, t, n) : r),
|
471
|
+
}, dt = 0, kn = 9999, En = [150, 151, 250, 251], Pn = [152, 153, 252, 253], Cn = [154, 155, 157, 158, 254, 255, 258, 354, 355, 358], jn = [156, 159, 160, 256, 259, 260], mt = 9998, _e = (e) => e === dt, ft = (e) => e === kn, Ur = (e) => En.includes(e), Mr = (e) => Pn.includes(e), Br = (e) => Cn.includes(e), $r = (e) => jn.includes(e), zr = (e) => e > dt && e < mt, Dr = (e) => e === mt, Rn = /\n/, ze = (e, t, n) => e.split(t).flatMap((r, a) => a !== 0 ? [Et(n, { key: Math.random().toString(32).slice(0, 10) }), r] : r), An = (e, t, n) => typeof e == "string" ? ze(e, t, n) : e.flatMap((r) => typeof r == "string" ? ze(r, t, n) : r), Hr = (e) => An(e, Rn, /* @__PURE__ */ o("br", {})), Ln = /(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi, On = (e) => e.match(Ln) ?? [], De = (e, t, n) => {
|
472
472
|
const r = e.split(t);
|
473
473
|
if (r.length === 1)
|
474
474
|
return e;
|
@@ -476,10 +476,10 @@ const on = "_sidebarContainer_bmdti_1", sn = {
|
|
476
476
|
return r[0] !== "" && a.push(r[0]), r.shift(), r[r.length - 1] === "" && r.pop(), a.push(
|
477
477
|
/* @__PURE__ */ o("a", { href: t, target: "_blank", rel: "noreferrer noopener", children: t }, t + n)
|
478
478
|
), a.push(r.join(t)), a.filter((i) => i !== "");
|
479
|
-
},
|
479
|
+
}, He = (e) => {
|
480
480
|
const t = On(e);
|
481
481
|
return t != null && t.length ? t.reduce((n, r, a) => typeof n == "string" ? De(n, r, a) : n.flatMap((i) => typeof i == "string" ? De(i, r, a) : i), e) : e;
|
482
|
-
},
|
482
|
+
}, Fr = (e) => typeof e == "string" ? He(e) : e.flatMap((t) => typeof t == "string" ? He(t) : t, e), Wr = (e, t = "PP") => rt(e, t), Gr = (e, t, n = "PP") => rt(At(e, t), n), Kr = (e) => {
|
483
483
|
q(e, []);
|
484
484
|
}, xn = ({ children: e, config: t }) => {
|
485
485
|
const {
|
@@ -501,7 +501,7 @@ const on = "_sidebarContainer_bmdti_1", sn = {
|
|
501
501
|
allowTeamCreation: !i && !d
|
502
502
|
};
|
503
503
|
return /* @__PURE__ */ o(ut.Provider, { value: k, children: e });
|
504
|
-
}, qn = ({ config: e, children: t }) => /* @__PURE__ */ o(xn, { config: e, children: /* @__PURE__ */ o(Sn, { children: t }) }), Un = "_container_q5pot_1", Mn = "_profileEmail_q5pot_5",
|
504
|
+
}, qn = ({ config: e, children: t }) => /* @__PURE__ */ o(xn, { config: e, children: /* @__PURE__ */ o(Sn, { children: t }) }), Un = "_container_q5pot_1", Mn = "_profileEmail_q5pot_5", Fe = {
|
505
505
|
container: Un,
|
506
506
|
profileEmail: Mn
|
507
507
|
}, Bn = ({
|
@@ -513,26 +513,26 @@ const on = "_sidebarContainer_bmdti_1", sn = {
|
|
513
513
|
const { isEndOfTrialActive: a, isTeamSuspended: i } = U();
|
514
514
|
return a || i ? null : /* @__PURE__ */ p(Qe, { children: [
|
515
515
|
/* @__PURE__ */ o(
|
516
|
-
|
516
|
+
F,
|
517
517
|
{
|
518
518
|
href: e,
|
519
519
|
onClick: () => {
|
520
520
|
t == null || t();
|
521
521
|
},
|
522
|
-
children: /* @__PURE__ */ p("div", { className: `flex-col ${
|
522
|
+
children: /* @__PURE__ */ p("div", { className: `flex-col ${Fe.container}`, children: [
|
523
523
|
/* @__PURE__ */ o("span", { children: "Profile Settings" }),
|
524
|
-
/* @__PURE__ */ o("span", { className:
|
524
|
+
/* @__PURE__ */ o("span", { className: Fe.profileEmail, children: n })
|
525
525
|
] })
|
526
526
|
}
|
527
527
|
),
|
528
528
|
!r && /* @__PURE__ */ o(et, {})
|
529
529
|
] });
|
530
|
-
}, $n = "_wrapper_15d85_1", zn = "_profileImage_15d85_14", Dn = "_teamName_15d85_22",
|
530
|
+
}, $n = "_wrapper_15d85_1", zn = "_profileImage_15d85_14", Dn = "_teamName_15d85_22", Hn = "_planLabel_15d85_29", Fn = "_membership_15d85_38", Wn = "_defaultProfileImage_15d85_44", R = {
|
531
531
|
wrapper: $n,
|
532
532
|
profileImage: zn,
|
533
533
|
teamName: Dn,
|
534
|
-
planLabel:
|
535
|
-
membership:
|
534
|
+
planLabel: Hn,
|
535
|
+
membership: Fn,
|
536
536
|
defaultProfileImage: Wn
|
537
537
|
}, ht = ({ team: e, onClick: t, hidePlanLabel: n }) => {
|
538
538
|
const { currentTeam: r, planId: a } = U(), i = e || r;
|
@@ -540,12 +540,12 @@ const on = "_sidebarContainer_bmdti_1", sn = {
|
|
540
540
|
return null;
|
541
541
|
const c = _e(a) ? "Free" : ft(a) ? "Trial" : void 0;
|
542
542
|
return /* @__PURE__ */ p(
|
543
|
-
t ?
|
543
|
+
t ? F : "div",
|
544
544
|
{
|
545
545
|
className: `flex-row gap-2 flex-nowrap items-center ${R.wrapper}`,
|
546
546
|
...t && { onClick: () => t(i) },
|
547
547
|
children: [
|
548
|
-
i.logoUrl ? /* @__PURE__ */ o("img", { className: R.profileImage, src: i.logoUrl, alt: "Team Logo" }) : /* @__PURE__ */ o("span", { className: `flex-row justify-center items-center ${R.defaultProfileImage}`, children: /* @__PURE__ */ o(
|
548
|
+
i.logoUrl ? /* @__PURE__ */ o("img", { className: R.profileImage, src: i.logoUrl, alt: "Team Logo" }) : /* @__PURE__ */ o("span", { className: `flex-row justify-center items-center ${R.defaultProfileImage}`, children: /* @__PURE__ */ o(Xe, { size: "25px" }) }),
|
549
549
|
/* @__PURE__ */ p("div", { className: "flex-col items-start", children: [
|
550
550
|
/* @__PURE__ */ p("div", { className: "flex-row items-center flex-nowrap gap-2", children: [
|
551
551
|
/* @__PURE__ */ o("span", { title: i.name, className: R.teamName, children: i.name }),
|
@@ -561,16 +561,16 @@ const on = "_sidebarContainer_bmdti_1", sn = {
|
|
561
561
|
}, Jn = ({ onSwitchTeam: e }) => {
|
562
562
|
const { otherTeams: t } = U();
|
563
563
|
return t.length === 0 ? null : /* @__PURE__ */ o("div", { className: `flex-col items-stretch ${Kn.teamsContainer}`, children: t.map((n) => /* @__PURE__ */ o(ht, { team: n, onClick: e, hidePlanLabel: !0 }, n.id)) });
|
564
|
-
}, Qn = "_container_1u995_1", Vn = "_planCta_1u995_15",
|
564
|
+
}, Qn = "_container_1u995_1", Vn = "_planCta_1u995_15", Yn = "_upgradeIconWrapper_1u995_19", se = {
|
565
565
|
container: Qn,
|
566
566
|
planCta: Vn,
|
567
|
-
upgradeIconWrapper:
|
568
|
-
},
|
567
|
+
upgradeIconWrapper: Yn
|
568
|
+
}, Zn = ({ upgradeOptionHref: e }) => {
|
569
569
|
const { planId: t, trialDaysLeft: n, showUpgradeCta: r } = U();
|
570
570
|
if (!r)
|
571
571
|
return null;
|
572
572
|
const c = _e(t) ? "Your team is currently on the Free plan" : `Free trial ends in ${n} ${n === 1 ? "day" : "days"}`;
|
573
|
-
return /* @__PURE__ */ p(
|
573
|
+
return /* @__PURE__ */ p(F, { href: e, className: `flex-col gap-1 items-start ${se.container}`, children: [
|
574
574
|
/* @__PURE__ */ o("span", { className: se.planCta, children: c }),
|
575
575
|
/* @__PURE__ */ p("div", { className: `flex-row items-center gap-1 ${se.upgradeIconWrapper}`, children: [
|
576
576
|
/* @__PURE__ */ o(lt, {}),
|
@@ -586,17 +586,17 @@ I.Menu = bn;
|
|
586
586
|
I.ProfileMenu = qn;
|
587
587
|
I.TeamSwitch = Jn;
|
588
588
|
I.TeamMenuItem = ht;
|
589
|
-
I.UpgradeMenuItem =
|
589
|
+
I.UpgradeMenuItem = Zn;
|
590
590
|
I.ProfileSettingsMenuItem = Bn;
|
591
|
-
const
|
592
|
-
breadcrumbsItem:
|
591
|
+
const Xn = "_breadcrumbsItem_1hm6a_1", er = "_breadcrumbs_1hm6a_1", We = {
|
592
|
+
breadcrumbsItem: Xn,
|
593
593
|
breadcrumbs: er
|
594
|
-
}, Jr = ({ items: e }) => /* @__PURE__ */ o("nav", { "aria-label": "breadcrumb", className: We.breadcrumbs, children: e.map((t, n) => /* @__PURE__ */ p(
|
595
|
-
/* @__PURE__ */ o(
|
594
|
+
}, Jr = ({ items: e }) => /* @__PURE__ */ o("nav", { "aria-label": "breadcrumb", className: We.breadcrumbs, children: e.map((t, n) => /* @__PURE__ */ p(Ye, { children: [
|
595
|
+
/* @__PURE__ */ o(Ze, { className: We.breadcrumbsItem, href: t.link, rel: "noreferrer", children: t.name }),
|
596
596
|
n < e.length - 1 && /* @__PURE__ */ o("span", { children: " — " })
|
597
|
-
] }, `${t.link}-${t.name}`)) }), tr = ({ items: e }) => /* @__PURE__ */ o(Qe, { children: e.map((t, n) => /* @__PURE__ */ p(
|
597
|
+
] }, `${t.link}-${t.name}`)) }), tr = ({ items: e }) => /* @__PURE__ */ o(Qe, { children: e.map((t, n) => /* @__PURE__ */ p(Ye, { children: [
|
598
598
|
!!n && t.some((r) => r.visible) && /* @__PURE__ */ o(et, {}),
|
599
|
-
t.filter(({ visible: r }) => r).map(({ link: r, label: a, onClick: i }) => /* @__PURE__ */ o(
|
599
|
+
t.filter(({ visible: r }) => r).map(({ link: r, label: a, onClick: i }) => /* @__PURE__ */ o(F, { href: r || "#", "aria-label": a, onClick: i, children: a }, a))
|
600
600
|
] }, t[0].label)) }), nr = "_badge_1pc1v_1", rr = "_tag_1pc1v_15", ar = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21", or = "_disabled_1pc1v_57", ir = "_projectNavigationItem_1pc1v_61", sr = "_projectNavigationItemDisabled_1pc1v_67", C = {
|
601
601
|
badge: nr,
|
602
602
|
tag: rr,
|
@@ -695,15 +695,15 @@ function bt(e) {
|
|
695
695
|
return;
|
696
696
|
}
|
697
697
|
}
|
698
|
-
const
|
698
|
+
const H = class H extends CustomEvent {
|
699
699
|
constructor(t) {
|
700
|
-
super(
|
700
|
+
super(H.eventName, {
|
701
701
|
detail: { token: t, payload: bt(t.accessToken) }
|
702
702
|
});
|
703
703
|
}
|
704
704
|
};
|
705
|
-
ye(
|
706
|
-
let L =
|
705
|
+
ye(H, "eventName", "new-jwt-issued");
|
706
|
+
let L = H;
|
707
707
|
const dr = s.object({
|
708
708
|
accessToken: s.string(),
|
709
709
|
refreshToken: s.string()
|
@@ -714,7 +714,7 @@ const dr = s.object({
|
|
714
714
|
pathResolver: (e) => `/team/${e.teamId}/actions/get-user-token`,
|
715
715
|
requestHeaderSchema: s.object({
|
716
716
|
Authorization: s.string().optional(),
|
717
|
-
"
|
717
|
+
"x-csrf-token": s.string().optional()
|
718
718
|
}),
|
719
719
|
requestBodySchema: s.undefined(),
|
720
720
|
successResponseBodySchema: dr
|
@@ -728,7 +728,7 @@ const dr = s.object({
|
|
728
728
|
}),
|
729
729
|
queryKey: _t.teamKey(t)
|
730
730
|
}), Vr = _t;
|
731
|
-
function
|
731
|
+
function Yr(e, t) {
|
732
732
|
const n = mr(e, t), r = Ve();
|
733
733
|
return q(() => {
|
734
734
|
n.data && n.data.accessToken !== r.current && (window.dispatchEvent(new L(n.data)), r.current = n.data.accessToken);
|
@@ -766,8 +766,8 @@ const fr = s.object({
|
|
766
766
|
...r,
|
767
767
|
queryKey: vt.teamUserKey(t, n),
|
768
768
|
queryFn: ({ queryKey: [a, i, c] }) => tt(e, gr, { pathParams: { teamId: i, userId: c } })
|
769
|
-
}),
|
770
|
-
function
|
769
|
+
}), Zr = vt;
|
770
|
+
function Xr(e) {
|
771
771
|
const t = pt();
|
772
772
|
return br(e, (t == null ? void 0 : t.teamId) ?? 0, (t == null ? void 0 : t.userId) ?? 0, {
|
773
773
|
enabled: t !== void 0
|
@@ -858,7 +858,7 @@ function Ir(e, t) {
|
|
858
858
|
return n(r, a);
|
859
859
|
const u = await he(e, pe, {
|
860
860
|
pathParams: { teamId: await t.getTeamId() },
|
861
|
-
headers: { "
|
861
|
+
headers: { "x-csrf-token": c }
|
862
862
|
});
|
863
863
|
return await ((d = t.onNewJwtTokenIssued) == null ? void 0 : d.call(t, u)), n(r, {
|
864
864
|
...a,
|
@@ -915,8 +915,8 @@ export {
|
|
915
915
|
I as Sidebar,
|
916
916
|
kn as TRIAL_PLAN_ID,
|
917
917
|
ea as authenticatedContributorKeys,
|
918
|
-
|
919
|
-
|
918
|
+
Zr as authenticatedUserKeys,
|
919
|
+
Hr as convertNewLineToBreakTag,
|
920
920
|
Wr as formatDate,
|
921
921
|
Gr as formatDateTz,
|
922
922
|
Vr as getPromotedClassicSessionJwtKey,
|
@@ -930,12 +930,12 @@ export {
|
|
930
930
|
Br as isProPlan,
|
931
931
|
Ur as isStartPlan,
|
932
932
|
ft as isTrialPlan,
|
933
|
-
|
933
|
+
Fr as makeUrlClickable,
|
934
934
|
Tt as retrieveContributorKeys,
|
935
935
|
ta as useAuthenticatedProjectContributor,
|
936
|
-
|
936
|
+
Xr as useAuthenticatedUser,
|
937
937
|
Kr as useEffectOnce,
|
938
|
-
|
938
|
+
Yr as useGetPromotedClassicSessionJwtQuery,
|
939
939
|
mr as useGetUserTokenQuery,
|
940
940
|
pt as useJwtTokenPayload,
|
941
941
|
wr as useRetrieveContributorQuery,
|
@@ -33,11 +33,11 @@ export declare const getUserToken: import('@lokalise/universal-ts-utils/node').P
|
|
33
33
|
teamId: number;
|
34
34
|
}>, undefined, z.ZodObject<{
|
35
35
|
Authorization: z.ZodOptional<z.ZodString>;
|
36
|
-
'
|
36
|
+
'x-csrf-token': z.ZodOptional<z.ZodString>;
|
37
37
|
}, "strip", z.ZodTypeAny, {
|
38
38
|
Authorization?: string | undefined;
|
39
|
-
'
|
39
|
+
'x-csrf-token'?: string | undefined;
|
40
40
|
}, {
|
41
41
|
Authorization?: string | undefined;
|
42
|
-
'
|
42
|
+
'x-csrf-token'?: string | undefined;
|
43
43
|
}>, false, false>;
|