@adyen/adyen-platform-experience-web
Version:

41 lines (40 loc) • 1.72 kB
JavaScript
import { jsx as s } from "../../external/preact/jsx-runtime/dist/jsxRuntime.module.js";
import { createContext as x, toChildArray as b } from "../../external/preact/dist/preact.module.js";
import { useContext as g, useMemo as E, useState as r, useEffect as n } from "../../external/preact/hooks/dist/hooks.module.js";
import { ErrorMessageDisplay as v } from "../../components/internal/ErrorMessageDisplay/ErrorMessageDisplay.js";
import P from "./session/utils/sessionAwareComponentAvailability/sessionAwareComponentAvailability.js";
import U from "./session/utils/sessionAwareComponentAvailability/helpers/componentAvailabilityErrors.js";
import { asyncNoop as y, noop as A } from "../../utils/common.js";
import { isWatchlistUnsubscribeToken as T } from "../../primitives/reactive/watchlist/main.js";
import { isUndefined as H } from "../../utils/value/is.js";
import { EMPTY_OBJECT as i } from "../../utils/value/constants.js";
const a = x({
endpoints: i,
extraConfig: i,
hasError: !1,
http: y,
isExpired: void 0,
isFrozen: !1,
refresh: A,
refreshing: !1
}), I = ({ children: m, session: t, type: e }) => {
const { http: f, refresh: p } = E(() => t, [t]), [, c] = r(0), [u, l] = r(0), [o, C] = r();
return n(() => {
P(e, t).then(C);
}, [t, e]), n(() => t.subscribe((d) => {
(T(d) ? l : c)((h) => h + 1);
}), [u]), /* @__PURE__ */ s(a.Provider, { value: { ...t.context, http: f, refresh: p }, children: !H(o) && (o ? b(m) : /* @__PURE__ */ s(
v,
{
withImage: !0,
centered: !0,
title: "somethingWentWrong",
message: [U(e), "contactSupportForHelp"]
}
)) });
}, N = () => g(a);
export {
I as ConfigProvider,
N as default,
N as useConfigContext
};