@strivacity/sdk-next 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 (91) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1983 -428
  3. package/dist/client/components.cjs +1 -0
  4. package/dist/client/components.d.ts +1 -0
  5. package/dist/client/components.mjs +1 -0
  6. package/dist/client/hooks.cjs +1 -0
  7. package/dist/client/hooks.d.ts +1 -0
  8. package/dist/client/hooks.mjs +1 -0
  9. package/dist/client/index.cjs +1 -0
  10. package/dist/client/index.d.ts +9 -0
  11. package/dist/client/index.mjs +1 -0
  12. package/dist/client/storages.cjs +1 -0
  13. package/dist/client/storages.d.ts +1 -0
  14. package/dist/client/storages.mjs +1 -0
  15. package/dist/client/types.cjs +1 -0
  16. package/dist/client/types.d.ts +1 -0
  17. package/dist/client/types.mjs +1 -0
  18. package/dist/client/utils.cjs +1 -0
  19. package/dist/client/utils.d.ts +1 -0
  20. package/dist/client/utils.mjs +1 -0
  21. package/dist/errors.cjs +1 -0
  22. package/dist/errors.d.ts +1 -0
  23. package/dist/errors.mjs +1 -0
  24. package/dist/server/handlers/api.cjs +2 -0
  25. package/dist/server/handlers/api.cjs.map +1 -0
  26. package/dist/server/handlers/api.d.ts +4 -0
  27. package/dist/server/handlers/api.mjs +2 -0
  28. package/dist/server/handlers/api.mjs.map +1 -0
  29. package/dist/server/handlers/route.cjs +2 -0
  30. package/dist/server/handlers/route.cjs.map +1 -0
  31. package/dist/server/handlers/route.d.ts +4 -0
  32. package/dist/server/handlers/route.mjs +2 -0
  33. package/dist/server/handlers/route.mjs.map +1 -0
  34. package/dist/server/index.cjs +1 -0
  35. package/dist/server/index.d.ts +8 -0
  36. package/dist/server/index.mjs +1 -0
  37. package/dist/server/sdk.cjs +2 -0
  38. package/dist/server/sdk.cjs.map +1 -0
  39. package/dist/server/sdk.d.ts +8 -0
  40. package/dist/server/sdk.mjs +2 -0
  41. package/dist/server/sdk.mjs.map +1 -0
  42. package/dist/server/storages.cjs +2 -0
  43. package/dist/server/storages.cjs.map +1 -0
  44. package/dist/server/storages.d.ts +20 -0
  45. package/dist/server/storages.mjs +2 -0
  46. package/dist/server/storages.mjs.map +1 -0
  47. package/dist/server/types.cjs +1 -0
  48. package/dist/server/types.d.ts +101 -0
  49. package/dist/server/types.mjs +1 -0
  50. package/dist/server/utils.cjs +2 -0
  51. package/dist/server/utils.cjs.map +1 -0
  52. package/dist/server/utils.d.ts +28 -0
  53. package/dist/server/utils.mjs +2 -0
  54. package/dist/server/utils.mjs.map +1 -0
  55. package/dist/types.cjs +1 -2
  56. package/dist/types.d.ts +2 -176
  57. package/dist/types.mjs +1 -2
  58. package/package.json +48 -10
  59. package/testing/tests/client/components.spec.ts +10 -0
  60. package/testing/tests/client/hooks.spec.ts +10 -0
  61. package/testing/tests/client/index.spec.ts +106 -0
  62. package/testing/tests/client/storages.spec.ts +10 -0
  63. package/testing/tests/client/utils.spec.ts +10 -0
  64. package/testing/tests/server/handlers/api.spec.ts +110 -0
  65. package/testing/tests/server/handlers/route.spec.ts +173 -0
  66. package/testing/tests/server/index.spec.ts +103 -0
  67. package/testing/tests/server/sdk.spec.ts +250 -0
  68. package/testing/tests/server/storages.spec.ts +353 -0
  69. package/testing/tests/server/utils.spec.ts +110 -0
  70. package/dist/AuthProvider.cjs +0 -2
  71. package/dist/AuthProvider.cjs.map +0 -1
  72. package/dist/AuthProvider.d.ts +0 -7
  73. package/dist/AuthProvider.mjs +0 -2
  74. package/dist/AuthProvider.mjs.map +0 -1
  75. package/dist/LoginRenderer.cjs +0 -2
  76. package/dist/LoginRenderer.cjs.map +0 -1
  77. package/dist/LoginRenderer.d.ts +0 -20
  78. package/dist/LoginRenderer.mjs +0 -2
  79. package/dist/LoginRenderer.mjs.map +0 -1
  80. package/dist/composables.cjs +0 -2
  81. package/dist/composables.cjs.map +0 -1
  82. package/dist/composables.d.ts +0 -12
  83. package/dist/composables.mjs +0 -2
  84. package/dist/composables.mjs.map +0 -1
  85. package/dist/index.cjs +0 -2
  86. package/dist/index.cjs.map +0 -1
  87. package/dist/index.d.ts +0 -13
  88. package/dist/index.mjs +0 -2
  89. package/dist/index.mjs.map +0 -1
  90. package/dist/types.cjs.map +0 -1
  91. package/dist/types.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoginRenderer.mjs","sources":["../src/LoginRenderer.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { NativeParams, PartialRecord, WidgetType, LayoutWidget, LoginFlowState, Widget, IdTokenClaims, LoginFlowMessage } from '@strivacity/sdk-core';\nimport type { NativeContext, NativeFlowContextValue } from './types';\nimport React, { useRef, useState, useEffect, createContext, useCallback } from 'react';\nimport { FallbackError } from '@strivacity/sdk-core';\nimport { unflattenObject } from '@strivacity/sdk-core/utils/object';\nimport { useStrivacity } from './composables';\n\nexport const NativeFlowContext = createContext<NativeFlowContextValue | null>(null);\nconst formData: Record<string, Record<string, unknown>> = {};\n\nconst StyWidgetRenderer: React.FC<{\n\titems: LayoutWidget['items'];\n\twidgets: PartialRecord<WidgetType, React.ComponentType<any>>;\n\tstate: LoginFlowState;\n\ttriggerFallback: (hostedUrl?: string, message?: string) => void;\n}> = ({ items, widgets, state, triggerFallback }) => {\n\treturn (\n\t\t<>\n\t\t\t{items.map((item, idx) => {\n\t\t\t\tif (item.type === 'widget') {\n\t\t\t\t\tconst form = state.forms?.find((f) => f.id === item.formId);\n\t\t\t\t\tconst widget = form?.widgets.find((w) => w.id === item.widgetId);\n\n\t\t\t\t\tif (!form || !widget) {\n\t\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\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst WidgetComponent = widgets[widget.type];\n\n\t\t\t\t\tif (!WidgetComponent) {\n\t\t\t\t\t\ttriggerFallback(undefined, `No component found for widget type ${widget.type}`);\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn <WidgetComponent key={`${form.id}.${widget.id}`} formId={form.id} config={widget} />;\n\t\t\t\t} else if (item.type === 'vertical' || item.type === 'horizontal') {\n\t\t\t\t\tconst LayoutComponent = widgets.layout;\n\n\t\t\t\t\tif (!LayoutComponent) {\n\t\t\t\t\t\ttriggerFallback(undefined, 'No layout component provided');\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<LayoutComponent key={idx} formId={(item.items[0] as Widget).formId} type={item.type}>\n\t\t\t\t\t\t\t<StyWidgetRenderer items={item.items} widgets={widgets} state={state} triggerFallback={triggerFallback} />\n\t\t\t\t\t\t</LayoutComponent>\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttriggerFallback(undefined, 'Unknown item type in layout');\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t})}\n\t\t</>\n\t);\n};\n\nexport const StyLoginRenderer: React.FC<{\n\tparams?: NativeParams;\n\twidgets?: PartialRecord<WidgetType, React.ComponentType<any>>;\n\tsessionId?: string | null;\n\tlanguage?: string | null;\n\tonLogin?: (claims?: IdTokenClaims | null) => void;\n\tonFallback?: (error: FallbackError) => void;\n\tonClose?: () => void;\n\tonError?: (error: any) => void;\n\tonGlobalMessage?: (message: string) => void;\n\tonBlockReady?: ({ previousState, state }: { previousState: LoginFlowState; state: LoginFlowState }) => void;\n\tonLanguageChange?: (language: string | null) => void;\n}> = (props) => {\n\tconst { params, widgets, sessionId, language, onLogin, onFallback, onClose, onError, onGlobalMessage, onBlockReady, onLanguageChange } = {\n\t\tparams: {},\n\t\twidgets: {},\n\t\tsessionId: null,\n\t\tlanguage: null,\n\t\t...props,\n\t};\n\tconst { sdk } = useStrivacity<NativeContext>();\n\tconst loginHandlerRef = useRef<ReturnType<(typeof sdk)['login']> | null>(null);\n\n\tconst [loading, setLoading] = useState(false);\n\tconst [forms, setForms] = useState<Record<string, Record<string, unknown>>>({});\n\tconst [messages, setMessages] = useState<Record<string, Record<string, LoginFlowMessage>>>({});\n\tconst [state, setState] = useState<LoginFlowState>({});\n\n\tconst triggerFallback = useCallback(\n\t\t(hostedUrl?: string, message?: string) => {\n\t\t\tconst url = hostedUrl || state.hostedUrl;\n\n\t\t\tsdk.logging?.warn(message ? `Triggering fallback due to: ${message}` : 'Triggering fallback');\n\n\t\t\tif (!url) {\n\t\t\t\tconst error = new Error('No hosted URL provided');\n\t\t\t\tsdk.logging?.error('Fallback error', error);\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\tonFallback?.(new FallbackError(new URL(url)));\n\t\t},\n\t\t[state, onFallback],\n\t);\n\n\tconst triggerClose = useCallback(() => {\n\t\tonClose?.();\n\t}, [onClose]);\n\n\tconst setFormValue = useCallback((formId: string, widgetId: string, value: unknown) => {\n\t\tformData[formId] = {\n\t\t\t...formData[formId],\n\t\t\t[widgetId]: value === '' ? null : value,\n\t\t};\n\n\t\tsetForms((prev) => ({\n\t\t\t...prev,\n\t\t\t[formId]: { ...(prev[formId] || {}), [widgetId]: value === '' ? null : value },\n\t\t}));\n\t}, []);\n\n\tconst setMessage = useCallback((formId: string, widgetId: string, value: LoginFlowMessage) => {\n\t\tsetMessages((prev) => ({\n\t\t\t...prev,\n\t\t\t[formId]: { ...(prev[formId] || {}), [widgetId]: value },\n\t\t}));\n\t}, []);\n\n\tconst submitForm = useCallback(\n\t\tasync (formId: string) => {\n\t\t\ttry {\n\t\t\t\tsetLoading(true);\n\n\t\t\t\tconst data = await loginHandlerRef.current?.submitForm(formId, unflattenObject(formData[formId]));\n\n\t\t\t\tif (await sdk.isAuthenticated) {\n\t\t\t\t\tonLogin?.(sdk.idTokenClaims);\n\t\t\t\t} else {\n\t\t\t\t\tconst previousState = structuredClone(state);\n\t\t\t\t\tconst newState: LoginFlowState = {\n\t\t\t\t\t\thostedUrl: data?.hostedUrl ?? state.hostedUrl,\n\t\t\t\t\t\tfinalizeUrl: data?.finalizeUrl ?? state.finalizeUrl,\n\t\t\t\t\t\tscreen: data?.screen ?? state.screen,\n\t\t\t\t\t\tforms: data?.forms ?? state.forms,\n\t\t\t\t\t\tlayout: data?.layout ?? state.layout,\n\t\t\t\t\t\tmessages: data?.messages ?? {},\n\t\t\t\t\t\tbranding: data?.branding ?? state.branding,\n\t\t\t\t\t};\n\n\t\t\t\t\tif (newState.screen !== state.screen) {\n\t\t\t\t\t\tconst newForms: typeof forms = {};\n\t\t\t\t\t\tconst newMessages: typeof messages = {};\n\n\t\t\t\t\t\tfor (const form of newState.forms ?? []) {\n\t\t\t\t\t\t\tnewForms[form.id] = {};\n\t\t\t\t\t\t\tnewMessages[form.id] = {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetForms(newForms);\n\t\t\t\t\t\tsetMessages(newMessages);\n\t\t\t\t\t}\n\n\t\t\t\t\tObject.keys(newState.messages ?? {}).forEach((formId) => {\n\t\t\t\t\t\tif (formId === 'global') {\n\t\t\t\t\t\t\tonGlobalMessage?.(newState.messages?.global?.text ?? '');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetMessages((prev) => ({\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t[formId]: newState.messages![formId],\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tsetState(newState);\n\t\t\t\t\tsetLoading(false);\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tonBlockReady?.({ previousState, state: structuredClone(newState) });\n\t\t\t\t\t}, 1);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof FallbackError) {\n\t\t\t\t\tonFallback?.(error);\n\t\t\t\t} else {\n\t\t\t\t\tonError?.(error);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[sdk, params, forms, state, onLogin, onFallback, onClose, onError, onGlobalMessage, onBlockReady],\n\t);\n\n\tconst contextValue: NativeFlowContextValue = {\n\t\tloading,\n\t\tforms,\n\t\tmessages,\n\t\tstate,\n\t\tsubmitForm,\n\t\ttriggerFallback,\n\t\ttriggerClose,\n\t\tsetFormValue,\n\t\tsetMessage,\n\t};\n\n\tuseEffect(() => {\n\t\tloginHandlerRef.current = sdk.login(params);\n\n\t\tvoid (async () => {\n\t\t\ttry {\n\t\t\t\tconst data = await loginHandlerRef.current?.startSession(sessionId, language);\n\t\t\t\tconst previousState = structuredClone(state);\n\t\t\t\tconst newState: LoginFlowState = {\n\t\t\t\t\thostedUrl: data?.hostedUrl ?? state.hostedUrl,\n\t\t\t\t\tfinalizeUrl: data?.finalizeUrl ?? state.finalizeUrl,\n\t\t\t\t\tscreen: data?.screen ?? state.screen,\n\t\t\t\t\tforms: data?.forms ?? state.forms,\n\t\t\t\t\tlayout: data?.layout ?? state.layout,\n\t\t\t\t\tmessages: data?.messages ?? {},\n\t\t\t\t\tbranding: data?.branding ?? state.branding,\n\t\t\t\t};\n\n\t\t\t\tonLanguageChange?.(loginHandlerRef.current?.language ?? null);\n\n\t\t\t\tif (await sdk.isAuthenticated) {\n\t\t\t\t\tonLogin?.(sdk.idTokenClaims);\n\t\t\t\t} else {\n\t\t\t\t\tif (newState.screen !== state.screen) {\n\t\t\t\t\t\tconst newforms: typeof forms = {};\n\t\t\t\t\t\tconst newmessages: typeof messages = {};\n\n\t\t\t\t\t\tfor (const form of newState.forms ?? []) {\n\t\t\t\t\t\t\tnewforms[form.id] = {};\n\t\t\t\t\t\t\tnewmessages[form.id] = {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetForms(newforms);\n\t\t\t\t\t\tsetMessages(newmessages);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsdk.logging?.info(`Updating screen: ${newState.screen}`);\n\t\t\t\t\t}\n\n\t\t\t\t\tObject.keys(newState.messages ?? {}).forEach((formId) => {\n\t\t\t\t\t\tif (formId === 'global') {\n\t\t\t\t\t\t\tonGlobalMessage?.(newState.messages?.global?.text ?? '');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetMessages((prev) => ({\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t[formId]: newState.messages![formId],\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tsetState(newState);\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tonBlockReady?.({ previousState, state: structuredClone(newState) });\n\t\t\t\t\t}, 1);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof FallbackError) {\n\t\t\t\t\tonFallback?.(error);\n\t\t\t\t} else {\n\t\t\t\t\tonError?.(error);\n\t\t\t\t}\n\t\t\t}\n\t\t})();\n\t}, []);\n\n\treturn (\n\t\t<NativeFlowContext.Provider value={contextValue}>\n\t\t\t<div className=\"login-renderer\">\n\t\t\t\t{state.screen && widgets.layout\n\t\t\t\t\t? React.createElement(\n\t\t\t\t\t\t\twidgets.layout,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tformId: (state.layout?.items?.[0] as Widget)?.formId,\n\t\t\t\t\t\t\t\ttype: state.layout?.type,\n\t\t\t\t\t\t\t\ttag: 'form',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t<StyWidgetRenderer items={state.layout?.items ?? []} widgets={widgets} state={state} triggerFallback={triggerFallback} />,\n\t\t\t\t\t\t)\n\t\t\t\t\t: widgets.loading\n\t\t\t\t\t\t? React.createElement(widgets.loading)\n\t\t\t\t\t\t: null}\n\t\t\t</div>\n\t\t</NativeFlowContext.Provider>\n\t);\n};\n"],"names":["NativeFlowContext","createContext","formData","StyWidgetRenderer","items","widgets","state","triggerFallback","jsx","Fragment","item","idx","form","f","widget","w","WidgetComponent","LayoutComponent","StyLoginRenderer","props","params","sessionId","language","onLogin","onFallback","onClose","onError","onGlobalMessage","onBlockReady","onLanguageChange","sdk","useStrivacity","loginHandlerRef","useRef","loading","setLoading","useState","forms","setForms","messages","setMessages","setState","useCallback","hostedUrl","message","url","error","FallbackError","triggerClose","setFormValue","formId","widgetId","value","prev","setMessage","submitForm","data","unflattenObject","previousState","newState","newForms","newMessages","contextValue","useEffect","newforms","newmessages","React"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),r=e.createContext(null),n=()=>{const t=e.useContext(r);if(!t)throw new Error("Missing Strivacity SDK context");return t};exports.STRIVACITY_SDK=r;exports.useStrivacity=n;
2
- //# sourceMappingURL=composables.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"composables.cjs","sources":["../src/composables.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport type { PopupContext, RedirectContext, NativeContext } from './types';\n\nexport const STRIVACITY_SDK = createContext<PopupContext | RedirectContext | NativeContext>(null!);\n\n/**\n * Hook to access the Strivacity SDK context\n *\n * @template T Extends either PopupContext, RedirectContext or NativeContext.\n *\n * @returns {T} The current Strivacity SDK context.\n *\n * @throws {Error} If the context is not provided by an AuthProvider.\n */\nexport const useStrivacity = <T extends PopupContext | RedirectContext | NativeContext>() => {\n\tconst context = useContext(STRIVACITY_SDK);\n\n\tif (!context) {\n\t\tthrow new Error('Missing Strivacity SDK context');\n\t}\n\n\treturn context as T;\n};\n"],"names":["STRIVACITY_SDK","createContext","useStrivacity","context","useContext"],"mappings":"yGAGaA,EAAiBC,EAAAA,cAA8D,IAAK,EAWpFC,EAAgB,IAAgE,CAC5F,MAAMC,EAAUC,EAAAA,WAAWJ,CAAc,EAEzC,GAAI,CAACG,EACJ,MAAM,IAAI,MAAM,gCAAgC,EAGjD,OAAOA,CACR"}
@@ -1,12 +0,0 @@
1
- import { PopupContext, RedirectContext, NativeContext } from './types';
2
- export declare const STRIVACITY_SDK: import('react').Context<PopupContext | RedirectContext | NativeContext>;
3
- /**
4
- * Hook to access the Strivacity SDK context
5
- *
6
- * @template T Extends either PopupContext, RedirectContext or NativeContext.
7
- *
8
- * @returns {T} The current Strivacity SDK context.
9
- *
10
- * @throws {Error} If the context is not provided by an AuthProvider.
11
- */
12
- export declare const useStrivacity: <T extends PopupContext | RedirectContext | NativeContext>() => T;
@@ -1,2 +0,0 @@
1
- import{createContext as o,useContext as r}from"react";const e=o(null),c=()=>{const t=r(e);if(!t)throw new Error("Missing Strivacity SDK context");return t};export{e as STRIVACITY_SDK,c as useStrivacity};
2
- //# sourceMappingURL=composables.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"composables.mjs","sources":["../src/composables.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport type { PopupContext, RedirectContext, NativeContext } from './types';\n\nexport const STRIVACITY_SDK = createContext<PopupContext | RedirectContext | NativeContext>(null!);\n\n/**\n * Hook to access the Strivacity SDK context\n *\n * @template T Extends either PopupContext, RedirectContext or NativeContext.\n *\n * @returns {T} The current Strivacity SDK context.\n *\n * @throws {Error} If the context is not provided by an AuthProvider.\n */\nexport const useStrivacity = <T extends PopupContext | RedirectContext | NativeContext>() => {\n\tconst context = useContext(STRIVACITY_SDK);\n\n\tif (!context) {\n\t\tthrow new Error('Missing Strivacity SDK context');\n\t}\n\n\treturn context as T;\n};\n"],"names":["STRIVACITY_SDK","createContext","useStrivacity","context","useContext"],"mappings":"sDAGO,MAAMA,EAAiBC,EAA8D,IAAK,EAWpFC,EAAgB,IAAgE,CAC5F,MAAMC,EAAUC,EAAWJ,CAAc,EAEzC,GAAI,CAACG,EACJ,MAAM,IAAI,MAAM,gCAAgC,EAGjD,OAAOA,CACR"}
package/dist/index.cjs DELETED
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@strivacity/sdk-core"),i=require("@strivacity/sdk-core/utils/HttpClient"),n=require("@strivacity/sdk-core/utils/Logging"),u=require("@strivacity/sdk-core/storages/LocalStorage"),a=require("@strivacity/sdk-core/storages/SessionStorage"),r=require("@strivacity/sdk-core/utils/credentials"),c=require("./composables.cjs"),g=require("./AuthProvider.cjs"),o=require("./LoginRenderer.cjs");require("react");require("react/jsx-runtime");require("@strivacity/sdk-core/utils/object");Object.defineProperty(exports,"HttpClient",{enumerable:!0,get:()=>i.HttpClient});Object.defineProperty(exports,"DefaultLogging",{enumerable:!0,get:()=>n.DefaultLogging});Object.defineProperty(exports,"LocalStorage",{enumerable:!0,get:()=>u.LocalStorage});Object.defineProperty(exports,"SessionStorage",{enumerable:!0,get:()=>a.SessionStorage});Object.defineProperty(exports,"createCredential",{enumerable:!0,get:()=>r.createCredential});Object.defineProperty(exports,"getCredential",{enumerable:!0,get:()=>r.getCredential});exports.useStrivacity=c.useStrivacity;exports.StyAuthProvider=g.StyAuthProvider;exports.NativeFlowContext=o.NativeFlowContext;exports.StyLoginRenderer=o.StyLoginRenderer;Object.keys(t).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>t[e]})});
2
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/index.d.ts DELETED
@@ -1,13 +0,0 @@
1
- export * from '@strivacity/sdk-core';
2
- export type * from './types';
3
- export type { PopupFlow } from '@strivacity/sdk-core/flows/PopupFlow';
4
- export type { RedirectFlow } from '@strivacity/sdk-core/flows/RedirectFlow';
5
- export type { NativeFlow } from '@strivacity/sdk-core/flows/NativeFlow';
6
- export { HttpClient } from '@strivacity/sdk-core/utils/HttpClient';
7
- export { DefaultLogging } from '@strivacity/sdk-core/utils/Logging';
8
- export { LocalStorage } from '@strivacity/sdk-core/storages/LocalStorage';
9
- export { SessionStorage } from '@strivacity/sdk-core/storages/SessionStorage';
10
- export { createCredential, getCredential } from '@strivacity/sdk-core/utils/credentials';
11
- export { useStrivacity } from './composables';
12
- export { StyAuthProvider } from './AuthProvider';
13
- export { StyLoginRenderer, NativeFlowContext } from './LoginRenderer';
package/dist/index.mjs DELETED
@@ -1,2 +0,0 @@
1
- export*from"@strivacity/sdk-core";import{HttpClient as m}from"@strivacity/sdk-core/utils/HttpClient";import{DefaultLogging as x}from"@strivacity/sdk-core/utils/Logging";import{LocalStorage as n}from"@strivacity/sdk-core/storages/LocalStorage";import{SessionStorage as l}from"@strivacity/sdk-core/storages/SessionStorage";import{createCredential as d,getCredential as C}from"@strivacity/sdk-core/utils/credentials";import{useStrivacity as s}from"./composables.mjs";import{StyAuthProvider as v}from"./AuthProvider.mjs";import{NativeFlowContext as L,StyLoginRenderer as h}from"./LoginRenderer.mjs";import"react";import"react/jsx-runtime";import"@strivacity/sdk-core/utils/object";export{x as DefaultLogging,m as HttpClient,n as LocalStorage,L as NativeFlowContext,l as SessionStorage,v as StyAuthProvider,h as StyLoginRenderer,d as createCredential,C as getCredential,s as useStrivacity};
2
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -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":""}