1(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`d473a234-5ed2-41ec-81ea-a7906fa53ca8`,e._sentryDebugIdIdentifier=`sentry-dbid-d473a234-5ed2-41ec-81ea-a7906fa53ca8`)}catch{}})();import{G as e,H as t,K as n,M as r,S as i,Y as a,Yt as o,at as s,f as c,h as l,i as u,m as d,p as f,q as p,x as m}from"./CdYnTnNr.js";import{l as h}from"./4vY_npPg.js";import{t as g}from"./BuuqxS5P.js";import{t as _}from"./B4Vcb6cr.js";import{t as v}from"./C5uGgdSj.js";import{d as y,i as b,n as x}from"./Bpy1LfzQ.js";import{t as S}from"./DeT11tzC.js";import{t as C}from"./Bs2AdChp.js";import{t as w}from"./Cx2DE90B.js";import{t as T}from"./BL_LlF6q.js";import{t as E}from"./DIpqRYJc2.js";var D={name:`WorkspaceRoleSelector`,props:{modelValue:{type:String,required:!0},workspace:{type:Object,required:!0},roles:{type:Array,required:!0},showCommercialInfo:{type:Boolean,default:!0}},emits:[`update:modelValue`],computed:{selectedRole:{get(){return this.modelValue},set(e){this.$emit(`update:modelValue`,e)}},atLeastOneBillableRole(){return this.roles.some(e=>e.isBillable)}},methods:{deactivatedClickModal(e){return Object.values(this.$registry.getAll(`roles`)).find(t=>t.getUid()===e.uid)?.getDeactivatedClickModal()},clickOnDeactivatedItem(e){this.roles.find(t=>t.uid===e)?.isDeactivated&&this.$refs[`deactivatedClickModal-${e}`]?.[0]?.show()}}},O={key:2,class:`iconoir-lock`};function k(n,i,c,h,g,_){let v=p(`Badge`),y=p(`DropdownItem`),b=p(`Dropdown`);return t(),f(b,{modelValue:_.selectedRole,"onUpdate:modelValue":i[1]||=e=>_.selectedRole=e,"show-search":!1,"fixed-items":``},{default:s(()=>[(t(!0),l(u,null,e(c.roles,e=>(t(),f(y,{key:e.uid,ref_for:!0,ref:`role${e.uid}`,name:e.name,value:e.uid,disabled:e.isDeactivated,description:e.description,onClick:i[0]||=e=>_.clickOnDeactivatedItem(e)},{default:s(()=>[m(o(e.name)+` `,1),c.showCommercialInfo&&e.showIsBillable&&e.isBillable?(t(),f(v,{key:0,color:`cyan`,size:`small`,bold:``},{default:s(()=>[m(o(n.$t(`common.billable`)),1)]),_:1})):c.showCommercialInfo&&e.showIsBillable&&!e.isBillable&&_.atLeastOneBillableRole?(t(),f(v,{key:1,color:`yellow`,size:`small`,bold:``,class:`margin-left-1`},{default:s(()=>[m(o(n.$t(`common.free`)),1)]),_:1})):d(``,!0),e.isDeactivated?(t(),l(`i`,O)):d(``,!0),_.deactivatedClickModal(e)?(t(),f(a(_.deactivatedClickModal(e)?.[0]),r({key:3,ref_for:!0,ref:`deactivatedClickModal-${e.uid}`},{ref_for:!0},_.deactivatedClickModal(e)?.[1],{workspace:c.workspace}),null,16,[`workspace`])):d(``,!0)]),_:2},1032,[`name`,`value`,`disabled`,`description`]))),128))]),_:1},8,[`modelValue`])}var A=g(D,[[`render`,k]]),j={name:`WorkspaceInviteForm`,components:{WorkspaceRoleSelector:A},mixins:[w],props:{workspace:{type:Object,required:!0}},setup(){return{v$:v({$lazy:!0})}},data(){return{loading:!1,values:{email:``,permissions:``}}},computed:{roles(){return this.workspace._.roles.filter(e=>e.isVisible)},defaultRole(){let e=this.roles.filter(e=>!e.isDeactivated);return e.length>0?e[e.length-1]:null}},watch:{defaultRole:{handler(e){this.values.permissions=e.uid},immediate:!0}},validations(){return{values:{email:{required:x.withMessage(this.$t(`error.requiredField`),y),email:x.withMessage(this.$t(`workspaceInviteForm.errorInvalidEmail`),b)},permissions:{}}}}},M={class:`row`},N={class:`col col-7`},P={class:`col col-5`},F={class:`workspace-invite-form__role-selector`};function I(e,r,a,u,d,f){let g=p(`FormInput`),_=p(`FormGroup`),v=p(`WorkspaceRoleSelector`);return t(),l(`form`,{onSubmit:r[2]||=h((...t)=>e.submit&&e.submit(...t),[`prevent`])},[c(`h3`,null,o(e.$t(`workspaceInviteForm.invitationFormTitle`)),1),c(`div`,M,[c(`div`,N,[i(_,{"small-label":``,error:e.fieldHasErrors(`email`)},{error:s(()=>[m(o(u.v$.values.email.$errors[0]?.$message),1)]),default:s(()=>[i(g,{ref:`email`,modelValue:d.values.email,"onUpdate:modelValue":r[0]||=e=>d.values.email=e,error:e.fieldHasErrors(`email`),onBlur:u.v$.values.email.$touch},null,8,[`modelValue`,`error`,`onBlur`])]),_:1},8,[`error`])]),c(`div`,P,[i(_,{error:u.v$.values.permissions.$error},{default:s(()=>[c(`div`,F,[n(e.$slots,`roleSelectorLabel`),i(v,{modelValue:u.v$.values.permissions.$model,"onUpdate:modelValue":r[1]||=e=>u.v$.values.permissions.$model=e,class:`workspace-invite-form__role-selector-dropdown`,workspace:a.workspace,roles:f.roles},null,8,[`modelValue`,`workspace`,`roles`])])]),_:3},8,[`error`])]),n(e.$slots,`default`)])],32)}var L={name:`MembersInviteModal`,components:{WorkspaceInviteForm:g(j,[[`render`,I
1]]),CaptchaWidget:E},mixins:[_,S],props:{workspace:{type:Object,required:!0}},emits:[`invite-submitted`],data(){return{inviteLoading:!1,captchaToken:``}},methods:{show(...e){return this.hideError(),this.captchaToken=``,this.$refs.captchaWidget?.reset(),_.methods.show.call(this,...e)},async inviteSubmitted(e){this.inviteLoading=!0,this.hideError();try{let t=`${this.$config.public.baserowEmbeddedShareUrl}/workspace-invitation`,{data:n}=await T(this.$client).sendInvitation(this.workspace.id,t,{...e,captchaToken:this.captchaToken});this.$bus.$emit(`invite-submitted`,n),this.$emit(`invite-submitted`),this.hide()}catch(e){if(this.$refs.captchaWidget&&this.$refs.captchaWidget.reset(),e.handler?.isTooManyRequests()){this.showError(this.$t(`membersSettings.membersInviteModal.errors.tooManyInvitations.title`),this.$t(`membersSettings.membersInviteModal.errors.tooManyInvitations.text`)),e.handler.handled(),this.inviteLoading=!1;return}this.handleError(e,`workspace`,{ERROR_GROUP_USER_ALREADY_EXISTS:new C(this.$t(`membersSettings.membersInviteModal.errors.userAlreadyInWorkspace.title`),this.$t(`membersSettings.membersInviteModal.errors.userAlreadyInWorkspace.text`)),ERROR_CAPTCHA_VERIFICATION_FAILED:new C(this.$t(`error.captchaVerificationFailedTitle`),this.$t(`error.captchaVerificationFailedMessage`))})}this.inviteLoading=!1},onCaptchaToken(e){this.captchaToken=e}}},R={class:`box__title`},z={class:`col col-12 align-right margin-top-2`};function B(e,n,r,a,l,u){let d=p(`Error`),h=p(`CaptchaWidget`),g=p(`Button`),_=p(`HelpIcon`),v=p(`WorkspaceInviteForm`),y=p(`Modal`);return t(),f(y,{ref:`modal`},{default:s(()=>[c(`h2`,R,o(e.$t(`membersSettings.membersInviteModal.title`)),1),i(d,{error:e.error},null,8,[`error`]),i(v,{ref:`inviteForm`,workspace:r.workspace,onSubmitted:u.inviteSubmitted},{default:s(()=>[i(h,{ref:`captchaWidget`,class:`col col-12 margin-top-2`,context:`workspace_invitation`,onToken:u.onCaptchaToken},null,8,[`onToken`]),c(`div`,z,[i(g,{type:`primary`,loading:l.inviteLoading,disabled:l.inviteLoading},{default:s(()=>[m(o(e.$t(`membersSettings.membersInviteModal.submit`)),1)]),_:1},8,[`loading`,`disabled`])])]),roleSelectorLabel:s(()=>[i(_,{class:`margin-right-1`,tooltip:e.$t(`membersSettings.membersInviteModal.helpIconText`)},null,8,[`tooltip`])]),_:1},8,[`workspace`,`onSubmitted`])]),_:1},512)}var V=g(L,[[`render`,B]]);export{A as n,V as t}; 2//# sourceMappingURL=Dng-mvFd.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.