@descope/applications-portal-widget 0.4.8 → 0.4.10

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/applications-portal-widget v0.4.8
3
+ * @descope/applications-portal-widget v0.4.10
4
4
  */
5
- import{createSingletonMixin as t,compose as e,createTemplate as i}from"@descope/sdk-helpers";import{__awaiter as o,__classPrivateFieldGet as s,__classPrivateFieldSet as n}from"tslib";import{projectIdMixin as d,observeAttributesMixin as r,loggerMixin as a,cookieConfigMixin as l,baseUrlMixin as p,createStateManagementMixin as c,initLifecycleMixin as u,staticResourcesMixin as g,createValidateAttributesMixin as h,descopeUiMixin as v,initElementMixin as m,debuggerMixin as f,themeMixin as y}from"@descope/sdk-mixins";import{AppsListDriver as b}from"@descope/sdk-component-drivers";import{createSelector as w}from"reselect";import{createAsyncThunk as A}from"@reduxjs/toolkit";import k from"@descope/web-js-sdk";var x;!function(t){t.oidc="oidc",t.saml="saml"}(x||(x={}));const S=t=>t.ssoAppsList.data,R=w(S,(t=>{var e;return null===(e=null==t?void 0:t.filter)||void 0===e?void 0:e.call(t,(t=>t.appType===x.saml))})),j=w(S,(t=>{var e;return null===(e=null==t?void 0:t.filter)||void 0===e?void 0:e.call(t,(t=>{var e;return t.appType===x.oidc&&(null===(e=t.oidcSettings)||void 0===e?void 0:e.customIdpInitiatedLoginPageUrl)}))})),I=w(R,j,((t,e)=>[...t,...e].map((t=>{var e,i;return{name:t.name,icon:t.logo,url:t.appType===x.saml?null===(e=t.samlSettings)||void 0===e?void 0:e.idpInitiatedUrl:null===(i=t.oidcSettings)||void 0===i?void 0:i.customIdpInitiatedLoginPageUrl}})))),T=A("ssoApps/load",((t,{extra:{api:e}})=>e.ssoApps.load())),W=(t=>(...e)=>i=>{i.addCase(t.pending,((t,i)=>{e.forEach((({onPending:e})=>{null==e||e(t,i)}))})),i.addCase(t.fulfilled,((t,i)=>{e.forEach((({onFulfilled:e})=>{null==e||e(t,i)}))})),i.addCase(t.rejected,((t,i)=>{e.forEach((({onRejected:e})=>{null==e||e(t,i)}))}))})(T)({onFulfilled:(t,e)=>{var i;t.ssoAppsList.data=null===(i=e.payload)||void 0===i?void 0:i.apps}},(L=t=>t.ssoAppsList,{onFulfilled:t=>{L(t).loading=!1},onPending:t=>{L(t).loading=!0,L(t).error=null},onRejected:(t,e)=>{L(t).loading=!1,L(t).error=e.error}}));var L;const C={action:T,reducer:W},O={ssoAppsList:{data:[],loading:!1,error:null}},P={load:"/v1/mgmt/sso/idp/apps/load"},U=()=>o(void 0,void 0,void 0,(function*(){return new Promise((t=>{t({apps:[{id:"ssoapp1",name:"App 1",description:"This is the first SAML app",enabled:!0,appType:x.saml,logo:"logo1",samlSettings:{idpInitiatedUrl:""}},{id:"ssoapp2",name:"App 2",description:"This is the first OIDC app",enabled:!0,appType:x.oidc,logo:"logo2"},{id:"ssoapp3",name:"App 3",description:"This is the second SAML app",enabled:!0,appType:x.saml,logo:"logo3",samlSettings:{idpInitiatedUrl:""}}]})}))})),E=({httpClient:t,mock:e})=>({load:()=>o(void 0,void 0,void 0,(function*(){if(e)return U();const i=yield t.get(P.load);return yield(t=>o(void 0,void 0,void 0,(function*(){const e=yield t.text(),i=JSON.parse(e);if(!t.ok){const e=`${i.errorDescription}${i.errorMessage?`: ${i.errorMessage}`:""}`;throw Error(e||`${t.status} ${t.statusText}`)}t.json=()=>Promise.resolve(i),t.text=()=>Promise.resolve(e)})))(i),i.json()}))}),$=t((t=>{var i,c,u,g;const h=e(d,r,a,l,p)(t);return g=class extends h{constructor(){super(...arguments),i.add(this),c.set(this,void 0)}get widgetId(){return this.getAttribute("widget-id")}get mock(){return this.getAttribute("mock")}get api(){return s(this,c,"f")||s(this,i,"m",u).call(this),s(this,c,"f")}init(){const t=Object.create(null,{init:{get:()=>super.init}});return o(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"],(()=>{s(this,c,"f")&&s(this,i,"m",u).call(this)}))}))}},c=new WeakMap,i=new WeakSet,u=function(){this.logger.debug("creating an sdk instance"),n(this,c,((t,e,i)=>{const o=k(Object.assign(Object.assign({},t),{persistTokens:!0,baseHeaders:{"x-descope-widget-type":"applications-portal-widget","x-descope-widget-id":i,"x-descope-widget-version":"0.4.8"}}));return{ssoApps:E({httpClient:o.httpClient,mock:e})}})({projectId:this.projectId,baseUrl:this.baseUrl,refreshCookieName:this.refreshCookieName},"true"===this.mock,this.widgetId),"f")},g})),M=t((t=>{const i=e(c({name:"widget",initialState:O,reducers:{},extraReducers:t=>{C.reducer(t)},asyncActions:{loadSSOApps:C.action}}),u,a,$)(t);return class extends i{constructor(...t){super(...t),this.state=O,this.subscribe((t=>{this.logger.debug("State update:",t),this.state=t}))}}})),N=t((t=>{const i=e(g,h({"widget-id":h.missingAttrValidator}))(t);return class extends i{get widgetId(){return this.getAttribute("widget-id")}fetchWidgetPage(t){return o(this,void 0,void 0,(function*(){return(yield this.fetchStaticResource(`applications-portal-widget/${this.widgetId}/${t}`,"text")).body}))}}})),D=t((t=>{var n,d,r,l;return l=class extends(e(a,u,v,m,N,M)(t)){constructor(){super(...arguments),n.add(this)}onWidgetRootReady(){return o(this,void 0,void 0,(function*(){}))}init(){const t=Object.create(null,{init:{get:()=>super.init}});return o(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this);const[i]=yield Promise.all([s(this,n,"m",d).call(this),this.actions.loadSSOApps()]);s(this,n,"m",r).call(this,i),this.onWidgetRootReady()}))}},n=new WeakSet,d=function(){return o(this,void 0,void 0,(function*(){const t=i(yield this.fetchWidgetPage("root.html"));return yield this.loadDescopeUiComponents(t),t}))},r=function(t){this.contentRootElement.append(t.content.cloneNode(!0))},l})),F=t((t=>{var i,n,d;return d=class extends(e(M,a,D)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return o(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,I(this.state))}))}},i=new WeakSet,n=function(t){this.appsList=new b((()=>{var t;return null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("descope-apps-list")}),{logger:this.logger}),this.appsList.data=t},d})),H=t((t=>class extends(e(f,y,F)(t)){init(){const t=Object.create(null,{init:{get:()=>super.init}});return o(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this)}))}})),q=e((t=>class extends(H(t)){}))(HTMLElement);customElements.define("descope-applications-portal-widget",q);export{q as default};
5
+ import{createSingletonMixin as t,compose as e,createTemplate as i}from"@descope/sdk-helpers";import{__awaiter as o,__classPrivateFieldGet as s,__classPrivateFieldSet as n}from"tslib";import{projectIdMixin as d,observeAttributesMixin as r,loggerMixin as a,cookieConfigMixin as l,baseUrlMixin as p,createStateManagementMixin as c,initLifecycleMixin as u,staticResourcesMixin as g,createValidateAttributesMixin as h,descopeUiMixin as v,initElementMixin as m,debuggerMixin as f,themeMixin as y}from"@descope/sdk-mixins";import{AppsListDriver as b}from"@descope/sdk-component-drivers";import{createSelector as w}from"reselect";import{createAsyncThunk as A}from"@reduxjs/toolkit";import k from"@descope/web-js-sdk";var x;!function(t){t.oidc="oidc",t.saml="saml"}(x||(x={}));const S=t=>t.ssoAppsList.data,R=w(S,(t=>{var e;return null===(e=null==t?void 0:t.filter)||void 0===e?void 0:e.call(t,(t=>t.appType===x.saml))})),j=w(S,(t=>{var e;return null===(e=null==t?void 0:t.filter)||void 0===e?void 0:e.call(t,(t=>{var e;return t.appType===x.oidc&&(null===(e=t.oidcSettings)||void 0===e?void 0:e.customIdpInitiatedLoginPageUrl)}))})),I=w(R,j,((t,e)=>[...t,...e].map((t=>{var e,i;return{name:t.name,icon:t.logo,url:t.appType===x.saml?null===(e=t.samlSettings)||void 0===e?void 0:e.idpInitiatedUrl:null===(i=t.oidcSettings)||void 0===i?void 0:i.customIdpInitiatedLoginPageUrl}})))),T=A("ssoApps/load",((t,{extra:{api:e}})=>e.ssoApps.load())),W=(t=>(...e)=>i=>{i.addCase(t.pending,((t,i)=>{e.forEach((({onPending:e})=>{null==e||e(t,i)}))})),i.addCase(t.fulfilled,((t,i)=>{e.forEach((({onFulfilled:e})=>{null==e||e(t,i)}))})),i.addCase(t.rejected,((t,i)=>{e.forEach((({onRejected:e})=>{null==e||e(t,i)}))}))})(T)({onFulfilled:(t,e)=>{var i;t.ssoAppsList.data=null===(i=e.payload)||void 0===i?void 0:i.apps}},(L=t=>t.ssoAppsList,{onFulfilled:t=>{L(t).loading=!1},onPending:t=>{L(t).loading=!0,L(t).error=null},onRejected:(t,e)=>{L(t).loading=!1,L(t).error=e.error}}));var L;const C={action:T,reducer:W},O={ssoAppsList:{data:[],loading:!1,error:null}},P={load:"/v1/mgmt/sso/idp/apps/load"},U=()=>o(void 0,void 0,void 0,(function*(){return new Promise((t=>{t({apps:[{id:"ssoapp1",name:"App 1",description:"This is the first SAML app",enabled:!0,appType:x.saml,logo:"logo1",samlSettings:{idpInitiatedUrl:""}},{id:"ssoapp2",name:"App 2",description:"This is the first OIDC app",enabled:!0,appType:x.oidc,logo:"logo2"},{id:"ssoapp3",name:"App 3",description:"This is the second SAML app",enabled:!0,appType:x.saml,logo:"logo3",samlSettings:{idpInitiatedUrl:""}}]})}))})),E=({httpClient:t,mock:e})=>({load:()=>o(void 0,void 0,void 0,(function*(){if(e)return U();const i=yield t.get(P.load);return yield(t=>o(void 0,void 0,void 0,(function*(){const e=yield t.text(),i=JSON.parse(e);if(!t.ok){const e=`${i.errorDescription}${i.errorMessage?`: ${i.errorMessage}`:""}`;throw Error(e||`${t.status} ${t.statusText}`)}t.json=()=>Promise.resolve(i),t.text=()=>Promise.resolve(e)})))(i),i.json()}))}),$=t((t=>{var i,c,u,g;const h=e(d,r,a,l,p)(t);return g=class extends h{constructor(){super(...arguments),i.add(this),c.set(this,void 0)}get widgetId(){return this.getAttribute("widget-id")}get mock(){return this.getAttribute("mock")}get api(){return s(this,c,"f")||s(this,i,"m",u).call(this),s(this,c,"f")}init(){const t=Object.create(null,{init:{get:()=>super.init}});return o(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"],(()=>{s(this,c,"f")&&s(this,i,"m",u).call(this)}))}))}},c=new WeakMap,i=new WeakSet,u=function(){this.logger.debug("creating an sdk instance"),n(this,c,((t,e,i)=>{const o=k(Object.assign(Object.assign({},t),{persistTokens:!0,baseHeaders:{"x-descope-widget-type":"applications-portal-widget","x-descope-widget-id":i,"x-descope-widget-version":"0.4.10"}}));return{ssoApps:E({httpClient:o.httpClient,mock:e})}})({projectId:this.projectId,baseUrl:this.baseUrl,refreshCookieName:this.refreshCookieName},"true"===this.mock,this.widgetId),"f")},g})),M=t((t=>{const i=e(c({name:"widget",initialState:O,reducers:{},extraReducers:t=>{C.reducer(t)},asyncActions:{loadSSOApps:C.action}}),u,a,$)(t);return class extends i{constructor(...t){super(...t),this.state=O,this.subscribe((t=>{this.logger.debug("State update:",t),this.state=t}))}}})),N=t((t=>{const i=e(g,h({"widget-id":h.missingAttrValidator}))(t);return class extends i{get widgetId(){return this.getAttribute("widget-id")}fetchWidgetPage(t){return o(this,void 0,void 0,(function*(){return(yield this.fetchStaticResource(`applications-portal-widget/${this.widgetId}/${t}`,"text")).body}))}}})),D=t((t=>{var n,d,r,l;return l=class extends(e(a,u,v,m,N,M)(t)){constructor(){super(...arguments),n.add(this)}onWidgetRootReady(){return o(this,void 0,void 0,(function*(){}))}init(){const t=Object.create(null,{init:{get:()=>super.init}});return o(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this);const[i]=yield Promise.all([s(this,n,"m",d).call(this),this.actions.loadSSOApps()]);s(this,n,"m",r).call(this,i),this.onWidgetRootReady()}))}},n=new WeakSet,d=function(){return o(this,void 0,void 0,(function*(){const t=i(yield this.fetchWidgetPage("root.html"));return yield this.loadDescopeUiComponents(t),t}))},r=function(t){this.contentRootElement.append(t.content.cloneNode(!0))},l})),F=t((t=>{var i,n,d;return d=class extends(e(M,a,D)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return o(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,I(this.state))}))}},i=new WeakSet,n=function(t){this.appsList=new b((()=>{var t;return null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("descope-apps-list")}),{logger:this.logger}),this.appsList.data=t},d})),H=t((t=>class extends(e(f,y,F)(t)){init(){const t=Object.create(null,{init:{get:()=>super.init}});return o(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this)}))}})),q=e((t=>class extends(H(t)){}))(HTMLElement);customElements.define("descope-applications-portal-widget",q);export{q as default};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/lib/widget/api/types.ts","../../src/lib/widget/state/selectors.ts","../../src/lib/widget/state/asyncActions/loadSSOApps.ts","../../src/lib/widget/state/asyncActions/helpers.ts","../../src/lib/widget/state/initialState.ts","../../src/lib/widget/api/apiPaths.ts","../../src/lib/widget/api/sdk/mocks.ts","../../src/lib/widget/api/sdk/createSsoAppsSdk.ts","../../src/lib/widget/api/sdk/helpers.ts","../../src/lib/widget/mixins/apiMixin.ts","../../src/lib/widget/api/sdk/index.ts","../../src/lib/widget/mixins/stateManagementMixin.ts","../../src/lib/widget/mixins/fetchWidgetPagesMixin.ts","../../src/lib/widget/mixins/initMixin/initComponentsMixins/initWidgetRootMixin.ts","../../src/lib/widget/mixins/initMixin/initComponentsMixins/initAppsListMixin.ts","../../src/lib/widget/mixins/initMixin/initMixin.ts","../../src/lib/widget/index.ts","../../src/lib/index.ts"],"sourcesContent":["import createWebSdk from '@descope/web-js-sdk';\n\nexport type Sdk = ReturnType<typeof createWebSdk>;\n\nexport type HttpClient = Sdk['httpClient'];\n\nexport enum SSOAppType {\n oidc = 'oidc',\n saml = 'saml',\n}\n\ninterface App {\n id: string;\n name: string;\n description?: string;\n enabled: boolean;\n logo?: string;\n}\n\nexport interface SamlApplication extends App {\n appType: SSOAppType.saml;\n samlSettings?: {\n idpInitiatedUrl: string;\n };\n}\n\nexport interface OidcApplication extends App {\n appType: SSOAppType.oidc;\n oidcSettings?: {\n customIdpInitiatedLoginPageUrl: string;\n };\n}\n\nexport type SSOApplication = SamlApplication | OidcApplication;\n","import { createSelector } from 'reselect';\nimport { State } from './types';\nimport { SSOAppType } from '../api/types';\n\nexport const getSSOAppsList = (state: State) => state.ssoAppsList.data;\nexport const getSamlApps = createSelector(\n getSSOAppsList,\n (ssoAppsList) =>\n ssoAppsList?.filter?.((app) => app.appType === SSOAppType.saml),\n);\n\nexport const getOidcWithCustomIdpInitiatedLoginPageUrlApps = createSelector(\n getSSOAppsList,\n (ssoAppsList) =>\n ssoAppsList?.filter?.(\n (app) =>\n app.appType === SSOAppType.oidc &&\n app.oidcSettings?.customIdpInitiatedLoginPageUrl,\n ),\n);\n\nexport const getAppsList = createSelector(\n getSamlApps,\n getOidcWithCustomIdpInitiatedLoginPageUrlApps,\n (samlApps, oidcApps) =>\n [...samlApps, ...oidcApps].map((app) => ({\n name: app.name,\n icon: app.logo,\n url:\n app.appType === SSOAppType.saml\n ? app.samlSettings?.idpInitiatedUrl\n : app.oidcSettings?.customIdpInitiatedLoginPageUrl,\n })),\n);\n","/* eslint-disable no-param-reassign */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport { createAsyncThunk } from '@reduxjs/toolkit';\nimport { Sdk } from '../../api/sdk';\nimport { FirstParameter, State, ThunkConfigExtraApi } from '../types';\nimport { buildAsyncReducer, withRequestStatus } from './helpers';\n\nconst action = createAsyncThunk<\n any,\n FirstParameter<Sdk['ssoApps']['load']>,\n ThunkConfigExtraApi\n>('ssoApps/load', (arg, { extra: { api } }) => api.ssoApps.load());\n\nconst reducer = buildAsyncReducer(action)(\n {\n onFulfilled: (state, action) => {\n state.ssoAppsList.data = action.payload?.apps;\n },\n },\n withRequestStatus((state: State) => state.ssoAppsList),\n);\n\nexport const loadSSOApps = { action, reducer };\n","/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable no-param-reassign */\n\nimport {\n ActionReducerMapBuilder,\n AsyncThunk,\n PayloadAction,\n SerializedError,\n} from '@reduxjs/toolkit';\nimport { State } from '../types';\n\ntype ExtractedArg<T> = T extends AsyncThunk<any, infer U, any> ? U : never;\n\ntype FulfilledAction<T extends AsyncThunk<any, any, any>> = PayloadAction<\n any,\n string,\n {\n arg: ExtractedArg<T>;\n requestId: string;\n },\n never\n>;\n\ntype RejectedAction<T extends AsyncThunk<any, any, any>> = PayloadAction<\n any,\n string,\n {\n arg: ExtractedArg<T>;\n requestId: string;\n },\n SerializedError\n>;\n\ntype PendingAction<T extends AsyncThunk<any, any, any>> = PayloadAction<\n unknown,\n string,\n {\n arg: ExtractedArg<T>;\n requestId: string;\n }\n>;\n\ntype AsyncReducerConfig<T extends AsyncThunk<any, any, any>> = {\n onFulfilled?: (state: State, action: FulfilledAction<T>) => void;\n onRejected?: (state: State, action: RejectedAction<T>) => void;\n onPending?: (state: State, action: PendingAction<T>) => void;\n};\n\nexport const buildAsyncReducer =\n <T extends AsyncThunk<any, any, any>>(action: T) =>\n (...args: AsyncReducerConfig<T>[]) =>\n (builder: ActionReducerMapBuilder<State>) => {\n builder.addCase(action.pending, (state, action) => {\n args.forEach(({ onPending }) => {\n onPending?.(state, action);\n });\n });\n\n builder.addCase(action.fulfilled, (state, action) => {\n args.forEach(({ onFulfilled }) => {\n onFulfilled?.(state, action);\n });\n });\n\n builder.addCase(action.rejected, (state, action) => {\n args.forEach(({ onRejected }) => {\n onRejected?.(state, action);\n });\n });\n };\n\nexport const withRequestStatus = (\n getStateSection: (state: State) => { loading: boolean; error: unknown },\n): AsyncReducerConfig<any> => ({\n onFulfilled: (state) => {\n getStateSection(state).loading = false;\n },\n onPending: (state) => {\n getStateSection(state).loading = true;\n getStateSection(state).error = null;\n },\n onRejected: (state, action) => {\n getStateSection(state).loading = false;\n getStateSection(state).error = action.error;\n },\n});\n","import { State } from './types';\n\nexport const initialState: State = {\n ssoAppsList: {\n data: [],\n loading: false,\n error: null,\n },\n};\n","export const apiPaths = {\n ssoApps: {\n load: '/v1/mgmt/sso/idp/apps/load',\n },\n};\n","import { SSOApplication, SSOAppType } from '../types';\n\nconst load: () => Promise<{ apps: SSOApplication[] }> = async () =>\n new Promise((resolve) => {\n resolve({\n apps: [\n {\n id: 'ssoapp1',\n name: 'App 1',\n description: 'This is the first SAML app',\n enabled: true,\n appType: SSOAppType.saml,\n logo: 'logo1',\n samlSettings: {\n idpInitiatedUrl: '',\n },\n },\n {\n id: 'ssoapp2',\n name: 'App 2',\n description: 'This is the first OIDC app',\n enabled: true,\n appType: SSOAppType.oidc,\n logo: 'logo2',\n },\n {\n id: 'ssoapp3',\n name: 'App 3',\n description: 'This is the second SAML app',\n enabled: true,\n appType: SSOAppType.saml,\n logo: 'logo3',\n samlSettings: {\n idpInitiatedUrl: '',\n },\n },\n ],\n });\n });\n\nconst ssoApps = {\n load,\n};\n\nexport { ssoApps };\n","import { apiPaths } from '../apiPaths';\nimport { HttpClient } from '../types';\nimport { withErrorHandler } from './helpers';\nimport { ssoApps } from './mocks';\n\nexport const createSsoAppsSdk = ({\n httpClient,\n mock,\n}: {\n httpClient: HttpClient;\n mock: boolean;\n}) => {\n const load = async () => {\n if (mock) {\n return ssoApps.load();\n }\n const res = await httpClient.get(apiPaths.ssoApps.load);\n\n await withErrorHandler(res);\n\n return res.json();\n };\n\n return {\n load,\n };\n};\n","export const withErrorHandler = async (res: Response) => {\n const text = await res.text();\n const json = JSON.parse(text);\n\n if (!res.ok) {\n const descopeErrorMsg = `${json.errorDescription}${\n json.errorMessage ? `: ${json.errorMessage}` : ''\n }`;\n throw Error(descopeErrorMsg || `${res.status} ${res.statusText}`);\n }\n\n res.json = () => Promise.resolve(json);\n res.text = () => Promise.resolve(text);\n};\n","import { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport {\n baseUrlMixin,\n cookieConfigMixin,\n loggerMixin,\n observeAttributesMixin,\n projectIdMixin,\n} from '@descope/sdk-mixins';\nimport { Sdk, createSdk } from '../api/sdk';\n\nexport const apiMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n projectIdMixin,\n observeAttributesMixin,\n loggerMixin,\n cookieConfigMixin,\n baseUrlMixin,\n )(superclass);\n\n return class ApiMixinClass extends BaseClass {\n #api: Sdk;\n\n #createSdk() {\n this.logger.debug('creating an sdk instance');\n this.#api = createSdk(\n {\n projectId: this.projectId,\n baseUrl: this.baseUrl,\n refreshCookieName: this.refreshCookieName,\n },\n this.mock === 'true',\n this.widgetId,\n );\n }\n\n get widgetId() {\n return this.getAttribute('widget-id');\n }\n\n get mock() {\n return this.getAttribute('mock');\n }\n\n get api() {\n if (!this.#api) {\n this.#createSdk();\n }\n\n return this.#api;\n }\n\n async init() {\n await super.init?.();\n\n this.observeAttributes(['project-id', 'base-url'], () => {\n if (this.#api) {\n this.#createSdk();\n }\n });\n }\n };\n },\n);\n","import createWebSdk from '@descope/web-js-sdk';\nimport { createSsoAppsSdk } from './createSsoAppsSdk';\n\ndeclare const BUILD_VERSION: string;\n\nexport const createSdk = (\n config: Parameters<typeof createWebSdk>[0],\n mock: boolean,\n widgetId?: string,\n) => {\n const webSdk = createWebSdk({\n ...config,\n persistTokens: true,\n baseHeaders: {\n 'x-descope-widget-type': 'applications-portal-widget',\n 'x-descope-widget-id': widgetId,\n 'x-descope-widget-version': BUILD_VERSION,\n },\n });\n\n return {\n ssoApps: createSsoAppsSdk({ httpClient: webSdk.httpClient, mock }),\n };\n};\n\nexport type Sdk = ReturnType<typeof createSdk>;\n","/* eslint-disable no-param-reassign */\nimport { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport {\n createStateManagementMixin,\n initLifecycleMixin,\n loggerMixin,\n} from '@descope/sdk-mixins';\nimport { loadSSOApps } from '../state/asyncActions';\nimport { initialState } from '../state/initialState';\nimport { apiMixin } from './apiMixin';\n\nexport const stateManagementMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n createStateManagementMixin({\n name: 'widget',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n loadSSOApps.reducer(builder);\n },\n asyncActions: {\n loadSSOApps: loadSSOApps.action,\n },\n }),\n initLifecycleMixin,\n loggerMixin,\n apiMixin,\n )(superclass);\n return class StateManagementMixinClass extends BaseClass {\n state = initialState;\n\n constructor(...args: any) {\n super(...args);\n\n this.subscribe((state) => {\n this.logger.debug('State update:', state);\n this.state = state;\n });\n }\n };\n },\n);\n","import { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport {\n createValidateAttributesMixin,\n staticResourcesMixin,\n} from '@descope/sdk-mixins';\n\nconst WIDGET_PAGES_BASE_DIR = 'applications-portal-widget';\n\nexport const fetchWidgetPagesMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n staticResourcesMixin,\n createValidateAttributesMixin({\n 'widget-id': createValidateAttributesMixin.missingAttrValidator,\n }),\n )(superclass);\n return class FetchWidgetPagesMixinClass extends BaseClass {\n get widgetId() {\n return this.getAttribute('widget-id');\n }\n\n async fetchWidgetPage(filename: string) {\n const res = await this.fetchStaticResource(\n `${WIDGET_PAGES_BASE_DIR}/${this.widgetId}/${filename}`,\n 'text',\n );\n return res.body;\n }\n };\n },\n);\n","import {\n compose,\n createSingletonMixin,\n createTemplate,\n} from '@descope/sdk-helpers';\nimport {\n descopeUiMixin,\n initElementMixin,\n initLifecycleMixin,\n loggerMixin,\n} from '@descope/sdk-mixins';\nimport { fetchWidgetPagesMixin } from '../../fetchWidgetPagesMixin';\nimport { stateManagementMixin } from '../../stateManagementMixin';\n\nexport const initWidgetRootMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n class InitWidgetRootMixinClass extends compose(\n loggerMixin,\n initLifecycleMixin,\n descopeUiMixin,\n initElementMixin,\n fetchWidgetPagesMixin,\n stateManagementMixin,\n )(superclass) {\n async #initWidgetRoot() {\n const template = createTemplate(\n // await import('../../../../../../test/mocks/rootMock').then(\n // (module) => module.default,\n // ),\n await this.fetchWidgetPage('root.html'),\n );\n await this.loadDescopeUiComponents(template);\n\n return template;\n }\n\n #renderTemplate(template: HTMLTemplateElement) {\n this.contentRootElement.append(template.content.cloneNode(true));\n }\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-empty-function\n async onWidgetRootReady() {}\n\n async init() {\n await super.init?.();\n\n const [template] = await Promise.all([\n this.#initWidgetRoot(),\n this.actions.loadSSOApps(),\n ]);\n // we want to render the template only after the data was fetched\n // so we won't show the apps-list empty state until the data is loaded\n this.#renderTemplate(template);\n\n this.onWidgetRootReady();\n }\n },\n);\n","import { AppsListDriver } from '@descope/sdk-component-drivers';\nimport { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport { loggerMixin } from '@descope/sdk-mixins';\nimport { getAppsList } from '../../../state/selectors';\nimport { stateManagementMixin } from '../../stateManagementMixin';\nimport { initWidgetRootMixin } from './initWidgetRootMixin';\n\nexport const initAppsListMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n class InitAppsListMixinClass extends compose(\n stateManagementMixin,\n loggerMixin,\n initWidgetRootMixin,\n )(superclass) {\n appsList: AppsListDriver;\n\n #initAppsList(appsList: ReturnType<typeof getAppsList>) {\n this.appsList = new AppsListDriver(\n () => this.shadowRoot?.querySelector('descope-apps-list'),\n { logger: this.logger },\n );\n this.appsList.data = appsList;\n }\n\n async onWidgetRootReady() {\n await super.onWidgetRootReady?.();\n this.#initAppsList(getAppsList(this.state));\n }\n },\n);\n","import { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport { debuggerMixin, themeMixin } from '@descope/sdk-mixins';\nimport { initAppsListMixin } from './initComponentsMixins/initAppsListMixin';\n\nexport const initMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n // @ts-ignore\n class InitMixinClass extends compose(\n debuggerMixin,\n themeMixin,\n initAppsListMixin,\n )(superclass) {\n async init() {\n await super.init?.();\n }\n },\n);\n","import { compose } from '@descope/sdk-helpers';\nimport { initMixin } from './mixins/initMixin/initMixin';\n\nconst rootMixin = (superclass: CustomElementConstructor) =>\n class RootMixinClass extends initMixin(superclass) {};\n\nexport const ApplicationsPortalWidget = compose(rootMixin)(HTMLElement);\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { Unsubscribe } from 'redux'; // workaround for https://github.com/microsoft/TypeScript/issues/42873\nimport { ApplicationsPortalWidget } from './widget';\n\nexport default ApplicationsPortalWidget;\n\ncustomElements.define(\n 'descope-applications-portal-widget',\n ApplicationsPortalWidget,\n);\n"],"names":["SSOAppType","getSSOAppsList","state","ssoAppsList","data","getSamlApps","createSelector","_a","filter","call","app","appType","saml","getOidcWithCustomIdpInitiatedLoginPageUrlApps","oidc","oidcSettings","customIdpInitiatedLoginPageUrl","getAppsList","samlApps","oidcApps","map","name","icon","logo","url","samlSettings","idpInitiatedUrl","_b","action","createAsyncThunk","arg","extra","api","ssoApps","load","reducer","args","builder","addCase","pending","forEach","onPending","fulfilled","onFulfilled","rejected","onRejected","buildAsyncReducer","payload","apps","getStateSection","loading","error","loadSSOApps","initialState","apiPaths","__awaiter","Promise","resolve","id","description","enabled","createSsoAppsSdk","httpClient","mock","res","get","text","json","JSON","parse","ok","descopeErrorMsg","errorDescription","errorMessage","Error","status","statusText","withErrorHandler","apiMixin","createSingletonMixin","superclass","BaseClass","compose","projectIdMixin","observeAttributesMixin","loggerMixin","cookieConfigMixin","baseUrlMixin","constructor","_ApiMixinClass_api","set","this","widgetId","getAttribute","__classPrivateFieldGet","_ApiMixinClass_instances","_ApiMixinClass_createSdk","init","_super","observeAttributes","logger","debug","__classPrivateFieldSet","config","webSdk","createWebSdk","Object","assign","persistTokens","baseHeaders","createSdk","projectId","baseUrl","refreshCookieName","stateManagementMixin","createStateManagementMixin","reducers","extraReducers","asyncActions","initLifecycleMixin","super","subscribe","fetchWidgetPagesMixin","staticResourcesMixin","createValidateAttributesMixin","missingAttrValidator","fetchWidgetPage","filename","fetchStaticResource","body","initWidgetRootMixin","_InitWidgetRootMixinClass_instances","_InitWidgetRootMixinClass_initWidgetRoot","_InitWidgetRootMixinClass_renderTemplate","descopeUiMixin","initElementMixin","onWidgetRootReady","template","all","actions","createTemplate","loadDescopeUiComponents","contentRootElement","append","content","cloneNode","initAppsListMixin","_InitAppsListMixinClass_instances","_InitAppsListMixinClass_initAppsList","appsList","AppsListDriver","shadowRoot","querySelector","initMixin","debuggerMixin","themeMixin","ApplicationsPortalWidget","HTMLElement","customElements","define"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/lib/widget/api/types.ts","../../src/lib/widget/state/selectors.ts","../../src/lib/widget/state/asyncActions/loadSSOApps.ts","../../src/lib/widget/state/asyncActions/helpers.ts","../../src/lib/widget/state/initialState.ts","../../src/lib/widget/api/apiPaths.ts","../../src/lib/widget/api/sdk/mocks.ts","../../src/lib/widget/api/sdk/createSsoAppsSdk.ts","../../src/lib/widget/api/sdk/helpers.ts","../../src/lib/widget/mixins/apiMixin.ts","../../src/lib/widget/api/sdk/index.ts","../../src/lib/widget/mixins/stateManagementMixin.ts","../../src/lib/widget/mixins/fetchWidgetPagesMixin.ts","../../src/lib/widget/mixins/initMixin/initComponentsMixins/initWidgetRootMixin.ts","../../src/lib/widget/mixins/initMixin/initComponentsMixins/initAppsListMixin.ts","../../src/lib/widget/mixins/initMixin/initMixin.ts","../../src/lib/widget/index.ts","../../src/lib/index.ts"],"sourcesContent":["import createWebSdk from '@descope/web-js-sdk';\n\nexport type Sdk = ReturnType<typeof createWebSdk>;\n\nexport type HttpClient = Sdk['httpClient'];\n\nexport enum SSOAppType {\n oidc = 'oidc',\n saml = 'saml',\n}\n\ninterface App {\n id: string;\n name: string;\n description?: string;\n enabled: boolean;\n logo?: string;\n}\n\nexport interface SamlApplication extends App {\n appType: SSOAppType.saml;\n samlSettings?: {\n idpInitiatedUrl: string;\n };\n}\n\nexport interface OidcApplication extends App {\n appType: SSOAppType.oidc;\n oidcSettings?: {\n customIdpInitiatedLoginPageUrl: string;\n };\n}\n\nexport type SSOApplication = SamlApplication | OidcApplication;\n","import { createSelector } from 'reselect';\nimport { State } from './types';\nimport { SSOAppType } from '../api/types';\n\nexport const getSSOAppsList = (state: State) => state.ssoAppsList.data;\nexport const getSamlApps = createSelector(\n getSSOAppsList,\n (ssoAppsList) =>\n ssoAppsList?.filter?.((app) => app.appType === SSOAppType.saml),\n);\n\nexport const getOidcWithCustomIdpInitiatedLoginPageUrlApps = createSelector(\n getSSOAppsList,\n (ssoAppsList) =>\n ssoAppsList?.filter?.(\n (app) =>\n app.appType === SSOAppType.oidc &&\n app.oidcSettings?.customIdpInitiatedLoginPageUrl,\n ),\n);\n\nexport const getAppsList = createSelector(\n getSamlApps,\n getOidcWithCustomIdpInitiatedLoginPageUrlApps,\n (samlApps, oidcApps) =>\n [...samlApps, ...oidcApps].map((app) => ({\n name: app.name,\n icon: app.logo,\n url:\n app.appType === SSOAppType.saml\n ? app.samlSettings?.idpInitiatedUrl\n : app.oidcSettings?.customIdpInitiatedLoginPageUrl,\n })),\n);\n","/* eslint-disable no-param-reassign */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport { createAsyncThunk } from '@reduxjs/toolkit';\nimport { Sdk } from '../../api/sdk';\nimport { FirstParameter, State, ThunkConfigExtraApi } from '../types';\nimport { buildAsyncReducer, withRequestStatus } from './helpers';\n\nconst action = createAsyncThunk<\n any,\n FirstParameter<Sdk['ssoApps']['load']>,\n ThunkConfigExtraApi\n>('ssoApps/load', (arg, { extra: { api } }) => api.ssoApps.load());\n\nconst reducer = buildAsyncReducer(action)(\n {\n onFulfilled: (state, action) => {\n state.ssoAppsList.data = action.payload?.apps;\n },\n },\n withRequestStatus((state: State) => state.ssoAppsList),\n);\n\nexport const loadSSOApps = { action, reducer };\n","/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable no-param-reassign */\n\nimport {\n ActionReducerMapBuilder,\n AsyncThunk,\n PayloadAction,\n SerializedError,\n} from '@reduxjs/toolkit';\nimport { State } from '../types';\n\ntype ExtractedArg<T> = T extends AsyncThunk<any, infer U, any> ? U : never;\n\ntype FulfilledAction<T extends AsyncThunk<any, any, any>> = PayloadAction<\n any,\n string,\n {\n arg: ExtractedArg<T>;\n requestId: string;\n },\n never\n>;\n\ntype RejectedAction<T extends AsyncThunk<any, any, any>> = PayloadAction<\n any,\n string,\n {\n arg: ExtractedArg<T>;\n requestId: string;\n },\n SerializedError\n>;\n\ntype PendingAction<T extends AsyncThunk<any, any, any>> = PayloadAction<\n unknown,\n string,\n {\n arg: ExtractedArg<T>;\n requestId: string;\n }\n>;\n\ntype AsyncReducerConfig<T extends AsyncThunk<any, any, any>> = {\n onFulfilled?: (state: State, action: FulfilledAction<T>) => void;\n onRejected?: (state: State, action: RejectedAction<T>) => void;\n onPending?: (state: State, action: PendingAction<T>) => void;\n};\n\nexport const buildAsyncReducer =\n <T extends AsyncThunk<any, any, any>>(action: T) =>\n (...args: AsyncReducerConfig<T>[]) =>\n (builder: ActionReducerMapBuilder<State>) => {\n builder.addCase(action.pending, (state, action) => {\n args.forEach(({ onPending }) => {\n onPending?.(state, action);\n });\n });\n\n builder.addCase(action.fulfilled, (state, action) => {\n args.forEach(({ onFulfilled }) => {\n onFulfilled?.(state, action);\n });\n });\n\n builder.addCase(action.rejected, (state, action) => {\n args.forEach(({ onRejected }) => {\n onRejected?.(state, action);\n });\n });\n };\n\nexport const withRequestStatus = (\n getStateSection: (state: State) => { loading: boolean; error: unknown },\n): AsyncReducerConfig<any> => ({\n onFulfilled: (state) => {\n getStateSection(state).loading = false;\n },\n onPending: (state) => {\n getStateSection(state).loading = true;\n getStateSection(state).error = null;\n },\n onRejected: (state, action) => {\n getStateSection(state).loading = false;\n getStateSection(state).error = action.error;\n },\n});\n","import { State } from './types';\n\nexport const initialState: State = {\n ssoAppsList: {\n data: [],\n loading: false,\n error: null,\n },\n};\n","export const apiPaths = {\n ssoApps: {\n load: '/v1/mgmt/sso/idp/apps/load',\n },\n};\n","import { SSOApplication, SSOAppType } from '../types';\n\nconst load: () => Promise<{ apps: SSOApplication[] }> = async () =>\n new Promise((resolve) => {\n resolve({\n apps: [\n {\n id: 'ssoapp1',\n name: 'App 1',\n description: 'This is the first SAML app',\n enabled: true,\n appType: SSOAppType.saml,\n logo: 'logo1',\n samlSettings: {\n idpInitiatedUrl: '',\n },\n },\n {\n id: 'ssoapp2',\n name: 'App 2',\n description: 'This is the first OIDC app',\n enabled: true,\n appType: SSOAppType.oidc,\n logo: 'logo2',\n },\n {\n id: 'ssoapp3',\n name: 'App 3',\n description: 'This is the second SAML app',\n enabled: true,\n appType: SSOAppType.saml,\n logo: 'logo3',\n samlSettings: {\n idpInitiatedUrl: '',\n },\n },\n ],\n });\n });\n\nconst ssoApps = {\n load,\n};\n\nexport { ssoApps };\n","import { apiPaths } from '../apiPaths';\nimport { HttpClient } from '../types';\nimport { withErrorHandler } from './helpers';\nimport { ssoApps } from './mocks';\n\nexport const createSsoAppsSdk = ({\n httpClient,\n mock,\n}: {\n httpClient: HttpClient;\n mock: boolean;\n}) => {\n const load = async () => {\n if (mock) {\n return ssoApps.load();\n }\n const res = await httpClient.get(apiPaths.ssoApps.load);\n\n await withErrorHandler(res);\n\n return res.json();\n };\n\n return {\n load,\n };\n};\n","export const withErrorHandler = async (res: Response) => {\n const text = await res.text();\n const json = JSON.parse(text);\n\n if (!res.ok) {\n const descopeErrorMsg = `${json.errorDescription}${\n json.errorMessage ? `: ${json.errorMessage}` : ''\n }`;\n throw Error(descopeErrorMsg || `${res.status} ${res.statusText}`);\n }\n\n res.json = () => Promise.resolve(json);\n res.text = () => Promise.resolve(text);\n};\n","import { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport {\n baseUrlMixin,\n cookieConfigMixin,\n loggerMixin,\n observeAttributesMixin,\n projectIdMixin,\n} from '@descope/sdk-mixins';\nimport { Sdk, createSdk } from '../api/sdk';\n\nexport const apiMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n projectIdMixin,\n observeAttributesMixin,\n loggerMixin,\n cookieConfigMixin,\n baseUrlMixin,\n )(superclass);\n\n return class ApiMixinClass extends BaseClass {\n #api: Sdk;\n\n #createSdk() {\n this.logger.debug('creating an sdk instance');\n this.#api = createSdk(\n {\n projectId: this.projectId,\n baseUrl: this.baseUrl,\n refreshCookieName: this.refreshCookieName,\n },\n this.mock === 'true',\n this.widgetId,\n );\n }\n\n get widgetId() {\n return this.getAttribute('widget-id');\n }\n\n get mock() {\n return this.getAttribute('mock');\n }\n\n get api() {\n if (!this.#api) {\n this.#createSdk();\n }\n\n return this.#api;\n }\n\n async init() {\n await super.init?.();\n\n this.observeAttributes(['project-id', 'base-url'], () => {\n if (this.#api) {\n this.#createSdk();\n }\n });\n }\n };\n },\n);\n","import createWebSdk from '@descope/web-js-sdk';\nimport { createSsoAppsSdk } from './createSsoAppsSdk';\n\ndeclare const BUILD_VERSION: string;\n\nexport const createSdk = (\n config: Parameters<typeof createWebSdk>[0],\n mock: boolean,\n widgetId?: string,\n) => {\n const webSdk = createWebSdk({\n ...config,\n persistTokens: true,\n baseHeaders: {\n 'x-descope-widget-type': 'applications-portal-widget',\n 'x-descope-widget-id': widgetId,\n 'x-descope-widget-version': BUILD_VERSION,\n },\n });\n\n return {\n ssoApps: createSsoAppsSdk({ httpClient: webSdk.httpClient, mock }),\n };\n};\n\nexport type Sdk = ReturnType<typeof createSdk>;\n","/* eslint-disable no-param-reassign */\nimport { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport {\n createStateManagementMixin,\n initLifecycleMixin,\n loggerMixin,\n} from '@descope/sdk-mixins';\nimport { loadSSOApps } from '../state/asyncActions';\nimport { initialState } from '../state/initialState';\nimport { apiMixin } from './apiMixin';\n\nexport const stateManagementMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n createStateManagementMixin({\n name: 'widget',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n loadSSOApps.reducer(builder);\n },\n asyncActions: {\n loadSSOApps: loadSSOApps.action,\n },\n }),\n initLifecycleMixin,\n loggerMixin,\n apiMixin,\n )(superclass);\n return class StateManagementMixinClass extends BaseClass {\n state = initialState;\n\n constructor(...args: any) {\n super(...args);\n\n this.subscribe((state) => {\n this.logger.debug('State update:', state);\n this.state = state;\n });\n }\n };\n },\n);\n","import { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport {\n createValidateAttributesMixin,\n staticResourcesMixin,\n} from '@descope/sdk-mixins';\n\nconst WIDGET_PAGES_BASE_DIR = 'applications-portal-widget';\n\nexport const fetchWidgetPagesMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) => {\n const BaseClass = compose(\n staticResourcesMixin,\n createValidateAttributesMixin({\n 'widget-id': createValidateAttributesMixin.missingAttrValidator,\n }),\n )(superclass);\n return class FetchWidgetPagesMixinClass extends BaseClass {\n get widgetId() {\n return this.getAttribute('widget-id');\n }\n\n async fetchWidgetPage(filename: string) {\n const res = await this.fetchStaticResource(\n `${WIDGET_PAGES_BASE_DIR}/${this.widgetId}/${filename}`,\n 'text',\n );\n return res.body;\n }\n };\n },\n);\n","import {\n compose,\n createSingletonMixin,\n createTemplate,\n} from '@descope/sdk-helpers';\nimport {\n descopeUiMixin,\n initElementMixin,\n initLifecycleMixin,\n loggerMixin,\n} from '@descope/sdk-mixins';\nimport { fetchWidgetPagesMixin } from '../../fetchWidgetPagesMixin';\nimport { stateManagementMixin } from '../../stateManagementMixin';\n\nexport const initWidgetRootMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n class InitWidgetRootMixinClass extends compose(\n loggerMixin,\n initLifecycleMixin,\n descopeUiMixin,\n initElementMixin,\n fetchWidgetPagesMixin,\n stateManagementMixin,\n )(superclass) {\n async #initWidgetRoot() {\n const template = createTemplate(\n // await import('../../../../../../test/mocks/rootMock').then(\n // (module) => module.default,\n // ),\n await this.fetchWidgetPage('root.html'),\n );\n await this.loadDescopeUiComponents(template);\n\n return template;\n }\n\n #renderTemplate(template: HTMLTemplateElement) {\n this.contentRootElement.append(template.content.cloneNode(true));\n }\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-empty-function\n async onWidgetRootReady() {}\n\n async init() {\n await super.init?.();\n\n const [template] = await Promise.all([\n this.#initWidgetRoot(),\n this.actions.loadSSOApps(),\n ]);\n // we want to render the template only after the data was fetched\n // so we won't show the apps-list empty state until the data is loaded\n this.#renderTemplate(template);\n\n this.onWidgetRootReady();\n }\n },\n);\n","import { AppsListDriver } from '@descope/sdk-component-drivers';\nimport { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport { loggerMixin } from '@descope/sdk-mixins';\nimport { getAppsList } from '../../../state/selectors';\nimport { stateManagementMixin } from '../../stateManagementMixin';\nimport { initWidgetRootMixin } from './initWidgetRootMixin';\n\nexport const initAppsListMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n class InitAppsListMixinClass extends compose(\n stateManagementMixin,\n loggerMixin,\n initWidgetRootMixin,\n )(superclass) {\n appsList: AppsListDriver;\n\n #initAppsList(appsList: ReturnType<typeof getAppsList>) {\n this.appsList = new AppsListDriver(\n () => this.shadowRoot?.querySelector('descope-apps-list'),\n { logger: this.logger },\n );\n this.appsList.data = appsList;\n }\n\n async onWidgetRootReady() {\n await super.onWidgetRootReady?.();\n this.#initAppsList(getAppsList(this.state));\n }\n },\n);\n","import { compose, createSingletonMixin } from '@descope/sdk-helpers';\nimport { debuggerMixin, themeMixin } from '@descope/sdk-mixins';\nimport { initAppsListMixin } from './initComponentsMixins/initAppsListMixin';\n\nexport const initMixin = createSingletonMixin(\n <T extends CustomElementConstructor>(superclass: T) =>\n // @ts-ignore\n class InitMixinClass extends compose(\n debuggerMixin,\n themeMixin,\n initAppsListMixin,\n )(superclass) {\n async init() {\n await super.init?.();\n }\n },\n);\n","import { compose } from '@descope/sdk-helpers';\nimport { initMixin } from './mixins/initMixin/initMixin';\n\nconst rootMixin = (superclass: CustomElementConstructor) =>\n class RootMixinClass extends initMixin(superclass) {};\n\nexport const ApplicationsPortalWidget = compose(rootMixin)(HTMLElement);\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { Unsubscribe } from 'redux'; // workaround for https://github.com/microsoft/TypeScript/issues/42873\nimport { ApplicationsPortalWidget } from './widget';\n\nexport default ApplicationsPortalWidget;\n\ncustomElements.define(\n 'descope-applications-portal-widget',\n ApplicationsPortalWidget,\n);\n"],"names":["SSOAppType","getSSOAppsList","state","ssoAppsList","data","getSamlApps","createSelector","_a","filter","call","app","appType","saml","getOidcWithCustomIdpInitiatedLoginPageUrlApps","oidc","oidcSettings","customIdpInitiatedLoginPageUrl","getAppsList","samlApps","oidcApps","map","name","icon","logo","url","samlSettings","idpInitiatedUrl","_b","action","createAsyncThunk","arg","extra","api","ssoApps","load","reducer","args","builder","addCase","pending","forEach","onPending","fulfilled","onFulfilled","rejected","onRejected","buildAsyncReducer","payload","apps","getStateSection","loading","error","loadSSOApps","initialState","apiPaths","__awaiter","Promise","resolve","id","description","enabled","createSsoAppsSdk","httpClient","mock","res","get","text","json","JSON","parse","ok","descopeErrorMsg","errorDescription","errorMessage","Error","status","statusText","withErrorHandler","apiMixin","createSingletonMixin","superclass","BaseClass","compose","projectIdMixin","observeAttributesMixin","loggerMixin","cookieConfigMixin","baseUrlMixin","constructor","_ApiMixinClass_api","set","this","widgetId","getAttribute","__classPrivateFieldGet","_ApiMixinClass_instances","_ApiMixinClass_createSdk","init","_super","observeAttributes","logger","debug","__classPrivateFieldSet","config","webSdk","createWebSdk","Object","assign","persistTokens","baseHeaders","createSdk","projectId","baseUrl","refreshCookieName","stateManagementMixin","createStateManagementMixin","reducers","extraReducers","asyncActions","initLifecycleMixin","super","subscribe","fetchWidgetPagesMixin","staticResourcesMixin","createValidateAttributesMixin","missingAttrValidator","fetchWidgetPage","filename","fetchStaticResource","body","initWidgetRootMixin","_InitWidgetRootMixinClass_instances","_InitWidgetRootMixinClass_initWidgetRoot","_InitWidgetRootMixinClass_renderTemplate","descopeUiMixin","initElementMixin","onWidgetRootReady","template","all","actions","createTemplate","loadDescopeUiComponents","contentRootElement","append","content","cloneNode","initAppsListMixin","_InitAppsListMixinClass_instances","_InitAppsListMixinClass_initAppsList","appsList","AppsListDriver","shadowRoot","querySelector","initMixin","debuggerMixin","themeMixin","ApplicationsPortalWidget","HTMLElement","customElements","define"],"mappings":"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"}