UNPKG

@turnkey/react-wallet-kit

Version:

The easiest and most powerful way to integrate Turnkey's Embedded Wallets into your React applications.

49 lines (46 loc) 1.47 kB
'use client'; import { slicedToArray as _slicedToArray, toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.mjs'; import { jsx } from 'react/jsx-runtime'; import { useScreenSize } from '../../utils.mjs'; import { createContext, useState } from 'react'; var ModalContext = /*#__PURE__*/createContext(undefined); function ModalProvider(_ref) { var children = _ref.children; var _useState = useState([]), _useState2 = _slicedToArray(_useState, 2), modalStack = _useState2[0], setModalStack = _useState2[1]; var _useScreenSize = useScreenSize(), isMobile = _useScreenSize.isMobile, width = _useScreenSize.width; var openModal = function openModal(page) { return setModalStack([page]); }; var pushPage = function pushPage(page) { return setModalStack(function (prev) { return [].concat(_toConsumableArray(prev), [page]); }); }; var popPage = function popPage() { return setModalStack(function (prev) { return prev.slice(0, -1); }); }; var closeModal = function closeModal() { return setModalStack([]); }; return jsx(ModalContext.Provider, { value: { openModal: openModal, pushPage: pushPage, popPage: popPage, closeModal: closeModal, modalStack: modalStack, isMobile: isMobile, screenWidth: width }, children: children }); } export { ModalContext, ModalProvider }; //# sourceMappingURL=Provider.mjs.map