@descope/applications-portal-widget 0.3.9 → 0.3.11
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 +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/**
|
|
3
|
-
* @descope/applications-portal-widget v0.3.
|
|
3
|
+
* @descope/applications-portal-widget v0.3.11
|
|
4
4
|
*/
|
|
5
|
-
import{createSingletonMixin as t,compose as e,createTemplate as i}from"@descope/sdk-helpers";import{__awaiter as s,__classPrivateFieldGet as o,__classPrivateFieldSet as n}from"tslib";import{projectIdMixin as r,observeAttributesMixin as d,loggerMixin as a,cookieConfigMixin as l,baseUrlMixin as c,createStateManagementMixin as p,initLifecycleMixin as u,staticResourcesMixin as h,createValidateAttributesMixin as g,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 R=w((t=>t.ssoAppsList.data),(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))})),S=w(R,(t=>t.map((t=>({name:t.name,icon:t.logo,url:t.samlSettings.idpInitiatedUrl}))))),j=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)}))}))})(j)({onFulfilled:(t,e)=>{var i;t.ssoAppsList.data=null===(i=e.payload)||void 0===i?void 0:i.apps}},(C=t=>t.ssoAppsList,{onFulfilled:t=>{C(t).loading=!1},onPending:t=>{C(t).loading=!0,C(t).error=null},onRejected:(t,e)=>{C(t).loading=!1,C(t).error=e.error}}));var C;const I={action:j,reducer:W},O={ssoAppsList:{data:[],loading:!1,error:null}},T={load:"/v1/mgmt/sso/idp/apps/load"},L=()=>s(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:""}}]})}))})),P=({httpClient:t,mock:e})=>({load:()=>s(void 0,void 0,void 0,(function*(){if(e)return L();const i=yield t.get(T.load);return yield(t=>s(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()}))}),E=t((t=>{var i,p,u,h;const g=e(r,d,a,l,c)(t);return h=class extends g{constructor(){super(...arguments),i.add(this),p.set(this,void 0)}get widgetId(){return this.getAttribute("widget-id")}get mock(){return this.getAttribute("mock")}get api(){return o(this,p,"f")||o(this,i,"m",u).call(this),o(this,p,"f")}init(){const t=Object.create(null,{init:{get:()=>super.init}});return s(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"],(()=>{o(this,p,"f")&&o(this,i,"m",u).call(this)}))}))}},p=new WeakMap,i=new WeakSet,u=function(){this.logger.debug("creating an sdk instance"),n(this,p,((t,e,i)=>{const s=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.3.
|
|
5
|
+
import{createSingletonMixin as t,compose as e,createTemplate as i}from"@descope/sdk-helpers";import{__awaiter as s,__classPrivateFieldGet as o,__classPrivateFieldSet as n}from"tslib";import{projectIdMixin as r,observeAttributesMixin as d,loggerMixin as a,cookieConfigMixin as l,baseUrlMixin as c,createStateManagementMixin as p,initLifecycleMixin as u,staticResourcesMixin as h,createValidateAttributesMixin as g,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 R=w((t=>t.ssoAppsList.data),(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))})),S=w(R,(t=>t.map((t=>({name:t.name,icon:t.logo,url:t.samlSettings.idpInitiatedUrl}))))),j=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)}))}))})(j)({onFulfilled:(t,e)=>{var i;t.ssoAppsList.data=null===(i=e.payload)||void 0===i?void 0:i.apps}},(C=t=>t.ssoAppsList,{onFulfilled:t=>{C(t).loading=!1},onPending:t=>{C(t).loading=!0,C(t).error=null},onRejected:(t,e)=>{C(t).loading=!1,C(t).error=e.error}}));var C;const I={action:j,reducer:W},O={ssoAppsList:{data:[],loading:!1,error:null}},T={load:"/v1/mgmt/sso/idp/apps/load"},L=()=>s(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:""}}]})}))})),P=({httpClient:t,mock:e})=>({load:()=>s(void 0,void 0,void 0,(function*(){if(e)return L();const i=yield t.get(T.load);return yield(t=>s(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()}))}),E=t((t=>{var i,p,u,h;const g=e(r,d,a,l,c)(t);return h=class extends g{constructor(){super(...arguments),i.add(this),p.set(this,void 0)}get widgetId(){return this.getAttribute("widget-id")}get mock(){return this.getAttribute("mock")}get api(){return o(this,p,"f")||o(this,i,"m",u).call(this),o(this,p,"f")}init(){const t=Object.create(null,{init:{get:()=>super.init}});return s(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"],(()=>{o(this,p,"f")&&o(this,i,"m",u).call(this)}))}))}},p=new WeakMap,i=new WeakSet,u=function(){this.logger.debug("creating an sdk instance"),n(this,p,((t,e,i)=>{const s=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.3.11"}}));return{ssoApps:P({httpClient:s.httpClient,mock:e})}})({projectId:this.projectId,baseUrl:this.baseUrl,refreshCookieName:this.refreshCookieName},"true"===this.mock,this.widgetId),"f")},h})),$=t((t=>{const i=e(p({name:"widget",initialState:O,reducers:{},extraReducers:t=>{I.reducer(t)},asyncActions:{loadSSOApps:I.action}}),u,a,E)(t);return class extends i{constructor(...t){super(...t),this.state=O,this.subscribe((t=>{this.logger.debug("State update:",t),this.state=t}))}}})),M=t((t=>{const i=e(h,g({"widget-id":g.missingAttrValidator}))(t);return class extends i{get widgetId(){return this.getAttribute("widget-id")}fetchWidgetPage(t){return s(this,void 0,void 0,(function*(){return(yield this.fetchStaticResource(`applications-portal-widget/${this.widgetId}/${t}`,"text")).body}))}}})),U=t((t=>{var n,r,d,l;return l=class extends(e(a,u,v,m,M,$)(t)){constructor(){super(...arguments),n.add(this)}onWidgetRootReady(){return s(this,void 0,void 0,(function*(){}))}init(){const t=Object.create(null,{init:{get:()=>super.init}});return s(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([o(this,n,"m",r).call(this),this.actions.loadSSOApps()]);o(this,n,"m",d).call(this,i),this.onWidgetRootReady()}))}},n=new WeakSet,r=function(){return s(this,void 0,void 0,(function*(){const t=i(yield this.fetchWidgetPage("root.html"));return yield this.loadDescopeUiComponents(t),t}))},d=function(t){this.contentRootElement.append(t.content.cloneNode(!0))},l})),N=t((t=>{var i,n,r;return r=class extends(e($,a,U)(t)){constructor(){super(...arguments),i.add(this)}onWidgetRootReady(){const t=Object.create(null,{onWidgetRootReady:{get:()=>super.onWidgetRootReady}});return s(this,void 0,void 0,(function*(){var e;yield null===(e=t.onWidgetRootReady)||void 0===e?void 0:e.call(this),o(this,i,"m",n).call(this,S(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},r})),D=t((t=>class extends(e(f,y,N)(t)){init(){const t=Object.create(null,{init:{get:()=>super.init}});return s(this,void 0,void 0,(function*(){var e;yield null===(e=t.init)||void 0===e?void 0:e.call(this)}))}})),F=e((t=>class extends(D(t)){}))(HTMLElement);customElements.define("descope-applications-portal-widget",F);export{F as default};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -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\nexport type SSOApplication = {\n id: string;\n name: string;\n description?: string;\n enabled: boolean;\n appType: SSOAppType;\n logo?: string;\n samlSettings?: {\n idpInitiatedUrl: string;\n };\n};\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 getAppsList = createSelector(getSamlApps, (samlApps) =>\n samlApps.map((app) => ({\n name: app.name,\n icon: app.logo,\n url: app.samlSettings.idpInitiatedUrl,\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","getSamlApps","createSelector","state","ssoAppsList","data","_a","filter","call","app","appType","saml","getAppsList","samlApps","map","name","icon","logo","url","samlSettings","idpInitiatedUrl","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","oidc","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","_b","_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\nexport type SSOApplication = {\n id: string;\n name: string;\n description?: string;\n enabled: boolean;\n appType: SSOAppType;\n logo?: string;\n samlSettings?: {\n idpInitiatedUrl: string;\n };\n};\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 getAppsList = createSelector(getSamlApps, (samlApps) =>\n samlApps.map((app) => ({\n name: app.name,\n icon: app.logo,\n url: app.samlSettings.idpInitiatedUrl,\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","getSamlApps","createSelector","state","ssoAppsList","data","_a","filter","call","app","appType","saml","getAppsList","samlApps","map","name","icon","logo","url","samlSettings","idpInitiatedUrl","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","oidc","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","_b","_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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"}
|