UNPKG

@web3auth/ui

Version:
60 lines (56 loc) 2.21 kB
'use strict'; var base = require('@web3auth/base'); var React = require('react'); var interfaces = require('../interfaces.js'); var Icon = require('./Icon.js'); var jsxRuntime = require('react/jsx-runtime'); const closeIcon = /*#__PURE__*/jsxRuntime.jsx(Icon, { iconName: "close" }); function Loader(props) { const { message, modalStatus, label, onClose, canEmit = true } = props; React.useEffect(() => { base.log.debug("loader re-rendering"); if (modalStatus === interfaces.MODAL_STATUS.CONNECTED && canEmit) { setTimeout(() => { onClose(); }, 3000); } }, [canEmit, modalStatus, onClose]); return modalStatus !== interfaces.MODAL_STATUS.INITIALIZED ? /*#__PURE__*/jsxRuntime.jsxs("div", { className: "w3ajs-modal-loader w3a-modal__loader", children: [/*#__PURE__*/jsxRuntime.jsx("div", { className: "w3a-modal__loader-content", children: /*#__PURE__*/jsxRuntime.jsxs("div", { className: "w3a-modal__loader-info", children: [modalStatus === interfaces.MODAL_STATUS.CONNECTING && /*#__PURE__*/jsxRuntime.jsx("div", { className: "w3ajs-modal-loader__spinner w3a-spinner", children: /*#__PURE__*/jsxRuntime.jsx("div", { className: "w3a-spinner__spinner" }) }), /*#__PURE__*/jsxRuntime.jsx("div", { className: "w3ajs-modal-loader__label w3a-spinner-label", children: label }), modalStatus === base.ADAPTER_STATUS.CONNECTED && /*#__PURE__*/jsxRuntime.jsx("div", { className: "w3ajs-modal-loader__message w3a-spinner-message", children: message }), modalStatus === base.ADAPTER_STATUS.ERRORED && /*#__PURE__*/jsxRuntime.jsx("div", { className: "w3ajs-modal-loader__message w3a-spinner-message w3a-spinner-message--error", children: message })] }) }), (modalStatus === base.ADAPTER_STATUS.CONNECTED || modalStatus === base.ADAPTER_STATUS.ERRORED) && /*#__PURE__*/jsxRuntime.jsx("button", { type: "button", className: "w3a-header__button w3ajs-loader-close-btn", onClick: onClose, children: closeIcon })] }) : null; } module.exports = Loader;