UNPKG

lulouis-vant

Version:

Lightweight Mobile UI Components built on Vue

71 lines (55 loc) 1.53 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _vue = _interopRequireDefault(require("vue")); var _ImagePreview = _interopRequireDefault(require("./ImagePreview")); var _utils = require("../utils"); var instance; var defaultConfig = { images: [], loop: true, value: true, className: '', lazyLoad: false, showIndex: true, asyncClose: false, startPosition: 0, showIndicators: false }; var initInstance = function initInstance() { instance = new (_vue.default.extend(_ImagePreview.default))({ el: document.createElement('div') }); document.body.appendChild(instance.$el); }; var ImagePreview = function ImagePreview(images, startPosition) { if (startPosition === void 0) { startPosition = 0; } /* istanbul ignore if */ if (_utils.isServer) { return; } if (!instance) { initInstance(); } var options = Array.isArray(images) ? { images: images, startPosition: startPosition } : images; (0, _extends2.default)(instance, defaultConfig, options); instance.$once('input', function (show) { instance.value = show; }); if (options.onClose) { instance.$once('close', options.onClose); } return instance; }; ImagePreview.install = function () { _vue.default.use(_ImagePreview.default); }; var _default = ImagePreview; exports.default = _default;