/******/ (function(modules) { // webpackBootstrap
/******/ function hotDisposeChunk(chunkId) {
/******/ delete installedChunks[chunkId];
/******/ }
/******/ var parentHotUpdateCallback = window["webpackHotUpdate"];
/******/ window["webpackHotUpdate"] =
/******/ function webpackHotUpdateCallback(chunkId, moreModules) { // eslint-disable-line no-unused-vars
/******/ hotAddUpdateChunk(chunkId, moreModules);
/******/ if(parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules);
/******/ } ;
/******/
/******/ function hotDownloadUpdateChunk(chunkId) { // eslint-disable-line no-unused-vars
/******/ var head = document.getElementsByTagName("head")[0];
/******/ var script = document.createElement("script");
/******/ script.type = "text/javascript";
/******/ script.charset = "utf-8";
/******/ script.src = __webpack_require__.p + "" + chunkId + "." + hotCurrentHash + ".hot-update.js";
/******/ ;
/******/ head.appendChild(script);
/******/ }
/******/
/******/ function hotDownloadManifest(requestTimeout) { // eslint-disable-line no-unused-vars
/******/ requestTimeout = requestTimeout || 10000;
/******/ return new Promise(function(resolve, reject) {
/******/ if(typeof XMLHttpRequest === "undefined")
/******/ return reject(new Error("No browser support"));
/******/ try {
/******/ var request = new XMLHttpRequest();
/******/ var requestPath = __webpack_require__.p + "" + hotCurrentHash + ".hot-update.json";
/******/ request.open("GET", requestPath, true);
/******/ request.timeout = requestTimeout;
/******/ request.send(null);
/******/ } catch(err) {
/******/ return reject(err);
/******/ }
/******/ request.onreadystatechange = function() {
/******/ if(request.readyState !== 4) return;
/******/ if(request.status === 0) {
/******/ // timeout
/******/ reject(new Error("Manifest request to " + requestPath + " timed out."));
/******/ } else if(request.status === 404) {
/******/ // no update available
/******/ resolve();
/******/ } else if(request.status !== 200 && request.status !== 304) {
/******/ // other failure
/******/ reject(new Error("Manifest request to " + requestPath + " failed."));
/******/ } else {
/******/ // success
/******/ try {
/******/ var update = JSON.parse(request.responseText);
/******/ } catch(e) {
/******/ reject(e);
/******/ return;
/******/ }
/******/ resolve(update);
/******/ }
/******/ };
/******/ });
/******/ }
/******/
/******/
/******/
/******/ var hotApplyOnUpdate = true;
/******/ var hotCurrentHash = "e3a15a2e7084f9fd20c6"; // eslint-disable-line no-unused-vars
/******/ var hotRequestTimeout = 10000;
/******/ var hotCurrentModuleData = {};
/******/ var hotCurrentChildModule; // eslint-disable-line no-unused-vars
/******/ var hotCurrentParents = []; // eslint-disable-line no-unused-vars
/******/ var hotCurrentParentsTemp = []; // eslint-disable-line no-unused-vars
/******/
/******/ function hotCreateRequire(moduleId) { // eslint-disable-line no-unused-vars
/******/ var me = installedModules[moduleId];
/******/ if(!me) return __webpack_require__;
/******/ var fn = function(request) {
/******/ if(me.hot.active) {
/******/ if(installedModules[request]) {
/******/ if(installedModules[request].parents.indexOf(moduleId) < 0)
/******/ installedModules[request].parents.push(moduleId);
/******/ } else {
/******/ hotCurrentParents = [moduleId];
/******/ hotCurrentChildModule = request;
/******/ }
/******/ if(me.children.indexOf(request) < 0)
/******/ me.children.push(request);
/******/ } else {
/******/ console.warn("[HMR] unexpected require(" + request + ") from disposed module " + moduleId);
/******/ hotCurrentParents = [];
/******/ }
/******/ return __webpack_require__(request);
/******/ };
/******/ var ObjectFactory = function ObjectFactory(name) {
/******/ return {
/******/ configurable: true,
/******/ enumerable: true,
/******/ get: function() {
/******/ return __webpack_require__[name];
/******/ },
/******/ set: function(value) {
/******/ __webpack_require__[name] = value;
/******/ }
/******/ };
/******/ };
/******/ for(var name in __webpack_require__) {
/******/ if(Object.prototype.hasOwnProperty.call(__webpack_require__, name) && name !== "e") {
/******/ Object.defineProperty(fn, name, ObjectFactory(name));
/******/ }
/******/ }
/******/ fn.e = function(chunkId) {
/******/ if(hotStatus === "ready")
/******/ hotSetStatus("prepare");
/******/ hotChunksLoading++;
/******/ return __webpack_require__.e(chunkId).then(finishChunkLoading, function(err) {
/******/ finishChunkLoading();
/******/ throw err;
/******/ });
/******/
/******/ function finishChunkLoading() {
/******/ hotChunksLoading--;
/******/ if(hotStatus === "prepare") {
/******/ if(!hotWaitingFilesMap[chunkId]) {
/******/ hotEnsureUpdateChunk(chunkId);
/******/ }
/******/ if(hotChunksLoading === 0 && hotWaitingFiles === 0) {
/******/ hotUpdateDownloaded();
/******/ }
/******/ }
/******/ }
/******/ };
/******/ return fn;
/******/ }
/******/
/******/ function hotCreateModule(moduleId) { // eslint-disable-line no-unused-vars
/******/ var hot = {
/******/ // private stuff
/******/ _acceptedDependencies: {},
/******/ _declinedDependencies: {},
/******/ _selfAccepted: false,
/******/ _selfDeclined: false,
/******/ _disposeHandlers: [],
/******/ _main: hotCurrentChildModule !== moduleId,
/******/
/******/ // Module API
/******/ active: true,
/******/ accept: function(dep, callback) {
/******/ if(typeof dep === "undefined")
/******/ hot._selfAccepted = true;
/******/ else if(typeof dep === "function")
/******/ hot._selfAccepted = dep;
/******/ else if(typeof dep === "object")
/******/ for(var i = 0; i < dep.length; i++)
/******/ hot._acceptedDependencies[dep[i]] = callback || function() {};
/******/ else
/******/ hot._acceptedDependencies[dep] = callback || function() {};
/******/ },
/******/ decline: function(dep) {
/******/ if(typeof dep === "undefined")
/******/ hot._selfDeclined = true;
/******/ else if(typeof dep === "object")
/******/ for(var i = 0; i < dep.length; i++)
/******/ hot._declinedDependencies[dep[i]] = true;
/******/ else
/******/ hot._declinedDependencies[dep] = true;
/******/ },
/******/ dispose: function(callback) {
/******/ hot._disposeHandlers.push(callback);
/******/ },
/******/ addDisposeHandler: function(callback) {
/******/ hot._disposeHandlers.push(callback);
/******/ },
/******/ removeDisposeHandler: function(callback) {
/******/ var idx = hot._disposeHandlers.indexOf(callback);
/******/ if(idx >= 0) hot._disposeHandlers.splice(idx, 1);
/******/ },
/******/
/******/ // Management API
/******/ check: hotCheck,
/******/ apply: hotApply,
/******/ status: function(l) {
/******/ if(!l) return hotStatus;
/******/ hotStatusHandlers.push(l);
/******/ },
/******/ addStatusHandler: function(l) {
/******/ hotStatusHandlers.push(l);
/******/ },
/******/ removeStatusHandler: function(l) {
/******/ var idx = hotStatusHandlers.indexOf(l);
/******/ if(idx >= 0) hotStatusHandlers.splice(idx, 1);
/******/ },
/******/
/******/ //inherit from previous dispose call
/******/ data: hotCurrentModuleData[moduleId]
/******/ };
/******/ hotCurrentChildModule = undefined;
/******/ return hot;
/******/ }
/******/
/******/ var hotStatusHandlers = [];
/******/ var hotStatus = "idle";
/******/
/******/ function hotSetStatus(newStatus) {
/******/ hotStatus = newStatus;
/******/ for(var i = 0; i < hotStatusHandlers.length; i++)
/******/ hotStatusHandlers[i].call(null, newStatus);
/******/ }
/******/
/******/ // while downloading
/******/ var hotWaitingFiles = 0;
/******/ var hotChunksLoading = 0;
/******/ var hotWaitingFilesMap = {};
/******/ var hotRequestedFilesMap = {};
/******/ var hotAvailableFilesMap = {};
/******/ var hotDeferred;
/******/
/******/ // The update info
/******/ var hotUpdate, hotUpdateNewHash;
/******/
/******/ function toModuleId(id) {
/******/ var isNumber = (+id) + "" === id;
/******/ return isNumber ? +id : id;
/******/ }
/******/
/******/ function hotCheck(apply) {
/******/ if(hotStatus !== "idle") throw new Error("check() is only allowed in idle status");
/******/ hotApplyOnUpdate = apply;
/******/ hotSetStatus("check");
/******/ return hotDownloadManifest(hotRequestTimeout).then(function(update) {
/******/ if(!update) {
/******/ hotSetStatus("idle");
/******/ return null;
/******/ }
/******/ hotRequestedFilesMap = {};
/******/ hotWaitingFilesMap = {};
/******/ hotAvailableFilesMap = update.c;
/******/ hotUpdateNewHash = update.h;
/******/
/******/ hotSetStatus("prepare");
/******/ var promise = new Promise(function(resolve, reject) {
/******/ hotDeferred = {
/******/ resolve: resolve,
/******/ reject: reject
/******/ };
/******/ });
/******/ hotUpdate = {};
/******/ var chunkId = 0;
/******/ { // eslint-disable-line no-lone-blocks
/******/ /*globals chunkId */
/******/ hotEnsureUpdateChunk(chunkId);
/******/ }
/******/ if(hotStatus === "prepare" && hotChunksLoading === 0 && hotWaitingFiles === 0) {
/******/ hotUpdateDownloaded();
/******/ }
/******/ return promise;
/******/ });
/******/ }
/******/
/******/ function hotAddUpdateChunk(chunkId, moreModules) { // eslint-disable-line no-unused-vars
/******/ if(!hotAvailableFilesMap[chunkId] || !hotRequestedFilesMap[chunkId])
/******/ return;
/******/ hotRequestedFilesMap[chunkId] = false;
/******/ for(var moduleId in moreModules) {
/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
/******/ hotUpdate[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/ if(--hotWaitingFiles === 0 && hotChunksLoading === 0) {
/******/ hotUpdateDownloaded();
/******/ }
/******/ }
/******/
/******/ function hotEnsureUpdateChunk(chunkId) {
/******/ if(!hotAvailableFilesMap[chunkId]) {
/******/ hotWaitingFilesMap[chunkId] = true;
/******/ } else {
/******/ hotRequestedFilesMap[chunkId] = true;
/******/ hotWaitingFiles++;
/******/ hotDownloadUpdateChunk(chunkId);
/******/ }
/******/ }
/******/
/******/ function hotUpdateDownloaded() {
/******/ hotSetStatus("ready");
/******/ var deferred = hotDeferred;
/******/ hotDeferred = null;
/******/ if(!deferred) return;
/******/ if(hotApplyOnUpdate) {
/******/ // Wrap deferred object in Promise to mark it as a well-handled Promise to
/******/ // avoid triggering uncaught exception warning in Chrome.
/******/ // See https://bugs.chromium.org/p/chromium/issues/detail?id=465666
/******/ Promise.resolve().then(function() {
/******/ return hotApply(hotApplyOnUpdate);
/******/ }).then(
/******/ function(result) {
/******/ deferred.resolve(result);
/******/ },
/******/ function(err) {
/******/ deferred.reject(err);
/******/ }
/******/ );
/******/ } else {
/******/ var outdatedModules = [];
/******/ for(var id in hotUpdate) {
/******/ if(Object.prototype.hasOwnProperty.call(hotUpdate, id)) {
/******/ outdatedModules.push(toModuleId(id));
/******/ }
/******/ }
/******/ deferred.resolve(outdatedModules);
/******/ }
/******/ }
/******/
/******/ function hotApply(options) {
/******/ if(hotStatus !== "ready") throw new Error("apply() is only allowed in ready status");
/******/ options = options || {};
/******/
/******/ var cb;
/******/ var i;
/******/ var j;
/******/ var module;
/******/ var moduleId;
/******/
/******/ function getAffectedStuff(updateModuleId) {
/******/ var outdatedModules = [updateModuleId];
/******/ var outdatedDependencies = {};
/******/
/******/ var queue = outdatedModules.slice().map(function(id) {
/******/ return {
/******/ chain: [id],
/******/ id: id
/******/ };
/******/ });
/******/ while(queue.length > 0) {
/******/ var queueItem = queue.pop();
/******/ var moduleId = queueItem.id;
/******/ var chain = queueItem.chain;
/******/ module = installedModules[moduleId];
/******/ if(!module || module.hot._selfAccepted)
/******/ continue;
/******/ if(module.hot._selfDeclined) {
/******/ return {
/******/ type: "self-declined",
/******/ chain: chain,
/******/ moduleId: moduleId
/******/ };
/******/ }
/******/ if(module.hot._main) {
/******/ return {
/******/ type: "unaccepted",
/******/ chain: chain,
/******/ moduleId: moduleId
/******/ };
/******/ }
/******/ for(var i = 0; i < module.parents.length; i++) {
/******/ var parentId = module.parents[i];
/******/ var parent = installedModules[parentId];
/******/ if(!parent) continue;
/******/ if(parent.hot._declinedDependencies[moduleId]) {
/******/ return {
/******/ type: "declined",
/******/ chain: chain.concat([parentId]),
/******/ moduleId: moduleId,
/******/ parentId: parentId
/******/ };
/******/ }
/******/ if(outdatedModules.indexOf(parentId) >= 0) continue;
/******/ if(parent.hot._acceptedDependencies[moduleId]) {
/******/ if(!outdatedDependencies[parentId])
/******/ outdatedDependencies[parentId] = [];
/******/ addAllToSet(outdatedDependencies[parentId], [moduleId]);
/******/ continue;
/******/ }
/******/ delete outdatedDependencies[parentId];
/******/ outdatedModules.push(parentId);
/******/ queue.push({
/******/ chain: chain.concat([parentId]),
/******/ id: parentId
/******/ });
/******/ }
/******/ }
/******/
/******/ return {
/******/ type: "accepted",
/******/ moduleId: updateModuleId,
/******/ outdatedModules: outdatedModules,
/******/ outdatedDependencies: outdatedDependencies
/******/ };
/******/ }
/******/
/******/ function addAllToSet(a, b) {
/******/ for(var i = 0; i < b.length; i++) {
/******/ var item = b[i];
/******/ if(a.indexOf(item) < 0)
/******/ a.push(item);
/******/ }
/******/ }
/******/
/******/ // at begin all updates modules are outdated
/******/ // the "outdated" status can propagate to parents if they don't accept the children
/******/ var outdatedDependencies = {};
/******/ var outdatedModules = [];
/******/ var appliedUpdate = {};
/******/
/******/ var warnUnexpectedRequire = function warnUnexpectedRequire() {
/******/ console.warn("[HMR] unexpected require(" + result.moduleId + ") to disposed module");
/******/ };
/******/
/******/ for(var id in hotUpdate) {
/******/ if(Object.prototype.hasOwnProperty.call(hotUpdate, id)) {
/******/ moduleId = toModuleId(id);
/******/ var result;
/******/ if(hotUpdate[id]) {
/******/ result = getAffectedStuff(moduleId);
/******/ } else {
/******/ result = {
/******/ type: "disposed",
/******/ moduleId: id
/******/ };
/******/ }
/******/ var abortError = false;
/******/ var doApply = false;
/******/ var doDispose = false;
/******/ var chainInfo = "";
/******/ if(result.chain) {
/******/ chainInfo = "\nUpdate propagation: " + result.chain.join(" -> ");
/******/ }
/******/ switch(result.type) {
/******/ case "self-declined":
/******/ if(options.onDeclined)
/******/ options.onDeclined(result);
/******/ if(!options.ignoreDeclined)
/******/ abortError = new Error("Aborted because of self decline: " + result.moduleId + chainInfo);
/******/ break;
/******/ case "declined":
/******/ if(options.onDeclined)
/******/ options.onDeclined(result);
/******/ if(!options.ignoreDeclined)
/******/ abortError = new Error("Aborted because of declined dependency: " + result.moduleId + " in " + result.parentId + chainInfo);
/******/ break;
/******/ case "unaccepted":
/******/ if(options.onUnaccepted)
/******/ options.onUnaccepted(result);
/******/ if(!options.ignoreUnaccepted)
/******/ abortError = new Error("Aborted because " + moduleId + " is not accepted" + chainInfo);
/******/ break;
/******/ case "accepted":
/******/ if(options.onAccepted)
/******/ options.onAccepted(result);
/******/ doApply = true;
/******/ break;
/******/ case "disposed":
/******/ if(options.onDisposed)
/******/ options.onDisposed(result);
/******/ doDispose = true;
/******/ break;
/******/ default:
/******/ throw new Error("Unexception type " + result.type);
/******/ }
/******/ if(abortError) {
/******/ hotSetStatus("abort");
/******/ return Promise.reject(abortError);
/******/ }
/******/ if(doApply) {
/******/ appliedUpdate[moduleId] = hotUpdate[moduleId];
/******/ addAllToSet(outdatedModules, result.outdatedModules);
/******/ for(moduleId in result.outdatedDependencies) {
/******/ if(Object.prototype.hasOwnProperty.call(result.outdatedDependencies, moduleId)) {
/******/ if(!outdatedDependencies[moduleId])
/******/ outdatedDependencies[moduleId] = [];
/******/ addAllToSet(outdatedDependencies[moduleId], result.outdatedDependencies[moduleId]);
/******/ }
/******/ }
/******/ }
/******/ if(doDispose) {
/******/ addAllToSet(outdatedModules, [result.moduleId]);
/******/ appliedUpdate[moduleId] = warnUnexpectedRequire;
/******/ }
/******/ }
/******/ }
/******/
/******/ // Store self accepted outdated modules to require them later by the module system
/******/ var outdatedSelfAcceptedModules = [];
/******/ for(i = 0; i < outdatedModules.length; i++) {
/******/ moduleId = outdatedModules[i];
/******/ if(installedModules[moduleId] && installedModules[moduleId].hot._selfAccepted)
/******/ outdatedSelfAcceptedModules.push({
/******/ module: moduleId,
/******/ errorHandler: installedModules[moduleId].hot._selfAccepted
/******/ });
/******/ }
/******/
/******/ // Now in "dispose" phase
/******/ hotSetStatus("dispose");
/******/ Object.keys(hotAvailableFilesMap).forEach(function(chunkId) {
/******/ if(hotAvailableFilesMap[chunkId] === false) {
/******/ hotDisposeChunk(chunkId);
/******/ }
/******/ });
/******/
/******/ var idx;
/******/ var queue = outdatedModules.slice();
/******/ while(queue.length > 0) {
/******/ moduleId = queue.pop();
/******/ module = installedModules[moduleId];
/******/ if(!module) continue;
/******/
/******/ var data = {};
/******/
/******/ // Call dispose handlers
/******/ var disposeHandlers = module.hot._disposeHandlers;
/******/ for(j = 0; j < disposeHandlers.length; j++) {
/******/ cb = disposeHandlers[j];
/******/ cb(data);
/******/ }
/******/ hotCurrentModuleData[moduleId] = data;
/******/
/******/ // disable module (this disables requires from this module)
/******/ module.hot.active = false;
/******/
/******/ // remove module from cache
/******/ delete installedModules[moduleId];
/******/
/******/ // when disposing there is no need to call dispose handler
/******/ delete outdatedDependencies[moduleId];
/******/
/******/ // remove "parents" references from all children
/******/ for(j = 0; j < module.children.length; j++) {
/******/ var child = installedModules[module.children[j]];
/******/ if(!child) continue;
/******/ idx = child.parents.indexOf(moduleId);
/******/ if(idx >= 0) {
/******/ child.parents.splice(idx, 1);
/******/ }
/******/ }
/******/ }
/******/
/******/ // remove outdated dependency from module children
/******/ var dependency;
/******/ var moduleOutdatedDependencies;
/******/ for(moduleId in outdatedDependencies) {
/******/ if(Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)) {
/******/ module = installedModules[moduleId];
/******/ if(module) {
/******/ moduleOutdatedDependencies = outdatedDependencies[moduleId];
/******/ for(j = 0; j < moduleOutdatedDependencies.length; j++) {
/******/ dependency = moduleOutdatedDependencies[j];
/******/ idx = module.children.indexOf(dependency);
/******/ if(idx >= 0) module.children.splice(idx, 1);
/******/ }
/******/ }
/******/ }
/******/ }
/******/
/******/ // Not in "apply" phase
/******/ hotSetStatus("apply");
/******/
/******/ hotCurrentHash = hotUpdateNewHash;
/******/
/******/ // insert new code
/******/ for(moduleId in appliedUpdate) {
/******/ if(Object.prototype.hasOwnProperty.call(appliedUpdate, moduleId)) {
/******/ modules[moduleId] = appliedUpdate[moduleId];
/******/ }
/******/ }
/******/
/******/ // call accept handlers
/******/ var error = null;
/******/ for(moduleId in outdatedDependencies) {
/******/ if(Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)) {
/******/ module = installedModules[moduleId];
/******/ if(module) {
/******/ moduleOutdatedDependencies = outdatedDependencies[moduleId];
/******/ var callbacks = [];
/******/ for(i = 0; i < moduleOutdatedDependencies.length; i++) {
/******/ dependency = moduleOutdatedDependencies[i];
/******/ cb = module.hot._acceptedDependencies[dependency];
/******/ if(cb) {
/******/ if(callbacks.indexOf(cb) >= 0) continue;
/******/ callbacks.push(cb);
/******/ }
/******/ }
/******/ for(i = 0; i < callbacks.length; i++) {
/******/ cb = callbacks[i];
/******/ try {
/******/ cb(moduleOutdatedDependencies);
/******/ } catch(err) {
/******/ if(options.onErrored) {
/******/ options.onErrored({
/******/ type: "accept-errored",
/******/ moduleId: moduleId,
/******/ dependencyId: moduleOutdatedDependencies[i],
/******/ error: err
/******/ });
/******/ }
/******/ if(!options.ignoreErrored) {
/******/ if(!error)
/******/ error = err;
/******/ }
/******/ }
/******/ }
/******/ }
/******/ }
/******/ }
/******/
/******/ // Load self accepted modules
/******/ for(i = 0; i < outdatedSelfAcceptedModules.length; i++) {
/******/ var item = outdatedSelfAcceptedModules[i];
/******/ moduleId = item.module;
/******/ hotCurrentParents = [moduleId];
/******/ try {
/******/ __webpack_require__(moduleId);
/******/ } catch(err) {
/******/ if(typeof item.errorHandler === "function") {
/******/ try {
/******/ item.errorHandler(err);
/******/ } catch(err2) {
/******/ if(options.onErrored) {
/******/ options.onErrored({
/******/ type: "self-accept-error-handler-errored",
/******/ moduleId: moduleId,
/******/ error: err2,
/******/ orginalError: err, // TODO remove in webpack 4
/******/ originalError: err
/******/ });
/******/ }
/******/ if(!options.ignoreErrored) {
/******/ if(!error)
/******/ error = err2;
/******/ }
/******/ if(!error)
/******/ error = err;
/******/ }
/******/ } else {
/******/ if(options.onErrored) {
/******/ options.onErrored({
/******/ type: "self-accept-errored",
/******/ moduleId: moduleId,
/******/ error: err
/******/ });
/******/ }
/******/ if(!options.ignoreErrored) {
/******/ if(!error)
/******/ error = err;
/******/ }
/******/ }
/******/ }
/******/ }
/******/
/******/ // handle errors in accept handlers and self accepted module load
/******/ if(error) {
/******/ hotSetStatus("fail");
/******/ return Promise.reject(error);
/******/ }
/******/
/******/ hotSetStatus("idle");
/******/ return new Promise(function(resolve) {
/******/ resolve(outdatedModules);
/******/ });
/******/ }
/******/
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {},
/******/ hot: hotCreateModule(moduleId),
/******/ parents: (hotCurrentParentsTemp = hotCurrentParents, hotCurrentParents = [], hotCurrentParentsTemp),
/******/ children: []
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "https://b.yzcdn.cn/zanui/weapp";
/******/
/******/ // __webpack_hash__
/******/ __webpack_require__.h = function() { return hotCurrentHash; };
/******/
/******/ // Load entry module and return exports
/******/ return hotCreateRequire("./src/main.js")(__webpack_require__.s = "./src/main.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "../../packages/actionsheet/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Actionsheet 行动按钮
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-actionsheet\": \"path/to/zanui-weapp/dist/actionsheet/index\"\n }\n}\n
\n使用指南
\n<button bindtap=\"openActionSheet\">Open ActionSheet</button>\n<view class=\"actionsheet-container\">\n \n <zan-actionsheet\n show=\"{{ show }}\"\n actions=\"{{ actions }}\"\n cancel-text=\"{{ cancelText }}\"\n cancel-with-mask=\"{{ cancelWithMask }}\"\n bind:cancel=\"closeActionSheet\"\n bind:actionclick=\"handleActionClick\"\n >\n </zan-actionsheet>\n</view>\n
\n\nPage({\n data: {\n show: false,\n cancelWithMask: true,\n actions: [{\n name: '选项1',\n subname: '选项描述语1',\n loading: false\n }, {\n name: '选项2',\n subname: '选项描述语2',\n loading: false\n }, {\n name: '去分享',\n openType: 'share'\n }],\n cancelText: '关闭 Action'\n },\n openActionSheet() {\n this.setData({\n 'show': true\n });\n },\n closeActionSheet() {\n this.setData({\n 'show': false\n });\n },\n handleActionClick({ detail }) {\n \n const { index } = detail;\n }\n});\n
\nActionsheet
支持的具体参数如下( 传入时使用分隔线写法 )
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
\n\n\n\nshow | \n用来表示是否展示行动按钮 | \nBoolean | \nfalse | \n | \n
\n\nactions | \n指定弹层里的按钮 | \nArray | \n[] | \n | \n
\n\ncancelText | \n行动按钮底部取消按钮的文案,不传则不显示取消按钮 | \nString | \n | \n | \n
\n\ncancelWithMask | \n是否在点击背景时,关闭行动按钮 | \nBoolean | \nfalse | \n | \n
\n\nmask-class | \n用于控制蒙层样式的外部类 | \nString | \n | \n | \n
\n\ncontainer-class | \n用于控制容器样式的外部类 | \nString | \n | \n | \n
\n\n
\nactions 的具体数据结构
\n\n[{\n \n name: '选项1',\n \n subname: '选项描述语1',\n \n loading: false,\n \n \n openType: 'share'\n}]\n
\n
\n\n \n ","label":"Actionsheet 行动按钮"}
/***/ }),
/***/ "../../packages/badge/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Badge 徽章
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-badge\": \"path/to/zanui-weapp/dist/badge/index\"\n }\n}\n
\n代码演示
\n基础用法
\n<view class=\"badge-container\">\n <zan-badge>10</zan-badge>\n</view>\n
\n自定义参数
\n<view class=\"badge-container\">\n <zan-badge\n color=\"{{ color }}\"\n background-color=\"{{ backgroundColor }}\"\n font-size=\"{{ fontSize }}\"\n box-shadow=\"{{ boxShadow }}\"\n >10</zan-badge>\n</view>\n
\n.badge-container {\n width: 100px;\n height: 100px;\n}\n
\nAPI
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n
\n\n\n\ncolor | \n字体颜色 | \nString | \n#fff | \n
\n\nbackground-color | \n背景颜色 | \nString | \n#f44 | \n
\n\nfont-size | \n字体大小 | \nNumber | \n10 | \n
\n\nbox-shadow | \n为了更好的控制宽度,使用了box-shadow来实现badge的边框,可以根据box-shadow的语法自行修改颜色和宽度 | \nString | \n0 0 0 2px #fff | \n
\n\n
\n
\n\n \n ","label":"Badge 徽章"}
/***/ }),
/***/ "../../packages/btn/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Button 按钮
\n使用指南
\n在 json 文件中配置button组件
\n\"usingComponents\": {\n \"zan-button\": \"/dist/btn/index\"\n}\n
\n代码演示
\n基础用法
\n<zan-button>取消订单</zan-button>\n
\n按钮类型
\n按钮支持额外的三种类型 primary, danger, warn
\n<zan-button type=\"primary\">确认付款</zan-button>\n<zan-button type=\"danger\">确认付款</zan-button>\n<zan-button type=\"warn\">确认付款</zan-button>\n
\n按钮大小
\n按钮支持额外三种大小 large, small, mini
\n<zan-button size=\"large\">确认付款</zan-button>\n<zan-button size=\"small\">取消订单</zan-button>\n<zan-button size=\"mini\">确认付款</zan-button>\n
\n其他
\n按钮镂空状态
\n<zan-button plain>确认付款</zan-button>\n
\n按钮加载状态
\n<zan-button loading>确认付款</zan-button>\n
\n按钮禁用状态
\n<zan-button disabled>确认付款</zan-button>\n
\n配合 button-group 使用
\n通过配合 zan-button-group 使用,可以让按钮之间自动有合适的间距出现,使用方式如下
\n1.在 json 文件中配置 button-group 组件
\n\"usingComponents\": {\n \"zan-button\": \"/dist/btn/index\",\n \"zan-button-group\": \"/dist/btn-group/index\"\n}\n
\n2.在 wxml 中直接引入
\n<zan-button-group>\n <zan-button>确认付款</zan-button>\n <zan-button>再考虑下</zan-button>\n</zan-button-group>\n
\n
\n属性
\n\n\n\n名称 | \n类型 | \n是否必须 | \n默认 | \n描述 | \n
\n\n\n\ntype | \nString | \n否 | \n空 | \n按钮类型,值有primary、warn、danger | \n
\n\nsize | \nString | \n否 | \n空 | \n按钮大小,值有large、small、mini | \n
\n\nplain | \nBoolean | \n否 | \nfalse | \n\b按钮是否镂空,默认为false | \n
\n\ndisabled | \nBoolean | \n否 | \nfalse | \n按钮是否禁用,默认为false | \n
\n\nloading | \nBoolean | \n否 | \nfalse | \n按钮加载状态,默认为false | \n
\n\nopenType | \nString | \n否 | \n- | \n微信开放能力 | \n
\n\nappParameter | \nString | \n否 | \n- | \n打开 APP 时,向 APP 传递的参数 | \n
\n\nhoverStartTime | \nNumber | \n否 | \n20 | \n按住后多久出现点击态,单位毫秒 | \n
\n\nhoverStayTime | \nNumber | \n否 | \n70 | \n手指松开后点击态保留时间,单位毫秒 | \n
\n\nlang | \nString | \n否 | \nen | \n指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文 | \n
\n\nsessionFrom | \nString | \n否 | \n- | \n会话来源 | \n
\n\nsendMessageTitle | \nString | \n否 | \n当前标题 | \n会话内消息卡片标题 | \n
\n\nsendMessagePath | \nString | \n否 | \n当前分享路径 | \n会话内消息卡片点击跳转小程序路径 | \n
\n\nsendMessageImg | \nString | \n否 | \n截图 | \n会话内消息卡片图片 | \n
\n\nshowMessageCard | \nString | \n否 | \nfalse | \n显示会话内消息卡片 | \n
\n\n
\n事件
\n\n\n\n事件名称 | \n说明 | \n回调参数 | \n
\n\n\n\nbtnclick | \n按钮在可用状态被点击时触发 | \n | \n
\n\ndisabledclick | \n在传入的 disabled 为 true 时,点击按钮会触发此事件 | \n | \n
\n\ngetuserinfo | \n用户点击该按钮时,会返回获取到的用户信息,从返回参数的detail中获取到的值同wx.getUserInfo | \n | \n
\n\ncontact | \n客服消息回调 | \n | \n
\n\ngetphonenumber | \n获取用户手机号回调 | \n | \n
\n\nerror | \n当使用开放能力时,发生错误的回调 | \n | \n
\n\n
\n
\n\n \n ","label":"Button 按钮"}
/***/ }),
/***/ "../../packages/capsule/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Capsule 胶囊
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-capsule\": \"/packages/capsule/index\"\n }\n}\n
\n代码演示
\nPanel 提供了一块白色的展示区域,使用方式如下
\n<zan-capsule color=\"#38f\" leftText=\"1折扣\" rightText=\"限购一份\" />\n
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
\n\n\n\ntype | \ncapsule的主体颜色 | \nString | \n''(有danger这个主题色) | \n | \n
\n\ncolor | \n自定义capsule颜色 | \nString | \n- | \n | \n
\n\nleftText | \n左侧文案 | \nString | \n- | \n | \n
\n\nrightText | \n右侧文案 | \nString | \n- | \n | \n
\n\n
\n
\n\n \n ","label":"Capsule 胶囊"}
/***/ }),
/***/ "../../packages/card/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Card 卡片
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-card\": \"path/to/zanui-weapp/dist/card/index\"\n }\n}\n
\n代码演示
\n基础用法
\n卡片可以用于左侧图片,右侧描述信息的展示。默认是商品相关内容的展示,需要展示其他内容可以使用自定义slot。
\n<zan-card\n card-class=\"test-card\"\n thumb=\"https://img.yzcdn.cn/upload_files/2016/11/25/FpqPXlrMRjKwJs8VdTu3ZDJCj4j5.jpeg?imageView2/2/w/200/h/200/q/90/format/jpeg\"\n price=\"999.99\"\n title=\"红烧牛肉【虚拟商品】【有库存】【有sku】\"\n num=\"2\"\n desc=\"3000克 50%\"\n status=\"已发货\"\n>\n</zan-card>\n
\n使用slot
\nzan-card
由 zan-card__thumb
和 zan-card__detail
组成。分别负责左侧图片展示和右侧内容区域展示。两部分内容可以使用slot进行替换。
\n<zan-card\n card-class=\"test-card\"\n useDetailSlot=\"{{ true }}\"\n>\n \n <view slot=\"detail-slot\" class=\"zan-card__detail\">\n 我是标题\n </view>\n</zan-card>\n
\nAPI
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n
\n\n\n\ncard-class | \n自定义最外层class | \nString | \n- | \n
\n\nthumb | \n左侧缩略图 | \nString | \n- | \n
\n\nprice | \n商品价格 | \nString | \n- | \n
\n\ntitle | \n商品标题 | \nString | \n- | \n
\n\ndesc | \n商品描述 | \nString | \n- | \n
\n\nnum | \n商品数量 | \nNumber | \n- | \n
\n\nstatus | \n商品状态 | \nString | \n- | \n
\n\nuseDetailSlot | \n是否使用detail-slot(true时需要添加对应slot) | \nBoolean | \nfalse | \n
\n\n
\n
\n\n \n ","label":"Card 卡片"}
/***/ }),
/***/ "../../packages/cell/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Cell 单元格
\n使用指南
\n单个 cell 使用示例
\n {\n ...\n \"usingComponents\": {\n \"zan-cell\": \"../../dist/cell/index\",\n }\n ...\n }\n
\n <zan-cell title=\"单行列表\" label=\"附加描述\" value=\"详细信息\"></zan-cell>\n
\ncell 组使用示例
\n多个 cell 组件必须作为 cell-group
组件的子组件,否则可能出现显示问题。
\n {\n ...\n \"usingComponents\": {\n \"zan-cell\": \"../../dist/cell/index\",\n \"zan-cell-group\": \"../../dist/cell-group/index\"\n }\n ...\n }\n
\n <zan-cell-group>\n <zan-cell title=\"只显示箭头\" is-link></zan-cell>\n <zan-cell title=\"跳转到首页\" is-link url=\"/pages/dashboard/index\"></zan-cell>\n <zan-cell title=\"单行列表\" label=\"附加描述\" value=\"详细信息\"></zan-cell>\n <zan-cell title=\"表单\">\n <input slot=\"footer\" type=\"digit\" placeholder=\"带小数点的数字键盘\"/>\n </zan-cell>\n <zan-cell title=\"开关\">\n <switch slot=\"footer\" checked/>\n </zan-cell>\n </zan-cell-group>\n
\n属性与事件
\n\n\n\n名称 | \n类型 | \n是否必须 | \n默认 | \n描述 | \n
\n\n\n\ntitle | \nString | \n否 | \n无 | \n左侧标题 | \n
\n\nlabel | \nBoolean | \n否 | \nfalse | \n标题下方的描述信息 | \n
\n\nvalue | \nString | \n否 | \n取消 | \n右侧内容 | \n
\n\nisLink | \nBoolean | \n否 | \nfalse | \n是否展示右侧箭头并开启尝试以 url 跳转 | \n
\n\nurl | \nString | \n否 | \n- | \n当 isLink 设置为 true 时,点击 cell 会尝试跳转到该路径 | \n
\n\nlinkType | \nString | \n否 | \nnavigateTo | \n链接跳转类型,可选值为 navigateTo ,redirectTo ,switchTab ,reLaunch | \n
\n\nonlyTapFooter | \nBoolean | \n否 | \nfalse | \n只有点击 footer 区域才触发 tab 事件 | \n
\n\nbindtap | \nEventHandle | \n否 | \n无 | \n点击 cell 时触发,onlyTapFooter 为 true 时点击 footer 区域触发 | \n
\n\n
\n可用的 slot
\n\n\n\n名称 | \n是否必须 | \n默认 | \n描述 | \n
\n\n\n\n默认 | \n否 | \n无 | \n左侧除了 title ,label 外的自定义 wxml 内容 | \n
\n\nicon | \n否 | \n无 | \n标题前自定义的 icon,可使用 icon 自定义组件,具体使用参考 icon 组件 | \n
\n\nfooter | \n否 | \n无 | \n右侧自定义 wxml 内容,如果设置了 value 属性,则不生效 | \n
\n\n
\n\n \n ","label":"Cell 单元格"}
/***/ }),
/***/ "../../packages/datetime-picker/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n DatetimePicker 时间选择
\n使用 picker 组件开发的时间日期组件,弥补小程序 picker 自身对于快速时间选择的不支持。
\n示例代码
\n{\n \"usingComponents\": {\n \"zan-date-picker\": \"../../dist/datetime-picker/index\"\n }\n}\n
\n<zan-date-picker\n bindchange=\"change\" \n bindcancel=\"cancel\"\n placeholder=\"请选择一个时间\"\n placeholder-class=\"my-customer-class-name\"\n format=\"你选择了YYYY年MM月DD日HH点mm分ss秒\"\n/>\n
\n属性与事件
\n\n\n\n名称 | \n类型 | \n是否必须 | \n默认 | \n描述 | \n
\n\n\n\ndate | \nString | \n否 | \n当前时间 | \n初始化时间,传入的值会被 Date 构造函数转换为一个 Date 对象,不合法的值将抛出一个错误 | \n
\n\nplaceholder-class | \nString | \n否 | \n无 | \n自定义类,可改变 placeholder 样式,其他类无效,picker-view 为 true 时不支持 | \n
\n\nplaceholder | \nString | \n否 | \n请选择时间 | \n设置 picker 的 placeholder,picker-view 为 true 时不支持 | \n
\n\nnot-use | \nArray | \n否 | \n无 | \n不需要显示的列 可选择years , months , days , hours , minutes , seconds 中的多个 | \n
\n\npicker-view | \nBoolean | \n否 | \n无 | \n如果为 true,相当于 picker-view 组件 | \n
\n\nformat | \nString | \n否 | \nYYYY-MM-DD HH:mm:ss | \n设置选中的时间显示的格式,支持 YYYY,yyyy,YY,yy,MM,M,DD,dd,D,d,HH, hh,H,h,mm,m,ss,s | \n
\n\nbindchange | \nString | \n是 | \n无 | \n用户点击确认 触发该事件,返回值为按“年,月,日,时,分,秒”顺序的数组,可以通过detail.value 获取 | \n
\n\nbindcancel | \nString | \n否 | \n无 | \n用户点击取消 触发该事件 | \n
\n\n
\n方法
\n\n\n\n名称 | \n参数 | \n描述 | \n
\n\n\n\ngetFormatStr | \n无 | \n返回 format 格式的字符串,在 picker-view 为 true 时比较实用 | \n
\n\n
\n增强优化
\n\n\n \n ","label":"DatetimePicker 时间选择"}
/***/ }),
/***/ "../../packages/dialog/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Dialog 弹出框
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-dialog\": \"path/to/zanui-weapp/dist/dialog/index\"\n }\n}\n
\n在需要使用的页面里引入组件库模板和脚本
\n<zan-dialog id=\"zan-dialog-test\"></zan-dialog>\n
\nconst Dialog = require('path/to/zanui-weapp/dist/dialog/dialog');\n\nPage({\n \n \n handleClick() {\n Dialog({\n title: '',\n message: '',\n selector: '#zan-dialog-test'\n }).then((res) => {\n console.log(res);\n })\n }\n});\n
\n代码演示
\n按钮展示方式
\n按钮可以通过设置 buttonsShowVertical 来切换按钮纵向展示或者横向并排展示,方便各种场景下使用。
\nDialog({\n message: '这是一个模态弹窗',\n buttonsShowVertical: true,\n showCancelButton: true\n});\n
\n自定义展示按钮
\ndialog
支持自定义展示按钮。设置 buttons 数组即可实现。自定义按钮的点击后,都会在 resolve 状态中监听到。
\nDialog({\n message: '这是一个模态弹窗',\n buttons: [{\n \n text: '现金支付',\n \n color: 'red',\n \n type: 'cash'\n }, {\n text: '微信支付',\n color: '#3CC51F',\n type: 'wechat'\n }, {\n text: '取消',\n type: 'cancel'\n }]\n}).then(({ type }) => {\n \n console.log('=== dialog with custom buttons ===', `type: ${type}`);\n});\n
\n具体参数
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
\n\n\n\nmessage | \n弹窗内容 | \nString | \n- | \n必须 | \n
\n\nselector | \n显示弹窗对应组件节点的选择器 | \nString | \n- | \n必须 | \n
\n\ntitle | \n弹窗标题 | \nString | \n- | \n | \n
\n\nbuttonsShowVertical | \n按钮是否纵向展示 | \nBoolean | \nfalse | \n | \n
\n\nshowConfirmButton | \n是否展示确认按钮 | \nBoolean | \ntrue | \n | \n
\n\nconfirmButtonText | \n确认按钮文案 | \nString | \n确定 | \n | \n
\n\nconfirmButtonColor | \n确认按钮文字颜色 | \nString | \n#3CC51F | \n | \n
\n\nshowCancelButton | \n是否展示取消按钮 | \nBoolean | \nfalse | \n | \n
\n\ncancelButtonText | \n取消按钮文案 | \nString | \n取消 | \n | \n
\n\ncancelButtonColor | \n取消按钮文字颜色 | \nString | \n#333 | \n | \n
\n\nbuttons | \n自定义按钮列表,设置以后,以上关于 确认 和 取消 按钮的设置全部不生效。 | \nArray | \n- | \n | \n
\n\n
\nbuttons 数据格式
\n[{\n \n text: '现金支付',\n \n color: 'red',\n \n type: 'cash'\n}, {\n \n text: '微信支付',\n \n color: '#3CC51F',\n \n type: 'wechat'\n}, {\n \n text: '取消',\n \n type: 'cancel'\n}]\n
\n
\n\n \n ","label":"Dialog 弹出框"}
/***/ }),
/***/ "../../packages/field/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Field 输入框
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-field\": \"path/to/zanui-weapp/dist/field/index\"\n }\n}\n
\n代码演示
\n基础用法
\nfield 支持多种展示方式,在 data
中传入对应的设置即可。
\n<zan-field\n title=\"{{ field.title }}\"\n placeholder=\"{{ field.placeholder }}\"\n focus=\"{{ field.focus }}\"\n value=\"{{ field.value }}\"\n bind:change=\"handleFieldChange\"\n>\n</zan-field>\n
\nPage({\n data: {\n field: {\n focus: true,\n title: '收货人',\n placeholder: '名字',\n value: 'test'\n }\n }\n});\n
\nField 列表
\n<zan-cell-group>\n <zan-field title=\"姓名\"></zan-field>\n <zan-field title=\"邮件\"></zan-field>\n</zan-cell-group>\n
\n监听事件
\nfield会触发一些事件,当你需要监听这些事件时,可以绑定对应的事件。
\n<zan-field\n title=\"{{ field.title }}\"\n placeholder=\"{{ field.placeholder }}\"\n focus=\"{{ field.focus }}\"\n value=\"{{ field.value }}\"\n bind:change=\"handleFieldChange\"\n bind:focus=\"handleFieldFocus\"\n bind:blur=\"handleFieldBlur\"\n>\n</zan-field>\n
\nPage(extend({}, {\n data: {\n field: {\n focus: true,\n title: '收货人',\n placeholder: '名字',\n value: 'test'\n }\n },\n\n methods: {\n handleFieldChange(event) {\n console.log(event);\n },\n\n handleFieldFocus(event) {\n console.log(event);\n },\n\n handleFieldBlur(event) {\n console.log(event);\n }\n }\n}));\n
\nAPI
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
\n\n\n\ntitle | \n输入框左侧标题,若传入为空,则不显示标题 | \nString | \n- | \n | \n
\n\nname | \n输入框的名字,作为 form 表单提交时数据的 key | \nString | \ncomponentId 指定的值 | \n | \n
\n\nvalue | \n输入框的内容 | \nString | \n- | \n | \n
\n\ntype | \n输入框的类型,可选值为 input, textarea | \nString | \ninput | \n | \n
\n\ninputType | \n输入框为 input 情况下,输入框的类型,例如:number, text, password | \nString | \ntext | \n | \n
\n\nplaceholder | \n输入框为空时占位符 | \nString | \n | \n | \n
\n\nmaxlength | \n最大输入长度,设置为 -1 的时候不限制最大长度 | \nNumber | \n140 | \n | \n
\n\nfocus | \n自动聚焦,拉起键盘 | \nBoolean | \nfalse | \n | \n
\n\ndisabled | \n输入框是否禁用 | \nBoolean | \nfalse | \n | \n
\n\nmode | \n输入框展示样式,可选值为 wrapped, normal | \nString | \nnormal | \n | \n
\n\nright | \n输入框内容是否居右显示 | \nBoolean | \nfalse | \n | \n
\n\nerror | \n是否显示为输入框错误情况下的样式 | \nBoolean | \nfalse | \n | \n
\n\ncomponentId | \n用于区分输入框之间的唯一名称 | \nString | \n- | \n | \n
\n\n
\nEvent
\n\n\n\n事件名称 | \n说明 | \n回调参数 | \n
\n\n\n\nchange | \n当绑定值变化时触发的事件 | \nevent对象 | \n
\n\nfocus | \n输入框focus | \nevent对象 | \n
\n\nblur | \n输入框blur | \nevent对象 | \n
\n\n
\n
\n\n \n ","label":"Field 输入框"}
/***/ }),
/***/ "../../packages/helper/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Helper 基础样式
\n使用指南
\n在 app.wxss 中引入组件库所有样式
\n@import \"path/to/zanui-weapp/dist/index.wxss\";\n
\n代码演示
\n直接在元素上增加指定 class 即可
\n<view class=\"zan-pull-right\">zan-pull-right: 往右靠</view>\n
\n具体可用类名如下:
\n字体大小
\nzan-font-8
文字以8像素大小展示
\nzan-font-10
文字以10像素大小展示
\nzan-font-12
文字以12像素大小展示
\nzan-font-14
文字以14像素大小展示
\nzan-font-16
文字以16像素大小展示
\nzan-font-18
文字以18像素大小展示
\nzan-font-20
文字以20像素大小展示
\nzan-font-22
文字以22像素大小展示
\nzan-font-24
文字以24像素大小展示
\nzan-font-30
文字以30像素大小展示
\n字体颜色
\nzan-c-red
文字以红色展示
\nzan-c-gray
文字以浅灰色展示
\nzan-c-gray-dark
文字以灰色展示
\nzan-c-gray-darker
文字以深灰色展示
\nzan-c-black
文字以黑色展示
\nzan-c-blue
文字以蓝色展示
\nzan-c-green
文字以绿色展示
\n字体样式
\nzan-pull-right
文字往右靠
\nzan-text-deleted
文字显示删除效果
\nzan-font-bold
文字加粗显示
\n其他
\nzan-arrow
展示向右侧箭头,以 absolute 布局,需要在外层加上 relative 来定位
\nzan-ellipsis
文字过长点点点显示
\nzan-ellipsis--l2
文字过长点点点显示,最多显示两行
\nzan-ellipsis--l3
文字过长点点点显示,最多显示三行\n
\n\n \n ","label":"Helper 基础样式"}
/***/ }),
/***/ "../../packages/icon/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Icon 图标
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-icon\": \"path/to/zanui-weapp/dist/icon/index\"\n }\n}\n
\n代码演示
\n可以在任意位置上使用 zan-icon 标签。通过 type 可以控制 icon 显示的图标
\n<zan-icon type=\"success\"></zan-icon>\n
\n支持的 icon 和 名称 见下图
\n
\n
\n
\n
\n
\n
\n\n \n ","label":"Icon 图标"}
/***/ }),
/***/ "../../packages/loading/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Loading 加载
\n使用指南
\n在 index.json 中引入组件
\n {\n ...\n \"usingComponents\": {\n \"zan-loading\": \"../../dist/loading/index\"\n }\n ...\n }\n
\n在页面上直接使用 zan-loading 标签即可
\n <zan-loading type=\"circle\"></zan-loading>\n <zan-loading type=\"spinner\" color=\"black\"></zan-loading>\n <zan-loading type=\"dot\"></zan-loading>\n
\n具体参数
\n\n\n\n名称 | \n类型 | \n是否必须 | \n默认 | \n描述 | \n
\n\n\n\ntype | \nString | \n否 | \ncircle | \nloading 类型,可支持 circle,spinner,dot | \n
\n\ncolor | \nString | \n否 | \n无 | \n可选值 black | \n
\n\nuse | \nString,Number | \n否 | \n1 | \n选择每种 Loading 类型的样式 | \n
\n\n
\n
\n\n \n ","label":"Loading 加载"}
/***/ }),
/***/ "../../packages/loadmore/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Loadmore 加载
\n使用指南
\n在 app.wxss 中引入组件库所有样式
\n@import \"path/to/zanui-weapp/dist/index.wxss\";\n
\n在需要使用的页面里引入组件库模板
\n<import src=\"path/to/zanui-weapp/dist/loadmore/index.wxml\" />\n\n\n<template is=\"zan-loadmore\" data=\"{{ loading: true }}\"></template>\n
\n代码演示
\nloadmore
支持三种状态,loading, nodata, nomore。传入指定的值即可显示
\n\n<template is=\"zan-loadmore\" data=\"{{ loading: true }}\"></template>\n\n<template is=\"zan-loadmore\" data=\"{{ nodata: true }}\"></template>\n\n<template is=\"zan-loadmore\" data=\"{{ nomore: true }}\"></template>\n
\n
\n\n \n ","label":"Loadmore 加载"}
/***/ }),
/***/ "../../packages/noticebar/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Noticebar 通告栏
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-noticebar\": \"path/to/zanui-weapp/dist/noticebar/index\"\n }\n}\n
\n在 index.js 中声明组件数据
\n\nPage({\n data: {\n text: 'xxx',\n scrollable: 'xxx',\n ...\n }\n})\n
\n代码演示
\nNoticebar
组件支持滚动和静止两种展示方式,通过 text 传入展示文案
\n静止公告栏
\n<zan-noticebar\n text=\"{{ text }}\"\n/>\n
\n滚动通告栏
\n<zan-noticebar\n text=\"{{ text }}\"\n scrollable=\"true\"\n/>\n
\n延时滚动通告栏
\n<zan-noticebar\n text=\"{{ text }}\"\n scrollable=\"true\"\n delay=\"{{ delay }}\"\n/>\n
\n\b改变滚动通告栏滚动速度
\n<zan-noticebar\n text=\"{{ text }}\"\n scrollable=\"true\"\n speed=\"{{ speed }}\"\n/>\n
\n自定义通告栏字体颜色和背景色
\n<zan-noticebar\n text=\"{{ text }}\"\n color=\"{{ color }}\"\n background-color=\"{{ backgroundColor }}\"\n/>\n
\n添加左侧icon通告栏
\n<zan-noticebar\n text=\"{{ text }}\"\n left-icon=\"https://img.yzcdn.cn/public_files/2017/8/10/6af5b7168eed548100d9041f07b7c616.png\"\n/>\n
\n可关闭通告栏
\n<zan-noticebar\n text=\"{{ text }}\"\n mode=\"closeable\"\n/>\n
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n可选值 | \n
\n\n\n\ntext | \n通告栏展示文案 | \nString | \n- | \n | \n
\n\nmode | \n通告栏模式 | \nString | \n'' | \ncloseable | \n
\n\ndelay | \n滚动延时时间 | \nNumber | \n0 | \n | \n
\n\nspeed | \n滚动速度 | \nNumber | \n40 | \n | \n
\n\nscrollable | \n是否可滚动 | \nBoolean | \nfalse | \n | \n
\n\nleftIcon | \n左侧图标 | \nString | \n- | \n | \n
\n\ncolor | \n通告栏字体颜色 | \nString | \n#f60 | \n | \n
\n\nbackgroundColor | \n通告栏背景色 | \nString | \n#fff7cc | \n | \n
\n\n
\n
\n\n \n ","label":"Noticebar 通告栏"}
/***/ }),
/***/ "../../packages/panel/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Panel 面板组件
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-panel\": \"/packages/panel/index\"\n }\n}\n
\n代码演示
\nPanel 提供了一块白色的展示区域,使用方式如下
\n<zan-panel title='我是标题'>\n <view>内容</view>\n</zan-panel>\n
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
\n\n\n\ntitle | \npanel的标题 | \nString | \n- | \n | \n
\n\nhide-border | \n内容区隐藏边框 | \nBoolean | \n- | \n | \n
\n\n
\n
\n\n \n ","label":"Panel 面板组件"}
/***/ }),
/***/ "../../packages/popup/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Popup 弹出层
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-popup\": \"path/to/zanui-weapp/dist/popup/index\"\n }\n}\n
\n代码演示
\n可以在页面任意位置上使用 zan-popup 标签。通过 show 可以控制弹窗是否展示
\n<zan-popup show=\"{{ show }}\"></zan-popup>\n
\npopup 动画
\npopup 额外支持了 上下左右 四种动画方式,通过增加 type 属性即可控制。使用方式如下
\n\n<zan-popup type=\"bottom\" show=\"{{ show }}\"></zan-popup>\n\n\n<zan-popup type=\"top\" show=\"{{ show }}\"></zan-popup>\n\n\n<zan-popup type=\"left\" show=\"{{ show }}\"></zan-popup>\n\n\n<zan-popup type=\"right\" show=\"{{ show }}\"></zan-popup>\n
\n控制显示,隐藏
\n<zan-popup show=\"{{ isShow }}\" bindclose=\"togglePopup\"></zan-popup>\n
\ndata: {\n isShow: false\n},\ntogglePopup() {\n this.setData({\n isShow: !this.data.isShow\n });\n}\n
\n具体参数和事件
\n参数说明
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
\n\n\n\nshow | \n是否显示弹出层 | \nBoolean | \nfalse | \n | \n
\n\noverlay | \n是否显示遮罩层 | \nBoolean | \nfalse | \n | \n
\n\ncloseOnClickOverlay | \n遮罩层点击时,是否触发关闭事件 | \nBoolean | \ntrue | \n | \n
\n\ntype | \n弹出层动画方式, 可选center , left , right , top , bottom | \nString | \ncenter | \n | \n
\n\n
\n事件说明
\n\n\n\n事件名 | \n说明 | \n参数 | \n
\n\n\n\nclick-overlay | \n遮罩层点击触发 | \n | \n
\n\nclose | \n遮罩层关闭时触发 | \n | \n
\n\n
\n
\n\n \n ","label":"Popup 弹出层"}
/***/ }),
/***/ "../../packages/row/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Layout 布局
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-row\": \"path/to/zanui-weapp/dist/row/index\",\n \"zan-col\": \"path/to/zanui-weapp/dist/col/index\"\n }\n}\n
\n代码演示
\nLayout 组件提供了24列栅格,设置 col 属性可以设置元素所占宽度
\n<zan-row>\n <zan-col col=\"8\" col-class=\"custom-zan-col\">span: 8</zan-col>\n <zan-col col=\"8\" col-class=\"custom-zan-col\">span: 8</zan-col>\n <zan-col col=\"8\" col-class=\"custom-zan-col\">span: 8</zan-col>\n</zan-row>\n
\nLayout 提供了 offset 功能。设置 offset 属性可以设置列的偏移宽度,计算方式与 span 相同
\n<zan-row row-class=\"custom-zan-row\">\n <zan-col col=\"4\" col-class=\"custom-zan-col\">span: 4</zan-col>\n <zan-col col=\"10\" offset=\"4\" col-class=\"custom-zan-col\">offset: 4, span: 10</zan-col>\n</zan-row>\n<zan-row>\n <zan-col col=\"12\" offset=\"12\" col-class=\"custom-zan-col\">offset: 12, span: 12</zan-col>\n</zan-row>\n
\nAPI
\nRow
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n
\n\n\n\nrow-class | \n自定义row class | \nString | \n- | \n
\n\n
\nCol
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n
\n\n\n\ncol-class | \n自定义col class | \nString | \n- | \n
\n\ncol | \n元素所占宽度 | \nNumber | \n0 | \n
\n\noffset | \n元素偏移宽度 | \nNumber | \n0 | \n
\n\n
\n
\n\n \n ","label":"Layout 布局"}
/***/ }),
/***/ "../../packages/select/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Select 选择
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-select\": \"/packages/select/index\"\n }\n}\n
\n代码演示
\n<zan-select\n items=\"{{ items }}\"\n checkedValue=\"{{ checkedValue }}\"\n activeColor=\"{{ activeColor }}\"\n bind:change=\"handleSelectChange\"\n/>\n
\nPage({\n data: {\n items: [\n {\n value: '1',\n \n name: '选项一',\n },\n {\n value: '2',\n name: '选项二',\n },\n ],\n checkedValue: '选项一',\n activeColor: '#ff4443'\n },\n\n methods: {\n handleSelectChange({ detail }) {\n console.log(detail);\n }\n }\n});\n
\n具体参数
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
\n\n\n\nitems | \nselect 显示各个项的配置 | \nArray | \n- | \n | \n
\n\ncheckedValue | \n高亮的 item 的 value 值 | \nString | \n- | \n | \n
\n\nactiveColor | \nSelect 高亮颜色 | \nString | \n#ff4444 | \n | \n
\n\n
\nitems 具体格式如下
\n{\n items: [\n {\n \n value: '1',\n \n name: '选项一',\n },\n {\n value: '2',\n name: '选项二',\n },\n ]\n}\n
\n
\n\n \n ","label":"Select 选择"}
/***/ }),
/***/ "../../packages/stepper/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Stepper 计数器
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-stepper\": \"path/to/zanui-weapp/dist/stepper/index\"\n }\n}\n
\n代码演示
\n基础用法
\nStepper
组件通过传入的 stepper 对象控制,内部数据格式如下:
\nPage({\n data: {\n stepper: {\n \n stepper: 1,\n \n min: 1,\n \n max: 1,\n \n size: 'small'\n }\n },\n\n handleZanStepperChange({\n \n detail: stepper\n }) {\n this.setData({\n 'stepper.stepper': stepper\n });\n }\n});\n
\n当一个 Stepper
中,min 超过 max,就会导致组件被置灰。
\n当 stepper 被点击时,需要监听change
事件,处理计数器值的改变。
\n<zan-stepper\n stepper=\"{{ stepper.stepper }}\"\n min=\"{{ stepper.min }}\"\n max=\"{{ stepper.max }}\"\n bind:change=\"handleZanStepperChange\"\n>\n</zan-stepper>\n
\nAPI
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
\n\n\n\nsize | \n计数器尺寸:small、middle、large | \nString | \nmiddle | \n | \n
\n\nstepper | \n计数器的值 | \nNumber | \n1 | \n必须 | \n
\n\nmin | \n计数器最小值 | \nNumber | \n1 | \n | \n
\n\nmax | \n计数器最大值 | \nNumber | \n无穷大 | \n | \n
\n\nstep | \n步数 | \nNumber | \n1 | \n | \n
\n\n
\nEvent
\n\n\n\n事件名称 | \n说明 | \n回调参数 | \n
\n\n\n\nchange | \n当绑定值变化时触发的事件 | \n{ index, stepper } | \n
\n\nminus | \n点击减少按钮时触发 | \n- | \n
\n\nplus | \n点击增加按钮时触发 | \n- | \n
\n\n
\n
\n\n \n ","label":"Stepper 计数器"}
/***/ }),
/***/ "../../packages/steps/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Steps 步骤条
\n使用指南
\n在 app.wxss 中引入组件库所有样式
\n@import \"path/to/zanui-weapp/dist/index.wxss\";\n
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-steps\": \"path/to/zanui-weapp/dist/steps/index\"\n }\n}\n
\n代码演示
\n基础用法
\n<zan-steps type=\"horizon\" steps=\"{{steps}}\"></zan-steps>\n
\n2步完成
\n<zan-steps type=\"horizon\" steps=\"{{steps}}\"></zan-steps>\n
\nsteps: [\n {\n done: true,\n current: false,\n text: '步骤一',\n desc: '10.01'\n },\n {\n done: false,\n current: true,\n text: '步骤二',\n desc: '10.02'\n }\n]\n
\n有描述的steps
\n<zan-steps type=\"horizon\" hasDesc steps=\"{{steps}}\"></zan-steps>\n
\n垂直方向的steps
\n<zan-steps type=\"vertical\" steps=\"{{steps}}\"></zan-steps>\n
\n自定义 class
\n<zan-steps\n steps-class=\"my-class\"\n icon-class=\"gray\"\n title-class=\"white\"\n type=\"horizon\"\n steps=\"{{steps}}\"\n></zan-steps>\n
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
\n\n\n\ntype | \nsteps 的展示状态,可选值为 'horizon', 'vertical' | \nString | \nhorizon | \n | \n
\n\nhasDesc | \n是否展示描述 | \nBoolean | \nfalse | \n | \n
\n\nsteps | \n步骤条展示数据 | \nArray | \n | \n必须 | \n
\n\nsteps-class | \n自定义类,可改变steps外层样式 | \nString | \n | \n | \n
\n\nicon-class | \n自定义类,可改变icon样式 | \nString | \n | \n | \n
\n\ntitle-class | \n自定义类,可改变标题样式 | \nString | \n | \n | \n
\n\ndesc-class | \n自定义类,可改变描述样式 | \nString | \n | \n | \n
\n\n
\nsteps 数据格式如下:
\n[\n {\n \n current: false,\n \n done: true,\n \n text: '步骤一',\n \n desc: '10.01'\n },\n {\n done: true,\n current: false,\n text: '步骤二',\n desc: '10.02'\n },\n {\n done: true,\n current: true,\n text: '步骤三',\n desc: '10.03'\n }\n]\n
\n
\n\n \n ","label":"Steps 步骤条"}
/***/ }),
/***/ "../../packages/switch/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Switch 开关
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-switch\": \"/packages/switch/index\"\n }\n}\n
\n代码演示
\n=======
\n<zan-switch\n disabled=\"{{ disabled }}\"\n checked=\"{{ checked }}\"\n loading=\"{{ loading }}\"\n bind:change=\"handleFieldChange\"\n></zan-switch>\n
\nPage({\n data: {\n disabled: false,\n checked: false,\n loading: false\n },\n\n methods: {\n handleFieldChange(event, data) {\n console.log(event, data);\n }\n }\n});\n
\nAPI
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
\n\n\n\nloading | \nswitch 是否是 loading 状态 | \nBoolean | \nfalse | \n | \n
\n\ndisabled | \n是否不可用 | \nBoolean | \nfalse | \n | \n
\n\nchecked | \n是否打开状态 | \nBoolean | \nfalse | \n必须 | \n
\n\n
\nEvent
\n\n\n\n事件名称 | \n说明 | \n回调参数 | \n
\n\n\n\nchange | \n当绑定值变化时触发的事件 | \nevent对象和数据对象(包含loading和checked) | \n
\n\n
\n
\n\n \n ","label":"Switch 开关"}
/***/ }),
/***/ "../../packages/tab/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Tab 标签
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-tab\": \"path/to/zanui-weapp/dist/tab/index\"\n }\n}\n
\n在 index.js 中声明组件数据
\n\nPage({\n data: {\n list: [{\n id: 'xxx',\n title: 'xxx'\n }],\n selectedId: 'xxx',\n ...\n }\n})\n
\n代码演示
\n可以在任意位置上使用 zan-tab 标签。传入对应的数据即可。
\n<zan-tab\n scroll=\"{{ scroll }}\"\n list=\"{{ list }}\"\n selected-id=\"{{ selectedId }}\"\n height=\"{{ height }}\"\n fixed=\"{{ fixed }}\"\n bindtabchange=\"handleTabChange\"\n/>\n
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n必须 | \n
\n\n\n\nscroll | \n是否开启 tab 左右滑动模式 | \nBoolean | \n- | \n | \n
\n\nlist | \n可选项列表 | \nArray | \n- | \n | \n
\n\nselectedId | \n选中id | \n- | \n- | \n | \n
\n\nheight | \ntab高度 | \nNumber | \n- | \n | \n
\n\nfixed | \n是否固定位置 | \nBoolean | \n- | \n | \n
\n\n
\ntab 组件中,list 数据格式如下
\n[{\n \n id: 'all',\n \n title: '全部'\n}, {\n id: 'topay',\n title: '待付款'\n}, {\n id: 'tosend',\n title: '待发货'\n}, {\n id: 'send',\n title: '待收货'\n}, {\n id: 'sign',\n title: '已完成'\n}]\n
\n可以监听 bindtabchange 事件回调,在页面注册回调函数
\nPage({\n customCallback(selectedId) {\n \n }\n}));\n
\n
\n\n \n ","label":"Tab 标签"}
/***/ }),
/***/ "../../packages/tag/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Tag 标签
\n使用指南
\n在 json 文件中配置tag组件
\n\"usingComponents\": {\n \"zan-tag\": \"/dist/tag/index\"\n}\n
\n属性
\n\n\n\n名称 | \n类型 | \n是否必须 | \n默认 | \n描述 | \n
\n\n\n\ntype | \nString | \n否 | \n空 | \ntag类型,值有primary、warn、danger | \n
\n\nplain | \nBoolean | \n否 | \nfalse | \n\btag是否镂空,默认为false | \n
\n\ndisabled | \nBoolean | \n否 | \nfalse | \ntag是否禁用,默认为false | \n
\n\n
\n代码演示
\n基础用法
\n<zan-tag>取消订单</zan-tag>\n
\n类型
\ntag支持额外的三种类型 primary, danger, warn
\n<zan-tag type=\"primary\">会员折扣</zan-tag>\n<zan-tag type=\"danger\">返现</zan-tag>\n<zan-tag type=\"warn\">返现</zan-tag>\n
\n其他
\ntag镂空状态
\n<zan-tag plain>返现</zan-tag>\n
\ntag禁用状态
\n<zan-tag disabled>不可用</zan-tag>\n
\n
\n\n \n ","label":"Tag 标签"}
/***/ }),
/***/ "../../packages/toast/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n Toast 轻提示
\n使用指南
\n在 json 文件中配置 toast 组件
\n\"usingComponents\": {\n \"zan-toast\": \"/path/to/zanui-weapp/dist/toast/index\"\n}\n
\n在需要使用的页面里引入组件库模板和脚本
\n<zan-toast id=\"zan-toast-test\"></zan-toast>\n
\nconst Toast = require('path/to/zanui-weapp/dist/toast/toast');\n\nPage({\n \n \n handleClick() {\n Toast({\n message: 'toast me',\n selector: '#zan-toast-test'\n });\n }\n});\n
\n加载提示
\nToast.loading({\n selector: '#zan-toast-test'\n});\n
\n参数说明
\n方法
\n\n\n\n方法名 | \n参数 | \n返回值 | \n介绍 | \n
\n\n\n\nToast | \noptions , timeout | \n- | \n展示提示 | \n
\n\nToast.loading | \noptions | \n- | \n展示加载提示 | \n
\n\nToast.clear | \n- | \n- | \n关闭提示 | \n
\n\nToast.setDefaultOptions | \noptions 格式同 Toast 函数可以传入的参数, type 可选 global/page, 分别指定对整个小程序生效/对当前页面生效 | \n- | \n修改默认配置,对所有 Toast 生效 | \n
\n\nToast.resetDefaultOptions | \ntype 可选 global/page | \n- | \n重置默认配置,对所有 Toast 生效 | \n
\n\n
\noptions 具体参数如下
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n可选值 | \n
\n\n\n\nmessage | \ntoast 显示文案 | \nString | \n- | \n | \n
\n\ntype | \n提示类型 | \nString | \n- | \nloading success fail | \n
\n\nicon | \ntoast 显示图标,可以用 icon 里面支持的所有图标 | \nString | \n- | \n- | \n
\n\nimage | \ntoast 显示图标,为图片的链接,传入此值后会覆盖 icon 值 | \nString | \n- | \n | \n
\n\ntimeout | \ntoast 显示时间,小于0则会一直显示,需要手动调用 clearZanToast 清除 | \nNumber | \n- | \n | \n
\n\n
\n
\n\n \n ","label":"Toast 轻提示"}
/***/ }),
/***/ "../../packages/toptips/README.md":
/***/ (function(module, exports) {
module.exports = {"template":"\n \n TopTips 顶部提示
\n使用指南
\n在 index.json 中引入组件
\n{\n \"usingComponents\": {\n \"zan-toptips\": \"path/to/zanui-weapp/dist/toptips/index\"\n }\n}\n
\n在 index.js 中声明组件数据
\ntoptips提供了声明式和命令式2种调用方式,但是由于小程序本身限制,会有一定使用的要求
\n\n\nPage({\n data: {\n duration: 1000,\n content: 'xxx',\n $zanui: {\n toptips: {\n show: false\n }\n }\n }\n})\n\n\n\n\nconst Toptips = require('path/to/zanui-weapp/dist/toptips/toptips');\nPage({\n customCallback() {\n Toptips('只传文案展示');\n }\n})\n\n
\n代码演示
\n声明式调用
\n使用声明式调用
\nPage({\n data: {\n duration: 1000,\n content: 'xxx',\n $zanui: {\n toptips: {\n show: false\n }\n }\n },\n\n customCallback() {\n this.setData({\n $zanui: {\n toptips: {\n show: true\n }\n }\n });\n\n setTimeout(() => {\n this.setData({\n $zanui: {\n toptips: {\n show: false\n }\n }\n })\n }, this.data.duration);\n }\n})\n
\n<zan-toptips\n content=\"tip内容\"\n duration=\"{{ duration }}\"\n is-show=\"{{ $zanui.toptips.show }}\"\n/>\n
\n命令式调用
\nPage({\n customCallback() {\n Toptips('我只改文案')\n }\n})\n
\n<zan-toptips\n id=\"zan-toptips\"\n contetn=\"{{ content }}\"\n/>\n
\n修改组件id
\nPage({\n customCallback() {\n Toptips({\n content: '传入其他参数',\n selector: '#other-id',\n duration: 5000\n })\n }\n})\n
\n<zan-toptips\n id=\"other-id\"\n contetn=\"{{ content }}\"\n/>\n
\n\n\n\n参数 | \n说明 | \n类型 | \n默认值 | \n可选值 | \n
\n\n\n\ncontent | \n展示文案 | \nString | \n- | \n | \n
\n\nduration | \n弹层持续时间 | \nNumber | \n3000 | \n | \n
\n\nisShow | \n弹层是否展示 | \nBoolean | \nfalse | \n | \n
\n\ncolor | \n字体颜色 | \nString | \n#fff | \n | \n
\n\nbackgroundColor | \n提示背景色 | \nString | \n#e64340 | \n | \n
\n\n
\n\n \n ","label":"TopTips 顶部提示"}
/***/ }),
/***/ "../../website/node_modules/css-loader/index.js?{\"sourceMap\":true}!../vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-7a5a90c9\",\"scoped\":true,\"hasInlineConfig\":false}!../vue-loader/lib/selector.js?type=styles&index=0!../../website/plugins/components/WxappPage.vue":
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__("../../website/node_modules/css-loader/lib/css-base.js")(true);
// imports
// module
exports.push([module.i, "\ncode.language-wxml[data-v-7a5a90c9]::after {\n content: 'WXML';\n}\ncode.language-js[data-v-7a5a90c9]::after {\n content: 'JS';\n}\ncode.language-wxss[data-v-7a5a90c9]::after {\n content: 'WXSS';\n}\ncode.language-json[data-v-7a5a90c9]::after {\n content: 'JSON';\n}\n\n/* .demo {\n margin-top: 15px;\n}\n.demo-code {\n height: 500px;\n overflow: auto;\n background-color: #f5f7fa;\n}\n.code-type-tabs {\n display: flex;\n justify-content: center;\n text-align: center;\n}\n.code-type-tab {\n flex: 1;\n}\n.language-js, .language-wxml, .language-wxss, .language-json {\n display: none;\n}\n.js .language-js {\n display: block;\n}\n.json .language-json {\n display: block;\n}\n.wxml .language-wxml {\n display: block;\n}\n.wxss .language-wxss {\n display: block;\n}\npre + pre {\n margin-top: 0;\n} */\n", "", {"version":3,"sources":["/Users/chenyao/youzan/weapp/zanui-weapp/website/plugins/components/WxappPage.vue"],"names":[],"mappings":";AACA;EACE,gBAAgB;CACjB;AACD;EACE,cAAc;CACf;AACD;EACE,gBAAgB;CACjB;AACD;EACE,gBAAgB;CACjB;;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiCI","file":"WxappPage.vue","sourcesContent":["\ncode.language-wxml[data-v-7a5a90c9]::after {\n content: 'WXML';\n}\ncode.language-js[data-v-7a5a90c9]::after {\n content: 'JS';\n}\ncode.language-wxss[data-v-7a5a90c9]::after {\n content: 'WXSS';\n}\ncode.language-json[data-v-7a5a90c9]::after {\n content: 'JSON';\n}\n\n/* .demo {\n margin-top: 15px;\n}\n.demo-code {\n height: 500px;\n overflow: auto;\n background-color: #f5f7fa;\n}\n.code-type-tabs {\n display: flex;\n justify-content: center;\n text-align: center;\n}\n.code-type-tab {\n flex: 1;\n}\n.language-js, .language-wxml, .language-wxss, .language-json {\n display: none;\n}\n.js .language-js {\n display: block;\n}\n.json .language-json {\n display: block;\n}\n.wxml .language-wxml {\n display: block;\n}\n.wxss .language-wxss {\n display: block;\n}\npre + pre {\n margin-top: 0;\n} */\n"],"sourceRoot":""}]);
// exports
/***/ }),
/***/ "../../website/node_modules/css-loader/lib/css-base.js":
/***/ (function(module, exports) {
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
// css base code, injected by the css-loader
module.exports = function(useSourceMap) {
var list = [];
// return the list of modules as css string
list.toString = function toString() {
return this.map(function (item) {
var content = cssWithMappingToString(item, useSourceMap);
if(item[2]) {
return "@media " + item[2] + "{" + content + "}";
} else {
return content;
}
}).join("");
};
// import a list of modules into the list
list.i = function(modules, mediaQuery) {
if(typeof modules === "string")
modules = [[null, modules, ""]];
var alreadyImportedModules = {};
for(var i = 0; i < this.length; i++) {
var id = this[i][0];
if(typeof id === "number")
alreadyImportedModules[id] = true;
}
for(i = 0; i < modules.length; i++) {
var item = modules[i];
// skip already imported module
// this implementation is not 100% perfect for weird media query combinations
// when a module is imported multiple times with different media queries.
// I hope this will never occur (Hey this way we have smaller bundles)
if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) {
if(mediaQuery && !item[2]) {
item[2] = mediaQuery;
} else if(mediaQuery) {
item[2] = "(" + item[2] + ") and (" + mediaQuery + ")";
}
list.push(item);
}
}
};
return list;
};
function cssWithMappingToString(item, useSourceMap) {
var content = item[1] || '';
var cssMapping = item[3];
if (!cssMapping) {
return content;
}
if (useSourceMap && typeof btoa === 'function') {
var sourceMapping = toComment(cssMapping);
var sourceURLs = cssMapping.sources.map(function (source) {
return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'
});
return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
}
return [content].join('\n');
}
// Adapted from convert-source-map (MIT)
function toComment(sourceMap) {
// eslint-disable-next-line no-undef
var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;
return '/*# ' + data + ' */';
}
/***/ }),
/***/ "../../website/node_modules/vue-style-loader/index.js!../../website/node_modules/css-loader/index.js?{\"sourceMap\":true}!../vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-7a5a90c9\",\"scoped\":true,\"hasInlineConfig\":false}!../vue-loader/lib/selector.js?type=styles&index=0!../../website/plugins/components/WxappPage.vue":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a