UNPKG

@antmjs/vantui

Version:

一套适用于Taro3及React的vantui组件库

78 lines 3.9 kB
import _typeof from "@babel/runtime/helpers/typeof"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } import _assign from 'lodash/assign'; import VanOverlay from '../overlay/index'; import { createExtraNode } from '../wxs/extra-node'; import { Toast } from './toast'; import { jsx as _jsx } from "react/jsx-runtime"; var extraNode = createExtraNode(); var overlayNode = createExtraNode(); var defaultDuration = 2500; var timer = null; var hasMask = false; var defaultToastOptions = { duration: 2500 }; var _defaultOptions = _objectSpread({}, defaultToastOptions); export function setDefaultOptions(options) { _assign(_defaultOptions, options); } export function resetDefaultOptions() { _defaultOptions = _objectSpread({}, defaultToastOptions); } export function show_(options) { var _extraNode$renderNode; if (timer) { clearTimeout(timer); timer = null; } if (!hasMask) { var _overlayNode$renderNo; hasMask = true; (_overlayNode$renderNo = overlayNode.renderNode) === null || _overlayNode$renderNo === void 0 ? void 0 : _overlayNode$renderNo.call(overlayNode, /*#__PURE__*/_jsx(VanOverlay, { show: true, zIndex: options.zIndex, style: options.mask ? '' : 'background-color: transparent;' })); } (_extraNode$renderNode = extraNode.renderNode) === null || _extraNode$renderNode === void 0 ? void 0 : _extraNode$renderNode.call(extraNode, /*#__PURE__*/_jsx(Toast, _objectSpread({}, _objectSpread(_objectSpread({}, _defaultOptions), options)))); if (options.duration !== 0) { var _defaultOptions2; timer = setTimeout(function () { var _options$onClose; clear(); options === null || options === void 0 ? void 0 : (_options$onClose = options.onClose) === null || _options$onClose === void 0 ? void 0 : _options$onClose.call(options); }, options.duration || ((_defaultOptions2 = _defaultOptions) === null || _defaultOptions2 === void 0 ? void 0 : _defaultOptions2.duration) || defaultDuration); } } export function createAction() { var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return function (options_) { var options = _objectSpread({}, params); if (options_ && typeof options_ === 'string') { options.message = options_; } else if (_typeof(options_) === 'object') { options = _objectSpread(_objectSpread({}, options), options_); } show_(options); }; } export var show = createAction({}); export var success = createAction({ type: 'success' }); export var fail = createAction({ type: 'fail' }); export var loading = createAction({ type: 'loading', duration: 0 }); export function clear() { var _extraNode$removeNode, _overlayNode$removeNo; hasMask = false; (_extraNode$removeNode = extraNode.removeNode) === null || _extraNode$removeNode === void 0 ? void 0 : _extraNode$removeNode.call(extraNode); (_overlayNode$removeNo = overlayNode.removeNode) === null || _overlayNode$removeNo === void 0 ? void 0 : _overlayNode$removeNo.call(overlayNode); }