@descope/user-management-widget 0.18.0 → 0.19.0

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/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  /**
3
- * @descope/user-management-widget v0.18.0
3
+ * @descope/user-management-widget v0.19.0
4
4
  */
5
- import{__awaiter as e,__rest as t,__classPrivateFieldGet as s,__classPrivateFieldSet as i}from"tslib";import{pluralize as o,compareArrays as n,createSingletonMixin as r,compose as a,createTemplate as l,withMemCache as d,debounce as u}from"@descope/sdk-helpers";import{projectIdMixin as c,widgetIdMixin as h,observeAttributesMixin as v,loggerMixin as g,baseUrlMixin as m,cookieConfigMixin as f,createValidateAttributesMixin as p,DEFAULT_STYLE_ID as y,createStateManagementMixin as b,initLifecycleMixin as w,descopeUiMixin as R,initElementMixin as M,createFetchWidgetPagesMixin as W,widgetConfigMixin as k,modalMixin as S,formMixin as P,notificationsMixin as C,themeMixin as U,localeMixin as j,flowInputMixin as x,debuggerMixin as I,componentsConditionsMixin as O}from"@descope/sdk-mixins";import{ButtonDriver as T,MultiSelectDriver as N,MultiLineMappingsDriver as A,TextDriver as L,TextFieldDriver as E,FilterDriver as F,GridDriver as q,FlowDriver as $,GenericFlowButtonDriver as B}from"@descope/sdk-component-drivers";import{createSelector as D}from"reselect";import{createAsyncThunk as H}from"@reduxjs/toolkit";import V from"@descope/web-js-sdk";import Z from"libphonenumber-js/min";var z;!function(e){e[e.text=1]="text",e[e.numeric=2]="numeric",e[e.bool=3]="bool",e[e.singleSelect=4]="singleSelect",e[e.array=5]="array",e[e.date=6]="date"}(z||(z={}));const J=(e,t)=>Object.entries(e).reduce(((e,[s,i])=>{const[o,...n]=s.split(".");return t!==o?Object.assign(e,{[s]:i}):(e[o]||(e[o]={}),e[o][n.join(".")]=i,e)}),{}),G=(e,t)=>Object.fromEntries(Object.entries(e||{}).map((([e,s])=>[`${t}.${e}`,s]))),K=(e,t)=>e===z.date?(e=>new Date(Number(e)).toLocaleDateString("en-US"))(`${t}`):t;function Q(e){return new URLSearchParams(window.location.search).get(e)}const X={enabled:"active",disabled:"disabled",invited:"invited"},Y=e=>e.tenantRoles.data,_=e=>e.selectedUsersLoginIds,ee=e=>e.notifications,te=e=>e.customAttributes.data,se=D((e=>e.subTenantRoles.data),(e=>Object.fromEntries(e.map((({tenantId:e,tenantName:t,roleNames:s})=>[e,t?{label:t,options:s}:s]))))),ie=D(se,(e=>Object.keys(e).length>0)),oe=D(te,(e=>Object.fromEntries(e.map((e=>[e.name,e.type]))))),ne=D((e=>e.usersList.data),oe,((e,t)=>e.map((e=>Object.assign(Object.assign({},e),{customAttributes:Object.fromEntries(Object.entries(e.customAttributes||{}).map((([e,s])=>[e,K(t[e],s)])))}))))),re=e=>{const t=[e.roleNames||[],...(e.userTenants||[]).map((e=>e.roleNames||[]))].filter((e=>e.length>0));if(0===t.length)return e.roleNames||[];const s=t.map((e=>[...e].sort().join("\0")));return s.every((e=>e===s[0]))?t[0]:"Multiple roles"},ae=D(ne,(e=>e.map((e=>{var t;return Object.assign(Object.assign(Object.assign({},e),G(null==e?void 0:e.customAttributes,"customAttributes")),{createdTimeFormatted:new Date(1e3*((null==e?void 0:e.createdTime)||0)).toLocaleString(),status:X[e.status]||e.status,roles:re(e),tenants:null===(t=e.userTenants)||void 0===t?void 0:t.map((e=>e.tenantName||e.tenantId))})})))),le=D(_,ae,((e,t)=>t.filter((t=>e.includes(t.loginIds))))),de=D(le,(e=>e.map((e=>e.userId)))),ue=D(le,(e=>e.map((({userId:e,loginIds:t})=>({userId:e,loginIds:t}))))),ce=D(le,(e=>e.map((e=>({userId:e.userId,roles:e.roleNames}))))),he=D(le,(e=>e.map((e=>e.status)))),ve=D(le,(e=>e.every((e=>e.editable)))),ge=D(_,(e=>!!e.length)),me=D(_,(e=>1===e.length)),fe=D(_,(e=>{var t;return null===(t=null==e?void 0:e[0])||void 0===t?void 0:t[0]})),pe=D(me,he,((e,t)=>e&&t.every((e=>e===X.enabled)))),ye=D(he,(e=>e.every((e=>e===X.disabled)))),be=D(le,(e=>{var t;return 1===e.length?e[0].name||e[0].email||(null===(t=e[0].loginIds)||void 0===t?void 0:t[0]):`${e.length} users`})),we=D(me,ye,ve,((e,t,s)=>e&&t&&s)),Re=D(me,pe,ve,((e,t,s)=>e&&t&&s)),Me=D(me,ve,((e,t)=>e&&t)),We=D(me,ve,((e,t)=>e&&t)),ke=D(me,ve,((e,t)=>e&&t)),Se=ge,Pe=e=>(...t)=>s=>{s.addCase(e.pending,((e,s)=>{t.forEach((({onPending:t})=>{null==t||t(e,s)}))})),s.addCase(e.fulfilled,((e,s)=>{t.forEach((({onFulfilled:t})=>{null==t||t(e,s)}))})),s.addCase(e.rejected,((e,s)=>{t.forEach((({onRejected:t})=>{null==t||t(e,s)}))}))},Ce=e=>({onFulfilled:t=>{e(t).loading=!1},onPending:t=>{e(t).loading=!0,e(t).error=null},onRejected:(t,s)=>{e(t).loading=!1,e(t).error=s.error}}),Ue=({getErrorMsg:e,getSuccessMsg:t})=>({onFulfilled:(e,s)=>{t&&e.notifications.push({type:"success",msg:t(s)})},onRejected:(t,s)=>{e&&t.notifications.push({type:"error",msg:e(s)})}}),je=H("users/create",((e,{extra:{api:t}})=>t.user.create(e))),xe=Pe(je)({onFulfilled:(e,t)=>{e.usersList.data.unshift(t.payload)}},Ce((e=>e.createUser)),Ue({getSuccessMsg:()=>"User created successfully",getErrorMsg:e=>{var t;return`\n <div>\n <div>Failed to create user</div>\n ${null===(t=e.error)||void 0===t?void 0:t.message}\n </div>`}})),Ie={action:je,reducer:xe},Oe=H("users/delete",((e,{extra:{api:t}})=>t.user.deleteBatch(e))),Te=Pe(Oe)({onFulfilled:(e,t)=>{e.usersList.data=e.usersList.data.filter((e=>!t.meta.arg.includes(e.userId))),e.selectedUsersLoginIds=[]}},Ce((e=>e.deleteUser)),Ue({getSuccessMsg:e=>o(e.meta.arg.length)`${["",e.meta.arg.length]} ${["U","u"]}ser${["","s"]} deleted successfully`,getErrorMsg:e=>o(e.meta.arg.length)`Failed to delete user${["","s"]}`})),Ne={action:Oe,reducer:Te},Ae=H("users/setTempPassword",((e,{extra:{api:t}})=>t.user.setTempPassword(e))),Le=Pe(Ae)(Ce((e=>e.setTempUserPassword)),Ue({getSuccessMsg:()=>"Successfully reset user password",getErrorMsg:e=>{var t;return`\n <div>\n <div>Failed to reset user's password</div>\n ${null===(t=e.error)||void 0===t?void 0:t.message}\n </div>`}})),Ee={action:Ae,reducer:Le},Fe=H("users/getCustomAttributes",((e,{extra:{api:t}})=>t.user.getCustomAttributes())),qe=Pe(Fe)({onFulfilled:(e,t)=>{e.customAttributes.data=t.payload}},Ce((e=>e.customAttributes))),$e={action:Fe,reducer:qe},Be=H("users/search",((e,{extra:{api:t},getState:s})=>{const i=s().searchParams;return t.user.search(Object.assign(Object.assign({},i),e))})),De=Pe(Be)({onPending:(e,t)=>{e.searchParams=Object.assign(Object.assign({},e.searchParams),t.meta.arg)},onFulfilled:(e,t)=>{e.usersList.data=t.payload}},Ce((e=>e.usersList))),He={action:Be,reducer:De},Ve=H("tenant/getTenantRoles",((e,{extra:{api:t}})=>t.tenant.getTenantRoles())),Ze=Pe(Ve)({onFulfilled:(e,t)=>{e.tenantRoles.data=t.payload.roles}},Ce((e=>e.tenantRoles))),ze={action:Ve,reducer:Ze},Je=H("tenant/getSubTenantRoles",((e,{extra:{api:t}})=>t.tenant.getSubTenantRoles())),Ge=Pe(Je)({onFulfilled:(e,t)=>{e.subTenantRoles.data=t.payload.roles},onRejected:e=>{e.subTenantRoles.data=[]}},Ce((e=>e.subTenantRoles))),Ke={action:Je,reducer:Ge},Qe=H("users/update",((e,{extra:{api:t}})=>t.user.update(e))),Xe=Pe(Qe)({onFulfilled:(e,t)=>{const s=e.usersList.data.findIndex((e=>n(e.loginIds,t.payload.loginIds)));-1!==s&&(e.usersList.data[s]=t.payload)}},Ce((e=>e.updateUser)),Ue({getSuccessMsg:()=>"User updated successfully",getErrorMsg:e=>{var t;return`\n <div>\n <div>Failed to update user</div>\n ${null===(t=e.error)||void 0===t?void 0:t.message}\n </div>`}})),Ye={action:Qe,reducer:Xe},_e=H("users/enable",((e,{extra:{api:t}})=>t.user.enable(e))),et=Pe(_e)({onFulfilled:(e,t)=>{var s;const i=e.usersList.data.findIndex((e=>{var s;return n(e.loginIds,null===(s=t.payload.user)||void 0===s?void 0:s.loginIds)}));-1!==i&&(e.usersList.data[i].status=null===(s=t.payload.user)||void 0===s?void 0:s.status)}},Ce((e=>e.enableUser)),Ue({getSuccessMsg:()=>"User enabled successfully",getErrorMsg:e=>{var t;return`\n <div>\n <div>Failed to enable user</div>\n ${null===(t=e.error)||void 0===t?void 0:t.message}\n </div>`}})),tt={action:_e,reducer:et},st=H("users/disable",((e,{extra:{api:t}})=>t.user.disable(e))),it=Pe(st)({onFulfilled:(e,t)=>{var s;const i=e.usersList.data.findIndex((e=>{var s;return n(e.loginIds,null===(s=t.payload.user)||void 0===s?void 0:s.loginIds)}));-1!==i&&(e.usersList.data[i].status=null===(s=t.payload.user)||void 0===s?void 0:s.status)}},Ce((e=>e.disableUser)),Ue({getSuccessMsg:()=>"User disabled successfully",getErrorMsg:e=>{var t;return`\n <div>\n <div>Failed to disable user</div>\n ${null===(t=e.error)||void 0===t?void 0:t.message}\n </div>`}})),ot={action:st,reducer:it},nt=H("users/removePasskey",((e,{extra:{api:t}})=>t.user.removePasskey(e))),rt={action:nt,reducer:Pe(nt)(Ce((e=>e.removePasskey)),Ue({getSuccessMsg:()=>"Successfully removed user's passkey",getErrorMsg:e=>{var t;return`\n <div>\n <div>Failed to remove user's passkey</div>\n ${null===(t=e.error)||void 0===t?void 0:t.message}\n </div>`}}))},at={usersList:{data:[],loading:!1,error:null},createUser:{loading:!1,error:null},updateUser:{loading:!1,error:null},deleteUser:{loading:!1,error:null},enableUser:{loading:!1,error:null},disableUser:{loading:!1,error:null},removePasskey:{loading:!1,error:null},setTempUserPassword:{loading:!1,error:null},customAttributes:{loading:!1,error:null,data:[]},tenantRoles:{loading:!1,error:null,data:[]},subTenantRoles:{loading:!1,error:null,data:[]},searchParams:{text:"",sort:[]},selectedUsersLoginIds:[],notifications:[]},lt={search:"/v1/mgmt/user/search",deleteBatch:"/v1/mgmt/user/delete/batch",create:"/v1/mgmt/user/create",update:"/v1/mgmt/user/patch",status:"/v1/mgmt/user/update/status",setTempPassword:"/v1/mgmt/user/password/set/temporary",removePasskey:"/v1/mgmt/user/passkeys/delete",customAttributes:"/v1/mgmt/user/customattributes"},dt={roles:"/v1/mgmt/role/all",subTenantRoles:"/v1/mgmt/role/subtenant/all"},ut=t=>e(void 0,void 0,void 0,(function*(){const e=yield t.text(),s=JSON.parse(e);if(!t.ok){const e=`${s.errorDescription}${s.errorMessage?`: ${s.errorMessage}`:""}`;throw Error(e||`${t.status} ${t.statusText}`)}t.json=()=>Promise.resolve(s),t.text=()=>Promise.resolve(e)})),ct=t=>e(void 0,[t],void 0,(function*({text:e,sort:t}){return new Promise((s=>{const i=[],o=(new Date).getTime();for(let e=1;e<10;e+=1)i.push({loginIds:[`user${e}@company.com`],externalIds:[`user${e}@company.com`],userId:`user-${e}`,name:`User ${e}`,email:`user${e}@company.com`,roleNames:[`Role ${e}`],phone:`+1-202-555-010${e}`,recoveryEmail:`recovery${e}@company.com`,recoveryPhone:`+1-202-555-020${e}`,verifiedEmail:!0,verifiedPhone:!0,verifiedRecoveryEmail:!0,verifiedRecoveryPhone:!0,userTenants:[{tenantId:"sub-tenant-1",tenantName:"Hurray",roleNames:["Role 1","Role 2"]}],status:"enabled",editable:!0,createdTime:o,createdTimeFormatted:new Date(1e3*(o||0)).toLocaleString(),customAttributes:{},familyName:"",givenName:"",middleName:"",picture:"",password:!0,SAML:e%3==0,OIDC:e%3==1,SCIM:e%3==2,test:!1,TOTP:!1,webauthn:!1});t.forEach((e=>{i.sort(((t,s)=>((e,t,s)=>{if("boolean"==typeof e&&"boolean"==typeof t){const i=e?1:0,o=t?1:0;return s?i-o:o-i}const i=(null==e?void 0:e.toString())||"",o=(null==t?void 0:t.toString())||"";return s?o.localeCompare(i):i.localeCompare(o)})(t[e.field],s[e.field],e.desc)))})),s(i.filter((t=>t.name.toLowerCase().includes(e.toLowerCase())||t.phone.toLowerCase().includes(e.toLowerCase())||t.status.toLowerCase().includes(e.toLowerCase())||"active"===e.toLowerCase()||t.familyName.toLowerCase().includes(e.toLowerCase())||t.givenName.toLowerCase().includes(e.toLowerCase())||t.middleName.toLowerCase().includes(e.toLowerCase())||t.email.toLowerCase().includes(e.toLowerCase()))))}))})),ht=t=>e(void 0,[t],void 0,(function*({loginId:e,email:t,phone:s,displayName:i,roles:o,customAttributes:n,picture:r,verifiedEmail:a,verifiedPhone:l,givenName:d,middleName:u,familyName:c,userTenants:h}){return new Promise((v=>{const g=Math.random().toString(10).substring(15);v({loginIds:[e],externalIds:[e],userId:`user-${g}`,email:t,phone:s,name:i,roleNames:o,customAttributes:n,picture:r,recoveryEmail:"",recoveryPhone:"",verifiedEmail:a,verifiedPhone:l,verifiedRecoveryEmail:!1,verifiedRecoveryPhone:!1,givenName:d,middleName:u,familyName:c,createdTime:(new Date).getTime(),editable:!0,password:!0,SAML:!1,SCIM:!1,OIDC:!1,status:"enabled",test:!1,TOTP:!1,userTenants:h||[],webauthn:!1})}))})),vt=t=>e(void 0,[t],void 0,(function*({loginId:e,email:t,phone:s,displayName:i,roles:o,customAttributes:n,picture:r,verifiedEmail:a,verifiedPhone:l,givenName:d,middleName:u,familyName:c,userTenants:h}){return new Promise((v=>{v({loginIds:[e],externalIds:[e],userId:e,email:t,phone:s,name:i,roleNames:o,customAttributes:n||{},picture:r,recoveryEmail:"",recoveryPhone:"",verifiedEmail:a,verifiedPhone:l,verifiedRecoveryEmail:!1,verifiedRecoveryPhone:!1,givenName:d,middleName:u,familyName:c,createdTime:(new Date).getTime(),editable:!0,password:!0,SAML:!1,SCIM:!1,OIDC:!1,status:"enabled",test:!1,TOTP:!1,userTenants:h||[],webauthn:!1})}))})),gt=()=>e(void 0,void 0,void 0,(function*(){})),mt=()=>e(void 0,void 0,void 0,(function*(){return new Promise((e=>{e({cleartext:Math.random().toString(20).substring(2)})}))})),ft=()=>e(void 0,void 0,void 0,(function*(){})),pt=t=>e(void 0,void 0,void 0,(function*(){return new Promise((e=>{e({user:{loginIds:[t],status:"enabled"}})}))})),yt=t=>e(void 0,void 0,void 0,(function*(){return new Promise((e=>{e({user:{loginIds:[t],status:"disabled"}})}))})),bt=()=>e(void 0,void 0,void 0,(function*(){return new Promise((e=>{e([])}))})),wt=e=>new Promise((t=>{const s=[];for(let t=1;t<5;t+=1)s.push({name:`Role ${t}`,description:`Role description ${t}`,createdTime:new Date,permissionNames:[`Permission ${t}`],tenantId:e});t({roles:s})})),Rt=()=>new Promise((e=>{e({roles:[{tenantId:"sub-tenant-1",tenantName:"Sub Tenant 1",roleNames:["Role 1","Role 2"]},{tenantId:"sub-tenant-2",tenantName:"Sub Tenant 2",roleNames:["Role 1","Role 3"]},{tenantId:"sub-tenant-3",tenantName:"Sub Tenant 3",roleNames:["Role 2"]}]})})),Mt=({httpClient:s,tenant:i,mock:o})=>({search:(...n)=>e(void 0,[...n],void 0,(function*(e={}){const{limit:n=1e4}=e,r=t(e,["limit"]);if(o)return ct(Object.assign(Object.assign({},r),{limit:n}));const a=yield s.post(lt.search,Object.assign(Object.assign({},r),{limit:n,withTestUser:!1}),{queryParams:{tenant:i}});yield ut(a);return(yield a.json()).users})),deleteBatch:t=>e(void 0,void 0,void 0,(function*(){if(o)return gt();const e=yield s.post(lt.deleteBatch,{userIds:t},{queryParams:{tenant:i}});return yield ut(e),e.json()})),create:t=>e(void 0,[t],void 0,(function*({loginId:e,email:t,phone:n,recoveryEmail:r,recoveryPhone:a,displayName:l,roles:d,customAttributes:u,picture:c,verifiedEmail:h,verifiedPhone:v,givenName:g,middleName:m,familyName:f,additionalLoginIds:p,sendSMS:y,sendMail:b,inviteUrl:w,invite:R,userTenants:M}){if(o)return ht({loginId:e,email:t,phone:n,recoveryEmail:r,recoveryPhone:a,displayName:l,roles:d,customAttributes:u,picture:c,verifiedEmail:h,verifiedPhone:v,givenName:g,middleName:m,familyName:f,additionalLoginIds:p,sendSMS:y,sendMail:b,inviteUrl:w,invite:R,userTenants:M});const W=yield s.post(lt.create,{loginId:e,email:t,phone:n,recoveryEmail:r,recoveryPhone:a,displayName:l,givenName:g,middleName:m,familyName:f,roleNames:d,userTenants:M,customAttributes:u,picture:c,verifiedEmail:h,verifiedPhone:v,verifiedRecoveryEmail:!!r||void 0,verifiedRecoveryPhone:!!a||void 0,additionalLoginIds:p,sendSMS:y,sendMail:b,inviteUrl:w,invite:R},{queryParams:{tenant:i}});yield ut(W);return(yield W.json()).user})),update:t=>e(void 0,[t],void 0,(function*({loginId:e,email:t,phone:n,recoveryEmail:r,recoveryPhone:a,displayName:l,roles:d,customAttributes:u,picture:c,verifiedEmail:h,verifiedPhone:v,givenName:g,middleName:m,familyName:f,additionalLoginIds:p,userTenants:y}){if(o)return vt({loginId:e,email:t,phone:n,recoveryEmail:r,recoveryPhone:a,displayName:l,roles:d,customAttributes:u,picture:c,verifiedEmail:h,verifiedPhone:v,givenName:g,middleName:m,familyName:f,additionalLoginIds:p,userTenants:y});const b=yield s.patch(lt.update,{loginId:e,email:t,phone:n,recoveryEmail:r,recoveryPhone:a,displayName:l,givenName:g,middleName:m,familyName:f,roleNames:d,userTenants:y,customAttributes:u,picture:c,verifiedEmail:h,verifiedPhone:v,verifiedRecoveryEmail:!!r||void 0,verifiedRecoveryPhone:!!a||void 0,additionalLoginIds:p},{queryParams:{tenant:i}});yield ut(b);return(yield b.json()).user})),enable:t=>e(void 0,void 0,void 0,(function*(){if(o)return pt(t);const e=yield s.post(lt.status,{loginId:t,status:"enabled"},{queryParams:{tenant:i}});return yield ut(e),e.json()})),disable:t=>e(void 0,void 0,void 0,(function*(){if(o)return yt(t);const e=yield s.post(lt.status,{loginId:t,status:"disabled"},{queryParams:{tenant:i}});return yield ut(e),e.json()})),removePasskey:t=>e(void 0,void 0,void 0,(function*(){if(o)return ft();const e=yield s.post(lt.removePasskey,{loginId:t},{queryParams:{tenant:i}});return yield ut(e),e.json()})),setTempPassword:t=>e(void 0,void 0,void 0,(function*(){if(o)return mt();const e=yield s.post(lt.setTempPassword,{loginId:t},{queryParams:{tenant:i}});return yield ut(e),e.json()})),getCustomAttributes:()=>e(void 0,void 0,void 0,(function*(){if(o)return bt();const e=yield s.get(lt.customAttributes,{queryParams:{tenant:i}});yield ut(e);return(yield e.json()).data}))}),Wt=({httpClient:t,tenant:s,mock:i})=>({getTenantRoles:()=>e(void 0,void 0,void 0,(function*(){if(i)return wt(s);const e=yield t.get(dt.roles,{queryParams:{tenant:s}});return yield ut(e),e.json()})),getSubTenantRoles:()=>e(void 0,void 0,void 0,(function*(){if(i)return Rt();const e=yield t.get(dt.subTenantRoles,{queryParams:{tenant:s}});return yield ut(e),e.json()}))}),kt=r((t=>{var o,n,r,l;const d=a(c,h,v,g,m,f,p({tenant:p.missingAttrValidator}))(t);return l=class extends d{constructor(){super(...arguments),o.add(this),n.set(this,void 0)}get tenantId(){return this.getAttribute("tenant")}get mock(){return this.getAttribute("mock")}get styleId(){return this.getAttribute("style-id")||y}get api(){return s(this,n,"f")||s(this,o,"m",r).call(this),s(this,n,"f")}init(){const t=Object.create(null,{init:{get:()=>super.init}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this),this.observeAttributes(["project-id","base-url","tenant"],(()=>{s(this,n,"f")&&s(this,o,"m",r).call(this)}))}))}},n=new WeakMap,o=new WeakSet,r=function(){this.logger.debug("creating an sdk instance"),i(this,n,((e,t,s,i)=>{const o=V(Object.assign(Object.assign({},e),{persistTokens:!0,baseHeaders:{"x-descope-widget-type":"user-management-widget","x-descope-widget-id":i,"x-descope-widget-version":"0.18.0"}}));return{user:Mt({httpClient:o.httpClient,tenant:t,mock:s}),tenant:Wt({httpClient:o.httpClient,tenant:t,mock:s}),httpClient:o.httpClient}})({projectId:this.projectId,baseUrl:this.baseUrl,refreshCookieName:this.refreshCookieName},this.tenantId,"true"===this.mock,this.widgetId),"f")},l})),St=r((e=>{const t=a(b({name:"widget",initialState:at,reducers:{setSelectedUsersIds:(e,{payload:t})=>{e.selectedUsersLoginIds=t},clearNotifications:e=>{e.notifications=[]}},extraReducers:e=>{Ie.reducer(e),Ye.reducer(e),tt.reducer(e),ot.reducer(e),Ne.reducer(e),He.reducer(e),Ee.reducer(e),rt.reducer(e),$e.reducer(e),ze.reducer(e),Ke.reducer(e)},asyncActions:{searchUsers:He.action,createUser:Ie.action,updateUser:Ye.action,enableUser:tt.action,disableUser:ot.action,deleteUsers:Ne.action,removePasskey:rt.action,getCustomAttributes:$e.action,getTenantRoles:ze.action,getSubTenantRoles:Ke.action,setTempUserPassword:Ee.action}}),w,g,kt)(e);return class extends t{constructor(...e){super(...e),this.state=at,this.subscribe((e=>{this.logger.debug("State update:",e),this.state=e}))}}})),Pt=r((t=>{var i,o,n;return n=class extends(a(g,w,R,M,W("user-management-widget"),St,k)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){return e(this,void 0,void 0,(function*(){}))}init(){const t=Object.create(null,{init:{get:()=>super.init}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this),this.injectStyle(".hidden { display: none; }");const n=this.getWidgetConfig().then((e=>(null==e?void 0:e.allowSubTenants)?this.actions.getSubTenantRoles():void 0));yield Promise.all([s(this,i,"m",o).call(this),this.actions.searchUsers(),this.actions.getTenantRoles(),this.actions.getCustomAttributes(),n]),yield this.onWidgetRootReady(),this.dispatchEvent(new CustomEvent("ready"))}))}},i=new WeakSet,o=function(){return e(this,void 0,void 0,(function*(){const e=l(yield this.fetchWidgetPage("root.html"));yield this.loadDescopeUiComponents(e),this.contentRootElement.append(e.content.cloneNode(!0))}))},n})),Ct=r((t=>{var o,n,r,d,u,c,h,v,m;return m=class extends(a(St,S,P,g,k,Pt)(t)){constructor(){super(...arguments),o.add(this),n.set(this,void 0),r.set(this,void 0),d.set(this,void 0),h.set(this,(()=>e(this,void 0,void 0,(function*(){yield s(this,n,"f").setData(Y(this.state).map((({name:e})=>({value:e,label:e}))))})))),v.set(this,(()=>{var e;const t=ie(this.state);null===(e=s(this,r,"f"))||void 0===e||e.classList.toggle("hidden",!t),t&&s(this,d,"f").setData(se(this.state))}))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),s(this,o,"m",u).call(this)}))}},n=new WeakMap,r=new WeakMap,d=new WeakMap,h=new WeakMap,v=new WeakMap,o=new WeakSet,u=function(){return e(this,void 0,void 0,(function*(){var t;this.createUserModal=this.createModal(),this.createUserModal.setContent(l(yield this.fetchWidgetPage("create-user-modal.html")));const a=new T((()=>{var e;return null===(e=this.createUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger}),u=()=>{this.resetFormData(this.createUserModal.ele),s(this,d,"f").value=[]};a.onClick((()=>{this.createUserModal.close(),u()}));const g=new T((()=>{var e;return null===(e=this.createUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger});g.onClick((()=>e(this,void 0,void 0,(function*(){if(this.validateForm(this.createUserModal.ele)){const e=this.getFormData(this.createUserModal.ele),t=s(this,d,"f").mergedValue;this.actions.createUser(Object.assign(Object.assign({},J(e,"customAttributes")),{userTenants:t,invite:!0,verifiedEmail:!0,verifiedPhone:!0})),this.createUserModal.close(),u()}})))),i(this,n,new N((()=>{var e;return null===(e=this.createUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="roles-multiselect"]')}),{logger:this.logger}),"f"),i(this,r,null===(t=this.createUserModal.ele)||void 0===t?void 0:t.querySelector('[data-id="sub-tenant-section"]'),"f"),i(this,d,new A((()=>{var e;return null===(e=this.createUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="sub-tenant-mappings"]')}),{logger:this.logger}),"f"),s(this,h,"f").call(this),this.createUserModal.beforeOpen=()=>e(this,void 0,void 0,(function*(){const e=this.getWidgetConfig().then((e=>(null==e?void 0:e.allowSubTenants)?this.actions.getSubTenantRoles():void 0));yield Promise.all([this.actions.getTenantRoles(),e]),yield s(this,h,"f").call(this),s(this,v,"f").call(this),s(this,o,"m",c).call(this)}))}))},c=function(){const e=te(this.state);this.getFormFieldNames(this.createUserModal.ele).forEach((t=>{const[s,i]=t.split(".");if("customAttributes"!==s)return;const o=e.find((e=>e.name===i));o?o.editable||this.disableFormField(this.createUserModal.ele,t):this.removeFormField(this.createUserModal.ele,t)}))},m})),Ut=r((t=>{var i,o,n;return n=class extends(a(g,Ct,Pt)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),s(this,i,"m",o).call(this)}))}},i=new WeakSet,o=function(){var e;this.createButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="create-user"]'),{logger:this.logger}),this.createButton.onClick((()=>this.createUserModal.open()))},n})),jt=r((t=>{var i,o,n;return n=class extends(a(St,S,g,Pt)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,i,"m",o).call(this)}))}},i=new WeakSet,o=function(){return e(this,void 0,void 0,(function*(){var e;this.deleteUsersModal=this.createModal(),this.deleteUsersModal.setContent(l(yield this.fetchWidgetPage("delete-users-modal.html")));const t=new T((()=>{var e;return null===(e=this.deleteUsersModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger});t.onClick((()=>this.deleteUsersModal.close()));const s=new T((()=>{var e;return null===(e=this.deleteUsersModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger});s.onClick((()=>{const e=de(this.state);this.actions.deleteUsers(e),this.deleteUsersModal.close()}));const i=new L(null===(e=this.deleteUsersModal.ele)||void 0===e?void 0:e.querySelector('[data-id="body-text"]'),{logger:this.logger});this.deleteUsersModal.beforeOpen=()=>{const e=be(this.state);i.text=`Delete ${e}?`}}))},n})),xt=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St,jt)(t)){constructor(){super(...arguments),i.add(this),n.set(this,d((e=>{e?this.deleteButton.enable():this.deleteButton.disable()})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;s(this,i,"m",o).call(this),yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),this.subscribe(s(this,n,"f").bind(this),Se)}))}},n=new WeakMap,i=new WeakSet,o=function(){var e;this.deleteButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="delete-users"]'),{logger:this.logger}),this.deleteButton.disable(),this.deleteButton.onClick((()=>{this.deleteUsersModal.open()}))},r})),It=r((t=>{var i,o,n,r,d;return d=class extends(a(St,S,g,P,Pt)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,i,"m",r).call(this)}))}},i=new WeakSet,o=function(){new T((()=>{var e;return null===(e=this.disableUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger}).onClick((()=>this.disableUserModal.close()))},n=function(){new T((()=>{var e;return null===(e=this.disableUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger}).onClick((()=>{const e=fe(this.state);this.actions.disableUser(e),this.disableUserModal.close()}))},r=function(){return e(this,void 0,void 0,(function*(){var t;this.disableUserModal=this.createModal(),this.disableUserModal.setContent(l(yield this.fetchWidgetPage("disable-user-modal.html"))),s(this,i,"m",o).call(this),s(this,i,"m",n).call(this);const r=new L(null===(t=this.disableUserModal.ele)||void 0===t?void 0:t.querySelector('[data-id="body-text"]'),{logger:this.logger});this.disableUserModal.beforeOpen=()=>e(this,void 0,void 0,(function*(){const e=be(this.state);r.text=`Disable ${e}?`}))}))},d})),Ot=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St,It,P)(t)){constructor(){super(...arguments),i.add(this),n.set(this,d((e=>{e?this.disableButton.enable():this.disableButton.disable()})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;s(this,i,"m",o).call(this),yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),this.subscribe(s(this,n,"f").bind(this),Re)}))}},n=new WeakMap,i=new WeakSet,o=function(){var e;this.disableButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="disable-user"]'),{logger:this.logger}),this.disableButton.disable(),this.disableButton.onClick((()=>{this.disableUserModal.open()}))},r})),Tt=e=>{if(!e)return e;const t=e.startsWith("+")?e:`+${e}`,s=Z(t);if(!s)return e;const i=new RegExp(`(\\+?${null==s?void 0:s.countryCallingCode})(.*)`);return(null==s?void 0:s.number.replace(i,"$1-$2"))||e},Nt=r((o=>{var n,r,d,u,c,h,v,m,f,p,y,b,w;return w=class extends(a(St,S,g,P,k,Pt)(o)){constructor(){super(...arguments),n.add(this),r.set(this,void 0),d.set(this,void 0),u.set(this,void 0),c.set(this,void 0),m.set(this,(()=>e(this,void 0,void 0,(function*(){yield s(this,d,"f").setData(Y(this.state).map((({name:e})=>({value:e,label:e}))))})))),f.set(this,(()=>{var e;const t=ie(this.state);null===(e=s(this,u,"f"))||void 0===e||e.classList.toggle("hidden",!t),t&&s(this,c,"f").setData(se(this.state))})),y.set(this,(()=>{var e,t;const i=null===(e=le(this.state))||void 0===e?void 0:e[0],o=Object.assign({loginId:null===(t=null==i?void 0:i.loginIds)||void 0===t?void 0:t.join(", "),displayName:null==i?void 0:i.name,email:null==i?void 0:i.email,phone:Tt(null==i?void 0:i.phone),recoveryEmail:null==i?void 0:i.recoveryEmail,recoveryPhone:Tt(null==i?void 0:i.recoveryPhone),roles:null==i?void 0:i.roleNames,givenName:null==i?void 0:i.givenName,familyName:null==i?void 0:i.familyName,middleName:null==i?void 0:i.middleName},G(i.customAttributes,"customAttributes"));this.setFormData(this.editUserModal.ele,o),s(this,c,"f").value=(null==i?void 0:i.userTenants)||[]}))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,n,"m",b).call(this)}))}},r=new WeakMap,d=new WeakMap,u=new WeakMap,c=new WeakMap,m=new WeakMap,f=new WeakMap,y=new WeakMap,n=new WeakSet,h=function(){new T((()=>{var e;return null===(e=this.editUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger}).onClick((()=>this.editUserModal.close()))},v=function(){new T((()=>{var e;return null===(e=this.editUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger}).onClick((()=>{if(this.validateForm(this.editUserModal.ele)){const e=this.getFormData(this.editUserModal.ele),{loginId:i}=e,o=t(e,["loginId"]),n=s(this,u,"f")&&!s(this,u,"f").classList.contains("hidden")?s(this,c,"f").mergedValue:void 0;this.actions.updateUser(Object.assign(Object.assign({loginId:i.split(", ")[0]},J(o,"customAttributes")),void 0!==n&&{userTenants:n})),this.editUserModal.close(),this.resetFormData(this.editUserModal.ele)}}))},p=function(){const e=te(this.state);this.getFormFieldNames(this.editUserModal.ele).forEach((t=>{const[s,i]=t.split(".");if("customAttributes"!==s)return;const o=e.find((e=>e.name===i));o?o.editable||this.disableFormField(this.editUserModal.ele,t):this.removeFormField(this.editUserModal.ele,t)}))},b=function(){return e(this,void 0,void 0,(function*(){var t,o;this.editUserModal=this.createModal(),this.editUserModal.setContent(l(yield this.fetchWidgetPage("edit-user-modal.html"))),s(this,n,"m",h).call(this),s(this,n,"m",v).call(this),i(this,r,new E(null===(t=this.editUserModal.ele)||void 0===t?void 0:t.querySelector('[name="loginId"]'),{logger:this.logger}),"f"),i(this,d,new N((()=>{var e;return null===(e=this.editUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="roles-multiselect"]')}),{logger:this.logger}),"f"),i(this,u,null===(o=this.editUserModal.ele)||void 0===o?void 0:o.querySelector('[data-id="sub-tenant-section"]'),"f"),i(this,c,new A((()=>{var e;return null===(e=this.editUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="sub-tenant-mappings"]')}),{logger:this.logger}),"f"),this.editUserModal.beforeOpen=()=>e(this,void 0,void 0,(function*(){const e=this.getWidgetConfig().then((e=>(null==e?void 0:e.allowSubTenants)?this.actions.getSubTenantRoles():void 0));yield Promise.all([this.actions.getTenantRoles(),e]),yield s(this,m,"f").call(this),s(this,r,"f").disable(),s(this,f,"f").call(this),s(this,y,"f").call(this),s(this,n,"m",p).call(this)}))}))},w})),At=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St,Nt,P)(t)){constructor(){super(...arguments),i.add(this),n.set(this,d((e=>{e?this.editButton.enable():this.editButton.disable()})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;s(this,i,"m",o).call(this),yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),this.subscribe(s(this,n,"f").bind(this),Me)}))}},n=new WeakMap,i=new WeakSet,o=function(){var e;this.editButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="edit-user"]'),{logger:this.logger}),this.editButton.disable(),this.editButton.onClick((()=>{this.editUserModal.open()}))},r})),Lt=r((t=>{var i,o,n,r,d;return d=class extends(a(St,S,g,P,Pt)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,i,"m",r).call(this)}))}},i=new WeakSet,o=function(){new T((()=>{var e;return null===(e=this.enableUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger}).onClick((()=>this.enableUserModal.close()))},n=function(){new T((()=>{var e;return null===(e=this.enableUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger}).onClick((()=>{const e=fe(this.state);this.actions.enableUser(e),this.enableUserModal.close()}))},r=function(){return e(this,void 0,void 0,(function*(){var t;this.enableUserModal=this.createModal(),this.enableUserModal.setContent(l(yield this.fetchWidgetPage("enable-user-modal.html"))),s(this,i,"m",o).call(this),s(this,i,"m",n).call(this);const r=new L(null===(t=this.enableUserModal.ele)||void 0===t?void 0:t.querySelector('[data-id="body-text"]'),{logger:this.logger});this.enableUserModal.beforeOpen=()=>e(this,void 0,void 0,(function*(){const e=be(this.state);r.text=`Activate ${e}?`}))}))},d})),Et=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St,Lt,P)(t)){constructor(){super(...arguments),i.add(this),n.set(this,d((e=>{e?this.enableButton.enable():this.enableButton.disable()})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;s(this,i,"m",o).call(this),yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),this.subscribe(s(this,n,"f").bind(this),we)}))}},n=new WeakMap,i=new WeakSet,o=function(){var e;this.enableButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="enable-user"]'),{logger:this.logger}),this.enableButton.disable(),this.enableButton.onClick((()=>{this.enableUserModal.open()}))},r})),Ft=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St)(t)){constructor(){super(...arguments),i.add(this),o.set(this,u((()=>{this.actions.searchUsers({text:this.searchInput.value})})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),s(this,i,"m",n).call(this)}))}},o=new WeakMap,i=new WeakSet,n=function(){var e;this.searchInput=new E(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="search-input"]'),{logger:this.logger}),this.searchInput.onInput(s(this,o,"f"))},r})),qt=new Set(["contains","not-contains","starts-with","ends-with","not-equal"]),$t=e=>{const t=Array.isArray(e)?e[0]:e;return null==t||""===t?null:String(t)},Bt=e=>Array.isArray(e)?e:null==e||""===e?[]:[String(e)],Dt=(e,t)=>({[e]:t}),Ht=(e,t)=>({customAttributes:{[e]:t}}),Vt=(e,t)=>{var s,i;const o=$t(t.value);if(null===o)return{};return((e,t,s)=>({searchFields:[Object.assign({field:e,valStr:t},s?{negative:!0}:{})]}))(e,`${null!==(s=t.prefix)&&void 0!==s?s:""}${o}${null!==(i=t.suffix)&&void 0!==i?i:""}`,t.operator.startsWith("not-"))},Zt=(e,t)=>((e,t)=>"equal"===t.operator&&null!=e.exactField)(e,t)?((e,t)=>{const s=Bt(t.value);return s.length?Dt(e,s):{}})(e.exactField,t):((e,t)=>qt.has(t.operator)&&null!=e.likeField)(e,t)?Vt(e.likeField,t):null,zt=(e,t,s)=>{if((e=>"is-empty"===e.operator)(t))return Ht(e.name,null);if(!(e=>"equal"===e.operator||"is-any-of"===e.operator)(t))return{};const i=((e,t)=>{if(Array.isArray(e))return e.length?e:void 0;if(null!=e&&""!==e){if("boolean"===t)return"true"===e||"false"!==e&&void 0;if("number"===t){const t=Number(e);return Number.isFinite(t)?t:void 0}return e}})(t.value,s);return void 0===i?{}:Ht(e.name,i)},Jt=(e,t)=>{const{mapping:s}=e;if(!s)return null;switch(s.kind){case"array":return((e,t)=>{if("is-any-of"!==t.operator)return null;const s=Bt(t.value);if(!s.length)return{};const i=e.valueMap?s.map((t=>{var s;return null!==(s=e.valueMap[t])&&void 0!==s?s:t})):s;return Dt(e.field,i)})(s,t);case"boolean":return((e,t)=>{if("equal"!==t.operator)return null;const s=$t(t.value);return"true"===s?Dt(e.field,!0):"false"===s?Dt(e.field,!1):{}})(s,t);case"text":return Zt(s,t);case"customAttribute":return zt(s,t,e.inputType);default:return null}},Gt=(e,s)=>{const{searchFields:i,customAttributes:o}=s,n=t(s,["searchFields","customAttributes"]),r=i?(a=e.searchFields,l=i,[...null!=a?a:[],...l]):e.searchFields;var a,l;const d=o?((e,t)=>Object.assign(Object.assign({},null!=e?e:{}),t))(e.customAttributes,o):e.customAttributes,u=Object.assign({},e);return Object.entries(n).forEach((([e,t])=>{var s,i;u[e]=(s=u[e],i=t,Array.isArray(s)&&Array.isArray(i)?[...s,...i.filter((e=>!s.includes(e)))]:i)})),Object.assign(Object.assign({},u),{searchFields:r,customAttributes:d})},Kt=(e,t=[])=>{const s={};(e=>{const t=new Set(["searchFields","customAttributes"]);return e.forEach((e=>{const s=null==e?void 0:e.mapping;s&&("array"===s.kind||"boolean"===s.kind?t.add(s.field):"text"===s.kind&&s.exactField&&t.add(s.exactField))})),t})(t).forEach((e=>{s[e]=void 0}));const i=new Map(t.filter((e=>Boolean(e))).map((e=>[e.id,e])));return e.reduce(((e,t)=>{const s=((e,t)=>{if(e.column&&e.operator)return t.get(e.column)})(t,i);if(!s)return e;const o=Jt(s,t);return o?Gt(e,o):e}),s)},Qt="customAttributes.",Xt="roles",Yt=e=>{if("string"==typeof e)return{value:e,label:e};const{value:t,label:s}=e;return{value:t,label:s||t}},_t=(e,t)=>{const s=e.id.slice(17),i=null==t?void 0:t.find((e=>e.name===s));if(!i)return e;const o=e.label||i.displayName||s,n=(e=>Array.isArray(e.options)&&e.options.length?e.options.map(Yt):void 0)(i),r=Object.assign(Object.assign({},e),{label:o});return n&&(r.options=n),r},es=(e,t,s)=>{var i;const o=((e,t)=>{if(!(null==t?void 0:t.length))return e.filter((e=>(null==e?void 0:e.id)!==Xt));const s=t.map((e=>({value:e.name,label:e.name})));return e.map((e=>(null==e?void 0:e.id)===Xt?Object.assign(Object.assign({},e),{options:s}):e))})(null!==(i=null==e?void 0:e.slice())&&void 0!==i?i:[],t);return((e,t)=>e.filter((e=>{var s;if(!(null===(s=null==e?void 0:e.id)||void 0===s?void 0:s.startsWith(Qt))||!(null==t?void 0:t.length))return!0;const i=e.id.slice(17);return t.some((e=>e.name===i))})).map((e=>{var s;return(null===(s=null==e?void 0:e.id)||void 0===s?void 0:s.startsWith(Qt))?_t(e,t):e})))(o,s)},ts=r((t=>{var o,n,r,l,u,c,h,v;return v=class extends(a(g,Pt,St)(t)){constructor(){super(...arguments),o.set(this,null),n.set(this,(()=>s(this,o,"f")?[...s(this,o,"f")]:this.filter.data)),r.set(this,(e=>{const t=Array.isArray(null==e?void 0:e.value)?e.value:[];this.actions.searchUsers(Object.assign(Object.assign({},Kt(t,s(this,n,"f").call(this))),{page:0}))})),l.set(this,(()=>{this.actions.searchUsers(Object.assign(Object.assign({},Kt([],s(this,n,"f").call(this))),{page:0}))})),u.set(this,d(((e,t,s)=>{this.filter.data=es(e,t,s)}))),c.set(this,(()=>{var e;(null===(e=this.filter)||void 0===e?void 0:e.isExists)&&s(this,u,"f").call(this,s(this,o,"f"),Y(this.state),te(this.state))})),h.set(this,(()=>{i(this,o,Object.freeze(this.filter.data.slice()),"f"),s(this,c,"f").call(this)}))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e,i;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this);const o=null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelector("descope-filter");this.filter=new F(o,{logger:this.logger}),this.filter.isExists&&(this.filter.onDataChange(s(this,h,"f")),s(this,h,"f").call(this),this.subscribe(s(this,c,"f"),Y),this.subscribe(s(this,c,"f"),te),this.filter.onApply(s(this,r,"f")),this.filter.onClear(s(this,l,"f")))}))}},o=new WeakMap,n=new WeakMap,r=new WeakMap,l=new WeakMap,u=new WeakMap,c=new WeakMap,h=new WeakMap,v}));const ss={success:(new DOMParser).parseFromString('<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">\n<g id="Checkmark">\n<path id="Shape" d="M10.0485 15.6396C9.5799 15.171 8.8201 15.171 8.35147 15.6396C7.88284 16.1082 7.88284 16.868 8.35147 17.3367L12.7072 21.6924C13.1759 22.1611 13.9357 22.1611 14.4043 21.6924L24.7152 11.3815C25.1838 10.9129 25.1838 10.1531 24.7152 9.68448C24.2466 9.21585 23.4868 9.21585 23.0181 9.68448L13.5558 19.1469L10.0485 15.6396Z" fill="currentcolor"/>\n</g>\n</svg>\n',"image/svg+xml").firstChild,error:(new DOMParser).parseFromString('<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">\n<g id="Icon">\n<path id="Vector" d="M15.9998 26.6558C10.1118 26.6558 5.34375 21.8878 5.34375 15.9998C5.34375 10.1118 10.1118 5.34375 15.9998 5.34375C21.8878 5.34375 26.6558 10.1118 26.6558 15.9998C26.6558 21.8878 21.8878 26.6558 15.9998 26.6558ZM15.9998 24.4798C20.6718 24.4798 24.4798 20.7038 24.4798 15.9998C24.4798 11.3278 20.7038 7.51975 15.9998 7.51975C11.3278 7.51975 7.51975 11.2958 7.51975 15.9998C7.51975 20.6718 11.2958 24.4798 15.9998 24.4798ZM15.3278 9.34375H16.6718C17.0558 9.34375 17.3438 9.63175 17.3118 9.98375L16.9598 16.9278C16.9598 17.1838 16.7678 17.3438 16.5438 17.3438H15.4558C15.2318 17.3438 15.0398 17.1518 15.0398 16.9278L14.6878 9.98375C14.6878 9.63175 14.9758 9.34375 15.3278 9.34375ZM15.4558 19.4558H16.5438C16.9278 19.4558 17.2158 19.7438 17.1838 20.1278V21.1838C17.1838 21.5678 16.8958 21.8558 16.5438 21.8558H15.4558C15.0718 21.8558 14.7838 21.5678 14.7838 21.1838V20.1278C14.7838 19.7438 15.0718 19.4558 15.4558 19.4558Z" fill="currentcolor"/>\n</g>\n</svg>\n',"image/svg+xml").firstChild},is=r((t=>{var i,o,n,r,l;return l=class extends(a(g,St,C,w)(t)){constructor(){super(...arguments),i.add(this),r.set(this,d((e=>{e.length&&(e.forEach((({type:e,msg:t})=>{const r=s(this,i,"m",n).call(this,e);r.setContent(s(this,i,"m",o).call(this,{type:e,msg:t})),r.show()})),setTimeout((()=>this.actions.clearNotifications())))})))}init(){const t=Object.create(null,{init:{get:()=>super.init}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this),this.subscribe(s(this,r,"f").bind(this),ee)}))}},r=new WeakMap,i=new WeakSet,o=function({type:e,msg:t}){const s=ss[e],i=Object.assign((new DOMParser).parseFromString('<svg width="2em" height="2em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<g id="Icon">\n<path id="Shape" d="M10.6712 12L7.27521 8.60406C6.90826 8.23711 6.90826 7.64216 7.27521 7.27521C7.64216 6.90826 8.23711 6.90826 8.60406 7.27521L12 10.6712L15.3959 7.27521C15.7629 6.90826 16.3578 6.90826 16.7248 7.27521C17.0917 7.64216 17.0917 8.23711 16.7248 8.60406L13.3288 12L16.7248 15.3959C17.0917 15.7629 17.0917 16.3578 16.7248 16.7248C16.3578 17.0917 15.7629 17.0917 15.3959 16.7248L12 13.3288L8.60406 16.7248C8.23711 17.0917 7.64216 17.0917 7.27521 16.7248C6.90826 16.3578 6.90826 15.7629 7.27521 15.3959L10.6712 12Z" fill="currentcolor"/>\n</g>\n</svg>\n',"image/svg+xml").firstChild,{slot:"close"});return`${(null==s?void 0:s.outerHTML)||""}${t}${i.outerHTML}`},n=function(e){return this.createNotification({mode:e,duration:"error"===e?0:3e3,position:"bottom-start",size:"sm"})},l})),os=r((t=>{var i,o,n,r,d;return d=class extends(a(St,S,g,P,Pt)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,i,"m",r).call(this)}))}},i=new WeakSet,o=function(){new T((()=>{var e;return null===(e=this.removePasskeyModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger}).onClick((()=>this.removePasskeyModal.close()))},n=function(){new T((()=>{var e;return null===(e=this.removePasskeyModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger}).onClick((()=>{const e=fe(this.state);this.actions.removePasskey(e),this.removePasskeyModal.close()}))},r=function(){return e(this,void 0,void 0,(function*(){var t;this.removePasskeyModal=this.createModal(),this.removePasskeyModal.setContent(l(yield this.fetchWidgetPage("remove-passkey-modal.html"))),s(this,i,"m",o).call(this),s(this,i,"m",n).call(this);const r=new L(null===(t=this.removePasskeyModal.ele)||void 0===t?void 0:t.querySelector('[data-id="body-text"]'),{logger:this.logger});this.removePasskeyModal.beforeOpen=()=>e(this,void 0,void 0,(function*(){const e=be(this.state);r.text=`Remove passkey for ${e}?`}))}))},d})),ns=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St,os,P)(t)){constructor(){super(...arguments),i.add(this),n.set(this,d((e=>{e?this.removePasskeyButton.enable():this.removePasskeyButton.disable()})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;s(this,i,"m",o).call(this),yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),this.subscribe(s(this,n,"f").bind(this),We)}))}},n=new WeakMap,i=new WeakSet,o=function(){var e;this.removePasskeyButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="remove-passkey"]'),{logger:this.logger}),this.removePasskeyButton.disable(),this.removePasskeyButton.onClick((()=>{this.removePasskeyModal.open()}))},r})),rs=r((t=>{var i,o,n,r,l,c,h,v;return v=class extends(a(St,g,Pt)(t)){constructor(){super(...arguments),i.add(this),r.set(this,d((e=>{this.usersTable.data=e}))),l.set(this,u(((e,t)=>{const s=[],{value:i}=t;if(i){const t=e.path;s.push({field:t,desc:"desc"===i})}this.actions.searchUsers({sort:s})}))),c.set(this,d((e=>{this.usersTable.filterColumns((t=>{var s;const[i,o]=(null===(s=t.path)||void 0===s?void 0:s.split("."))||[];return"customAttributes"!==i||!!(null==e?void 0:e.find((e=>e.name===o)))}))})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),s(this,i,"m",n).call(this),s(this,r,"f").call(this,ae(this.state)),s(this,c,"f").call(this,te(this.state)),this.subscribe(s(this,c,"f").bind(this),te),this.subscribe(s(this,r,"f").bind(this),ae)}))}},r=new WeakMap,l=new WeakMap,c=new WeakMap,i=new WeakSet,o=function(){const e=e=>{var t;return null===(t=this.usersTable.ele)||void 0===t?void 0:t.querySelector(`[path="${e}"]`)},t=e=>{var t;const s=`descope-grid-${e}-column`;return null===(t=this.usersTable.ele)||void 0===t?void 0:t.querySelector(s)},s=this.usersTable.renderColumn;this.usersTable.renderColumn=({path:i,header:o,type:n,attrs:r})=>{const a=e(i)||t(n);if(!a)return s({path:i,header:o,type:n,attrs:r});const l=a.cloneNode(!0),d=Object.assign(Object.assign({},r),{header:o});return Object.entries(d).forEach((([e,t])=>{l.setAttribute(e,t)})),l.outerHTML}},n=function(){var e;this.usersTable=new q(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="users-table"]'),{logger:this.logger}),this.usersTable.onSelectedItemsChange((e=>{this.actions.setSelectedUsersIds(e.detail.value.map((({loginIds:e})=>e)))})),this.usersTable.onColumnsChange(s(this,i,"m",h).bind(this)),s(this,i,"m",o).call(this),s(this,i,"m",h).call(this)},h=function(){this.usersTable.columns.forEach((e=>{e.onSortDirectionChange((e=>{s(this,l,"f").call(this,e.target,e.detail)}))}))},v})),as=r((t=>{var i,o,n;return n=class extends(a(St,S,g,P,Pt)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,i,"m",o).call(this)}))}},i=new WeakSet,o=function(){return e(this,void 0,void 0,(function*(){this.generatedPasswordModal=this.createModal(),this.generatedPasswordModal.setContent(l(yield this.fetchWidgetPage("generated-password-modal.html")));new T((()=>{var e;return null===(e=this.generatedPasswordModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-close"]')}),{logger:this.logger}).onClick((()=>{navigator.clipboard.writeText(this.getFormData(this.generatedPasswordModal.ele)["generated-password"]),this.resetFormData(this.generatedPasswordModal.ele),this.generatedPasswordModal.close()}))}))},n})),ls=r((t=>{var i,o,n,r,d;return d=class extends(a(St,S,g,P,Pt,as)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,i,"m",r).call(this)}))}},i=new WeakSet,o=function(){new T((()=>{var e;return null===(e=this.resetPasswordModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger}).onClick((()=>this.resetPasswordModal.close()))},n=function(){new T((()=>{var e;return null===(e=this.resetPasswordModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger}).onClick((()=>e(this,void 0,void 0,(function*(){var e;const t=fe(this.state),s=yield this.actions.setTempUserPassword(t);this.resetPasswordModal.close(),this.setFormData(this.generatedPasswordModal.ele,{"generated-password":null===(e=null==s?void 0:s.payload)||void 0===e?void 0:e.cleartext}),this.generatedPasswordModal.open()}))))},r=function(){return e(this,void 0,void 0,(function*(){var t;this.resetPasswordModal=this.createModal(),this.resetPasswordModal.setContent(l(yield this.fetchWidgetPage("reset-password-modal.html"))),s(this,i,"m",o).call(this),s(this,i,"m",n).call(this);const r=new L(null===(t=this.resetPasswordModal.ele)||void 0===t?void 0:t.querySelector('[data-id="body-text"]'),{logger:this.logger});this.resetPasswordModal.beforeOpen=()=>e(this,void 0,void 0,(function*(){const e=be(this.state);r.text=`This will generate a new temporary password for ${e}?`}))}))},d})),ds=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St,ls,P)(t)){constructor(){super(...arguments),i.add(this),n.set(this,d((e=>{e?this.resetPasswordButton.enable():this.resetPasswordButton.disable()})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;s(this,i,"m",o).call(this),yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),this.subscribe(s(this,n,"f").bind(this),ke)}))}},n=new WeakMap,i=new WeakSet,o=function(){var e;this.resetPasswordButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="reset-password"]'),{logger:this.logger}),this.resetPasswordButton.disable(),this.resetPasswordButton.onClick((()=>{this.resetPasswordModal.open()}))},r})),us=r((e=>class extends(a(U,v)(e)){syncFlowTheme(e){e.theme=this.theme,this.observeAttributes(["theme"],(()=>{e.theme=this.theme}))}})),cs=r((t=>{var o,n,r,l,u,c,h,v,m,f,p,y,b,w;return w=class extends(a(j,us,St,S,g,P,Pt,x)(t)){constructor(){super(...arguments),o.add(this),n.set(this,void 0),r.set(this,void 0),l.set(this,[]),u.set(this,null),c.set(this,null),b.set(this,d((e=>{s(this,l,"f").forEach((t=>{"onlyOne"===t.enableMode&&1===e.length||"oneOrMore"===t.enableMode&&e.length>0||"always"===t.enableMode?t.enable():t.disable()}))})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),s(this,o,"m",m).call(this),s(this,o,"m",v).call(this),s(this,b,"f").call(this,_(this.state))}))}},n=new WeakMap,r=new WeakMap,l=new WeakMap,u=new WeakMap,c=new WeakMap,b=new WeakMap,o=new WeakSet,h=function(e){const t=new B(e,{logger:this.logger});t.onClick((()=>{s(this,o,"m",y).call(this,t.flowId)})),this.subscribe(s(this,b,"f").bind(this),_),s(this,l,"f").push(t)},v=function(){var e;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelectorAll("[data-generic-flow-button-id]");Array.from(t).forEach((e=>{s(this,o,"m",h).call(this,e)}))},m=function(){i(this,n,this.createModal({"data-id":"generic-flow-modal"}),"f"),s(this,n,"f").afterClose=()=>{var e;s(this,u,"f")&&(null===(e=s(this,c,"f"))||void 0===e||e.call(this),i(this,u,null,"f"))},i(this,r,new $((()=>{var e;return null===(e=s(this,n,"f").ele)||void 0===e?void 0:e.querySelector("descope-wc")}),{logger:this.logger}),"f"),this.syncFlowTheme(s(this,r,"f"))},f=function(){var e;s(this,n,"f").open(),null===(e=s(this,c,"f"))||void 0===e||e.call(this)},p=function(e,t){t=()=>s(this,o,"m",f).call(this),i(this,c,s(this,r,"f").onPageUpdated(t),"f")},y=function(e){s(this,n,"f").setContent(this.createFlowTemplate({flowId:e,client:{userIds:de(this.state),loginIds:ue(this.state),usersAndRoles:ce(this.state)},tenant:this.tenantId})),s(this,o,"m",p).call(this,s(this,n,"f"),s(this,u,"f")),s(this,r,"f").onSuccess((()=>{s(this,n,"f").close(),this.actions.searchUsers()}))},w})),hs="widget-flow",vs=r((t=>{var i,o,n;return n=class extends(a(j,w,S,St,f,g,U,x)(t)){constructor(){super(...arguments),i.add(this)}init(){const t=Object.create(null,{init:{get:()=>super.init}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this);const n=Q(hs);n&&(!function(e){if(window.history.replaceState&&Q(e)){const t=new URL(window.location.href),s=new URLSearchParams(t.search);s.delete(e),t.search=s.toString(),window.history.replaceState({},"",t.toString())}}(hs),s(this,i,"m",o).call(this,n))}))}},i=new WeakSet,o=function(e){const t=this.createModal({"data-id":"redirect-flow"});t.setContent(this.createFlowTemplate({flowId:e}));new $((()=>{var e;return null===(e=t.ele)||void 0===e?void 0:e.querySelector("descope-wc")}),{logger:this.logger}).onSuccess((()=>{t.close()})),t.afterClose=()=>{t.remove()},t.open()},n})),gs=r((t=>class extends(a(I,U,vs,rs,Ut,xt,At,Et,Ot,ds,ns,Ft,ts,is,cs,O)(t)){init(){const t=Object.create(null,{init:{get:()=>super.init}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this)}))}})),ms=a((t=>class extends(gs(t)){init(){const t=Object.create(null,{init:{get:()=>super.init}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this);(customElements.get("descope-wc")||(yield import("@descope/web-component").then((e=>e.default)))).sdkConfigOverrides={baseHeaders:{"x-descope-widget-type":"user-management-widget","x-descope-widget-id":this.getAttribute("widget-id"),"x-descope-widget-version":"0.18.0"}}}))}}))(HTMLElement);customElements.define("descope-user-management-widget",ms);export{ms as default};
5
+ import{__awaiter as e,__rest as t,__classPrivateFieldGet as s,__classPrivateFieldSet as i}from"tslib";import{pluralize as o,compareArrays as n,createSingletonMixin as r,compose as a,createTemplate as l,withMemCache as d,debounce as u}from"@descope/sdk-helpers";import{projectIdMixin as c,widgetIdMixin as h,observeAttributesMixin as v,loggerMixin as g,baseUrlMixin as m,cookieConfigMixin as f,createValidateAttributesMixin as p,DEFAULT_STYLE_ID as y,createStateManagementMixin as b,initLifecycleMixin as w,descopeUiMixin as R,initElementMixin as M,createFetchWidgetPagesMixin as W,widgetConfigMixin as k,modalMixin as S,formMixin as P,notificationsMixin as C,themeMixin as U,localeMixin as j,flowInputMixin as I,debuggerMixin as x,componentsConditionsMixin as O}from"@descope/sdk-mixins";import{ButtonDriver as T,MultiSelectDriver as N,MultiLineMappingsDriver as A,TextDriver as L,TextFieldDriver as E,FilterDriver as F,GridDriver as q,FlowDriver as $,GenericFlowButtonDriver as B}from"@descope/sdk-component-drivers";import{createSelector as D}from"reselect";import{createAsyncThunk as H}from"@reduxjs/toolkit";import V from"@descope/web-js-sdk";import Z from"libphonenumber-js/min";var z;!function(e){e[e.text=1]="text",e[e.numeric=2]="numeric",e[e.bool=3]="bool",e[e.singleSelect=4]="singleSelect",e[e.array=5]="array",e[e.date=6]="date"}(z||(z={}));const J=(e,t)=>Object.entries(e).reduce(((e,[s,i])=>{const[o,...n]=s.split(".");return t!==o?Object.assign(e,{[s]:i}):(e[o]||(e[o]={}),e[o][n.join(".")]=i,e)}),{}),G=(e,t)=>Object.fromEntries(Object.entries(e||{}).map((([e,s])=>[`${t}.${e}`,s]))),K=(e,t)=>e===z.date?(e=>new Date(Number(e)).toLocaleDateString("en-US"))(`${t}`):t;function Q(e){return new URLSearchParams(window.location.search).get(e)}const X={enabled:"active",disabled:"disabled",invited:"invited"},Y=e=>e.tenantRoles.data,_=e=>e.selectedUsersLoginIds,ee=e=>e.notifications,te=e=>e.customAttributes.data,se=D((e=>e.subTenantRoles.data),(e=>Object.fromEntries(e.map((({tenantId:e,tenantName:t,roleNames:s})=>[e,t?{label:t,options:s}:s]))))),ie=D(se,(e=>Object.keys(e).length>0)),oe=D(te,(e=>Object.fromEntries(e.map((e=>[e.name,e.type]))))),ne=D((e=>e.usersList.data),oe,((e,t)=>e.map((e=>Object.assign(Object.assign({},e),{customAttributes:Object.fromEntries(Object.entries(e.customAttributes||{}).map((([e,s])=>[e,K(t[e],s)])))}))))),re=e=>{const t=[e.roleNames||[],...(e.userTenants||[]).map((e=>e.roleNames||[]))].filter((e=>e.length>0));if(0===t.length)return e.roleNames||[];const s=t.map((e=>[...e].sort().join("\0")));return s.every((e=>e===s[0]))?t[0]:"Multiple roles"},ae=D(ne,(e=>e.map((e=>{var t;return Object.assign(Object.assign(Object.assign({},e),G(null==e?void 0:e.customAttributes,"customAttributes")),{createdTimeFormatted:new Date(1e3*((null==e?void 0:e.createdTime)||0)).toLocaleString(),status:X[e.status]||e.status,roles:re(e),tenants:null===(t=e.userTenants)||void 0===t?void 0:t.map((e=>e.tenantName||e.tenantId))})})))),le=D(_,ae,((e,t)=>t.filter((t=>e.includes(t.loginIds))))),de=D(le,(e=>e.map((e=>e.userId)))),ue=D(le,(e=>e.map((({userId:e,loginIds:t})=>({userId:e,loginIds:t}))))),ce=D(le,(e=>e.map((e=>({userId:e.userId,roles:e.roleNames}))))),he=D(le,(e=>e.map((e=>e.status)))),ve=D(le,(e=>e.every((e=>e.editable)))),ge=D(_,(e=>!!e.length)),me=D(_,(e=>1===e.length)),fe=D(_,(e=>{var t;return null===(t=null==e?void 0:e[0])||void 0===t?void 0:t[0]})),pe=D(me,he,((e,t)=>e&&t.every((e=>e===X.enabled)))),ye=D(he,(e=>e.every((e=>e===X.disabled)))),be=D(le,(e=>{var t;return 1===e.length?e[0].name||e[0].email||(null===(t=e[0].loginIds)||void 0===t?void 0:t[0]):`${e.length} users`})),we=D(me,ye,ve,((e,t,s)=>e&&t&&s)),Re=D(me,pe,ve,((e,t,s)=>e&&t&&s)),Me=D(me,ve,((e,t)=>e&&t)),We=D(me,ve,((e,t)=>e&&t)),ke=D(me,ve,((e,t)=>e&&t)),Se=ge,Pe=e=>(...t)=>s=>{s.addCase(e.pending,((e,s)=>{t.forEach((({onPending:t})=>{null==t||t(e,s)}))})),s.addCase(e.fulfilled,((e,s)=>{t.forEach((({onFulfilled:t})=>{null==t||t(e,s)}))})),s.addCase(e.rejected,((e,s)=>{t.forEach((({onRejected:t})=>{null==t||t(e,s)}))}))},Ce=e=>({onFulfilled:t=>{e(t).loading=!1},onPending:t=>{e(t).loading=!0,e(t).error=null},onRejected:(t,s)=>{e(t).loading=!1,e(t).error=s.error}}),Ue=({getErrorMsg:e,getSuccessMsg:t})=>({onFulfilled:(e,s)=>{t&&e.notifications.push({type:"success",msg:t(s)})},onRejected:(t,s)=>{e&&t.notifications.push({type:"error",msg:e(s)})}}),je=H("users/create",((e,{extra:{api:t}})=>t.user.create(e))),Ie=Pe(je)({onFulfilled:(e,t)=>{var s;const i=(null===(s=t.payload)||void 0===s?void 0:s.userId)?e.usersList.data.findIndex((e=>e.userId===t.payload.userId)):-1;-1!==i?e.usersList.data[i]=t.payload:e.usersList.data.unshift(t.payload)}},Ce((e=>e.createUser)),Ue({getSuccessMsg:()=>"User created successfully",getErrorMsg:e=>{var t;return`\n <div>\n <div>Failed to create user</div>\n ${null===(t=e.error)||void 0===t?void 0:t.message}\n </div>`}})),xe={action:je,reducer:Ie},Oe=H("users/delete",((e,{extra:{api:t}})=>t.user.deleteBatch(e))),Te=Pe(Oe)({onFulfilled:(e,t)=>{e.usersList.data=e.usersList.data.filter((e=>!t.meta.arg.includes(e.userId))),e.selectedUsersLoginIds=[]}},Ce((e=>e.deleteUser)),Ue({getSuccessMsg:e=>o(e.meta.arg.length)`${["",e.meta.arg.length]} ${["U","u"]}ser${["","s"]} deleted successfully`,getErrorMsg:e=>o(e.meta.arg.length)`Failed to delete user${["","s"]}`})),Ne={action:Oe,reducer:Te},Ae=H("users/setTempPassword",((e,{extra:{api:t}})=>t.user.setTempPassword(e))),Le=Pe(Ae)(Ce((e=>e.setTempUserPassword)),Ue({getSuccessMsg:()=>"Successfully reset user password",getErrorMsg:e=>{var t;return`\n <div>\n <div>Failed to reset user's password</div>\n ${null===(t=e.error)||void 0===t?void 0:t.message}\n </div>`}})),Ee={action:Ae,reducer:Le},Fe=H("users/getCustomAttributes",((e,{extra:{api:t}})=>t.user.getCustomAttributes())),qe=Pe(Fe)({onFulfilled:(e,t)=>{e.customAttributes.data=t.payload}},Ce((e=>e.customAttributes))),$e={action:Fe,reducer:qe},Be=H("users/search",((e,{extra:{api:t},getState:s})=>{const i=s().searchParams;return t.user.search(Object.assign(Object.assign({},i),e))})),De=Pe(Be)({onPending:(e,t)=>{e.searchParams=Object.assign(Object.assign({},e.searchParams),t.meta.arg)},onFulfilled:(e,t)=>{e.usersList.data=t.payload}},Ce((e=>e.usersList))),He={action:Be,reducer:De},Ve=H("tenant/getTenantRoles",((e,{extra:{api:t}})=>t.tenant.getTenantRoles())),Ze=Pe(Ve)({onFulfilled:(e,t)=>{e.tenantRoles.data=t.payload.roles}},Ce((e=>e.tenantRoles))),ze={action:Ve,reducer:Ze},Je=H("tenant/getSubTenantRoles",((e,{extra:{api:t}})=>t.tenant.getSubTenantRoles())),Ge=Pe(Je)({onFulfilled:(e,t)=>{e.subTenantRoles.data=t.payload.roles},onRejected:e=>{e.subTenantRoles.data=[]}},Ce((e=>e.subTenantRoles))),Ke={action:Je,reducer:Ge},Qe=H("users/update",((e,{extra:{api:t}})=>t.user.update(e))),Xe=Pe(Qe)({onFulfilled:(e,t)=>{const s=e.usersList.data.findIndex((e=>n(e.loginIds,t.payload.loginIds)));-1!==s&&(e.usersList.data[s]=t.payload)}},Ce((e=>e.updateUser)),Ue({getSuccessMsg:()=>"User updated successfully",getErrorMsg:e=>{var t;return`\n <div>\n <div>Failed to update user</div>\n ${null===(t=e.error)||void 0===t?void 0:t.message}\n </div>`}})),Ye={action:Qe,reducer:Xe},_e=H("users/enable",((e,{extra:{api:t}})=>t.user.enable(e))),et=Pe(_e)({onFulfilled:(e,t)=>{var s;const i=e.usersList.data.findIndex((e=>{var s;return n(e.loginIds,null===(s=t.payload.user)||void 0===s?void 0:s.loginIds)}));-1!==i&&(e.usersList.data[i].status=null===(s=t.payload.user)||void 0===s?void 0:s.status)}},Ce((e=>e.enableUser)),Ue({getSuccessMsg:()=>"User enabled successfully",getErrorMsg:e=>{var t;return`\n <div>\n <div>Failed to enable user</div>\n ${null===(t=e.error)||void 0===t?void 0:t.message}\n </div>`}})),tt={action:_e,reducer:et},st=H("users/disable",((e,{extra:{api:t}})=>t.user.disable(e))),it=Pe(st)({onFulfilled:(e,t)=>{var s;const i=e.usersList.data.findIndex((e=>{var s;return n(e.loginIds,null===(s=t.payload.user)||void 0===s?void 0:s.loginIds)}));-1!==i&&(e.usersList.data[i].status=null===(s=t.payload.user)||void 0===s?void 0:s.status)}},Ce((e=>e.disableUser)),Ue({getSuccessMsg:()=>"User disabled successfully",getErrorMsg:e=>{var t;return`\n <div>\n <div>Failed to disable user</div>\n ${null===(t=e.error)||void 0===t?void 0:t.message}\n </div>`}})),ot={action:st,reducer:it},nt=H("users/removePasskey",((e,{extra:{api:t}})=>t.user.removePasskey(e))),rt={action:nt,reducer:Pe(nt)(Ce((e=>e.removePasskey)),Ue({getSuccessMsg:()=>"Successfully removed user's passkey",getErrorMsg:e=>{var t;return`\n <div>\n <div>Failed to remove user's passkey</div>\n ${null===(t=e.error)||void 0===t?void 0:t.message}\n </div>`}}))},at={usersList:{data:[],loading:!1,error:null},createUser:{loading:!1,error:null},updateUser:{loading:!1,error:null},deleteUser:{loading:!1,error:null},enableUser:{loading:!1,error:null},disableUser:{loading:!1,error:null},removePasskey:{loading:!1,error:null},setTempUserPassword:{loading:!1,error:null},customAttributes:{loading:!1,error:null,data:[]},tenantRoles:{loading:!1,error:null,data:[]},subTenantRoles:{loading:!1,error:null,data:[]},searchParams:{text:"",sort:[]},selectedUsersLoginIds:[],notifications:[]},lt={search:"/v1/mgmt/user/search",deleteBatch:"/v1/mgmt/user/delete/batch",create:"/v1/mgmt/user/create",update:"/v1/mgmt/user/patch",status:"/v1/mgmt/user/update/status",setTempPassword:"/v1/mgmt/user/password/set/temporary",removePasskey:"/v1/mgmt/user/passkeys/delete",customAttributes:"/v1/mgmt/user/customattributes"},dt={roles:"/v1/mgmt/role/all",subTenantRoles:"/v1/mgmt/role/subtenant/all"},ut=t=>e(void 0,void 0,void 0,(function*(){const e=yield t.text(),s=JSON.parse(e);if(!t.ok){const e=`${s.errorDescription}${s.errorMessage?`: ${s.errorMessage}`:""}`;throw Error(e||`${t.status} ${t.statusText}`)}t.json=()=>Promise.resolve(s),t.text=()=>Promise.resolve(e)})),ct=t=>e(void 0,[t],void 0,(function*({text:e,sort:t}){return new Promise((s=>{const i=[],o=(new Date).getTime();for(let e=1;e<10;e+=1)i.push({loginIds:[`user${e}@company.com`],externalIds:[`user${e}@company.com`],userId:`user-${e}`,name:`User ${e}`,email:`user${e}@company.com`,roleNames:[`Role ${e}`],phone:`+1-202-555-010${e}`,recoveryEmail:`recovery${e}@company.com`,recoveryPhone:`+1-202-555-020${e}`,verifiedEmail:!0,verifiedPhone:!0,verifiedRecoveryEmail:!0,verifiedRecoveryPhone:!0,userTenants:[{tenantId:"sub-tenant-1",tenantName:"Hurray",roleNames:["Role 1","Role 2"]}],status:"enabled",editable:!0,createdTime:o,createdTimeFormatted:new Date(1e3*(o||0)).toLocaleString(),customAttributes:{},familyName:"",givenName:"",middleName:"",picture:"",password:!0,SAML:e%3==0,OIDC:e%3==1,SCIM:e%3==2,test:!1,TOTP:!1,webauthn:!1});t.forEach((e=>{i.sort(((t,s)=>((e,t,s)=>{if("boolean"==typeof e&&"boolean"==typeof t){const i=e?1:0,o=t?1:0;return s?i-o:o-i}const i=(null==e?void 0:e.toString())||"",o=(null==t?void 0:t.toString())||"";return s?o.localeCompare(i):i.localeCompare(o)})(t[e.field],s[e.field],e.desc)))})),s(i.filter((t=>t.name.toLowerCase().includes(e.toLowerCase())||t.phone.toLowerCase().includes(e.toLowerCase())||t.status.toLowerCase().includes(e.toLowerCase())||"active"===e.toLowerCase()||t.familyName.toLowerCase().includes(e.toLowerCase())||t.givenName.toLowerCase().includes(e.toLowerCase())||t.middleName.toLowerCase().includes(e.toLowerCase())||t.email.toLowerCase().includes(e.toLowerCase()))))}))})),ht=t=>e(void 0,[t],void 0,(function*({loginId:e,email:t,phone:s,displayName:i,roles:o,customAttributes:n,picture:r,verifiedEmail:a,verifiedPhone:l,givenName:d,middleName:u,familyName:c,userTenants:h}){return new Promise((v=>{const g=Math.random().toString(10).substring(15);v({loginIds:[e],externalIds:[e],userId:`user-${g}`,email:t,phone:s,name:i,roleNames:o,customAttributes:n,picture:r,recoveryEmail:"",recoveryPhone:"",verifiedEmail:a,verifiedPhone:l,verifiedRecoveryEmail:!1,verifiedRecoveryPhone:!1,givenName:d,middleName:u,familyName:c,createdTime:(new Date).getTime(),editable:!0,password:!0,SAML:!1,SCIM:!1,OIDC:!1,status:"enabled",test:!1,TOTP:!1,userTenants:h||[],webauthn:!1})}))})),vt=t=>e(void 0,[t],void 0,(function*({loginId:e,email:t,phone:s,displayName:i,roles:o,customAttributes:n,picture:r,verifiedEmail:a,verifiedPhone:l,givenName:d,middleName:u,familyName:c,userTenants:h}){return new Promise((v=>{v({loginIds:[e],externalIds:[e],userId:e,email:t,phone:s,name:i,roleNames:o,customAttributes:n||{},picture:r,recoveryEmail:"",recoveryPhone:"",verifiedEmail:a,verifiedPhone:l,verifiedRecoveryEmail:!1,verifiedRecoveryPhone:!1,givenName:d,middleName:u,familyName:c,createdTime:(new Date).getTime(),editable:!0,password:!0,SAML:!1,SCIM:!1,OIDC:!1,status:"enabled",test:!1,TOTP:!1,userTenants:h||[],webauthn:!1})}))})),gt=()=>e(void 0,void 0,void 0,(function*(){})),mt=()=>e(void 0,void 0,void 0,(function*(){return new Promise((e=>{e({cleartext:Math.random().toString(20).substring(2)})}))})),ft=()=>e(void 0,void 0,void 0,(function*(){})),pt=t=>e(void 0,void 0,void 0,(function*(){return new Promise((e=>{e({user:{loginIds:[t],status:"enabled"}})}))})),yt=t=>e(void 0,void 0,void 0,(function*(){return new Promise((e=>{e({user:{loginIds:[t],status:"disabled"}})}))})),bt=()=>e(void 0,void 0,void 0,(function*(){return new Promise((e=>{e([])}))})),wt=e=>new Promise((t=>{const s=[];for(let t=1;t<5;t+=1)s.push({name:`Role ${t}`,description:`Role description ${t}`,createdTime:new Date,permissionNames:[`Permission ${t}`],tenantId:e});t({roles:s})})),Rt=()=>new Promise((e=>{e({roles:[{tenantId:"sub-tenant-1",tenantName:"Sub Tenant 1",roleNames:["Role 1","Role 2"]},{tenantId:"sub-tenant-2",tenantName:"Sub Tenant 2",roleNames:["Role 1","Role 3"]},{tenantId:"sub-tenant-3",tenantName:"Sub Tenant 3",roleNames:["Role 2"]}]})})),Mt=({httpClient:s,tenant:i,mock:o})=>({search:(...n)=>e(void 0,[...n],void 0,(function*(e={}){const{limit:n=1e4}=e,r=t(e,["limit"]);if(o)return ct(Object.assign(Object.assign({},r),{limit:n}));const a=yield s.post(lt.search,Object.assign(Object.assign({},r),{limit:n,withTestUser:!1}),{queryParams:{tenant:i}});yield ut(a);return(yield a.json()).users})),deleteBatch:t=>e(void 0,void 0,void 0,(function*(){if(o)return gt();const e=yield s.post(lt.deleteBatch,{userIds:t},{queryParams:{tenant:i}});return yield ut(e),e.json()})),create:t=>e(void 0,[t],void 0,(function*({loginId:e,email:t,phone:n,recoveryEmail:r,recoveryPhone:a,displayName:l,roles:d,customAttributes:u,picture:c,verifiedEmail:h,verifiedPhone:v,givenName:g,middleName:m,familyName:f,additionalLoginIds:p,sendSMS:y,sendMail:b,inviteUrl:w,invite:R,userTenants:M}){if(o)return ht({loginId:e,email:t,phone:n,recoveryEmail:r,recoveryPhone:a,displayName:l,roles:d,customAttributes:u,picture:c,verifiedEmail:h,verifiedPhone:v,givenName:g,middleName:m,familyName:f,additionalLoginIds:p,sendSMS:y,sendMail:b,inviteUrl:w,invite:R,userTenants:M});const W=yield s.post(lt.create,{loginId:e,email:t,phone:n,recoveryEmail:r,recoveryPhone:a,displayName:l,givenName:g,middleName:m,familyName:f,roleNames:d,userTenants:M,customAttributes:u,picture:c,verifiedEmail:h,verifiedPhone:v,verifiedRecoveryEmail:!!r||void 0,verifiedRecoveryPhone:!!a||void 0,additionalLoginIds:p,sendSMS:y,sendMail:b,inviteUrl:w,invite:R},{queryParams:{tenant:i}});yield ut(W);return(yield W.json()).user})),update:t=>e(void 0,[t],void 0,(function*({loginId:e,email:t,phone:n,recoveryEmail:r,recoveryPhone:a,displayName:l,roles:d,customAttributes:u,picture:c,verifiedEmail:h,verifiedPhone:v,givenName:g,middleName:m,familyName:f,additionalLoginIds:p,userTenants:y}){if(o)return vt({loginId:e,email:t,phone:n,recoveryEmail:r,recoveryPhone:a,displayName:l,roles:d,customAttributes:u,picture:c,verifiedEmail:h,verifiedPhone:v,givenName:g,middleName:m,familyName:f,additionalLoginIds:p,userTenants:y});const b=yield s.patch(lt.update,{loginId:e,email:t,phone:n,recoveryEmail:r,recoveryPhone:a,displayName:l,givenName:g,middleName:m,familyName:f,roleNames:d,userTenants:y,customAttributes:u,picture:c,verifiedEmail:h,verifiedPhone:v,verifiedRecoveryEmail:!!r||void 0,verifiedRecoveryPhone:!!a||void 0,additionalLoginIds:p},{queryParams:{tenant:i}});yield ut(b);return(yield b.json()).user})),enable:t=>e(void 0,void 0,void 0,(function*(){if(o)return pt(t);const e=yield s.post(lt.status,{loginId:t,status:"enabled"},{queryParams:{tenant:i}});return yield ut(e),e.json()})),disable:t=>e(void 0,void 0,void 0,(function*(){if(o)return yt(t);const e=yield s.post(lt.status,{loginId:t,status:"disabled"},{queryParams:{tenant:i}});return yield ut(e),e.json()})),removePasskey:t=>e(void 0,void 0,void 0,(function*(){if(o)return ft();const e=yield s.post(lt.removePasskey,{loginId:t},{queryParams:{tenant:i}});return yield ut(e),e.json()})),setTempPassword:t=>e(void 0,void 0,void 0,(function*(){if(o)return mt();const e=yield s.post(lt.setTempPassword,{loginId:t},{queryParams:{tenant:i}});return yield ut(e),e.json()})),getCustomAttributes:()=>e(void 0,void 0,void 0,(function*(){if(o)return bt();const e=yield s.get(lt.customAttributes,{queryParams:{tenant:i}});yield ut(e);return(yield e.json()).data}))}),Wt=({httpClient:t,tenant:s,mock:i})=>({getTenantRoles:()=>e(void 0,void 0,void 0,(function*(){if(i)return wt(s);const e=yield t.get(dt.roles,{queryParams:{tenant:s}});return yield ut(e),e.json()})),getSubTenantRoles:()=>e(void 0,void 0,void 0,(function*(){if(i)return Rt();const e=yield t.get(dt.subTenantRoles,{queryParams:{tenant:s}});return yield ut(e),e.json()}))}),kt=r((t=>{var o,n,r,l;const d=a(c,h,v,g,m,f,p({tenant:p.missingAttrValidator}))(t);return l=class extends d{constructor(){super(...arguments),o.add(this),n.set(this,void 0)}get tenantId(){return this.getAttribute("tenant")}get mock(){return this.getAttribute("mock")}get styleId(){return this.getAttribute("style-id")||y}get api(){return s(this,n,"f")||s(this,o,"m",r).call(this),s(this,n,"f")}init(){const t=Object.create(null,{init:{get:()=>super.init}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this),this.observeAttributes(["project-id","base-url","tenant"],(()=>{s(this,n,"f")&&s(this,o,"m",r).call(this)}))}))}},n=new WeakMap,o=new WeakSet,r=function(){this.logger.debug("creating an sdk instance"),i(this,n,((e,t,s,i)=>{const o=V(Object.assign(Object.assign({},e),{persistTokens:!0,baseHeaders:{"x-descope-widget-type":"user-management-widget","x-descope-widget-id":i,"x-descope-widget-version":"0.19.0"}}));return{user:Mt({httpClient:o.httpClient,tenant:t,mock:s}),tenant:Wt({httpClient:o.httpClient,tenant:t,mock:s}),httpClient:o.httpClient}})({projectId:this.projectId,baseUrl:this.baseUrl,refreshCookieName:this.refreshCookieName},this.tenantId,"true"===this.mock,this.widgetId),"f")},l})),St=r((e=>{const t=a(b({name:"widget",initialState:at,reducers:{setSelectedUsersIds:(e,{payload:t})=>{e.selectedUsersLoginIds=t},clearNotifications:e=>{e.notifications=[]}},extraReducers:e=>{xe.reducer(e),Ye.reducer(e),tt.reducer(e),ot.reducer(e),Ne.reducer(e),He.reducer(e),Ee.reducer(e),rt.reducer(e),$e.reducer(e),ze.reducer(e),Ke.reducer(e)},asyncActions:{searchUsers:He.action,createUser:xe.action,updateUser:Ye.action,enableUser:tt.action,disableUser:ot.action,deleteUsers:Ne.action,removePasskey:rt.action,getCustomAttributes:$e.action,getTenantRoles:ze.action,getSubTenantRoles:Ke.action,setTempUserPassword:Ee.action}}),w,g,kt)(e);return class extends t{constructor(...e){super(...e),this.state=at,this.subscribe((e=>{this.logger.debug("State update:",e),this.state=e}))}}})),Pt=r((t=>{var i,o,n;return n=class extends(a(g,w,R,M,W("user-management-widget"),St,k)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){return e(this,void 0,void 0,(function*(){}))}init(){const t=Object.create(null,{init:{get:()=>super.init}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this),this.injectStyle(".hidden { display: none; }");const n=this.getWidgetConfig().then((e=>(null==e?void 0:e.allowSubTenants)?this.actions.getSubTenantRoles():void 0));yield Promise.all([s(this,i,"m",o).call(this),this.actions.searchUsers(),this.actions.getTenantRoles(),this.actions.getCustomAttributes(),n]),yield this.onWidgetRootReady(),this.dispatchEvent(new CustomEvent("ready"))}))}},i=new WeakSet,o=function(){return e(this,void 0,void 0,(function*(){const e=l(yield this.fetchWidgetPage("root.html"));yield this.loadDescopeUiComponents(e),this.contentRootElement.append(e.content.cloneNode(!0))}))},n})),Ct=r((t=>{var o,n,r,d,u,c,h,v,m;return m=class extends(a(St,S,P,g,k,Pt)(t)){constructor(){super(...arguments),o.add(this),n.set(this,void 0),r.set(this,void 0),d.set(this,void 0),h.set(this,(()=>e(this,void 0,void 0,(function*(){yield s(this,n,"f").setData(Y(this.state).map((({name:e,description:t})=>({value:e,label:e,description:t}))))})))),v.set(this,(()=>{var e;const t=ie(this.state);null===(e=s(this,r,"f"))||void 0===e||e.classList.toggle("hidden",!t),t&&s(this,d,"f").setData(se(this.state))}))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),s(this,o,"m",u).call(this)}))}},n=new WeakMap,r=new WeakMap,d=new WeakMap,h=new WeakMap,v=new WeakMap,o=new WeakSet,u=function(){return e(this,void 0,void 0,(function*(){var t;this.createUserModal=this.createModal(),this.createUserModal.setContent(l(yield this.fetchWidgetPage("create-user-modal.html")));const a=new T((()=>{var e;return null===(e=this.createUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger}),u=()=>{this.resetFormData(this.createUserModal.ele),s(this,d,"f").value=[]};a.onClick((()=>{this.createUserModal.close(),u()}));const g=new T((()=>{var e;return null===(e=this.createUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger});g.onClick((()=>e(this,void 0,void 0,(function*(){if(this.validateForm(this.createUserModal.ele)){const e=this.getFormData(this.createUserModal.ele),t=s(this,d,"f").mergedValue;this.actions.createUser(Object.assign(Object.assign({},J(e,"customAttributes")),{userTenants:t,invite:!0,verifiedEmail:!0,verifiedPhone:!0})),this.createUserModal.close(),u()}})))),i(this,n,new N((()=>{var e;return null===(e=this.createUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="roles-multiselect"]')}),{logger:this.logger}),"f"),i(this,r,null===(t=this.createUserModal.ele)||void 0===t?void 0:t.querySelector('[data-id="sub-tenant-section"]'),"f"),i(this,d,new A((()=>{var e;return null===(e=this.createUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="sub-tenant-mappings"]')}),{logger:this.logger}),"f"),s(this,h,"f").call(this),this.createUserModal.beforeOpen=()=>e(this,void 0,void 0,(function*(){const e=this.getWidgetConfig().then((e=>(null==e?void 0:e.allowSubTenants)?this.actions.getSubTenantRoles():void 0));yield Promise.all([this.actions.getTenantRoles(),e]),yield s(this,h,"f").call(this),s(this,v,"f").call(this),s(this,o,"m",c).call(this)}))}))},c=function(){const e=te(this.state);this.getFormFieldNames(this.createUserModal.ele).forEach((t=>{const[s,i]=t.split(".");if("customAttributes"!==s)return;const o=e.find((e=>e.name===i));o?o.editable||this.disableFormField(this.createUserModal.ele,t):this.removeFormField(this.createUserModal.ele,t)}))},m})),Ut=r((t=>{var i,o,n;return n=class extends(a(g,Ct,Pt)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),s(this,i,"m",o).call(this)}))}},i=new WeakSet,o=function(){var e;this.createButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="create-user"]'),{logger:this.logger}),this.createButton.onClick((()=>this.createUserModal.open()))},n})),jt=r((t=>{var i,o,n;return n=class extends(a(St,S,g,Pt)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,i,"m",o).call(this)}))}},i=new WeakSet,o=function(){return e(this,void 0,void 0,(function*(){var e;this.deleteUsersModal=this.createModal(),this.deleteUsersModal.setContent(l(yield this.fetchWidgetPage("delete-users-modal.html")));const t=new T((()=>{var e;return null===(e=this.deleteUsersModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger});t.onClick((()=>this.deleteUsersModal.close()));const s=new T((()=>{var e;return null===(e=this.deleteUsersModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger});s.onClick((()=>{const e=de(this.state);this.actions.deleteUsers(e),this.deleteUsersModal.close()}));const i=new L(null===(e=this.deleteUsersModal.ele)||void 0===e?void 0:e.querySelector('[data-id="body-text"]'),{logger:this.logger});this.deleteUsersModal.beforeOpen=()=>{const e=be(this.state);i.text=`Delete ${e}?`}}))},n})),It=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St,jt)(t)){constructor(){super(...arguments),i.add(this),n.set(this,d((e=>{e?this.deleteButton.enable():this.deleteButton.disable()})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;s(this,i,"m",o).call(this),yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),this.subscribe(s(this,n,"f").bind(this),Se)}))}},n=new WeakMap,i=new WeakSet,o=function(){var e;this.deleteButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="delete-users"]'),{logger:this.logger}),this.deleteButton.disable(),this.deleteButton.onClick((()=>{this.deleteUsersModal.open()}))},r})),xt=r((t=>{var i,o,n,r,d;return d=class extends(a(St,S,g,P,Pt)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,i,"m",r).call(this)}))}},i=new WeakSet,o=function(){new T((()=>{var e;return null===(e=this.disableUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger}).onClick((()=>this.disableUserModal.close()))},n=function(){new T((()=>{var e;return null===(e=this.disableUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger}).onClick((()=>{const e=fe(this.state);this.actions.disableUser(e),this.disableUserModal.close()}))},r=function(){return e(this,void 0,void 0,(function*(){var t;this.disableUserModal=this.createModal(),this.disableUserModal.setContent(l(yield this.fetchWidgetPage("disable-user-modal.html"))),s(this,i,"m",o).call(this),s(this,i,"m",n).call(this);const r=new L(null===(t=this.disableUserModal.ele)||void 0===t?void 0:t.querySelector('[data-id="body-text"]'),{logger:this.logger});this.disableUserModal.beforeOpen=()=>e(this,void 0,void 0,(function*(){const e=be(this.state);r.text=`Disable ${e}?`}))}))},d})),Ot=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St,xt,P)(t)){constructor(){super(...arguments),i.add(this),n.set(this,d((e=>{e?this.disableButton.enable():this.disableButton.disable()})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;s(this,i,"m",o).call(this),yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),this.subscribe(s(this,n,"f").bind(this),Re)}))}},n=new WeakMap,i=new WeakSet,o=function(){var e;this.disableButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="disable-user"]'),{logger:this.logger}),this.disableButton.disable(),this.disableButton.onClick((()=>{this.disableUserModal.open()}))},r})),Tt=e=>{if(!e)return e;const t=e.startsWith("+")?e:`+${e}`,s=Z(t);if(!s)return e;const i=new RegExp(`(\\+?${null==s?void 0:s.countryCallingCode})(.*)`);return(null==s?void 0:s.number.replace(i,"$1-$2"))||e},Nt=r((o=>{var n,r,d,u,c,h,v,m,f,p,y,b,w;return w=class extends(a(St,S,g,P,k,Pt)(o)){constructor(){super(...arguments),n.add(this),r.set(this,void 0),d.set(this,void 0),u.set(this,void 0),c.set(this,void 0),m.set(this,(()=>e(this,void 0,void 0,(function*(){yield s(this,d,"f").setData(Y(this.state).map((({name:e,description:t})=>({value:e,label:e,description:t}))))})))),f.set(this,(()=>{var e;const t=ie(this.state);null===(e=s(this,u,"f"))||void 0===e||e.classList.toggle("hidden",!t),t&&s(this,c,"f").setData(se(this.state))})),y.set(this,(()=>{var e,t;const i=null===(e=le(this.state))||void 0===e?void 0:e[0],o=Object.assign({loginId:null===(t=null==i?void 0:i.loginIds)||void 0===t?void 0:t.join(", "),displayName:null==i?void 0:i.name,email:null==i?void 0:i.email,phone:Tt(null==i?void 0:i.phone),recoveryEmail:null==i?void 0:i.recoveryEmail,recoveryPhone:Tt(null==i?void 0:i.recoveryPhone),roles:null==i?void 0:i.roleNames,givenName:null==i?void 0:i.givenName,familyName:null==i?void 0:i.familyName,middleName:null==i?void 0:i.middleName},G(i.customAttributes,"customAttributes"));this.setFormData(this.editUserModal.ele,o),s(this,c,"f").value=(null==i?void 0:i.userTenants)||[]}))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,n,"m",b).call(this)}))}},r=new WeakMap,d=new WeakMap,u=new WeakMap,c=new WeakMap,m=new WeakMap,f=new WeakMap,y=new WeakMap,n=new WeakSet,h=function(){new T((()=>{var e;return null===(e=this.editUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger}).onClick((()=>this.editUserModal.close()))},v=function(){new T((()=>{var e;return null===(e=this.editUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger}).onClick((()=>{if(this.validateForm(this.editUserModal.ele)){const e=this.getFormData(this.editUserModal.ele),{loginId:i}=e,o=t(e,["loginId"]),n=s(this,u,"f")&&!s(this,u,"f").classList.contains("hidden")?s(this,c,"f").mergedValue:void 0;this.actions.updateUser(Object.assign(Object.assign({loginId:i.split(", ")[0]},J(o,"customAttributes")),void 0!==n&&{userTenants:n})),this.editUserModal.close(),this.resetFormData(this.editUserModal.ele)}}))},p=function(){const e=te(this.state);this.getFormFieldNames(this.editUserModal.ele).forEach((t=>{const[s,i]=t.split(".");if("customAttributes"!==s)return;const o=e.find((e=>e.name===i));o?o.editable||this.disableFormField(this.editUserModal.ele,t):this.removeFormField(this.editUserModal.ele,t)}))},b=function(){return e(this,void 0,void 0,(function*(){var t,o;this.editUserModal=this.createModal(),this.editUserModal.setContent(l(yield this.fetchWidgetPage("edit-user-modal.html"))),s(this,n,"m",h).call(this),s(this,n,"m",v).call(this),i(this,r,new E(null===(t=this.editUserModal.ele)||void 0===t?void 0:t.querySelector('[name="loginId"]'),{logger:this.logger}),"f"),i(this,d,new N((()=>{var e;return null===(e=this.editUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="roles-multiselect"]')}),{logger:this.logger}),"f"),i(this,u,null===(o=this.editUserModal.ele)||void 0===o?void 0:o.querySelector('[data-id="sub-tenant-section"]'),"f"),i(this,c,new A((()=>{var e;return null===(e=this.editUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="sub-tenant-mappings"]')}),{logger:this.logger}),"f"),this.editUserModal.beforeOpen=()=>e(this,void 0,void 0,(function*(){const e=this.getWidgetConfig().then((e=>(null==e?void 0:e.allowSubTenants)?this.actions.getSubTenantRoles():void 0));yield Promise.all([this.actions.getTenantRoles(),e]),yield s(this,m,"f").call(this),s(this,r,"f").disable(),s(this,f,"f").call(this),s(this,y,"f").call(this),s(this,n,"m",p).call(this)}))}))},w})),At=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St,Nt,P)(t)){constructor(){super(...arguments),i.add(this),n.set(this,d((e=>{e?this.editButton.enable():this.editButton.disable()})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;s(this,i,"m",o).call(this),yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),this.subscribe(s(this,n,"f").bind(this),Me)}))}},n=new WeakMap,i=new WeakSet,o=function(){var e;this.editButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="edit-user"]'),{logger:this.logger}),this.editButton.disable(),this.editButton.onClick((()=>{this.editUserModal.open()}))},r})),Lt=r((t=>{var i,o,n,r,d;return d=class extends(a(St,S,g,P,Pt)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,i,"m",r).call(this)}))}},i=new WeakSet,o=function(){new T((()=>{var e;return null===(e=this.enableUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger}).onClick((()=>this.enableUserModal.close()))},n=function(){new T((()=>{var e;return null===(e=this.enableUserModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger}).onClick((()=>{const e=fe(this.state);this.actions.enableUser(e),this.enableUserModal.close()}))},r=function(){return e(this,void 0,void 0,(function*(){var t;this.enableUserModal=this.createModal(),this.enableUserModal.setContent(l(yield this.fetchWidgetPage("enable-user-modal.html"))),s(this,i,"m",o).call(this),s(this,i,"m",n).call(this);const r=new L(null===(t=this.enableUserModal.ele)||void 0===t?void 0:t.querySelector('[data-id="body-text"]'),{logger:this.logger});this.enableUserModal.beforeOpen=()=>e(this,void 0,void 0,(function*(){const e=be(this.state);r.text=`Activate ${e}?`}))}))},d})),Et=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St,Lt,P)(t)){constructor(){super(...arguments),i.add(this),n.set(this,d((e=>{e?this.enableButton.enable():this.enableButton.disable()})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;s(this,i,"m",o).call(this),yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),this.subscribe(s(this,n,"f").bind(this),we)}))}},n=new WeakMap,i=new WeakSet,o=function(){var e;this.enableButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="enable-user"]'),{logger:this.logger}),this.enableButton.disable(),this.enableButton.onClick((()=>{this.enableUserModal.open()}))},r})),Ft=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St)(t)){constructor(){super(...arguments),i.add(this),o.set(this,u((()=>{this.actions.searchUsers({text:this.searchInput.value})})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),s(this,i,"m",n).call(this)}))}},o=new WeakMap,i=new WeakSet,n=function(){var e;this.searchInput=new E(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="search-input"]'),{logger:this.logger}),this.searchInput.onInput(s(this,o,"f"))},r})),qt=new Set(["contains","not-contains","starts-with","ends-with","not-equal"]),$t=e=>{const t=Array.isArray(e)?e[0]:e;return null==t||""===t?null:String(t)},Bt=e=>Array.isArray(e)?e:null==e||""===e?[]:[String(e)],Dt=(e,t)=>({[e]:t}),Ht=(e,t)=>({customAttributes:{[e]:t}}),Vt=(e,t)=>{var s,i;const o=$t(t.value);if(null===o)return{};return((e,t,s)=>({searchFields:[Object.assign({field:e,valStr:t},s?{negative:!0}:{})]}))(e,`${null!==(s=t.prefix)&&void 0!==s?s:""}${o}${null!==(i=t.suffix)&&void 0!==i?i:""}`,t.operator.startsWith("not-"))},Zt=(e,t)=>((e,t)=>"equal"===t.operator&&null!=e.exactField)(e,t)?((e,t)=>{const s=Bt(t.value);return s.length?Dt(e,s):{}})(e.exactField,t):((e,t)=>qt.has(t.operator)&&null!=e.likeField)(e,t)?Vt(e.likeField,t):null,zt=(e,t,s)=>{if((e=>"is-empty"===e.operator)(t))return Ht(e.name,null);if(!(e=>"equal"===e.operator||"is-any-of"===e.operator)(t))return{};const i=((e,t)=>{if(Array.isArray(e))return e.length?e:void 0;if(null!=e&&""!==e){if("boolean"===t)return"true"===e||"false"!==e&&void 0;if("number"===t){const t=Number(e);return Number.isFinite(t)?t:void 0}return e}})(t.value,s);return void 0===i?{}:Ht(e.name,i)},Jt=(e,t)=>{const{mapping:s}=e;if(!s)return null;switch(s.kind){case"array":return((e,t)=>{if("is-any-of"!==t.operator)return null;const s=Bt(t.value);if(!s.length)return{};const i=e.valueMap?s.map((t=>{var s;return null!==(s=e.valueMap[t])&&void 0!==s?s:t})):s;return Dt(e.field,i)})(s,t);case"boolean":return((e,t)=>{if("equal"!==t.operator)return null;const s=$t(t.value);return"true"===s?Dt(e.field,!0):"false"===s?Dt(e.field,!1):{}})(s,t);case"text":return Zt(s,t);case"customAttribute":return zt(s,t,e.inputType);default:return null}},Gt=(e,s)=>{const{searchFields:i,customAttributes:o}=s,n=t(s,["searchFields","customAttributes"]),r=i?(a=e.searchFields,l=i,[...null!=a?a:[],...l]):e.searchFields;var a,l;const d=o?((e,t)=>Object.assign(Object.assign({},null!=e?e:{}),t))(e.customAttributes,o):e.customAttributes,u=Object.assign({},e);return Object.entries(n).forEach((([e,t])=>{var s,i;u[e]=(s=u[e],i=t,Array.isArray(s)&&Array.isArray(i)?[...s,...i.filter((e=>!s.includes(e)))]:i)})),Object.assign(Object.assign({},u),{searchFields:r,customAttributes:d})},Kt=(e,t=[])=>{const s={};(e=>{const t=new Set(["searchFields","customAttributes"]);return e.forEach((e=>{const s=null==e?void 0:e.mapping;s&&("array"===s.kind||"boolean"===s.kind?t.add(s.field):"text"===s.kind&&s.exactField&&t.add(s.exactField))})),t})(t).forEach((e=>{s[e]=void 0}));const i=new Map(t.filter((e=>Boolean(e))).map((e=>[e.id,e])));return e.reduce(((e,t)=>{const s=((e,t)=>{if(e.column&&e.operator)return t.get(e.column)})(t,i);if(!s)return e;const o=Jt(s,t);return o?Gt(e,o):e}),s)},Qt="customAttributes.",Xt="roles",Yt=e=>{if("string"==typeof e)return{value:e,label:e};const{value:t,label:s}=e;return{value:t,label:s||t}},_t=(e,t)=>{const s=e.id.slice(17),i=null==t?void 0:t.find((e=>e.name===s));if(!i)return e;const o=e.label||i.displayName||s,n=(e=>Array.isArray(e.options)&&e.options.length?e.options.map(Yt):void 0)(i),r=Object.assign(Object.assign({},e),{label:o});return n&&(r.options=n),r},es=(e,t,s)=>{var i;const o=((e,t)=>{if(!(null==t?void 0:t.length))return e.filter((e=>(null==e?void 0:e.id)!==Xt));const s=t.map((e=>({value:e.name,label:e.name})));return e.map((e=>(null==e?void 0:e.id)===Xt?Object.assign(Object.assign({},e),{options:s}):e))})(null!==(i=null==e?void 0:e.slice())&&void 0!==i?i:[],t);return((e,t)=>e.filter((e=>{var s;if(!(null===(s=null==e?void 0:e.id)||void 0===s?void 0:s.startsWith(Qt))||!(null==t?void 0:t.length))return!0;const i=e.id.slice(17);return t.some((e=>e.name===i))})).map((e=>{var s;return(null===(s=null==e?void 0:e.id)||void 0===s?void 0:s.startsWith(Qt))?_t(e,t):e})))(o,s)},ts=r((t=>{var o,n,r,l,u,c,h,v;return v=class extends(a(g,Pt,St)(t)){constructor(){super(...arguments),o.set(this,null),n.set(this,(()=>s(this,o,"f")?[...s(this,o,"f")]:this.filter.data)),r.set(this,(e=>{const t=Array.isArray(null==e?void 0:e.value)?e.value:[];this.actions.searchUsers(Object.assign(Object.assign({},Kt(t,s(this,n,"f").call(this))),{page:0}))})),l.set(this,(()=>{this.actions.searchUsers(Object.assign(Object.assign({},Kt([],s(this,n,"f").call(this))),{page:0}))})),u.set(this,d(((e,t,s)=>{this.filter.data=es(e,t,s)}))),c.set(this,(()=>{var e;(null===(e=this.filter)||void 0===e?void 0:e.isExists)&&s(this,u,"f").call(this,s(this,o,"f"),Y(this.state),te(this.state))})),h.set(this,(()=>{i(this,o,Object.freeze(this.filter.data.slice()),"f"),s(this,c,"f").call(this)}))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e,i;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this);const o=null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelector("descope-filter");this.filter=new F(o,{logger:this.logger}),this.filter.isExists&&(this.filter.onDataChange(s(this,h,"f")),s(this,h,"f").call(this),this.subscribe(s(this,c,"f"),Y),this.subscribe(s(this,c,"f"),te),this.filter.onApply(s(this,r,"f")),this.filter.onClear(s(this,l,"f")))}))}},o=new WeakMap,n=new WeakMap,r=new WeakMap,l=new WeakMap,u=new WeakMap,c=new WeakMap,h=new WeakMap,v}));const ss={success:(new DOMParser).parseFromString('<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">\n<g id="Checkmark">\n<path id="Shape" d="M10.0485 15.6396C9.5799 15.171 8.8201 15.171 8.35147 15.6396C7.88284 16.1082 7.88284 16.868 8.35147 17.3367L12.7072 21.6924C13.1759 22.1611 13.9357 22.1611 14.4043 21.6924L24.7152 11.3815C25.1838 10.9129 25.1838 10.1531 24.7152 9.68448C24.2466 9.21585 23.4868 9.21585 23.0181 9.68448L13.5558 19.1469L10.0485 15.6396Z" fill="currentcolor"/>\n</g>\n</svg>\n',"image/svg+xml").firstChild,error:(new DOMParser).parseFromString('<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">\n<g id="Icon">\n<path id="Vector" d="M15.9998 26.6558C10.1118 26.6558 5.34375 21.8878 5.34375 15.9998C5.34375 10.1118 10.1118 5.34375 15.9998 5.34375C21.8878 5.34375 26.6558 10.1118 26.6558 15.9998C26.6558 21.8878 21.8878 26.6558 15.9998 26.6558ZM15.9998 24.4798C20.6718 24.4798 24.4798 20.7038 24.4798 15.9998C24.4798 11.3278 20.7038 7.51975 15.9998 7.51975C11.3278 7.51975 7.51975 11.2958 7.51975 15.9998C7.51975 20.6718 11.2958 24.4798 15.9998 24.4798ZM15.3278 9.34375H16.6718C17.0558 9.34375 17.3438 9.63175 17.3118 9.98375L16.9598 16.9278C16.9598 17.1838 16.7678 17.3438 16.5438 17.3438H15.4558C15.2318 17.3438 15.0398 17.1518 15.0398 16.9278L14.6878 9.98375C14.6878 9.63175 14.9758 9.34375 15.3278 9.34375ZM15.4558 19.4558H16.5438C16.9278 19.4558 17.2158 19.7438 17.1838 20.1278V21.1838C17.1838 21.5678 16.8958 21.8558 16.5438 21.8558H15.4558C15.0718 21.8558 14.7838 21.5678 14.7838 21.1838V20.1278C14.7838 19.7438 15.0718 19.4558 15.4558 19.4558Z" fill="currentcolor"/>\n</g>\n</svg>\n',"image/svg+xml").firstChild},is=r((t=>{var i,o,n,r,l;return l=class extends(a(g,St,C,w)(t)){constructor(){super(...arguments),i.add(this),r.set(this,d((e=>{e.length&&(e.forEach((({type:e,msg:t})=>{const r=s(this,i,"m",n).call(this,e);r.setContent(s(this,i,"m",o).call(this,{type:e,msg:t})),r.show()})),setTimeout((()=>this.actions.clearNotifications())))})))}init(){const t=Object.create(null,{init:{get:()=>super.init}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this),this.subscribe(s(this,r,"f").bind(this),ee)}))}},r=new WeakMap,i=new WeakSet,o=function({type:e,msg:t}){const s=ss[e],i=Object.assign((new DOMParser).parseFromString('<svg width="2em" height="2em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<g id="Icon">\n<path id="Shape" d="M10.6712 12L7.27521 8.60406C6.90826 8.23711 6.90826 7.64216 7.27521 7.27521C7.64216 6.90826 8.23711 6.90826 8.60406 7.27521L12 10.6712L15.3959 7.27521C15.7629 6.90826 16.3578 6.90826 16.7248 7.27521C17.0917 7.64216 17.0917 8.23711 16.7248 8.60406L13.3288 12L16.7248 15.3959C17.0917 15.7629 17.0917 16.3578 16.7248 16.7248C16.3578 17.0917 15.7629 17.0917 15.3959 16.7248L12 13.3288L8.60406 16.7248C8.23711 17.0917 7.64216 17.0917 7.27521 16.7248C6.90826 16.3578 6.90826 15.7629 7.27521 15.3959L10.6712 12Z" fill="currentcolor"/>\n</g>\n</svg>\n',"image/svg+xml").firstChild,{slot:"close"});return`${(null==s?void 0:s.outerHTML)||""}${t}${i.outerHTML}`},n=function(e){return this.createNotification({mode:e,duration:"error"===e?0:3e3,position:"bottom-start",size:"sm"})},l})),os=r((t=>{var i,o,n,r,d;return d=class extends(a(St,S,g,P,Pt)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,i,"m",r).call(this)}))}},i=new WeakSet,o=function(){new T((()=>{var e;return null===(e=this.removePasskeyModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger}).onClick((()=>this.removePasskeyModal.close()))},n=function(){new T((()=>{var e;return null===(e=this.removePasskeyModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger}).onClick((()=>{const e=fe(this.state);this.actions.removePasskey(e),this.removePasskeyModal.close()}))},r=function(){return e(this,void 0,void 0,(function*(){var t;this.removePasskeyModal=this.createModal(),this.removePasskeyModal.setContent(l(yield this.fetchWidgetPage("remove-passkey-modal.html"))),s(this,i,"m",o).call(this),s(this,i,"m",n).call(this);const r=new L(null===(t=this.removePasskeyModal.ele)||void 0===t?void 0:t.querySelector('[data-id="body-text"]'),{logger:this.logger});this.removePasskeyModal.beforeOpen=()=>e(this,void 0,void 0,(function*(){const e=be(this.state);r.text=`Remove passkey for ${e}?`}))}))},d})),ns=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St,os,P)(t)){constructor(){super(...arguments),i.add(this),n.set(this,d((e=>{e?this.removePasskeyButton.enable():this.removePasskeyButton.disable()})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;s(this,i,"m",o).call(this),yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),this.subscribe(s(this,n,"f").bind(this),We)}))}},n=new WeakMap,i=new WeakSet,o=function(){var e;this.removePasskeyButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="remove-passkey"]'),{logger:this.logger}),this.removePasskeyButton.disable(),this.removePasskeyButton.onClick((()=>{this.removePasskeyModal.open()}))},r})),rs=r((t=>{var i,o,n,r,l,c,h,v;return v=class extends(a(St,g,Pt)(t)){constructor(){super(...arguments),i.add(this),r.set(this,d((e=>{this.usersTable.data=e}))),l.set(this,u(((e,t)=>{const s=[],{value:i}=t;if(i){const t=e.path;s.push({field:t,desc:"desc"===i})}this.actions.searchUsers({sort:s})}))),c.set(this,d((e=>{this.usersTable.filterColumns((t=>{var s;const[i,o]=(null===(s=t.path)||void 0===s?void 0:s.split("."))||[];return"customAttributes"!==i||!!(null==e?void 0:e.find((e=>e.name===o)))}))})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),s(this,i,"m",n).call(this),s(this,r,"f").call(this,ae(this.state)),s(this,c,"f").call(this,te(this.state)),this.subscribe(s(this,c,"f").bind(this),te),this.subscribe(s(this,r,"f").bind(this),ae)}))}},r=new WeakMap,l=new WeakMap,c=new WeakMap,i=new WeakSet,o=function(){const e=e=>{var t;return null===(t=this.usersTable.ele)||void 0===t?void 0:t.querySelector(`[path="${e}"]`)},t=e=>{var t;const s=`descope-grid-${e}-column`;return null===(t=this.usersTable.ele)||void 0===t?void 0:t.querySelector(s)},s=this.usersTable.renderColumn;this.usersTable.renderColumn=({path:i,header:o,type:n,attrs:r})=>{const a=e(i)||t(n);if(!a)return s({path:i,header:o,type:n,attrs:r});const l=a.cloneNode(!0),d=Object.assign(Object.assign({},r),{header:o});return Object.entries(d).forEach((([e,t])=>{l.setAttribute(e,t)})),l.outerHTML}},n=function(){var e;this.usersTable=new q(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="users-table"]'),{logger:this.logger}),this.usersTable.onSelectedItemsChange((e=>{this.actions.setSelectedUsersIds(e.detail.value.map((({loginIds:e})=>e)))})),this.usersTable.onColumnsChange(s(this,i,"m",h).bind(this)),s(this,i,"m",o).call(this),s(this,i,"m",h).call(this)},h=function(){this.usersTable.columns.forEach((e=>{e.onSortDirectionChange((e=>{s(this,l,"f").call(this,e.target,e.detail)}))}))},v})),as=r((t=>{var i,o,n;return n=class extends(a(St,S,g,P,Pt)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,i,"m",o).call(this)}))}},i=new WeakSet,o=function(){return e(this,void 0,void 0,(function*(){this.generatedPasswordModal=this.createModal(),this.generatedPasswordModal.setContent(l(yield this.fetchWidgetPage("generated-password-modal.html")));new T((()=>{var e;return null===(e=this.generatedPasswordModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-close"]')}),{logger:this.logger}).onClick((()=>{navigator.clipboard.writeText(this.getFormData(this.generatedPasswordModal.ele)["generated-password"]),this.resetFormData(this.generatedPasswordModal.ele),this.generatedPasswordModal.close()}))}))},n})),ls=r((t=>{var i,o,n,r,d;return d=class extends(a(St,S,g,P,Pt,as)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),yield s(this,i,"m",r).call(this)}))}},i=new WeakSet,o=function(){new T((()=>{var e;return null===(e=this.resetPasswordModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-cancel"]')}),{logger:this.logger}).onClick((()=>this.resetPasswordModal.close()))},n=function(){new T((()=>{var e;return null===(e=this.resetPasswordModal.ele)||void 0===e?void 0:e.querySelector('[data-id="modal-submit"]')}),{logger:this.logger}).onClick((()=>e(this,void 0,void 0,(function*(){var e;const t=fe(this.state),s=yield this.actions.setTempUserPassword(t);this.resetPasswordModal.close(),this.setFormData(this.generatedPasswordModal.ele,{"generated-password":null===(e=null==s?void 0:s.payload)||void 0===e?void 0:e.cleartext}),this.generatedPasswordModal.open()}))))},r=function(){return e(this,void 0,void 0,(function*(){var t;this.resetPasswordModal=this.createModal(),this.resetPasswordModal.setContent(l(yield this.fetchWidgetPage("reset-password-modal.html"))),s(this,i,"m",o).call(this),s(this,i,"m",n).call(this);const r=new L(null===(t=this.resetPasswordModal.ele)||void 0===t?void 0:t.querySelector('[data-id="body-text"]'),{logger:this.logger});this.resetPasswordModal.beforeOpen=()=>e(this,void 0,void 0,(function*(){const e=be(this.state);r.text=`This will generate a new temporary password for ${e}?`}))}))},d})),ds=r((t=>{var i,o,n,r;return r=class extends(a(g,Pt,St,ls,P)(t)){constructor(){super(...arguments),i.add(this),n.set(this,d((e=>{e?this.resetPasswordButton.enable():this.resetPasswordButton.disable()})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;s(this,i,"m",o).call(this),yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),this.subscribe(s(this,n,"f").bind(this),ke)}))}},n=new WeakMap,i=new WeakSet,o=function(){var e;this.resetPasswordButton=new T(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('[data-id="reset-password"]'),{logger:this.logger}),this.resetPasswordButton.disable(),this.resetPasswordButton.onClick((()=>{this.resetPasswordModal.open()}))},r})),us=r((e=>class extends(a(U,v)(e)){syncFlowTheme(e){e.theme=this.theme,this.observeAttributes(["theme"],(()=>{e.theme=this.theme}))}})),cs=r((t=>{var o,n,r,l,u,c,h,v,m,f,p,y,b,w;return w=class extends(a(j,us,St,S,g,P,Pt,I)(t)){constructor(){super(...arguments),o.add(this),n.set(this,void 0),r.set(this,void 0),l.set(this,[]),u.set(this,null),c.set(this,null),b.set(this,d((e=>{s(this,l,"f").forEach((t=>{"onlyOne"===t.enableMode&&1===e.length||"oneOrMore"===t.enableMode&&e.length>0||"always"===t.enableMode?t.enable():t.disable()}))})))}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),s(this,o,"m",m).call(this),s(this,o,"m",v).call(this),s(this,b,"f").call(this,_(this.state))}))}},n=new WeakMap,r=new WeakMap,l=new WeakMap,u=new WeakMap,c=new WeakMap,b=new WeakMap,o=new WeakSet,h=function(e){const t=new B(e,{logger:this.logger});t.onClick((()=>{s(this,o,"m",y).call(this,t.flowId)})),this.subscribe(s(this,b,"f").bind(this),_),s(this,l,"f").push(t)},v=function(){var e;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelectorAll("[data-generic-flow-button-id]");Array.from(t).forEach((e=>{s(this,o,"m",h).call(this,e)}))},m=function(){i(this,n,this.createModal({"data-id":"generic-flow-modal"}),"f"),s(this,n,"f").afterClose=()=>{var e;s(this,u,"f")&&(null===(e=s(this,c,"f"))||void 0===e||e.call(this),i(this,u,null,"f"))},i(this,r,new $((()=>{var e;return null===(e=s(this,n,"f").ele)||void 0===e?void 0:e.querySelector("descope-wc")}),{logger:this.logger}),"f"),this.syncFlowTheme(s(this,r,"f"))},f=function(){var e;s(this,n,"f").open(),null===(e=s(this,c,"f"))||void 0===e||e.call(this)},p=function(e,t){t=()=>s(this,o,"m",f).call(this),i(this,c,s(this,r,"f").onPageUpdated(t),"f")},y=function(e){s(this,n,"f").setContent(this.createFlowTemplate({flowId:e,client:{userIds:de(this.state),loginIds:ue(this.state),usersAndRoles:ce(this.state)},tenant:this.tenantId})),s(this,o,"m",p).call(this,s(this,n,"f"),s(this,u,"f")),s(this,r,"f").onSuccess((()=>{s(this,n,"f").close(),this.actions.searchUsers()}))},w})),hs="widget-flow",vs=r((t=>{var i,o,n;return n=class extends(a(j,w,S,St,f,g,U,I)(t)){constructor(){super(...arguments),i.add(this)}init(){const t=Object.create(null,{init:{get:()=>super.init}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this);const n=Q(hs);n&&(!function(e){if(window.history.replaceState&&Q(e)){const t=new URL(window.location.href),s=new URLSearchParams(t.search);s.delete(e),t.search=s.toString(),window.history.replaceState({},"",t.toString())}}(hs),s(this,i,"m",o).call(this,n))}))}},i=new WeakSet,o=function(e){const t=this.createModal({"data-id":"redirect-flow"});t.setContent(this.createFlowTemplate({flowId:e}));new $((()=>{var e;return null===(e=t.ele)||void 0===e?void 0:e.querySelector("descope-wc")}),{logger:this.logger}).onSuccess((()=>{t.close()})),t.afterClose=()=>{t.remove()},t.open()},n})),gs=r((t=>class extends(a(x,U,vs,rs,Ut,It,At,Et,Ot,ds,ns,Ft,ts,is,cs,O)(t)){init(){const t=Object.create(null,{init:{get:()=>super.init}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this)}))}})),ms=a((t=>class extends(gs(t)){init(){const t=Object.create(null,{init:{get:()=>super.init}});return e(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this);(customElements.get("descope-wc")||(yield import("@descope/web-component").then((e=>e.default)))).sdkConfigOverrides={baseHeaders:{"x-descope-widget-type":"user-management-widget","x-descope-widget-id":this.getAttribute("widget-id"),"x-descope-widget-version":"0.19.0"}}}))}}))(HTMLElement);customElements.define("descope-user-management-widget",ms);export{ms as default};
6
6
  //# sourceMappingURL=index.js.map