@strivacity/sdk-vue 3.0.2 → 4.0.0-beta.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.
Files changed (61) hide show
  1. package/CHANGELOG.md +20 -18
  2. package/README.md +1402 -419
  3. package/dist/composables.cjs +2 -2
  4. package/dist/composables.cjs.map +1 -1
  5. package/dist/composables.d.ts +23 -8
  6. package/dist/composables.mjs +2 -2
  7. package/dist/composables.mjs.map +1 -1
  8. package/dist/errors.cjs +1 -0
  9. package/dist/errors.d.ts +1 -0
  10. package/dist/errors.mjs +1 -0
  11. package/dist/index.cjs +1 -2
  12. package/dist/index.d.ts +9 -31
  13. package/dist/index.mjs +1 -2
  14. package/dist/plugin.cjs +2 -0
  15. package/dist/plugin.cjs.map +1 -0
  16. package/dist/plugin.d.ts +8 -0
  17. package/dist/plugin.mjs +2 -0
  18. package/dist/plugin.mjs.map +1 -0
  19. package/dist/storages.cjs +1 -0
  20. package/dist/storages.d.ts +1 -0
  21. package/dist/storages.mjs +1 -0
  22. package/dist/types.cjs +1 -2
  23. package/dist/types.d.ts +106 -118
  24. package/dist/types.mjs +1 -2
  25. package/dist/utils.cjs +1 -0
  26. package/dist/utils.d.ts +1 -0
  27. package/dist/utils.mjs +1 -0
  28. package/eslint.config.mjs +3 -0
  29. package/package.json +45 -8
  30. package/project.json +46 -0
  31. package/src/composables.ts +219 -0
  32. package/src/env.d.ts +8 -0
  33. package/src/errors.ts +1 -0
  34. package/src/index.ts +9 -0
  35. package/src/plugin.ts +89 -0
  36. package/src/storages.ts +1 -0
  37. package/src/types.ts +220 -0
  38. package/src/utils.ts +1 -0
  39. package/testing/tests/composables.spec.ts +328 -0
  40. package/testing/tests/errors.spec.ts +10 -0
  41. package/testing/tests/index.spec.ts +105 -0
  42. package/testing/tests/plugin.spec.ts +129 -0
  43. package/testing/tests/storages.spec.ts +10 -0
  44. package/testing/tests/utils.spec.ts +10 -0
  45. package/testing/utils/common.ts +53 -0
  46. package/tsconfig.app.json +4 -0
  47. package/tsconfig.json +3 -0
  48. package/vite.config.mts +53 -0
  49. package/dist/assets/login-renderer.vue_vue_type_script_setup_true_lang.cjs +0 -2
  50. package/dist/assets/login-renderer.vue_vue_type_script_setup_true_lang.cjs.map +0 -1
  51. package/dist/assets/login-renderer.vue_vue_type_script_setup_true_lang.mjs +0 -2
  52. package/dist/assets/login-renderer.vue_vue_type_script_setup_true_lang.mjs.map +0 -1
  53. package/dist/index.cjs.map +0 -1
  54. package/dist/index.mjs.map +0 -1
  55. package/dist/login-renderer.cjs +0 -2
  56. package/dist/login-renderer.cjs.map +0 -1
  57. package/dist/login-renderer.mjs +0 -2
  58. package/dist/login-renderer.mjs.map +0 -1
  59. package/dist/login-renderer.vue.d.ts +0 -37
  60. package/dist/types.cjs.map +0 -1
  61. package/dist/types.mjs.map +0 -1
@@ -0,0 +1,53 @@
1
+ import { resolve, relative, extname } from 'node:path';
2
+ import { globSync } from 'node:fs';
3
+ import { defineConfig } from 'vite';
4
+ import { getVitestConfig } from '@strivacity/testing/vitest/config';
5
+ import vuePlugin from '@vitejs/plugin-vue';
6
+ import dtsPlugin from 'unplugin-dts/vite';
7
+
8
+ export default defineConfig({
9
+ plugins: [
10
+ vuePlugin({
11
+ template: {
12
+ compilerOptions: {
13
+ isCustomElement: (tag) => tag.startsWith('sty-'),
14
+ },
15
+ },
16
+ }),
17
+ dtsPlugin({
18
+ tsconfigPath: './tsconfig.app.json',
19
+ entryRoot: './src',
20
+ include: ['./src'],
21
+ }),
22
+ ],
23
+ build: {
24
+ reportCompressedSize: true,
25
+ emptyOutDir: true,
26
+ sourcemap: true,
27
+ rollupOptions: {
28
+ preserveEntrySignatures: 'allow-extension',
29
+ external: [/@strivacity/, /^vue/],
30
+ input: Object.fromEntries(
31
+ globSync('./src/**/*.{ts,vue}', { exclude: ['**/*.d.ts'] }).map((file) => [
32
+ relative('./src', file.slice(0, file.length - extname(file).length)),
33
+ resolve(file),
34
+ ]),
35
+ ),
36
+ output: [
37
+ {
38
+ format: 'esm',
39
+ entryFileNames: '[name].mjs',
40
+ chunkFileNames: 'assets/[name].mjs',
41
+ assetFileNames: 'assets/[name].[extname]',
42
+ },
43
+ {
44
+ format: 'commonjs',
45
+ entryFileNames: '[name].cjs',
46
+ chunkFileNames: 'assets/[name].cjs',
47
+ assetFileNames: 'assets/[name].[extname]',
48
+ },
49
+ ],
50
+ },
51
+ },
52
+ test: getVitestConfig('vue'),
53
+ });
@@ -1,2 +0,0 @@
1
- "use strict";const o=require("vue"),y=require("@strivacity/sdk-core"),N=require("@strivacity/sdk-core/utils/object"),S=require("../composables.cjs"),I={class:"login-renderer"},O=o.defineComponent({__name:"login-renderer",props:{params:{default:()=>({})},widgets:{default:()=>({})},language:{default:navigator.language},sessionId:{default:null}},emits:["login","fallback","close","error","globalMessage","blockReady","update:language"],setup(d,{emit:k}){const{sdk:u}=S.useStrivacity(),g=d,r=k,w=o.defineComponent({props:{items:{type:Array,default:()=>[]},widgets:{type:Object,default:()=>({})}},setup:e=>()=>e.items.map(t=>{if(t.type==="widget"){const n=a.value?.forms?.find(v=>v.id===t.formId),l=n?.widgets.find(v=>v.id===t.widgetId);if(!n||!l)return c(void 0,`Unable to find form or widget for item: formId=${t.formId}, widgetId=${t.widgetId}`),null;const b=e.widgets[l.type];return b?o.h(b,{key:`${n.id}.${l.id}`,formId:n.id,config:l}):(c(void 0,`No component found for widget type ${l.type}`),null)}else return t.type==="vertical"||t.type==="horizontal"?e.widgets.layout?o.h(e.widgets.layout,{formId:t.items[0].formId,type:t.type},()=>o.h(w,{items:t.items,widgets:e.widgets})):(c(void 0,"No layout component provided"),null):(c(void 0,"Unknown item type in layout"),null)})}),f=u.login(g.params),m=o.ref(!1),s=o.ref({}),i=o.ref({}),a=o.ref({});o.provide("nativeFlowContext",{loading:m,forms:s,messages:i,state:a,submitForm:F,triggerFallback:c,triggerClose:h,setFormValue:U,setMessage:C}),o.onMounted(async()=>{try{const e=await f.startSession(g.sessionId,g.language);r("update:language",f.language),e&&await p(e)}catch(e){e instanceof y.FallbackError?r("fallback",e):r("error",e)}});function c(e,t){const n=e||a.value.hostedUrl;if(u.logging?.warn(t?`Triggering fallback due to: ${t}`:"Triggering fallback"),!n){const l=new Error("No hosted URL provided");throw u.logging?.error("Fallback error",l),l}r("fallback",new y.FallbackError(new URL(n)))}function h(){r("close")}function U(e,t,n){n===""&&(n=null),s.value[e]===void 0&&(s.value[e]={}),s.value[e][t]=n}function C(e,t,n){i.value[e]===void 0&&(i.value[e]={}),i.value[e][t]=n}async function F(e){try{m.value=!0;const t=await f.submitForm(e,N.unflattenObject(s.value[e]));await p(t),m.value=!1}catch(t){t instanceof y.FallbackError?r("fallback",t):r("error",t)}}async function p(e){if(await u.isAuthenticated)r("login",u.idTokenClaims);else{const t=JSON.parse(JSON.stringify(a.value)),n={hostedUrl:e?.hostedUrl??a.value.hostedUrl,finalizeUrl:e?.finalizeUrl??a.value.finalizeUrl,screen:e?.screen??a.value.screen,forms:e?.forms??a.value.forms,layout:e?.layout??a.value.layout,messages:e?.messages??{},branding:e?.branding??a.value.branding};if(n.screen!=a.value.screen){s.value={},i.value={};for(const l of n.forms??[])s.value[l.id]={},i.value[l.id]={}}else u.logging?.info(`Updating screen: ${n.screen}`);Object.keys(n.messages??{}).forEach(l=>{l==="global"?r("globalMessage",n.messages?.global?.text??""):i.value[l]=n.messages[l]}),a.value=n,setTimeout(()=>{r("blockReady",{previousState:t,state:JSON.parse(JSON.stringify(a.value))})})}}return(e,t)=>(o.openBlock(),o.createElementBlock("div",I,[a.value.screen?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(d.widgets.layout),{key:0,formId:(a.value.layout?.items[0]).formId,type:a.value.layout?.type,tag:"form"},{default:o.withCtx(()=>[o.createVNode(o.unref(w),{items:a.value.layout?.items,widgets:d.widgets},null,8,["items","widgets"])]),_:1},8,["formId","type"])):(o.openBlock(),o.createBlock(o.resolveDynamicComponent(d.widgets.loading),{key:1}))]))}});exports._sfc_main=O;
2
- //# sourceMappingURL=login-renderer.vue_vue_type_script_setup_true_lang.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login-renderer.vue_vue_type_script_setup_true_lang.cjs","sources":["../../src/login-renderer.vue"],"sourcesContent":["<!-- eslint-disable no-console -->\n<script lang=\"ts\" setup>\nimport type { VNode, Component, PropType } from 'vue';\nimport type { PartialRecord, NativeParams, WidgetType, LayoutWidget, LoginFlowState, Widget, IdTokenClaims, LoginFlowMessage } from '@strivacity/sdk-core';\nimport type { NativeContext, NativeFlowContextValue } from './types';\nimport { defineComponent, provide, ref, h, onMounted } from 'vue';\nimport { FallbackError } from '@strivacity/sdk-core';\nimport { unflattenObject } from '@strivacity/sdk-core/utils/object';\nimport { useStrivacity } from './composables';\n\nconst { sdk } = useStrivacity<NativeContext>();\n\nconst props = withDefaults(\n\tdefineProps<{\n\t\tparams?: NativeParams;\n\t\twidgets?: PartialRecord<WidgetType, Component>;\n\t\tlanguage?: string | null;\n\t\tsessionId?: string | null;\n\t}>(),\n\t{\n\t\tparams: () => ({}),\n\t\twidgets: () => ({}),\n\t\tlanguage: navigator.language,\n\t\tsessionId: null,\n\t},\n);\nconst emit = defineEmits<{\n\tlogin: [IdTokenClaims | null | undefined];\n\tfallback: [FallbackError];\n\tclose: [];\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\terror: [any];\n\tglobalMessage: [string];\n\tblockReady: [{ previousState: LoginFlowState; state: LoginFlowState }];\n\t'update:language': [string | null];\n}>();\n\nconst WidgetRenderer = defineComponent({\n\tprops: {\n\t\titems: {\n\t\t\ttype: Array as PropType<LayoutWidget['items']>,\n\t\t\tdefault: () => [],\n\t\t},\n\t\twidgets: {\n\t\t\ttype: Object as PropType<PartialRecord<WidgetType, Component>>,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t},\n\tsetup: (props) => () =>\n\t\tprops.items.map((item): VNode | null => {\n\t\t\tif (item.type === 'widget') {\n\t\t\t\tconst form = state.value?.forms?.find((form) => form.id === item.formId);\n\t\t\t\tconst widget = form?.widgets.find((widget) => widget.id === item.widgetId);\n\n\t\t\t\tif (!form || !widget) {\n\t\t\t\t\ttriggerFallback(undefined, `Unable to find form or widget for item: formId=${item.formId}, widgetId=${item.widgetId}`);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst component = props.widgets[widget.type];\n\n\t\t\t\tif (!component) {\n\t\t\t\t\ttriggerFallback(undefined, `No component found for widget type ${widget.type}`);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn h(component, { key: `${form.id}.${widget.id}`, formId: form.id, config: widget });\n\t\t\t} else if (item.type === 'vertical' || item.type === 'horizontal') {\n\t\t\t\tif (!props.widgets.layout) {\n\t\t\t\t\ttriggerFallback(undefined, 'No layout component provided');\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn h(props.widgets.layout, { formId: (item.items[0] as Widget).formId, type: item.type }, () =>\n\t\t\t\t\th(WidgetRenderer, { items: item.items, widgets: props.widgets }),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\ttriggerFallback(undefined, 'Unknown item type in layout');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}),\n});\n\nconst loginHandler = sdk.login(props.params);\nconst loading = ref<boolean>(false);\nconst forms = ref<Record<string, Record<string, unknown>>>({});\nconst messages = ref<Record<string, Record<string, LoginFlowMessage>>>({});\nconst state = ref<LoginFlowState>({});\n\nprovide<NativeFlowContextValue>('nativeFlowContext', {\n\tloading,\n\tforms,\n\tmessages,\n\tstate,\n\tsubmitForm,\n\ttriggerFallback,\n\ttriggerClose,\n\tsetFormValue,\n\tsetMessage,\n});\n\nonMounted(async () => {\n\ttry {\n\t\tconst data = await loginHandler.startSession(props.sessionId, props.language);\n\t\temit('update:language', loginHandler.language);\n\n\t\tif (data) {\n\t\t\tawait handleResponse(data);\n\t\t}\n\t} catch (error) {\n\t\tif (error instanceof FallbackError) {\n\t\t\temit('fallback', error);\n\t\t} else {\n\t\t\temit('error', error);\n\t\t}\n\t}\n});\n\nfunction triggerFallback(hostedUrl?: string, message?: string): void {\n\tconst url = hostedUrl || state.value.hostedUrl;\n\n\tsdk.logging?.warn(message ? `Triggering fallback due to: ${message}` : 'Triggering fallback');\n\n\tif (!url) {\n\t\tconst error = new Error('No hosted URL provided');\n\t\tsdk.logging?.error('Fallback error', error);\n\t\tthrow error;\n\t}\n\n\temit('fallback', new FallbackError(new URL(url)));\n}\n\nfunction triggerClose(): void {\n\temit('close');\n}\n\nfunction setFormValue(formId: string, widgetId: string, value: unknown) {\n\tif (value === '') {\n\t\tvalue = null;\n\t}\n\n\tif (forms.value[formId] === undefined) {\n\t\tforms.value[formId] = {};\n\t}\n\n\tforms.value[formId][widgetId] = value;\n}\n\nfunction setMessage(formId: string, widgetId: string, value: LoginFlowMessage) {\n\tif (messages.value[formId] === undefined) {\n\t\tmessages.value[formId] = {};\n\t}\n\n\tmessages.value[formId][widgetId] = value;\n}\n\nasync function submitForm(formId: string): Promise<void> {\n\ttry {\n\t\tloading.value = true;\n\n\t\tconst data = await loginHandler.submitForm(formId, unflattenObject(forms.value[formId]));\n\t\tawait handleResponse(data);\n\n\t\tloading.value = false;\n\t} catch (error) {\n\t\tif (error instanceof FallbackError) {\n\t\t\temit('fallback', error);\n\t\t} else {\n\t\t\temit('error', error);\n\t\t}\n\t}\n}\n\nasync function handleResponse(data?: LoginFlowState) {\n\tif (await sdk.isAuthenticated) {\n\t\temit('login', sdk.idTokenClaims);\n\t} else {\n\t\tconst previousState = JSON.parse(JSON.stringify(state.value));\n\t\tconst newState: LoginFlowState = {\n\t\t\thostedUrl: data?.hostedUrl ?? state.value.hostedUrl,\n\t\t\tfinalizeUrl: data?.finalizeUrl ?? state.value.finalizeUrl,\n\t\t\tscreen: data?.screen ?? state.value.screen,\n\t\t\tforms: data?.forms ?? state.value.forms,\n\t\t\tlayout: data?.layout ?? state.value.layout,\n\t\t\tmessages: data?.messages ?? {},\n\t\t\tbranding: data?.branding ?? state.value.branding,\n\t\t};\n\n\t\tif (newState.screen != state.value.screen) {\n\t\t\tforms.value = {};\n\t\t\tmessages.value = {};\n\n\t\t\tfor (const form of newState.forms ?? []) {\n\t\t\t\tforms.value[form.id] = {};\n\t\t\t\tmessages.value[form.id] = {};\n\t\t\t}\n\t\t} else {\n\t\t\tsdk.logging?.info(`Updating screen: ${newState.screen}`);\n\t\t}\n\n\t\tObject.keys(newState.messages ?? {}).forEach((formId) => {\n\t\t\tif (formId === 'global') {\n\t\t\t\temit('globalMessage', newState.messages?.global?.text ?? '');\n\t\t\t} else {\n\t\t\t\tmessages.value[formId] = newState.messages![formId];\n\t\t\t}\n\t\t});\n\n\t\tstate.value = newState;\n\n\t\tsetTimeout(() => {\n\t\t\temit('blockReady', { previousState, state: JSON.parse(JSON.stringify(state.value)) });\n\t\t});\n\t}\n}\n</script>\n\n<template>\n\t<div class=\"login-renderer\">\n\t\t<component :is=\"widgets.layout\" v-if=\"state.screen\" :formId=\"(state.layout?.items[0] as Widget).formId\" :type=\"state.layout?.type\" tag=\"form\">\n\t\t\t<WidgetRenderer :items=\"state.layout?.items\" :widgets=\"widgets\" />\n\t\t</component>\n\t\t<component :is=\"widgets.loading\" v-else />\n\t</div>\n</template>\n"],"names":["sdk","useStrivacity","props","__props","emit","__emit","WidgetRenderer","defineComponent","item","form","state","widget","triggerFallback","component","h","loginHandler","loading","ref","forms","messages","provide","submitForm","triggerClose","setFormValue","setMessage","onMounted","data","handleResponse","error","FallbackError","hostedUrl","message","url","formId","widgetId","value","unflattenObject","previousState","newState","_openBlock","_createElementBlock","_hoisted_1","_createBlock","_resolveDynamicComponent","_createVNode","_unref"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{defineComponent as U,ref as g,h as y,provide as R,onMounted as x,createElementBlock as z,openBlock as w,createBlock as N,resolveDynamicComponent as S,withCtx as E,createVNode as J,unref as M}from"vue";import{FallbackError as p}from"@strivacity/sdk-core";import{unflattenObject as T}from"@strivacity/sdk-core/utils/object";import{useStrivacity as _}from"../composables.mjs";const j={class:"login-renderer"},D=U({__name:"login-renderer",props:{params:{default:()=>({})},widgets:{default:()=>({})},language:{default:navigator.language},sessionId:{default:null}},emits:["login","fallback","close","error","globalMessage","blockReady","update:language"],setup(d,{emit:F}){const{sdk:i}=_(),c=d,l=F,b=U({props:{items:{type:Array,default:()=>[]},widgets:{type:Object,default:()=>({})}},setup:e=>()=>e.items.map(t=>{if(t.type==="widget"){const o=a.value?.forms?.find(v=>v.id===t.formId),n=o?.widgets.find(v=>v.id===t.widgetId);if(!o||!n)return u(void 0,`Unable to find form or widget for item: formId=${t.formId}, widgetId=${t.widgetId}`),null;const h=e.widgets[n.type];return h?y(h,{key:`${o.id}.${n.id}`,formId:o.id,config:n}):(u(void 0,`No component found for widget type ${n.type}`),null)}else return t.type==="vertical"||t.type==="horizontal"?e.widgets.layout?y(e.widgets.layout,{formId:t.items[0].formId,type:t.type},()=>y(b,{items:t.items,widgets:e.widgets})):(u(void 0,"No layout component provided"),null):(u(void 0,"Unknown item type in layout"),null)})}),f=i.login(c.params),m=g(!1),s=g({}),r=g({}),a=g({});R("nativeFlowContext",{loading:m,forms:s,messages:r,state:a,submitForm:C,triggerFallback:u,triggerClose:I,setFormValue:O,setMessage:$}),x(async()=>{try{const e=await f.startSession(c.sessionId,c.language);l("update:language",f.language),e&&await k(e)}catch(e){e instanceof p?l("fallback",e):l("error",e)}});function u(e,t){const o=e||a.value.hostedUrl;if(i.logging?.warn(t?`Triggering fallback due to: ${t}`:"Triggering fallback"),!o){const n=new Error("No hosted URL provided");throw i.logging?.error("Fallback error",n),n}l("fallback",new p(new URL(o)))}function I(){l("close")}function O(e,t,o){o===""&&(o=null),s.value[e]===void 0&&(s.value[e]={}),s.value[e][t]=o}function $(e,t,o){r.value[e]===void 0&&(r.value[e]={}),r.value[e][t]=o}async function C(e){try{m.value=!0;const t=await f.submitForm(e,T(s.value[e]));await k(t),m.value=!1}catch(t){t instanceof p?l("fallback",t):l("error",t)}}async function k(e){if(await i.isAuthenticated)l("login",i.idTokenClaims);else{const t=JSON.parse(JSON.stringify(a.value)),o={hostedUrl:e?.hostedUrl??a.value.hostedUrl,finalizeUrl:e?.finalizeUrl??a.value.finalizeUrl,screen:e?.screen??a.value.screen,forms:e?.forms??a.value.forms,layout:e?.layout??a.value.layout,messages:e?.messages??{},branding:e?.branding??a.value.branding};if(o.screen!=a.value.screen){s.value={},r.value={};for(const n of o.forms??[])s.value[n.id]={},r.value[n.id]={}}else i.logging?.info(`Updating screen: ${o.screen}`);Object.keys(o.messages??{}).forEach(n=>{n==="global"?l("globalMessage",o.messages?.global?.text??""):r.value[n]=o.messages[n]}),a.value=o,setTimeout(()=>{l("blockReady",{previousState:t,state:JSON.parse(JSON.stringify(a.value))})})}}return(e,t)=>(w(),z("div",j,[a.value.screen?(w(),N(S(d.widgets.layout),{key:0,formId:(a.value.layout?.items[0]).formId,type:a.value.layout?.type,tag:"form"},{default:E(()=>[J(M(b),{items:a.value.layout?.items,widgets:d.widgets},null,8,["items","widgets"])]),_:1},8,["formId","type"])):(w(),N(S(d.widgets.loading),{key:1}))]))}});export{D as _};
2
- //# sourceMappingURL=login-renderer.vue_vue_type_script_setup_true_lang.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login-renderer.vue_vue_type_script_setup_true_lang.mjs","sources":["../../src/login-renderer.vue"],"sourcesContent":["<!-- eslint-disable no-console -->\n<script lang=\"ts\" setup>\nimport type { VNode, Component, PropType } from 'vue';\nimport type { PartialRecord, NativeParams, WidgetType, LayoutWidget, LoginFlowState, Widget, IdTokenClaims, LoginFlowMessage } from '@strivacity/sdk-core';\nimport type { NativeContext, NativeFlowContextValue } from './types';\nimport { defineComponent, provide, ref, h, onMounted } from 'vue';\nimport { FallbackError } from '@strivacity/sdk-core';\nimport { unflattenObject } from '@strivacity/sdk-core/utils/object';\nimport { useStrivacity } from './composables';\n\nconst { sdk } = useStrivacity<NativeContext>();\n\nconst props = withDefaults(\n\tdefineProps<{\n\t\tparams?: NativeParams;\n\t\twidgets?: PartialRecord<WidgetType, Component>;\n\t\tlanguage?: string | null;\n\t\tsessionId?: string | null;\n\t}>(),\n\t{\n\t\tparams: () => ({}),\n\t\twidgets: () => ({}),\n\t\tlanguage: navigator.language,\n\t\tsessionId: null,\n\t},\n);\nconst emit = defineEmits<{\n\tlogin: [IdTokenClaims | null | undefined];\n\tfallback: [FallbackError];\n\tclose: [];\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\terror: [any];\n\tglobalMessage: [string];\n\tblockReady: [{ previousState: LoginFlowState; state: LoginFlowState }];\n\t'update:language': [string | null];\n}>();\n\nconst WidgetRenderer = defineComponent({\n\tprops: {\n\t\titems: {\n\t\t\ttype: Array as PropType<LayoutWidget['items']>,\n\t\t\tdefault: () => [],\n\t\t},\n\t\twidgets: {\n\t\t\ttype: Object as PropType<PartialRecord<WidgetType, Component>>,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t},\n\tsetup: (props) => () =>\n\t\tprops.items.map((item): VNode | null => {\n\t\t\tif (item.type === 'widget') {\n\t\t\t\tconst form = state.value?.forms?.find((form) => form.id === item.formId);\n\t\t\t\tconst widget = form?.widgets.find((widget) => widget.id === item.widgetId);\n\n\t\t\t\tif (!form || !widget) {\n\t\t\t\t\ttriggerFallback(undefined, `Unable to find form or widget for item: formId=${item.formId}, widgetId=${item.widgetId}`);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst component = props.widgets[widget.type];\n\n\t\t\t\tif (!component) {\n\t\t\t\t\ttriggerFallback(undefined, `No component found for widget type ${widget.type}`);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn h(component, { key: `${form.id}.${widget.id}`, formId: form.id, config: widget });\n\t\t\t} else if (item.type === 'vertical' || item.type === 'horizontal') {\n\t\t\t\tif (!props.widgets.layout) {\n\t\t\t\t\ttriggerFallback(undefined, 'No layout component provided');\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn h(props.widgets.layout, { formId: (item.items[0] as Widget).formId, type: item.type }, () =>\n\t\t\t\t\th(WidgetRenderer, { items: item.items, widgets: props.widgets }),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\ttriggerFallback(undefined, 'Unknown item type in layout');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}),\n});\n\nconst loginHandler = sdk.login(props.params);\nconst loading = ref<boolean>(false);\nconst forms = ref<Record<string, Record<string, unknown>>>({});\nconst messages = ref<Record<string, Record<string, LoginFlowMessage>>>({});\nconst state = ref<LoginFlowState>({});\n\nprovide<NativeFlowContextValue>('nativeFlowContext', {\n\tloading,\n\tforms,\n\tmessages,\n\tstate,\n\tsubmitForm,\n\ttriggerFallback,\n\ttriggerClose,\n\tsetFormValue,\n\tsetMessage,\n});\n\nonMounted(async () => {\n\ttry {\n\t\tconst data = await loginHandler.startSession(props.sessionId, props.language);\n\t\temit('update:language', loginHandler.language);\n\n\t\tif (data) {\n\t\t\tawait handleResponse(data);\n\t\t}\n\t} catch (error) {\n\t\tif (error instanceof FallbackError) {\n\t\t\temit('fallback', error);\n\t\t} else {\n\t\t\temit('error', error);\n\t\t}\n\t}\n});\n\nfunction triggerFallback(hostedUrl?: string, message?: string): void {\n\tconst url = hostedUrl || state.value.hostedUrl;\n\n\tsdk.logging?.warn(message ? `Triggering fallback due to: ${message}` : 'Triggering fallback');\n\n\tif (!url) {\n\t\tconst error = new Error('No hosted URL provided');\n\t\tsdk.logging?.error('Fallback error', error);\n\t\tthrow error;\n\t}\n\n\temit('fallback', new FallbackError(new URL(url)));\n}\n\nfunction triggerClose(): void {\n\temit('close');\n}\n\nfunction setFormValue(formId: string, widgetId: string, value: unknown) {\n\tif (value === '') {\n\t\tvalue = null;\n\t}\n\n\tif (forms.value[formId] === undefined) {\n\t\tforms.value[formId] = {};\n\t}\n\n\tforms.value[formId][widgetId] = value;\n}\n\nfunction setMessage(formId: string, widgetId: string, value: LoginFlowMessage) {\n\tif (messages.value[formId] === undefined) {\n\t\tmessages.value[formId] = {};\n\t}\n\n\tmessages.value[formId][widgetId] = value;\n}\n\nasync function submitForm(formId: string): Promise<void> {\n\ttry {\n\t\tloading.value = true;\n\n\t\tconst data = await loginHandler.submitForm(formId, unflattenObject(forms.value[formId]));\n\t\tawait handleResponse(data);\n\n\t\tloading.value = false;\n\t} catch (error) {\n\t\tif (error instanceof FallbackError) {\n\t\t\temit('fallback', error);\n\t\t} else {\n\t\t\temit('error', error);\n\t\t}\n\t}\n}\n\nasync function handleResponse(data?: LoginFlowState) {\n\tif (await sdk.isAuthenticated) {\n\t\temit('login', sdk.idTokenClaims);\n\t} else {\n\t\tconst previousState = JSON.parse(JSON.stringify(state.value));\n\t\tconst newState: LoginFlowState = {\n\t\t\thostedUrl: data?.hostedUrl ?? state.value.hostedUrl,\n\t\t\tfinalizeUrl: data?.finalizeUrl ?? state.value.finalizeUrl,\n\t\t\tscreen: data?.screen ?? state.value.screen,\n\t\t\tforms: data?.forms ?? state.value.forms,\n\t\t\tlayout: data?.layout ?? state.value.layout,\n\t\t\tmessages: data?.messages ?? {},\n\t\t\tbranding: data?.branding ?? state.value.branding,\n\t\t};\n\n\t\tif (newState.screen != state.value.screen) {\n\t\t\tforms.value = {};\n\t\t\tmessages.value = {};\n\n\t\t\tfor (const form of newState.forms ?? []) {\n\t\t\t\tforms.value[form.id] = {};\n\t\t\t\tmessages.value[form.id] = {};\n\t\t\t}\n\t\t} else {\n\t\t\tsdk.logging?.info(`Updating screen: ${newState.screen}`);\n\t\t}\n\n\t\tObject.keys(newState.messages ?? {}).forEach((formId) => {\n\t\t\tif (formId === 'global') {\n\t\t\t\temit('globalMessage', newState.messages?.global?.text ?? '');\n\t\t\t} else {\n\t\t\t\tmessages.value[formId] = newState.messages![formId];\n\t\t\t}\n\t\t});\n\n\t\tstate.value = newState;\n\n\t\tsetTimeout(() => {\n\t\t\temit('blockReady', { previousState, state: JSON.parse(JSON.stringify(state.value)) });\n\t\t});\n\t}\n}\n</script>\n\n<template>\n\t<div class=\"login-renderer\">\n\t\t<component :is=\"widgets.layout\" v-if=\"state.screen\" :formId=\"(state.layout?.items[0] as Widget).formId\" :type=\"state.layout?.type\" tag=\"form\">\n\t\t\t<WidgetRenderer :items=\"state.layout?.items\" :widgets=\"widgets\" />\n\t\t</component>\n\t\t<component :is=\"widgets.loading\" v-else />\n\t</div>\n</template>\n"],"names":["sdk","useStrivacity","props","__props","emit","__emit","WidgetRenderer","defineComponent","item","form","state","widget","triggerFallback","component","h","loginHandler","loading","ref","forms","messages","provide","submitForm","triggerClose","setFormValue","setMessage","onMounted","data","handleResponse","error","FallbackError","hostedUrl","message","url","formId","widgetId","value","unflattenObject","previousState","newState","_openBlock","_createElementBlock","_hoisted_1","_createBlock","_resolveDynamicComponent","_createVNode","_unref"],"mappings":"kqBAUA,KAAM,CAAE,IAAAA,CAAA,EAAQC,EAAA,EAEVC,EAAQC,EAcRC,EAAOC,EAWPC,EAAiBC,EAAgB,CACtC,MAAO,CACN,MAAO,CACN,KAAM,MACN,QAAS,IAAM,CAAA,CAAC,EAEjB,QAAS,CACR,KAAM,OACN,QAAS,KAAO,CAAA,EAAC,CAClB,EAED,MAAQL,GAAU,IACjBA,EAAM,MAAM,IAAKM,GAAuB,CACvC,GAAIA,EAAK,OAAS,SAAU,CAC3B,MAAMC,EAAOC,EAAM,OAAO,OAAO,KAAMD,GAASA,EAAK,KAAOD,EAAK,MAAM,EACjEG,EAASF,GAAM,QAAQ,KAAME,GAAWA,EAAO,KAAOH,EAAK,QAAQ,EAEzE,GAAI,CAACC,GAAQ,CAACE,EACb,OAAAC,EAAgB,OAAW,kDAAkDJ,EAAK,MAAM,cAAcA,EAAK,QAAQ,EAAE,EAC9G,KAGR,MAAMK,EAAYX,EAAM,QAAQS,EAAO,IAAI,EAE3C,OAAKE,EAKEC,EAAED,EAAW,CAAE,IAAK,GAAGJ,EAAK,EAAE,IAAIE,EAAO,EAAE,GAAI,OAAQF,EAAK,GAAI,OAAQE,EAAQ,GAJtFC,EAAgB,OAAW,sCAAsCD,EAAO,IAAI,EAAE,EACvE,KAIT,aAAWH,EAAK,OAAS,YAAcA,EAAK,OAAS,aAC/CN,EAAM,QAAQ,OAKZY,EAAEZ,EAAM,QAAQ,OAAQ,CAAE,OAASM,EAAK,MAAM,CAAC,EAAa,OAAQ,KAAMA,EAAK,IAAA,EAAQ,IAC7FM,EAAER,EAAgB,CAAE,MAAOE,EAAK,MAAO,QAASN,EAAM,OAAA,CAAS,CAAA,GAL/DU,EAAgB,OAAW,8BAA8B,EAClD,OAORA,EAAgB,OAAW,6BAA6B,EACjD,KAET,CAAC,CAAA,CACF,EAEKG,EAAef,EAAI,MAAME,EAAM,MAAM,EACrCc,EAAUC,EAAa,EAAK,EAC5BC,EAAQD,EAA6C,EAAE,EACvDE,EAAWF,EAAsD,EAAE,EACnEP,EAAQO,EAAoB,EAAE,EAEpCG,EAAgC,oBAAqB,CACpD,QAAAJ,EACA,MAAAE,EACA,SAAAC,EACA,MAAAT,EACA,WAAAW,EACA,gBAAAT,EACA,aAAAU,EACA,aAAAC,EACA,WAAAC,CAAA,CACA,EAEDC,EAAU,SAAY,CACrB,GAAI,CACH,MAAMC,EAAO,MAAMX,EAAa,aAAab,EAAM,UAAWA,EAAM,QAAQ,EAC5EE,EAAK,kBAAmBW,EAAa,QAAQ,EAEzCW,GACH,MAAMC,EAAeD,CAAI,CAE3B,OAASE,EAAO,CACXA,aAAiBC,EACpBzB,EAAK,WAAYwB,CAAK,EAEtBxB,EAAK,QAASwB,CAAK,CAErB,CACD,CAAC,EAED,SAAShB,EAAgBkB,EAAoBC,EAAwB,CACpE,MAAMC,EAAMF,GAAapB,EAAM,MAAM,UAIrC,GAFAV,EAAI,SAAS,KAAK+B,EAAU,+BAA+BA,CAAO,GAAK,qBAAqB,EAExF,CAACC,EAAK,CACT,MAAMJ,EAAQ,IAAI,MAAM,wBAAwB,EAChD,MAAA5B,EAAI,SAAS,MAAM,iBAAkB4B,CAAK,EACpCA,CACP,CAEAxB,EAAK,WAAY,IAAIyB,EAAc,IAAI,IAAIG,CAAG,CAAC,CAAC,CACjD,CAEA,SAASV,GAAqB,CAC7BlB,EAAK,OAAO,CACb,CAEA,SAASmB,EAAaU,EAAgBC,EAAkBC,EAAgB,CACnEA,IAAU,KACbA,EAAQ,MAGLjB,EAAM,MAAMe,CAAM,IAAM,SAC3Bf,EAAM,MAAMe,CAAM,EAAI,CAAA,GAGvBf,EAAM,MAAMe,CAAM,EAAEC,CAAQ,EAAIC,CACjC,CAEA,SAASX,EAAWS,EAAgBC,EAAkBC,EAAyB,CAC1EhB,EAAS,MAAMc,CAAM,IAAM,SAC9Bd,EAAS,MAAMc,CAAM,EAAI,CAAA,GAG1Bd,EAAS,MAAMc,CAAM,EAAEC,CAAQ,EAAIC,CACpC,CAEA,eAAed,EAAWY,EAA+B,CACxD,GAAI,CACHjB,EAAQ,MAAQ,GAEhB,MAAMU,EAAO,MAAMX,EAAa,WAAWkB,EAAQG,EAAgBlB,EAAM,MAAMe,CAAM,CAAC,CAAC,EACvF,MAAMN,EAAeD,CAAI,EAEzBV,EAAQ,MAAQ,EACjB,OAASY,EAAO,CACXA,aAAiBC,EACpBzB,EAAK,WAAYwB,CAAK,EAEtBxB,EAAK,QAASwB,CAAK,CAErB,CACD,CAEA,eAAeD,EAAeD,EAAuB,CACpD,GAAI,MAAM1B,EAAI,gBACbI,EAAK,QAASJ,EAAI,aAAa,MACzB,CACN,MAAMqC,EAAgB,KAAK,MAAM,KAAK,UAAU3B,EAAM,KAAK,CAAC,EACtD4B,EAA2B,CAChC,UAAWZ,GAAM,WAAahB,EAAM,MAAM,UAC1C,YAAagB,GAAM,aAAehB,EAAM,MAAM,YAC9C,OAAQgB,GAAM,QAAUhB,EAAM,MAAM,OACpC,MAAOgB,GAAM,OAAShB,EAAM,MAAM,MAClC,OAAQgB,GAAM,QAAUhB,EAAM,MAAM,OACpC,SAAUgB,GAAM,UAAY,CAAA,EAC5B,SAAUA,GAAM,UAAYhB,EAAM,MAAM,QAAA,EAGzC,GAAI4B,EAAS,QAAU5B,EAAM,MAAM,OAAQ,CAC1CQ,EAAM,MAAQ,CAAA,EACdC,EAAS,MAAQ,CAAA,EAEjB,UAAWV,KAAQ6B,EAAS,OAAS,CAAA,EACpCpB,EAAM,MAAMT,EAAK,EAAE,EAAI,CAAA,EACvBU,EAAS,MAAMV,EAAK,EAAE,EAAI,CAAA,CAE5B,MACCT,EAAI,SAAS,KAAK,oBAAoBsC,EAAS,MAAM,EAAE,EAGxD,OAAO,KAAKA,EAAS,UAAY,CAAA,CAAE,EAAE,QAASL,GAAW,CACpDA,IAAW,SACd7B,EAAK,gBAAiBkC,EAAS,UAAU,QAAQ,MAAQ,EAAE,EAE3DnB,EAAS,MAAMc,CAAM,EAAIK,EAAS,SAAUL,CAAM,CAEpD,CAAC,EAEDvB,EAAM,MAAQ4B,EAEd,WAAW,IAAM,CAChBlC,EAAK,aAAc,CAAE,cAAAiC,EAAe,MAAO,KAAK,MAAM,KAAK,UAAU3B,EAAM,KAAK,CAAC,CAAA,CAAG,CACrF,CAAC,CACF,CACD,eAIC6B,EAAA,EAAAC,EAKM,MALNC,EAKM,CAJiC/B,EAAA,MAAM,YAA5CgC,EAEYC,EAFIxC,EAAA,QAAQ,MAAM,EAAA,OAAuB,QAASO,EAAA,MAAM,QAAQ,UAAoB,OAAS,KAAMA,EAAA,MAAM,QAAQ,KAAM,IAAI,MAAA,aACtI,IAAkE,CAAlEkC,EAAkEC,EAAAvC,CAAA,EAAA,CAAjD,MAAOI,EAAA,MAAM,QAAQ,MAAQ,QAASP,EAAA,OAAA,gEAExDuC,EAA0CC,EAA1BxC,EAAA,QAAQ,OAAO,EAAA,CAAA,IAAA,EAAA,EAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import type { IdTokenClaims, SDKOptions } from '@strivacity/sdk-core';\nimport type { PopupFlow } from '@strivacity/sdk-core/flows/PopupFlow';\nimport type { RedirectFlow } from '@strivacity/sdk-core/flows/RedirectFlow';\nimport type { NativeFlow } from '@strivacity/sdk-core/flows/NativeFlow';\nimport { type App, ref } from 'vue';\nimport { initFlow } from '@strivacity/sdk-core';\nimport { HttpClient } from '@strivacity/sdk-core/utils/HttpClient';\nimport { DefaultLogging } from '@strivacity/sdk-core/utils/Logging';\nimport { LocalStorage } from '@strivacity/sdk-core/storages/LocalStorage';\nimport { SessionStorage } from '@strivacity/sdk-core/storages/SessionStorage';\nimport { STRIVACITY_SDK, useStrivacity } from './composables';\nimport LoginRendererComponent from './login-renderer.vue';\n\nexport * from '@strivacity/sdk-core';\nexport { createCredential, getCredential } from '@strivacity/sdk-core/utils/credentials';\nexport type * from './types';\nexport type { PopupFlow, RedirectFlow, NativeFlow };\nexport { HttpClient, DefaultLogging, LocalStorage, SessionStorage, useStrivacity };\n\n/**\n * Checks if the user is authenticated.\n *\n * @returns {Promise<boolean>} A promise that resolves to `true` if the user is authenticated, otherwise `false`.\n */\nexport let isAuthenticated: () => Promise<boolean> = () => Promise.resolve(false);\n\n/**\n * Creates a Strivacity SDK plugin for Vue.\n *\n * @param {SDKOptions} options - The options used to configure the SDK.\n *\n * @returns {Plugin} A Vue plugin that can be installed in the application.\n */\nexport const createStrivacitySDK = (options: SDKOptions) => {\n\tconst sdk = initFlow(options) as NativeFlow | PopupFlow | RedirectFlow;\n\n\tconst plugin = {\n\t\tinstall: (app: App) => {\n\t\t\tconst loadingRef = ref<boolean>(true);\n\t\t\tconst optionsRef = ref<SDKOptions>(sdk.options);\n\t\t\tconst isAuthenticatedRef = ref<boolean>(false);\n\t\t\tconst idTokenClaimsRef = ref<IdTokenClaims | null>(null);\n\t\t\tconst accessTokenRef = ref<string | null>(null);\n\t\t\tconst refreshTokenRef = ref<string | null>(null);\n\t\t\tconst accessTokenExpiredRef = ref<boolean>(true);\n\t\t\tconst accessTokenExpirationDateRef = ref<number | null>(null);\n\n\t\t\tconst updateSession = async () => {\n\t\t\t\tisAuthenticatedRef.value = await sdk.isAuthenticated;\n\t\t\t\tidTokenClaimsRef.value = sdk.idTokenClaims || null;\n\t\t\t\taccessTokenRef.value = sdk.accessToken || null;\n\t\t\t\trefreshTokenRef.value = sdk.refreshToken || null;\n\t\t\t\taccessTokenExpiredRef.value = sdk.accessTokenExpired;\n\t\t\t\taccessTokenExpirationDateRef.value = sdk.accessTokenExpirationDate || null;\n\n\t\t\t\tif (loadingRef.value) {\n\t\t\t\t\tloadingRef.value = false;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tisAuthenticated = () => sdk.isAuthenticated;\n\n\t\t\tsdk.subscribeToEvent('init', updateSession);\n\t\t\tsdk.subscribeToEvent('loggedIn', updateSession);\n\t\t\tsdk.subscribeToEvent('sessionLoaded', updateSession);\n\t\t\tsdk.subscribeToEvent('tokenRefreshed', updateSession);\n\t\t\tsdk.subscribeToEvent('tokenRefreshFailed', updateSession);\n\t\t\tsdk.subscribeToEvent('logoutInitiated', updateSession);\n\t\t\tsdk.subscribeToEvent('tokenRevoked', updateSession);\n\t\t\tsdk.subscribeToEvent('tokenRevokeFailed', updateSession);\n\n\t\t\tapp.component('StyLoginRenderer', LoginRendererComponent);\n\t\t\tapp.provide(STRIVACITY_SDK, {\n\t\t\t\tsdk: sdk,\n\t\t\t\tloading: loadingRef,\n\t\t\t\toptions: optionsRef,\n\t\t\t\tisAuthenticated: isAuthenticatedRef,\n\t\t\t\tidTokenClaims: idTokenClaimsRef,\n\t\t\t\taccessToken: accessTokenRef,\n\t\t\t\trefreshToken: refreshTokenRef,\n\t\t\t\taccessTokenExpired: accessTokenExpiredRef,\n\t\t\t\taccessTokenExpirationDate: accessTokenExpirationDateRef,\n\n\t\t\t\tlogin: async (options?: Parameters<PopupFlow['login'] | RedirectFlow['login'] | NativeFlow['login']>[0]) => {\n\t\t\t\t\tif (sdk.options.mode === 'native') {\n\t\t\t\t\t\treturn sdk.login(options);\n\t\t\t\t\t}\n\n\t\t\t\t\tawait sdk.login(options);\n\t\t\t\t\tawait updateSession();\n\t\t\t\t},\n\t\t\t\tregister: async (options?: Parameters<PopupFlow['register'] | RedirectFlow['register'] | NativeFlow['register']>[0]) => {\n\t\t\t\t\tif (sdk.options.mode === 'native') {\n\t\t\t\t\t\treturn sdk.register(options);\n\t\t\t\t\t}\n\n\t\t\t\t\tawait sdk.register(options);\n\t\t\t\t\tawait updateSession();\n\t\t\t\t},\n\t\t\t\tentry: async (url?: string) => {\n\t\t\t\t\treturn await sdk.entry(url);\n\t\t\t\t},\n\t\t\t\trefresh: async () => {\n\t\t\t\t\tawait sdk.refresh();\n\t\t\t\t\tawait updateSession();\n\t\t\t\t},\n\t\t\t\trevoke: async () => {\n\t\t\t\t\tawait sdk.revoke();\n\t\t\t\t\tawait updateSession();\n\t\t\t\t},\n\t\t\t\tlogout: async (options?: Parameters<PopupFlow['logout'] | RedirectFlow['logout']>[0]) => {\n\t\t\t\t\tawait sdk.logout(options);\n\t\t\t\t\tawait updateSession();\n\t\t\t\t},\n\t\t\t\thandleCallback: async (url?: Parameters<PopupFlow['handleCallback'] | RedirectFlow['handleCallback'] | NativeFlow['handleCallback']>[0]) => {\n\t\t\t\t\tawait sdk.handleCallback(url);\n\t\t\t\t\tawait updateSession();\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t};\n\n\treturn plugin;\n};\n"],"names":["isAuthenticated","createStrivacitySDK","options","sdk","initFlow","app","loadingRef","ref","optionsRef","isAuthenticatedRef","idTokenClaimsRef","accessTokenRef","refreshTokenRef","accessTokenExpiredRef","accessTokenExpirationDateRef","updateSession","LoginRendererComponent","STRIVACITY_SDK","url"],"mappings":"2iBAwBWA,QAAAA,gBAA0C,IAAM,QAAQ,QAAQ,EAAK,EASzE,MAAMC,EAAuBC,GAAwB,CAC3D,MAAMC,EAAMC,EAAAA,SAASF,CAAO,EAwF5B,MAtFe,CACd,QAAUG,GAAa,CACtB,MAAMC,EAAaC,EAAAA,IAAa,EAAI,EAC9BC,EAAaD,EAAAA,IAAgBJ,EAAI,OAAO,EACxCM,EAAqBF,EAAAA,IAAa,EAAK,EACvCG,EAAmBH,EAAAA,IAA0B,IAAI,EACjDI,EAAiBJ,EAAAA,IAAmB,IAAI,EACxCK,EAAkBL,EAAAA,IAAmB,IAAI,EACzCM,EAAwBN,EAAAA,IAAa,EAAI,EACzCO,EAA+BP,EAAAA,IAAmB,IAAI,EAEtDQ,EAAgB,SAAY,CACjCN,EAAmB,MAAQ,MAAMN,EAAI,gBACrCO,EAAiB,MAAQP,EAAI,eAAiB,KAC9CQ,EAAe,MAAQR,EAAI,aAAe,KAC1CS,EAAgB,MAAQT,EAAI,cAAgB,KAC5CU,EAAsB,MAAQV,EAAI,mBAClCW,EAA6B,MAAQX,EAAI,2BAA6B,KAElEG,EAAW,QACdA,EAAW,MAAQ,GAErB,EAEAN,QAAAA,gBAAkB,IAAMG,EAAI,gBAE5BA,EAAI,iBAAiB,OAAQY,CAAa,EAC1CZ,EAAI,iBAAiB,WAAYY,CAAa,EAC9CZ,EAAI,iBAAiB,gBAAiBY,CAAa,EACnDZ,EAAI,iBAAiB,iBAAkBY,CAAa,EACpDZ,EAAI,iBAAiB,qBAAsBY,CAAa,EACxDZ,EAAI,iBAAiB,kBAAmBY,CAAa,EACrDZ,EAAI,iBAAiB,eAAgBY,CAAa,EAClDZ,EAAI,iBAAiB,oBAAqBY,CAAa,EAEvDV,EAAI,UAAU,mBAAoBW,WAAsB,EACxDX,EAAI,QAAQY,iBAAgB,CAC3B,IAAAd,EACA,QAASG,EACT,QAASE,EACT,gBAAiBC,EACjB,cAAeC,EACf,YAAaC,EACb,aAAcC,EACd,mBAAoBC,EACpB,0BAA2BC,EAE3B,MAAO,MAAOZ,GAA8F,CAC3G,GAAIC,EAAI,QAAQ,OAAS,SACxB,OAAOA,EAAI,MAAMD,CAAO,EAGzB,MAAMC,EAAI,MAAMD,CAAO,EACvB,MAAMa,EAAA,CACP,EACA,SAAU,MAAOb,GAAuG,CACvH,GAAIC,EAAI,QAAQ,OAAS,SACxB,OAAOA,EAAI,SAASD,CAAO,EAG5B,MAAMC,EAAI,SAASD,CAAO,EAC1B,MAAMa,EAAA,CACP,EACA,MAAO,MAAOG,GACN,MAAMf,EAAI,MAAMe,CAAG,EAE3B,QAAS,SAAY,CACpB,MAAMf,EAAI,QAAA,EACV,MAAMY,EAAA,CACP,EACA,OAAQ,SAAY,CACnB,MAAMZ,EAAI,OAAA,EACV,MAAMY,EAAA,CACP,EACA,OAAQ,MAAOb,GAA0E,CACxF,MAAMC,EAAI,OAAOD,CAAO,EACxB,MAAMa,EAAA,CACP,EACA,eAAgB,MAAOG,GAAqH,CAC3I,MAAMf,EAAI,eAAee,CAAG,EAC5B,MAAMH,EAAA,CACP,CAAA,CACA,CACF,CAAA,CAIF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import type { IdTokenClaims, SDKOptions } from '@strivacity/sdk-core';\nimport type { PopupFlow } from '@strivacity/sdk-core/flows/PopupFlow';\nimport type { RedirectFlow } from '@strivacity/sdk-core/flows/RedirectFlow';\nimport type { NativeFlow } from '@strivacity/sdk-core/flows/NativeFlow';\nimport { type App, ref } from 'vue';\nimport { initFlow } from '@strivacity/sdk-core';\nimport { HttpClient } from '@strivacity/sdk-core/utils/HttpClient';\nimport { DefaultLogging } from '@strivacity/sdk-core/utils/Logging';\nimport { LocalStorage } from '@strivacity/sdk-core/storages/LocalStorage';\nimport { SessionStorage } from '@strivacity/sdk-core/storages/SessionStorage';\nimport { STRIVACITY_SDK, useStrivacity } from './composables';\nimport LoginRendererComponent from './login-renderer.vue';\n\nexport * from '@strivacity/sdk-core';\nexport { createCredential, getCredential } from '@strivacity/sdk-core/utils/credentials';\nexport type * from './types';\nexport type { PopupFlow, RedirectFlow, NativeFlow };\nexport { HttpClient, DefaultLogging, LocalStorage, SessionStorage, useStrivacity };\n\n/**\n * Checks if the user is authenticated.\n *\n * @returns {Promise<boolean>} A promise that resolves to `true` if the user is authenticated, otherwise `false`.\n */\nexport let isAuthenticated: () => Promise<boolean> = () => Promise.resolve(false);\n\n/**\n * Creates a Strivacity SDK plugin for Vue.\n *\n * @param {SDKOptions} options - The options used to configure the SDK.\n *\n * @returns {Plugin} A Vue plugin that can be installed in the application.\n */\nexport const createStrivacitySDK = (options: SDKOptions) => {\n\tconst sdk = initFlow(options) as NativeFlow | PopupFlow | RedirectFlow;\n\n\tconst plugin = {\n\t\tinstall: (app: App) => {\n\t\t\tconst loadingRef = ref<boolean>(true);\n\t\t\tconst optionsRef = ref<SDKOptions>(sdk.options);\n\t\t\tconst isAuthenticatedRef = ref<boolean>(false);\n\t\t\tconst idTokenClaimsRef = ref<IdTokenClaims | null>(null);\n\t\t\tconst accessTokenRef = ref<string | null>(null);\n\t\t\tconst refreshTokenRef = ref<string | null>(null);\n\t\t\tconst accessTokenExpiredRef = ref<boolean>(true);\n\t\t\tconst accessTokenExpirationDateRef = ref<number | null>(null);\n\n\t\t\tconst updateSession = async () => {\n\t\t\t\tisAuthenticatedRef.value = await sdk.isAuthenticated;\n\t\t\t\tidTokenClaimsRef.value = sdk.idTokenClaims || null;\n\t\t\t\taccessTokenRef.value = sdk.accessToken || null;\n\t\t\t\trefreshTokenRef.value = sdk.refreshToken || null;\n\t\t\t\taccessTokenExpiredRef.value = sdk.accessTokenExpired;\n\t\t\t\taccessTokenExpirationDateRef.value = sdk.accessTokenExpirationDate || null;\n\n\t\t\t\tif (loadingRef.value) {\n\t\t\t\t\tloadingRef.value = false;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tisAuthenticated = () => sdk.isAuthenticated;\n\n\t\t\tsdk.subscribeToEvent('init', updateSession);\n\t\t\tsdk.subscribeToEvent('loggedIn', updateSession);\n\t\t\tsdk.subscribeToEvent('sessionLoaded', updateSession);\n\t\t\tsdk.subscribeToEvent('tokenRefreshed', updateSession);\n\t\t\tsdk.subscribeToEvent('tokenRefreshFailed', updateSession);\n\t\t\tsdk.subscribeToEvent('logoutInitiated', updateSession);\n\t\t\tsdk.subscribeToEvent('tokenRevoked', updateSession);\n\t\t\tsdk.subscribeToEvent('tokenRevokeFailed', updateSession);\n\n\t\t\tapp.component('StyLoginRenderer', LoginRendererComponent);\n\t\t\tapp.provide(STRIVACITY_SDK, {\n\t\t\t\tsdk: sdk,\n\t\t\t\tloading: loadingRef,\n\t\t\t\toptions: optionsRef,\n\t\t\t\tisAuthenticated: isAuthenticatedRef,\n\t\t\t\tidTokenClaims: idTokenClaimsRef,\n\t\t\t\taccessToken: accessTokenRef,\n\t\t\t\trefreshToken: refreshTokenRef,\n\t\t\t\taccessTokenExpired: accessTokenExpiredRef,\n\t\t\t\taccessTokenExpirationDate: accessTokenExpirationDateRef,\n\n\t\t\t\tlogin: async (options?: Parameters<PopupFlow['login'] | RedirectFlow['login'] | NativeFlow['login']>[0]) => {\n\t\t\t\t\tif (sdk.options.mode === 'native') {\n\t\t\t\t\t\treturn sdk.login(options);\n\t\t\t\t\t}\n\n\t\t\t\t\tawait sdk.login(options);\n\t\t\t\t\tawait updateSession();\n\t\t\t\t},\n\t\t\t\tregister: async (options?: Parameters<PopupFlow['register'] | RedirectFlow['register'] | NativeFlow['register']>[0]) => {\n\t\t\t\t\tif (sdk.options.mode === 'native') {\n\t\t\t\t\t\treturn sdk.register(options);\n\t\t\t\t\t}\n\n\t\t\t\t\tawait sdk.register(options);\n\t\t\t\t\tawait updateSession();\n\t\t\t\t},\n\t\t\t\tentry: async (url?: string) => {\n\t\t\t\t\treturn await sdk.entry(url);\n\t\t\t\t},\n\t\t\t\trefresh: async () => {\n\t\t\t\t\tawait sdk.refresh();\n\t\t\t\t\tawait updateSession();\n\t\t\t\t},\n\t\t\t\trevoke: async () => {\n\t\t\t\t\tawait sdk.revoke();\n\t\t\t\t\tawait updateSession();\n\t\t\t\t},\n\t\t\t\tlogout: async (options?: Parameters<PopupFlow['logout'] | RedirectFlow['logout']>[0]) => {\n\t\t\t\t\tawait sdk.logout(options);\n\t\t\t\t\tawait updateSession();\n\t\t\t\t},\n\t\t\t\thandleCallback: async (url?: Parameters<PopupFlow['handleCallback'] | RedirectFlow['handleCallback'] | NativeFlow['handleCallback']>[0]) => {\n\t\t\t\t\tawait sdk.handleCallback(url);\n\t\t\t\t\tawait updateSession();\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t};\n\n\treturn plugin;\n};\n"],"names":["isAuthenticated","createStrivacitySDK","options","sdk","initFlow","app","loadingRef","ref","optionsRef","isAuthenticatedRef","idTokenClaimsRef","accessTokenRef","refreshTokenRef","accessTokenExpiredRef","accessTokenExpirationDateRef","updateSession","LoginRendererComponent","STRIVACITY_SDK","url"],"mappings":"2sBAwBO,IAAIA,EAA0C,IAAM,QAAQ,QAAQ,EAAK,EASzE,MAAMC,EAAuBC,GAAwB,CAC3D,MAAMC,EAAMC,EAASF,CAAO,EAwF5B,MAtFe,CACd,QAAUG,GAAa,CACtB,MAAMC,EAAaC,EAAa,EAAI,EAC9BC,EAAaD,EAAgBJ,EAAI,OAAO,EACxCM,EAAqBF,EAAa,EAAK,EACvCG,EAAmBH,EAA0B,IAAI,EACjDI,EAAiBJ,EAAmB,IAAI,EACxCK,EAAkBL,EAAmB,IAAI,EACzCM,EAAwBN,EAAa,EAAI,EACzCO,EAA+BP,EAAmB,IAAI,EAEtDQ,EAAgB,SAAY,CACjCN,EAAmB,MAAQ,MAAMN,EAAI,gBACrCO,EAAiB,MAAQP,EAAI,eAAiB,KAC9CQ,EAAe,MAAQR,EAAI,aAAe,KAC1CS,EAAgB,MAAQT,EAAI,cAAgB,KAC5CU,EAAsB,MAAQV,EAAI,mBAClCW,EAA6B,MAAQX,EAAI,2BAA6B,KAElEG,EAAW,QACdA,EAAW,MAAQ,GAErB,EAEAN,EAAkB,IAAMG,EAAI,gBAE5BA,EAAI,iBAAiB,OAAQY,CAAa,EAC1CZ,EAAI,iBAAiB,WAAYY,CAAa,EAC9CZ,EAAI,iBAAiB,gBAAiBY,CAAa,EACnDZ,EAAI,iBAAiB,iBAAkBY,CAAa,EACpDZ,EAAI,iBAAiB,qBAAsBY,CAAa,EACxDZ,EAAI,iBAAiB,kBAAmBY,CAAa,EACrDZ,EAAI,iBAAiB,eAAgBY,CAAa,EAClDZ,EAAI,iBAAiB,oBAAqBY,CAAa,EAEvDV,EAAI,UAAU,mBAAoBW,CAAsB,EACxDX,EAAI,QAAQY,EAAgB,CAC3B,IAAAd,EACA,QAASG,EACT,QAASE,EACT,gBAAiBC,EACjB,cAAeC,EACf,YAAaC,EACb,aAAcC,EACd,mBAAoBC,EACpB,0BAA2BC,EAE3B,MAAO,MAAOZ,GAA8F,CAC3G,GAAIC,EAAI,QAAQ,OAAS,SACxB,OAAOA,EAAI,MAAMD,CAAO,EAGzB,MAAMC,EAAI,MAAMD,CAAO,EACvB,MAAMa,EAAA,CACP,EACA,SAAU,MAAOb,GAAuG,CACvH,GAAIC,EAAI,QAAQ,OAAS,SACxB,OAAOA,EAAI,SAASD,CAAO,EAG5B,MAAMC,EAAI,SAASD,CAAO,EAC1B,MAAMa,EAAA,CACP,EACA,MAAO,MAAOG,GACN,MAAMf,EAAI,MAAMe,CAAG,EAE3B,QAAS,SAAY,CACpB,MAAMf,EAAI,QAAA,EACV,MAAMY,EAAA,CACP,EACA,OAAQ,SAAY,CACnB,MAAMZ,EAAI,OAAA,EACV,MAAMY,EAAA,CACP,EACA,OAAQ,MAAOb,GAA0E,CACxF,MAAMC,EAAI,OAAOD,CAAO,EACxB,MAAMa,EAAA,CACP,EACA,eAAgB,MAAOG,GAAqH,CAC3I,MAAMf,EAAI,eAAee,CAAG,EAC5B,MAAMH,EAAA,CACP,CAAA,CACA,CACF,CAAA,CAIF"}
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("./assets/login-renderer.vue_vue_type_script_setup_true_lang.cjs");require("vue");require("@strivacity/sdk-core");require("@strivacity/sdk-core/utils/object");require("./composables.cjs");module.exports=e._sfc_main;
2
- //# sourceMappingURL=login-renderer.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login-renderer.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{_ as o}from"./assets/login-renderer.vue_vue_type_script_setup_true_lang.mjs";import"vue";import"@strivacity/sdk-core";import"@strivacity/sdk-core/utils/object";import"./composables.mjs";export{o as default};
2
- //# sourceMappingURL=login-renderer.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login-renderer.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,37 +0,0 @@
1
- import { Component } from 'vue';
2
- import { PartialRecord, NativeParams, WidgetType, LoginFlowState, IdTokenClaims, FallbackError } from '@strivacity/sdk-core';
3
- type __VLS_Props = {
4
- params?: NativeParams;
5
- widgets?: PartialRecord<WidgetType, Component>;
6
- language?: string | null;
7
- sessionId?: string | null;
8
- };
9
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
- login: (args_0: IdTokenClaims | null | undefined) => any;
11
- close: () => any;
12
- fallback: (args_0: FallbackError) => any;
13
- error: (args_0: any) => any;
14
- globalMessage: (args_0: string) => any;
15
- blockReady: (args_0: {
16
- previousState: LoginFlowState;
17
- state: LoginFlowState;
18
- }) => any;
19
- "update:language": (args_0: string | null) => any;
20
- }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
21
- onLogin?: ((args_0: IdTokenClaims | null | undefined) => any) | undefined;
22
- onClose?: (() => any) | undefined;
23
- onFallback?: ((args_0: FallbackError) => any) | undefined;
24
- onError?: ((args_0: any) => any) | undefined;
25
- onGlobalMessage?: ((args_0: string) => any) | undefined;
26
- onBlockReady?: ((args_0: {
27
- previousState: LoginFlowState;
28
- state: LoginFlowState;
29
- }) => any) | undefined;
30
- "onUpdate:language"?: ((args_0: string | null) => any) | undefined;
31
- }>, {
32
- params: NativeParams;
33
- widgets: PartialRecord<WidgetType, Component>;
34
- language: string | null;
35
- sessionId: string | null;
36
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
37
- export default _default;
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}