UNPKG

@turnkey/react-wallet-kit

Version:

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

69 lines (66 loc) 2.05 kB
'use client'; import { slicedToArray as _slicedToArray, toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.mjs'; import { jsx } from 'react/jsx-runtime'; import { useScreenSize } from '../../utils/utils.mjs'; import { useState, createContext } 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 _useState3 = useState(null), _useState4 = _slicedToArray(_useState3, 2), sheet = _useState4[0], setSheet = _useState4[1]; var _useScreenSize = useScreenSize(), isMobile = _useScreenSize.isMobile, width = _useScreenSize.width; var openModal = function openModal(page) { return setModalStack([page]); }; var openSheet = function openSheet(page) { return setSheet(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 popPages = function popPages(count) { return setModalStack(function (prev) { return prev.slice(0, Math.max(0, prev.length - count)); }); }; var closeModal = function closeModal() { setModalStack([]); setSheet(null); }; var closeSheet = function closeSheet() { return setSheet(null); }; return jsx(ModalContext.Provider, { value: { openModal: openModal, openSheet: openSheet, pushPage: pushPage, popPage: popPage, popPages: popPages, closeModal: closeModal, closeSheet: closeSheet, modalStack: modalStack, sheet: sheet, isMobile: isMobile, screenWidth: width }, children: children }); } export { ModalContext, ModalProvider }; //# sourceMappingURL=Provider.mjs.map